CN106850382B - 一种流量牵引方法及装置 - Google Patents

一种流量牵引方法及装置 Download PDF

Info

Publication number
CN106850382B
CN106850382B CN201611105531.2A CN201611105531A CN106850382B CN 106850382 B CN106850382 B CN 106850382B CN 201611105531 A CN201611105531 A CN 201611105531A CN 106850382 B CN106850382 B CN 106850382B
Authority
CN
China
Prior art keywords
mac address
forwarding table
destination
port
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611105531.2A
Other languages
English (en)
Other versions
CN106850382A (zh
Inventor
黄远军
何恐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Original Assignee
NSFOCUS Information Technology Co Ltd
Nsfocus Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NSFOCUS Information Technology Co Ltd, Nsfocus Technologies Inc filed Critical NSFOCUS Information Technology Co Ltd
Priority to CN201611105531.2A priority Critical patent/CN106850382B/zh
Publication of CN106850382A publication Critical patent/CN106850382A/zh
Application granted granted Critical
Publication of CN106850382B publication Critical patent/CN106850382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/465Details on frame tagging wherein a single frame includes a plurality of VLAN tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/806Broadcast or multicast traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请涉及网络安全领域,尤其涉及一种流量牵引方法及装置,用以解决现有技术需要一种能够将处于某一VLAN中的虚拟机之间传输的报文牵引到第三方VM中的牵引机制的问题,本申请实施例提供的流量牵引方法,包括:接收处于第一VLAN中的第一VM经由源端口发来的报文,报文中携带有目的MAC地址以及第一VLAN标签;基于预先设置的规则,生成与预先设置的规则对应的二层转发表;基于二层转发表,查找与目的MAC地址对应的目的端口ID和VLAN ID;将报文中携带的第一VLAN标签更改为与VLAN ID相对应的第二VLAN标签;将携带有第二VLAN标签的报文经由目的端口转发至第二VLAN中的第二VM。

Description

一种流量牵引方法及装置
技术领域
本申请涉及网络安全领域,尤其涉及一种流量牵引方法及装置。
背景技术
目前,针对现有服务器的运行情况而言,一台服务器每次只能运行一个操作***和应用,即使是在小型数据中心中也需要部署大量的服务器,这不仅导致了每台服务器的利用率很低,也大大增加了数据处理的成本。为了克服这一缺陷,可以使用虚拟化软件,比如Vmware Vsphere、华为fusionSphere,来模拟硬件并创建虚拟计算机***。这里,虚拟计算机***也即虚拟机(Virtual Machine,VM)是一种严密隔离的软件容器,内部含有操作***和应用。通过将多台虚拟机放置在一个计算机上,可以实现在一个物理服务器上运行多个操作***和应用。而在同一物理服务器上的虚拟机之间的信息交互可以通过东西向流量(东西向流量也即虚拟机之间传输的报文)来传递。
如图1所示,为现有虚拟化环境中虚拟机之间的组网示意图,虚拟机宿主机即物理服务器中包括虚拟交换机0、虚拟机VM11、虚拟机VM12、虚拟机VM13、虚拟机VM14,其中,VM11、VM12、VM13和VM14分别与虚拟交换机0相连接,并且四台虚拟机均处于同一虚拟局域网(Virtual Local Area Network,VLAN)中。按照现有网络二层交换技术可知,只有处于同一VLAN范围内的虚拟机之间才可以进行报文的广播和转发。那么,当VM13访问VM14时,只需将需要传输的报文发送至虚拟交换机0,再通过虚拟交换机0将该报文转发至VM14即可。这就使得现有虚拟化环境中的虚拟机之间的传输的报文无法经过第三方VM(位于其它VLAN中的虚拟机)进行安全防护。
可见,目前需要一种能够将处于某一VLAN中的虚拟机之间传输的报文牵引到第三方VM中的牵引机制。
发明内容
本申请实施例提供一种流量牵引方法及装置,用以解决现有技术需要一种能够将处于某一VLAN中的虚拟机之间传输的报文牵引到第三方VM中的牵引机制的问题。
本申请实施例提供一种流量牵引方法,包括:
接收处于第一虚拟局域网VLAN中的第一虚拟机VM经由源端口发来的报文,所述报文中携带有目的媒体访问控制MAC地址以及第一VLAN标签;
基于预先设置的规则,生成与所述预先设置的规则对应的二层转发表;
基于所述二层转发表,查找与所述目的MAC地址对应的目的端口标识ID和VLANID;
将所述报文中携带的第一VLAN标签更改为与查找到的VLAN ID相对应的第二VLAN标签;
将携带有第二VLAN标签的报文经由查找到的目的端口转发至第二VLAN中的第二VM。
本申请实施例提供一种流量牵引装置,包括:
接收模块,用于接收处于第一虚拟局域网VLAN中的第一虚拟机VM经由源端口发来的报文,所述报文中携带有目的媒体访问控制MAC地址以及第一VLAN标签;
生成模块,用于基于预先设置的规则,生成与所述预先设置的规则对应的二层转发表;
查找模块,用于基于所述二层转发表,查找与所述目的MAC地址对应的目的端口标识ID和VLAN ID;
更改标签模块,用于将所述报文中携带的第一VLAN标签更改为与查找到的VLANID相对应的第二VLAN标签;
发送模块,用于将携带有第二VLAN标签的报文经由查找到的目的端口转发至第二VLAN中的第二VM。。
本申请实施例中,在接收到第一VLAN中的第一VM经由源端口发来的报文之后,可以在二层转发表中查询与该报文中携带的目的MAC地址对应的目的端口ID和VLAN ID,并将该报文中携带的第一VLAN标签更改为与查找到的VLAN ID相对应的第二VLAN标签,最终可以实现将携带有第二VLAN标签的报文经由查找到的目的端口转发至第二VLAN中的第二VM。采用本申请提出的牵引机制,可以实现将处于某一VLAN中的虚拟机之间传输的报文成功牵引到第三方VM中去进行安全防护等处理。此外,本申请实施例,利用预先设置的规则将不同VLAN下的各个端口以及与各个端口分别对应的VLAN划分在同一广播域,并通过采集该广播域内各个VM传输的报文中携带的MAC地址信息,从而形成一个完整的二层转发表,在该二层转发表中记录有处于不同VLAN下的虚拟机的MAC地址信息、端口ID以及VLAN ID三者之间的对应关系。在虚拟机转发报文的过程中,通过查询该二层转发表,可以实现将报文在不同的VLAN下进行广播和转发,从而克服了现有的网络二层转发技术中只允许报文在同一VLAN下进行广播和转发的局限性,并且在这种牵引机制下,无需依赖虚拟化厂商授权的RESTfulAPI(虚拟化厂商的内部接口)就可以实现对虚拟化环境中的报文进行牵引,从而适应了多种虚拟化厂商所提供的虚拟化环境。
附图说明
图1为现有虚拟化环境中虚拟机之间的组网示意图;
图2为本申请实施例一提供的一种流量牵引方法流程图;
图3为本申请实施例二提供一种改进后的虚拟化环境中虚拟机之间的组网示意图;
图4为对图1所示的组网进行改进后的组网示意图;
图5为为本申请实施例三提供的流量牵引装置结构图。
具体实施方式
本申请实施例中,在接收到第一VLAN中的第一VM经由源端口发来的报文之后,可以在二层转发表中查询与该报文中携带的目的MAC地址对应的目的端口ID和VLAN ID,并将该报文中携带的第一VLAN标签更改为与查找到的VLAN ID相对应的第二VLAN标签,最终可以实现将携带有第二VLAN标签的报文经由查找到的目的端口转发至第二VLAN中的第二VM。采用本申请提出的牵引机制,可以实现将处于某一VLAN中的虚拟机之间传输的报文成功牵引到第三方VM中去进行安全防护等处理。此外,本申请实施例,利用预先设置的规则将不同VLAN下的各个端口以及与各个端口分别对应的VLAN划分在同一广播域,并通过采集该广播域内各个VM传输的报文中携带的MAC地址信息,从而形成一个完整的二层转发表,在该二层转发表中记录有处于不同VLAN下的虚拟机的MAC地址信息、端口ID以及VLAN ID三者之间的对应关系。在虚拟机转发报文的过程中,通过查询该二层转发表,可以实现将报文在不同的VLAN下进行广播和转发,从而克服了现有的网络二层转发技术中只允许报文在同一VLAN下进行广播和转发的局限性,并且在这种牵引机制下,无需依赖虚拟化厂商授权的RESTfulAPI(虚拟化厂商的内部接口)就可以实现对虚拟化环境中的报文进行牵引,从而适应了多种虚拟化厂商所提供的虚拟化环境。
下面结合说明书附图对本申请实施例作进一步详细描述。
实施例一
如图2所示,为本申请实施例一提供的一种流量牵引方法流程图,包括以下步骤:
S201:接收处于第一VLAN中的第一VM经由源端口发来的报文,该报文中携带有目的媒体访问控制(Medium Access Control,MAC)地址以及第一VLAN标签。
这里,报文中不仅携带有目的MAC地址以及第一VLAN标签,还携带了源MAC地址。在具体实施中,可以通过源MAC地址来确定该报文是经由哪个端口接收的,即通过源MAC地址来确定发出该报文的虚拟机(第一VM)的源端口。同样地,也可以通过目的MAC地址来确定该报文要发往哪个端口,即通过目的MAC地址来确定应该接收该报文的虚拟机(第二VM)的目的端口。第一VLAN标签可以是该报文在由第一VM转发至第二VM的过程中经过某一个虚拟交换机时被设置的VLAN标签。
S202:基于预先设置的规则,生成与预先设置的规则对应的二层转发表。
在具体实施中,基于预先设置的规则可以为将虚拟环境中处于不同VLAN下的各个端口以及与各个端口分别对应的VLAN划分在同一VLAN广播域中。具体地,可以将指定的多个端口的ID号以及与多个端口分别对应的VLAN的ID号组成一个集合,这样,可以将由不同VLAN下的多个端口以及与多个端口对应的VLAN组成的集合归属为同一个VLAN广播域,以使处于不同VLAN下的VM之间能够传递广播消息。这里,端口ID与VLAN ID的对应关系可以是一一对应的关系,也可以是一个端口ID对应着多个不同的VLAN ID,还可以是多个端口ID对应着同一个VLAN ID。
在具体实施中,可以基于预先设置的规则,将已设置好的广播域内的各个端口ID与VLAN ID的对应关系记录在二层转发表中。这里,二层转发表为已存储有上述广播域内的各个端口ID与VLAN ID的对应关系的初始转发表。
为了进一步确定MAC地址信息、端口ID、VLAN ID三者间的对应关系,可以在接收到报文之后,获取报文中的源MAC信息,并将源MAC信息与源端口ID和源VLAN ID的对应关系存储在二层转发表中。这样,通过接收广播域中各个虚拟机发来的报文,并获取各个报文中的源MAC地址,就可以将该广播域中各个虚拟机相关的MAC地址信息、端口ID、VLAN ID三者间的对应关系存储在二层转发表中,以便后续基于二层转发表来转发报文。
这里,步骤S201与步骤S202的执行顺序不分先后,即可以在接收到报文之前基于预先设置的规则来制定二层转发表,也可以在接收到报文之后再基于预先设置的规则来制定二层转发表。并且,在二层转发表中,允许存在缺少MAC地址的信息的情况,后续通过采集各VM传输的报文中的MAC地址的信息,可以将报文中携带的MAC地址的信息更新到二层转发表中。
S203:基于二层转发表,查找与目的MAC地址对应的目的端口标识(IDentity,ID)和VLAN ID。
在具体实施中,查找与报文中携带的目的MAC地址对应的目的端口标识ID以及与目的MAC地址对应的VLAN ID的方式可以为:
首先,在二层转发表中查找是否有与目的MAC地址相同的MAC地址,如果在二层转发表中查找到与该目的MAC地址相同的MAC地址,再进一步基于二层转发表中存储的MAC地址信息、端口ID、VLAN ID三者间的对应关系,确定出与查找到的MAC地址对应的端口ID和VLAN ID。这里,确定出的端口ID即为目的端口ID,确定出的VLAN ID即为目的MAC地址对应的VLAN ID;
如果在二层转发表中没有查找到与该目的MAC地址相同的MAC地址或者该目的MAC地址为一个广播地址时,可以将该报文在与预先设置的规则对应的广播域中进行广播,具体可以为:
按照上述规则中已设置好的广播域内的各个端口ID与VLAN ID的对应关系,将报文广播至该广播域中的其它VM中。其中,其它VM中不包含第一VLAN中的第一VM且包含第二VLAN中的第二VM。
此外,该广播域中处于第二VLAN中的第二VM在接收到广播报文,并且识别到该报文中携带的目的MAC地址与自己的MAC地址相同之后,还可以向第一VM回复报文。
在接收到广播域中第二VLAN中的第二VM发送的报文之后,就可以将接收该报文的端口ID、VLAN ID、以及第二VM的MAC地址记录在二层转发表中。通过上述过程,在确定出与第二VM的MAC地址信息对应的端口ID以及VLAN ID后,在下次传输目的地址为第二VM的MAC地址的报文时,就可以直接在二层转发表中查询目的端口ID,不再需要向广播域中的所有端口进行广播了。
S204:将报文中携带的第一VLAN标签更改为与查找到的VLAN ID相对应的第二VLAN标签。
S205:将携带有第二VLAN标签的报文经由查找到的目的端口转发至第二VLAN中的第二VM。
本申请实施例中,在接收到第一VLAN中的第一VM经由源端口发来的报文之后,可以在二层转发表中查询与该报文中携带的目的MAC地址对应的目的端口ID以及与目的端口对应的VLAN ID,并将该报文中携带的第一VLAN标签更改为与查找到的VLAN ID相对应的第二VLAN标签,最终可以实现将携带有第二VLAN标签的报文经由查找到的目的端口转发至第二VLAN中的第二VM。采用本申请提出的牵引机制,可以实现将处于某一VLAN中的虚拟机之间传输的报文成功牵引到第三方VM中去进行安全防护等处理。此外,本申请实施例,利用预先设置的规则将不同VLAN下的各个端口以及与各个端口分别对应的VLAN划分在同一广播域,并通过采集该广播域内各个VM传输的报文中携带的MAC地址信息,从而形成一个完整的二层转发表,在该二层转发表中记录有处于不同VLAN下的虚拟机的MAC地址信息、端口ID以及VLAN ID三者之间的对应关系。在虚拟机转发报文的过程中,通过查询该二层转发表,可以实现将报文在不同的VLAN下进行广播和转发,从而克服了现有的网络二层转发技术中只允许报文在同一VLAN下进行广播和转发的局限性,并且在这种牵引机制下,无需依赖虚拟化厂商授权的RESTful API(虚拟化厂商的内部接口)就可以实现对虚拟化环境中的报文进行牵引,从而适应了多种虚拟化厂商所提供的虚拟化环境。
针对本申请实施例一提供的牵引方法,为了达到更好地达到本申请实施例的技术效果,本申请还对现有虚拟化环境中虚拟机之间的组网结构做出了改进,具体详见本申请实施例二。
实施例二
如图3所示,本发明实施例二提供一种改进后的虚拟化环境中虚拟机之间的组网示意图,该***中包括第一虚拟机VM31、第二虚拟机VM32、虚拟交换机、以及安全处理单元中的引流装置。这里,安全处理单元可以放置在第三虚拟机VM33上。
具体地,VM31和VM32分别与虚拟交换机相连接,其中,VM31连接在虚拟交换机的第一端口Port31上并使用VLAN31,VM32连接在虚拟交换机的第二端口Port32上并使用VLAN32。这里,第一端口和第二端口的类型可以设置为Access类型,该类型的端口只属于一个VLAN,并且允许具有与所述VLAN ID相同的VLAN标签的报文通过,即Port31可以允许具有VLAN31标签的报文通过,Port32可以允许具有VLAN32标签的报文通过。并且在Port31或Port32需要发送报文时,可以将该报文中携带的与VLAN ID相同的VLAN标签去掉再进行转发。
虚拟交换机通过第三端口Port33与VM33的第四端口Port34相连接,其中,第三端口与第四端口的类型可以设置为Trunk类型,该类型的端口可以属于多个VLAN,并且可以将这两个端口设置为允许具有VLAN31标签或VLAN32标签的报文通过。并且在Port33或Port34需要发送报文时,可以保留该报文中携带的VLAN标签并进行报文的转发。
在本申请实施例中,若VM31需要访问VM32时,VM31可以向虚拟交换机发送目的端为VM32的报文,这里,报文中携带有了源MAC地址以及目的MAC地址,该源MAC地址为VM31的MAC地址,本申请实施例中将该目的MAC地址设置为VM32的MAC地址,在实际应用中,该目的MAC地址也可以设置为一个广播地址。
虚拟交换机通过Port31接收VM31发送的报文,并为该报文设置一个与VM31所在的虚拟局域网VLAN对应的第一VLAN标签,即为该报文设置VLAN31的标签,由于携带VLAN31标签的报文不能通过虚拟交换机的Port32,但可以通过虚拟交换机的Port33以及VM33的Port34,基于此,虚拟交换机就可以将该报文从自己的Port33转发至VM33的Port34,从而将该报文成功转发至VM33中的安全处理单元进行安全处理。
这里,安全处理单元不仅具有安全防护功能,在安全处理单元中的引流装置还可以根据预先设置的规则,允许报文在预先设定的由多个端口和与端口相对应的VLAN组成的集合中进行广播和转发。
在具体实施中,安全处理单元在对接收的报文进行安全处理后,安全处理单元中的引流装置会基于预先存储的二层转发表,查找与该报文携带的目的MAC地址对应的目的端口ID以及与目的端口对应的VLAN ID。在查找到该报文的目的MAC地址对应的目的端口ID为Port 34后,将该报文中携带的第一VLAN标签VLAN31更改为与目的端VM34所在的VLAN对应的第二VLAN标签VLAN32。在完成对报文的强制标签转换之后,安全处理单元通过VM33的Port34将携带有VLAN32标签的报文发送至虚拟交换机的Port33。
虚拟交换机在接收到该报文后,可以基于该报文中携带的目的MAC地址,在虚拟交换机中的二层转发表中查询与该目的MAC地址对应的目的端口ID,在确定出目的端口为Port32后,将该报文经由Port32发送至目的端的虚拟机VM32,从而成功将VM31发来的报文经过安全处理之后,利用安全处理单元中的引流装置将该报文牵引至目的端的虚拟机VM22。需要注意,这里虚拟交换机中的二层转发表与引流装置中的二层转发表不同。虚拟交换机中的二层转发表是现有技术中并未做改进的二层转发表,即该二层转发表记录的是处于同一VLAN下的虚拟机中的各个端口ID与同一VLAN ID的关系。而在本申请实施例提供的引流装置中,可以通过预先设置的规则,将处于不同VLAN下的虚拟机划分在同一广播域中,并将处于不同VLAN下的端口ID以及VLAN ID的组合关系记录在改进后的二层转发表中。
本申请实施例提供的安全防护***的组网示意图仅作为参考,在实际应用中可以根据虚拟机中报文的安全性等需求来有选择地进行牵引。例如,在图1所示的组网示意图中,若VM13与VM14之间传输的报文对安全性的要求较高,需要对其进行安全防护,则可以将上述报文牵引至安全处理单元进行安全处理之后,再由安全处理单元中的引流装置将报文牵引至目的端的虚拟机。
如图4所示,为对图1所示的组网进行改进后的组网示意图。
具体地,将VM13和VM14从原图1中的虚拟交换机0上断开连接,可以在服务器中新建一个虚拟交换机1,并将VM13和VM14分别连接到虚拟交换机1上,其中,VM13连接在虚拟交换机1的端口Port13上并使用新的VLAN13,VM14连接在虚拟交换机1的端口Port14上并使用新的VLAN14。同时,在服务器中新建一个虚拟机VM15,并在该虚拟机上运行安全处理单元,并且,在该安全处理单元上设置了一个引流装置。虚拟交换机1通过端口Port0连接在VM15的Port0上,并且这两个互联的端口类型设置为trunk类型,允许携带有VLAN13或VLAN14标签的报文通过。VM15通过端口Port1连接在原来的虚拟交换机0中,并且该Port1的端口类型也设置为trunk类型,允许携带有VLAN1标签的报文通过。
这里,安全处理单元中的引流装置通过配置引流规则将VLAN1与Port1、VLAN13与Port0、VLAN14与Port0设定在一个广播域中。在引流装置的内部含有一个二层转发表,在初始状态时,该二层转发表中记录有所在广播域内的各个VLAN与端口Port的对应关系,如表一所示:
表一
Figure BDA0001171340770000101
Figure BDA0001171340770000111
由于引流装置在未接收过报文之前,其内部的二层转发表处于初始状态,表中的MAC地址信息为待填充状态。在接收报文的过程中通过学习报文中的MAC地址信息来记录MAC地址信息、端口ID、VLAN ID三者间的对应关系。
比如,若VM13需要访问VM14时,VM13将携带有源MAC地址(VM13的MAC地址)、目的MAC地址(这里,目的MAC地址可以是VM14的MAC地址,还可以是一个广播地址)的报文从Port13进入虚拟交换机1,虚拟交换机1为该报文设置一个VLAN13标签,并将该报文从虚拟交换机的Port0转发给VM15的Port0。
引流装置在接收到由Port0传送进来的携带有VLAN13的报文后,会获取该报文中的源MAC地址(VM13的MAC地址),并将VM13的MAC地址、Port0、VLAN13三者的对应关系记录在二层转发表中。在转发该报文时,由于初始的二层转发表中并没有记录有关VM14的MAC地址信息,也就找不到对应的端口来发送该报文。在这种情况下,可以将该报文在广播域内进行广播。当广播域内的虚拟机接收到报文后,如果识别出报文中携带的目的MAC地址为自己的MAC地址或者广播地址,还可以回复一个报文。因此,在本例中,VM14在接收到该报文,并识别出该报文的目的MAC地址为自己的MAC地址或者广播地址之后,如果还需要向VM13回复一个报文,则VM14回复的报文还将从Port14进入虚拟交换机1,在经过虚拟交换机1为该报文设置一个VLAN14标签之后,该报文又从虚拟交换机的Port0转发给VM15的Port0。VM15中的引流装置在接收由Port0传送进来的携带有VM14的MAC地址信息以及VLAN14标签的报文之后,会将VM14的MAC地址、Port0、VLAN14三者的对应关系记录在二层转发表中。
同理,在VM13访问VM11时,或VM13访问VM14时,或VM14访问VM11时等情况下,引流装置均可以对各个报文进行学习,并记录MAC地址、Port ID、VLAN ID三者的对应关系。最终可以生成该广播域内的完整的二层转发表,如表二所示。
表二
VLAN ID 端口id MAC
VLAN 1 Port 1 VM11 MAC
VLAN 1 Port 1 VM12 MAC
VLAN 13 Port 0 VM13 MAC
VLAN 14 Port 0 VM14 MAC
在更新完上述二层转发表之后,若VM13继续访问VM14时,则VM13与VM14之间传输的报文进行安全防护以及牵引的具体流程可以为:
VM13中传输的报文从Port13进入虚拟交换机1,虚拟交换机1为该报文设置一个VLAN13标签,并将该报文从自己的Port0转发给VM15的Port0,在VM15的安全处理单元中对该报文进行安全处理之后,安全处理单元中的引流装置在内部的二层转发表中查找与目的MAC地址(这里,假设目的MAC地址为VM14的MAC地址)对应的目的端口ID以及与目的端口对应的VLAN ID,得到目的端口ID为Port 0,VLAN ID为VLAN 14。将该报文的标签由VLAN13修改为VLAN14,并将其转发至虚拟交换机1,虚拟交换机1将该流量去掉标签,从Port14的端口转发至VM13。
此外,如果在该二层转发表中查询不到该报文的目的MAC地址或者该报文的目的MAC地址为广播地址时,可以将报文广播至所在的广播域中,具体可以为:复制该报文,并将该报文的VLAN标签由VLAN13修改为VLAN1后从Port 1上发出;复制该报文,将该报文的VLAN标签由VLAN13修改为VLAN14后从Port 0上发出。
若VM13需要访问VM11时,VM13与VM11之间传输的报文进行安全防护以及牵引的具体流程可以为:
VM13中传输的报文从Port13进入虚拟交换机1,虚拟交换机1为该报文设置一个VLAN13标签,并将该报文从自己的Port0转发给VM15的Port0,在VM15的安全处理单元中对该报文进行安全处理之后,安全处理单元中的引流装置在内部的二层转发表中查找与目的MAC地址(VM11的MAC地址)对应的目的端口ID以及与目的端口对应的VLAN ID,得到目的端口ID为Port1,VLAN ID为VLAN 1。将该报文的标签由VLAN13修改为VLAN11,并将其转发至虚拟交换机0,虚拟交换机0将该流量去掉标签再转发至VM13。
此外,如果在该二层转发表中查询不到该报文的目的MAC地址或者该报文的目的MAC地址为广播地址时,可以将报文广播至所在的广播域中,具体可以为:复制该报文,并将该报文的VLAN标签由VLAN13修改为VLAN1后从Port 1上发出;复制该报文,将该报文的VLAN标签由VLAN13修改为VLAN14后从Port 0上发出。
基于同一发明构思,本申请实施例中还提供了一种与流量牵引方法对应的流量牵引装置,由于该装置解决问题的原理与本发明实施例中流量牵引方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
实施例三
如图5所示,为本申请实施例三提供的流量牵引装置结构图,包括:
接收模块51,用于接收处于第一虚拟局域网VLAN中的第一虚拟机VM经由源端口发来的报文,所述报文中携带有目的媒体访问控制MAC地址以及第一VLAN标签;
生成模块52,用于基于预先设置的规则,生成与所述预先设置的规则对应的二层转发表;
查找模块53,用于基于所述二层转发表,查找与所述目的MAC地址对应的目的端口标识ID和VLAN ID;
更改标签模块54,用于将所述报文中携带的第一VLAN标签更改为与查找到的VLANID相对应的第二VLAN标签;
发送模块55,用于将携带有第二VLAN标签的报文经由查找到的目的端口转发至第二VLAN中的第二VM。
可选地,所述生成模块52具体用于:
将指定的不同VLAN下的各个端口以及与所述各个端口分别对应的VLAN划分在同一广播域中;并,
将所述各个端口ID与VLAN ID的对应关系记录在所述二层转发表中。
可选地,所述报文中还携带有源MAC地址;
所述装置还包括:
存储模块56,用于将所述报文中携带的源MAC地址,源端口ID以及所述第一VLAN标签对应对应的VLAN ID记录在所述二层转发表中,以便后续基于所述二层转发表转发报文。
可选地,所述查找模块53具体用于:
在所述二层转发表中查找是否有与所述目的MAC地址相同的MAC地址;
若在所述二层转发表中查找到与所述目的MAC地址相同的MAC地址,则确定出与查找到的该MAC地址对应的目的端口ID和VLAN ID。
可选地,所述查找模块53还用于:
若在所述二层转发表中没有查找到与所述目的MAC地址相同的MAC地址,则将所述报文广播至基于所述预先设置的规则确定出的广播域中的其它VM,其中,其它VM中不包含第一VLAN中的第一VM且包含第二VLAN中的第二VM。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、终端(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种流量牵引方法,其特征在于,该方法包括:
接收处于第一虚拟局域网VLAN中的第一虚拟机VM经由源端口发来的报文,所述报文中携带有目的媒体访问控制MAC地址以及第一VLAN标签;
基于预先设置的规则,生成与所述预先设置的规则对应的二层转发表;
基于所述二层转发表,查找与所述目的MAC地址对应的目的端口标识ID和VLAN ID;
将所述报文中携带的第一VLAN标签更改为与查找到的VLAN ID相对应的第二VLAN标签;
将携带有第二VLAN标签的报文经由查找到的目的端口转发至第二VLAN中的第二VM;
其中,所述基于预先设置的规则,生成与所述预先设置的规则对应的二层转发表,包括:
将指定的不同VLAN下的各个端口以及与所述各个端口分别对应的VLAN划分在同一广播域中;并,
将所述各个端口ID与VLAN ID的对应关系记录在所述二层转发表中。
2.如权利要求1所述的方法,其特征在于,所述报文中还携带有源MAC地址;
所述接收处于第一VLAN中的第一虚拟机VM发来的报文之后,还包括:
将所述报文中携带的源MAC地址,源端口ID以及所述第一VLAN标签对应的VLAN ID记录在所述二层转发表中。
3.如权利要求2所述的方法,其特征在于,查找与所述目的MAC地址对应的目的端口标识ID和VLAN ID,包括:
在所述二层转发表中查找是否有与所述目的MAC地址相同的MAC地址;
若在所述二层转发表中查找到与所述目的MAC地址相同的MAC地址,则确定出与查找到的MAC地址对应的目的端口ID和VLAN ID。
4.如权利要求3所述的方法,其特征在于,所述在所述二层转发表中查找是否有与所述目的MAC地址相同的MAC地址之后,还包括:
若在所述二层转发表中没有查找到与所述目的MAC地址相同的MAC地址,则将所述报文广播至基于所述预先设置的规则确定出的广播域中的其它VM中,其中,其它VM中不包含第一VLAN中的第一VM且包含第二VLAN中的第二VM。
5.一种流量牵引装置,其特征在于,该装置包括:
接收模块,用于接收处于第一虚拟局域网VLAN中的第一虚拟机VM经由源端口发来的报文,所述报文中携带有目的媒体访问控制MAC地址以及第一VLAN标签;
生成模块,用于基于预先设置的规则,生成与所述预先设置的规则对应的二层转发表;
查找模块,用于基于所述二层转发表,查找与所述目的MAC地址对应的目的端口标识ID和VLAN ID;
更改标签模块,用于将所述报文中携带的第一VLAN标签更改为与查找到的VLAN ID相对应的第二VLAN标签;
发送模块,用于将携带有第二VLAN标签的报文经由查找到的目的端口转发至第二VLAN中的第二VM;
其中,所述生成模块具体用于:
将指定的不同VLAN下的各个端口以及与所述各个端口分别对应的VLAN划分在同一广播域中;并,
将所述各个端口ID与VLAN ID的对应关系记录在所述二层转发表中。
6.如权利要求5所述的装置,其特征在于,所述报文中还携带有源MAC地址;
所述装置还包括:
存储模块,用于将所述报文中携带的源MAC地址,源端口ID以及所述第一VLAN标签对应的VLAN ID记录在所述二层转发表中,以便后续基于所述二层转发表转发报文。
7.如权利要求6所述的装置,其特征在于,所述查找模块具体用于:
在所述二层转发表中查找是否有与所述目的MAC地址相同的MAC地址;
若在所述二层转发表中查找到与所述目的MAC地址相同的MAC地址,则确定出与查找到的该MAC地址对应的目的端口ID和VLAN ID。
8.如权利要求7所述的装置,其特征在于,所述查找模块还用于:
若在所述二层转发表中没有查找到与所述目的MAC地址相同的MAC地址,则将所述报文广播至基于所述预先设置的规则确定出的广播域中的其它VM,其中,其它VM中不包含第一VLAN中的第一VM且包含第二VLAN中的第二VM。
CN201611105531.2A 2016-12-05 2016-12-05 一种流量牵引方法及装置 Active CN106850382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611105531.2A CN106850382B (zh) 2016-12-05 2016-12-05 一种流量牵引方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611105531.2A CN106850382B (zh) 2016-12-05 2016-12-05 一种流量牵引方法及装置

Publications (2)

Publication Number Publication Date
CN106850382A CN106850382A (zh) 2017-06-13
CN106850382B true CN106850382B (zh) 2020-07-10

Family

ID=59145484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611105531.2A Active CN106850382B (zh) 2016-12-05 2016-12-05 一种流量牵引方法及装置

Country Status (1)

Country Link
CN (1) CN106850382B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110311838B (zh) * 2019-07-24 2021-05-04 绿盟科技集团股份有限公司 一种安全服务流量统计的方法及装置
CN113014516A (zh) * 2019-12-20 2021-06-22 华为技术有限公司 一种数据流发送的方法及装置
CN113630315A (zh) * 2021-09-03 2021-11-09 中国联合网络通信集团有限公司 网络引流方法、装置、电子设备和存储介质
CN114640514B (zh) * 2022-03-03 2023-05-23 成都卫士通信息产业股份有限公司 安全服务***、访问控制方法和计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1960293A (zh) * 2006-09-28 2007-05-09 北京启明星辰信息技术有限公司 入侵检测虚拟引擎技术实现方法
CN103973578A (zh) * 2013-01-31 2014-08-06 杭州华三通信技术有限公司 一种虚拟机流量重定向的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8300614B2 (en) * 2009-05-14 2012-10-30 Avaya Inc. Preventing packet loops in unified networks
CN101707562B (zh) * 2009-11-27 2012-01-25 中兴通讯股份有限公司 虚拟局域网堆叠接入虚拟专用线路业务的实现方法及装置
CN102571738B (zh) * 2010-12-08 2015-09-16 中国电信股份有限公司 基于虚拟局域网交换的入侵防御方法与***
CN104917653A (zh) * 2015-06-26 2015-09-16 北京奇虎科技有限公司 基于云平台的虚拟化流量监控方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1960293A (zh) * 2006-09-28 2007-05-09 北京启明星辰信息技术有限公司 入侵检测虚拟引擎技术实现方法
CN103973578A (zh) * 2013-01-31 2014-08-06 杭州华三通信技术有限公司 一种虚拟机流量重定向的方法及装置

Also Published As

Publication number Publication date
CN106850382A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106850382B (zh) 一种流量牵引方法及装置
CN103595648B (zh) 用于在服务器的接收侧进行负载均衡的方法和***
CN103095546B (zh) 一种处理报文的方法、装置及数据中心网络
CN108848034B (zh) 一种网络设备及表项学习方法
CN107547349B (zh) 一种虚拟机迁移的方法及装置
US20150319089A1 (en) Techniques for realizing service chaining
CN108965092B (zh) 一种数据报文传输方法和装置
CN106254256B (zh) 基于三层vxlan网关的数据报文转发方法和设备
US20180006930A1 (en) Virtual extensible lan intercommunication mechanism for multicast in networking
CN107547242B (zh) Vm配置信息的获取方法及装置
CN101924699B (zh) 报文转发处理方法、***和运营商边缘设备
US20220045875A1 (en) Multicast message processing method and apparatus, storage medium and processor
CN106330719B (zh) 一种vxlan报文转发方法和装置
CN108092923B (zh) 基于sr-iov的报文处理方法以及装置
JP2019521619A (ja) パケット転送
CN105553851A (zh) 基于sdn的网络处理器微码和流表实现装置及方法
CN104407935A (zh) 快照回滚方法和存储设备
CN103560957A (zh) 查表键值构造方法、微码下发方法、装置及***
CN106886429A (zh) 一种加载驱动程序的方法和服务器
CN107040393A (zh) 一种路由管理方法和设备
CN104883302A (zh) 一种数据包转发的方法、装置及***
CN104301446A (zh) 一种报文处理方法、交换机设备及***
CN104883325B (zh) Pvlan交换机及其连接到非pvlan装置的方法
CN106992918A (zh) 报文转发方法和装置
CN105991439B (zh) 管理数据中心服务器的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building

Patentee after: NSFOCUS Technologies Group Co.,Ltd.

Patentee after: NSFOCUS TECHNOLOGIES Inc.

Address before: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building

Patentee before: NSFOCUS INFORMATION TECHNOLOGY Co.,Ltd.

Patentee before: NSFOCUS TECHNOLOGIES Inc.