CN103404084B - Mac地址强制转发装置及方法 - Google Patents
Mac地址强制转发装置及方法 Download PDFInfo
- Publication number
- CN103404084B CN103404084B CN201280002989.9A CN201280002989A CN103404084B CN 103404084 B CN103404084 B CN 103404084B CN 201280002989 A CN201280002989 A CN 201280002989A CN 103404084 B CN103404084 B CN 103404084B
- Authority
- CN
- China
- Prior art keywords
- arp
- address
- gateway
- mac
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种MAC地址强制转发装置及方法,涉及通信技术领域。该装置包括:接收单元,接收来自ARP请求报文;ARP代答单元,根据接收到的ARP请求报文中的源信息以及目的信息,构造以网关的MAC地址为目的地址的ARP应答报文,或查找对应的目的MAC地址,构造以目的MAC地址为源MAC地址的ARP应答报文;发送单元,将ARP应答报文发送至发送ARP请求报文的用户主机或网关。本发明的装置及方法,在有效地实现了用户主机之间的二层隔离的前提下,将特定的VLAN内的所有报文都转到网关侧,实现了针对IP地址的流量统计和数据监控,提高了网络性能。
Description
技术领域
本发明涉及通信技术领域,具体地,涉及一种MAC地址强制转发装置及方法。
背景技术
二层隔离是一种提高网络安全性并隔离冲突域的虚拟网络技术,其通过适当地配置二层网络设备,使得某些MAC地址所对应的用户主机(包括虚拟机和物理终端设备)无法在网络设备之间中进行数据交换以及通信。
常用的二层隔离的实现方式是给用户主机的端口配置VLAN(Virtual Local AreaNetwork,虚拟局域网),使得属于不同VLAN的用户主机之间无法进行报文的交换和传输。如图1所示,对于非虚拟化的普通网络,可在交换机上配置各端口VLAN或者在物理终端设备上配置VLAN。交换机的端口或者物理终端设备的网络协议层对报文进行VLAN过滤,从而实现不同终端之间的二层隔离。如图2所示,对于虚拟化网络,由于多个虚拟机(VirtualMachine,VM)(虚拟终端)通过一个网卡来与交换机连接,因此,除了在交换机上配置各端口的VLAN外,必须在虚拟机管理器(Virtual Machine Manager,VMM)上配置VLAN。部署在同一服务器上的VM,通过VMM的网络协议层进行VLAN过滤。
无论在虚拟网络还是非虚拟网络中,通过网关对针对IP地址的流量进行统计以及数据监控以及提高网络的安全性都是必须的。而在上述方案中,虽然能够在虚拟网络以及非虚拟网络中实现对多个用户主机进行二层隔离,但是属于同一VLAN的终端之间通信时,对于图1的非虚拟网络,报文将在交换机直接进行二层交换;对于图2的虚拟网络,报文可直接通过VMM的网桥进行内部交换。也即,对于上述两种应用环境,网关均无法感知在同一VLAN中的终端之间进行交互的报文。这导致无法对网络中通信的所有报文进行正确的流量统计和数据监控。此外,物理终端或者VM可以获得同一VLAN中其他物理终端或者VM的MAC地址,因而具有较大的网络隐患。
如图3所示,在非虚拟化的普通网络中部署了一台具有MFF(MAC ForcedForwarding,MAC地址强制转发)功能的三层交换机,因此能够使得各物理终端发出的报文一律发往网关设备,再经由交换机发往目的终端。而对于虚拟化网络,虽然仍可采用图3所示的部署,使得VM发出的报文被强制转发到网关设备,再经由交换机发往目的终端。但是,由于VMM中存在网桥,属于同一VLAN的VM之间的报文仍可在内部进行交换。从而,在该虚拟化网络中,无法实现将所有VM报文都转向网关。
发明内容
有鉴于此,本发明实施例提供了一种MAC地址强制转发装置及方法,可以在实现二层隔离的同时,根据需要将所有报文都转到网关侧,实现对所有报文的流量统计和数据监控,并提高网络的安全性。
为了解决上述技术问题,在第一方面,本发明实施例提供了一种MAC地址强制转发装置,包括:
接收单元,用于接收来自用户主机或网关的ARP请求报文;
ARP代答单元,用于根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文:根据接收到的来自用户主机的ARP请求报文中的源信息以及目的信息,构造以网关的MAC地址为目的地址的ARP应答报文,或根据接收到的来网关的ARP请求报文中的源信息以及目的信息从查找表获取对应的目的MAC地址,构造以所述目的MAC地址为源MAC地址的ARP应答报文;以及
发送单元,用于将所述ARP代答单元构造的ARP应答报文发送至发送所述ARP请求报文的用户主机或网关。
结合第一方面,在第一种可能的实现方式中,该装置还包括学习单元,
所述接收单元还用于接收来自网关的ARP应答报文;
所述ARP代答单元还用于解析所述来自网关的ARP应答报文;
所述学习单元用于根据所述来自网关的ARP应答报文的源信息和目的信息更新所述查找表。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,该装置还包括:
使能单元,用于使所述ARP代答单元针对某个VLAN使能其功能;
交换单元,用于根据所述查找表,将用户主机发送的数据报文发送至与所述用户主机属于同一VLAN的对应的目的用户主机或属于同一VLAN的全部用户主机。
结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,该装置包括:
网卡驱动单元,用于驱动网卡。
在第二方面,本发明实施例提供了一种MAC地址强制转发方法,包括:
接收来自用户主机或网关的ARP请求报文;
根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文:根据接收到的来自用户主机的ARP请求报文中的源信息以及目的信息,构造以网关的MAC地址为目的地址的ARP应答报文,或根据接收到的来自网关的ARP请求报文中的源信息以及目的信息从查找表获取对应的目的MAC地址,构造以所述目的MAC地址为源MAC地址的ARP应答报文;以及
将所述构造的ARP应答报文发送至发送所述ARP请求报文的用户主机或网关。
结合第二方面,在第一种可能的实现方式中,在所述根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文的步骤中:
将所述来自用户主机ARP请求报文的源信息中的源IP地址和目的IP地址分别作为待构造的ARP应答报文的目的IP地址和源IP地址,源MAC地址作为待构造的ARP应答报文的目的MAC地址,将网关MAC地址作为待构造的ARP应答报文的源MAC地址,构造所述ARP应答报文。
结合第二方面,在第二种可能的实现方式中,在所述根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文的步骤中:
根据来自网关的ARP请求报文的目的信息中的目的IP地址查找所述查找表,获取对应的目的MAC地址,将所述ARP请求报文的源MAC地址作为待构造的ARP应答报文的目的MAC地址,将所查找到的目的MAC地址作为待构造的ARP应答报文的源MAC地址。
结合第二方面或第二方面的第一种可能的实现方式,在第三种可能的实现方式中,在所述根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文的步骤中:
若查找表中未记录网关的MAC地址的记录,则将网关的IP地址作为待构造的ARP应答报文的目的IP地址,构造所述ARP应答报文。
结合第二方面或第二方面的第一至第三种可能的实现方式中的任一种,在第四种可能的实现方式中,该方法还包括:
接收来自网关的ARP应答报文;
解析所述来自网关的ARP应答报文;
根据所述来自网关的ARP应答报文的源信息和目的信息更新所述查找表。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,在所述根据所述来自网关的ARP应答报文的源信息和目的信息更新所述查找表的步骤中:若所述查找表中已记录了网关的MAC地址,则不更新所述查找表;否则,记录所述网关的MAC地址。
在第三方面,本发明实施例提供了一种MAC地址强制转发装置,包括中央处理器和存储器,所述存储器存储计算机执行指令,所述中央处理器与所述存储器通过通信总线连接,当所述MAC地址强制转发装置运行时,所述中央处理器执行所述存储器存储的所述计算机执行指令,使得所述MAC地址强制转发装置执行第二方面中任一所述的方法。
在第四方面,本发明实施例提供了一种计算机可读介质,其特征在于,所述计算机可读介质包含计算机执行指令,当计算机的中央处理器执行所述计算机执行指令时,所述计算机执行指令用于使计算机执行权利要求第二方面中任一所述的方法
本发明实施例的MAC地址强制转发装置及方法,通过合理部署MAC地址强制转发功能,在有效地实现了用户主机之间的二层隔离的前提下,将特定的VLAN内的所有报文都转到网关侧,实现了针对所有报文的流量统计和数据监控,提高了网络性能;此外,由于可将MFF功能部署在网卡或网卡驱动中,网络配置的成本较低。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1为传统的对非虚拟网络进行二层隔离的示意框图;
图2为传统的对虚拟网络进行二层隔离的示意框图;
图3为本发明实施例1的MAC地址强制转发装置的一种结构框图;
图4为本发明实施例1的MAC地址强制转发装置的另一种结构框图;
图5为本发明实施例2的虚拟网络系统的结构示意图;
图6为本发明实施例2的虚拟网络系统中的网卡依照实施例1中的MAC地址强制转发方法进行MAC地址强制转发的流程图;
图7为本发明实施例2的虚拟网络系统中的网卡允许某些VM进行内部报文交换并实现二层隔离的处理流程示意;
图8为本发明实施例2的虚拟网络系统中的网卡的交换单元的结构框图;
图9为本发明实施例3的MAC地址强制转发装置的结构框图;
图10为本发明实施例3的虚拟网络系统的结构示意图;
图11为本发明实施例4的MAC地址强制转发装置的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于大家熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
实施例1
本发明本实施提供了一种MAC地址强制转发装置,该装置基于MFF(MAC ForcedForwarding,MAC地址强制转发)功能,通过对ARP(Address Resolution Protocal,地址解析协议)报文的代答,将不同用户主机之间的通信报文直接传输给网关。
如图3所示,该装置包括:接收单元310、ARP代答单元320、发送单元330、以及学习单元340。其中:
接收单元310用于接收来自用户主机或网关的ARP请求。
ARP是在仅知道网络设备的IP地址时确定其MAC地址的一种协议。ARP请求报文用于获取网络内某IP地址对应的MAC地址的一种报文,其大多数为广播报文;ARP应答报文是用于告知别的主机本机的IP地址和MAC地址的一种报文,其大多数为单播报文。
ARP代答单元320具备MFF功能,其用于根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文,具言之:根据接收到的来自用户主机的ARP请求报文中的源信息以及目的信息(包括源IP地址、源MAC地址以及目的IP地址等信息),构造以网关的MAC地址为目的地址的ARP应答报文,或根据接收到的来网关的ARP请求报文中的源信息以及目的信息从查找表中查找对应的目的MAC地址,构造以所述目的MAC地址为源MAC地址的ARP应答报文。该查找表可为存储于ARP代答单元中的全局链表,记录着用户主机与网关的IP地址、MAC地址的对应关系,还记录了ARP代答单元针对各VLAN的MFF使能信息,其它各单元的功能均基于与该查找表的信息交互。
发送单元330则用于将该ARP代答单元320构造的ARP应答报文发送至发送该ARP请求报文的用户主机或网关。
接收单元310还用于接收来自网关的ARP应答报文,ARP代答单元320还用于解析所述来自网关的ARP应答报文,使得学习单元340能够根据ARP应答报文的源信息和目的信息更新所述查找表。
本发明实施例的上述MAC地址强制转发装置通过部署MFF功能,在有效地实现了用户主机之间的二层隔离的前提下,将使能了MFF功能的VLAN域内的所有报文都转到网关侧,实现了针对IP地址的流量统计和数据监控,提高了网络性能。
此外,本发明实施例还提供了一种基于上述MAC地址强制转发装置的MAC地址强制转发方法,该方法包括步骤:
接收步骤,用于接收来自用户主机或网关的ARP请求报文。
ARP代答步骤,用于根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文,具体地:根据接收到的来自用户主机的ARP请求报文中的源信息以及目的信息,构造以网关的MAC地址为目的地址的ARP应答报文,或根据接收到的来自网关的ARP请求报文中的源信息以及目的信息在查找表中查找对应的目的MAC地址,构造以所述目的MAC地址为源MAC地址的ARP应答报文。
发送步骤,用于将在ARP代答步骤中构造的ARP应答报文发送至发送所述ARP请求报文的用户主机或网关。
学习步骤,根据在接收步骤接收到的ARP应答报文的源信息和目的信息更新所述查找表。具言之,若所述查找表中已记录了网关的MAC地址,则不更新所述查找表;否则,记录所述网关的MAC地址。
在该ARP代答步骤中,对于来自用户主机的ARP请求广播报文:若在查找表中具有对应的网关MAC地址的记录,则将该报文的源信息中的源IP地址和目的IP地址分别作为待构造的ARP应答报文的目的IP地址和源IP地址,源MAC地址作为待构造的ARP应答报文的目的MAC地址,将网关MAC地址作为待构造的ARP应答报文的源MAC地址,构造所述ARP应答报文。这样,在用户主机中存储的ARP表中,所有对端的MAC地址都会是网关的MAC地址,用户主机发送的单播报文中的目的MAC地址将均指向网关。需要说明的是,若查找表中未记录对应的网关的MAC地址,只记录了网关的IP地址,则将网关的IP地址作为ARP应答报文的目的IP地址,构造所述ARP应答报文。这样,相当于发送了一个查找网关的ARP请求,使得网关在接收到该报文后会回应一个ARP应答,而学习单元在学习步骤便能根据该应答报文学习到网关的MAC地址,以更新所述查找表。
在该ARP代答步骤中,对于来自网关的ARP请求报文,根据目的信息中的目的IP地址查找查找表,获取对应的目的用户主机的MAC地址,将该ARP请求报文的源MAC地址作为待构造的ARP应答报文的目的MAC地址,将所查找到的目的MAC地址作为待构造的ARP应答报文的源MAC地址,从而ARP代答单元即可代替用户主机作出正确的ARP应答。
实施例2
如图4所示,本实施例的MAC地址强制转发装置400在实施例1的MAC地址强制转发装置所包含的各单元的基础上还包括使能单元410以及交换单元420。其中:
使能单元410用于使ARP代答单元320针对某个VLAN使能MFF功能;交换单元420具有普通网卡所具有的二层交换的功能,也称vSwitch功能,用于根据所述查找表将用户主机发送的数据报文发送至与该用户主机属于同一VLAN的对应的目的用户主机或属于同一VLAN的全部用户主机。
换言之,本实施例的MAC地址强制转发装置400可将各功能单元部署在网卡上,使得不论是非虚拟化的普通网络还是虚拟化网络,在实现二层隔离的同时均可以将所有使能了MFF功能的VLAN内的报文都转到网关侧,实现对所有报文的流量统计和数据监控,并提高网络的安全性,此外,将各功能单元部署在网卡上,网络配置的成本较低。
如图5所示,本实施例还提供了一种包括部署了图4所示的MAC地址强制转发装置各功能单元的网卡520的虚拟网络系统。在该虚拟网络系统中,用户主机为部署在各服务器510上的多个虚拟机(VM),而查找表对应为存储着“队列ID-IP-MAC”表的全局链表,其记录了队列ID、IP地址以及MAC地址的映射关系,根据IP地址或MAC地址均可查询到对应的队列ID,而根据队列ID即可查询到队列所对应的虚拟机的IP地址和MAC地址。
在该虚拟网络系统中,虚拟机管理器(VMM)511负责创建虚拟机,为其分配具有独占资源的虚拟网络设备,并对虚拟机和物理资源进行管理。例如,虚拟机管理器为虚拟机分配独占资源的虚拟网卡,并通过软件或硬件与物理服务器上的物理网卡资源建立对应关系。虚拟机管理器对虚拟机和物理资源的管理分为两大类:前后端模式和直通模式。其中,在前后端模式下,所有虚拟机对虚拟网络设备的访问都需要由虚拟机管理器进行转发,而在直通模式下,则不需要通过虚拟机管理器即可直接访问虚拟网络设备及其对应的实际物理资源。虚拟机设备队列(Virtual Machine Device Queue,VMDQ)是直通模式的一种实现方式,在采用直通模式的虚拟化环境中,虚拟机管理器通过软件模拟使得虚拟机拥有一个虚拟设备,但由于虚拟机访问虚拟设备的资源实际是由虚拟机管理器511映射之后的物理资源,因此I/O吞吐量比前后端模式大。I/O虚拟化(I/O Virtual,IOV)是直通模式的另一种实现方式,IOV通过硬件实现多个配置空间的划分,每个配置空间由单个虚拟机独享。
在本实施例的虚拟网络系统中,该网卡520支持VMDQ或者IOV直通模式功能,使得服务器510中的各虚拟机可以直接访问网卡520资源,此时,虚拟机能够绕过虚拟机管理器511中的网桥,经由总线PCI530与网卡520直接进行报文的交换传输。网卡520以网关550的MAC地址来代答所有虚拟机发出的ARP请求,而针对来自网关550侧的ARP请求,网卡520以该ARP请求所对应的虚拟机的MAC地址来进行代答。
具言之,用户可根据需要在虚拟机管理器511的管理域Domain0配置参数,使能网卡520对于某些VLAN的MAC地址强制转发功能,以实现将某些特定虚拟机的所有报文都转到网关侧,某些虚拟机则可直接进行内部报文交换。如图6所示,本实施例的虚拟网络系统中的网卡520依照实施例1中的方法进行MAC地址强制转发的过程如下:
在步骤S501中,网卡接收ARP请求报文。
在步骤S502中,网卡判断所接收到的ARP请求报文是否是网卡所使能的VLAN内部的VM所发送的ARP请求报文;若是,则执行步骤S503,否则,执行步骤S510。
在步骤S503中,解析所接收到的ARP报文,获取其源信息以及目的信息。
在步骤S504中,网卡的ARP代答单元构造ARP应答报文。具体构造方式如下:若在“队列ID-IP-MAC”表中记录了网关MAC地址,则将该ARP请求报文的源IP地址和目的IP地址分别作为待构造的ARP应答报文的目的IP地址和源IP地址,将ARP请求报文的源MAC地址作为待构造的ARP应答报文的目的MAC地址,然后将网关MAC地址作为待构造的ARP应答报文的源MAC地址,并执行步骤S505;若该“队列ID-IP-MAC”表中只记录网关IP地址未记录网关的MAC地址,则将待构造的ARP应答报文的目的IP地址修改为网关IP地址,并执行步骤S505;若既未记录网关的MAC地址,又未记录网关的IP地址,则对该报文不做任何处理,并执行步骤S505。
在步骤S505中,将ARP代答单元构造的ARP应答报文通过相应的端口发送出去。
在步骤S510中,解析所接收到的ARP请求报文,并获取其源信息以及目的信息。
在步骤S511中,根据所获取到的ARP请求报文的目的IP地址查找网卡中所维护的“队列ID-IP-MAC”表,以获得所对应的队列MAC地址,在查找到队列MAC地址之后,处理进入步骤S512。
在步骤S512中,网卡的ARP代答单元构造ARP应答报文。具体构造方式如下:将ARP请求报文的源IP地址和目的IP地址分别作为待构造的ARP应答报文的目的IP地址和源IP地址,将ARP请求报文的源MAC地址作为待构造的应答报文的目的MAC地址,然后将所查找到的队列MAC地址作为待构造的应答报文的源MAC地址。
在步骤S513中,将ARP代答单元所构造的ARP应答报文从接收该ARP请求报文的端口发送至该ARP请求报文的请求方虚拟机。
综上,网卡代替虚拟机进行了正确的ARP应答。
而对于来自网关的单播ARP应答报文,网卡在接收到该ARP应答报文后,进行如下处理:在该“队列ID-IP-MAC”表中未记录网关MAC地址的情况下,将该报文中的网关MAC地址记录在全局链表中,并丢弃该报文。
对于来自虚拟机的单播ARP应答报文,网卡在接收到该ARP应答报文后,进行如下处理:若其目的MAC地址为网关MAC地址,则通过相应的端口发送出去,若不是,则释放该报文。
对于非ARP请求或应答报文,网卡对其不做任何处理,使其直接通过网卡的对应端口发送出去或通过总线发送至对应的虚拟机。
图7示出了根据本实施例的网卡所执行的允许其未使能的某些VLAN中的虚拟机进行内部报文交换并实现二层隔离的处理。
在步骤S601中,解析虚拟机发送的单播报文,获取目的MAC地址。
在步骤S602中,根据该目的MAC地址查找网卡中维护的“队列ID-IP-MAC”表,获得对应的队列ID。
在步骤S603中,网卡将报文转发给查找到的队列,最终将报文发送到正确的虚拟机。
综上,本实施例的虚拟网络系统中的网卡能够实现这样的功能:使得使能MAC地址强制转发装置的功能的VLAN中的虚拟机所发送的所有报文都到达网关侧,以在实现二层隔离的同时,使网关对所有报文进行流量统计和数据监控;并且,对于某些不需要进行监控的VLAN内部的虚拟机之间的报文传输,则直接通过网卡中的(vSwitch)交换单元进行交换,而不需要强制转发到网关侧。
对于交换单元420的vSwitch功能,其负责对报文进行在VLAN内部的交换,用于根据报文的目的MAC地址和相关配置,确定报文将要发往的队列。如图8所示,交换单420元分为4个模块:配置模块(Config)421、表空间模块(Table Space)422、收包模块(RX)423、以及发包模块(TX)424。配置模块421负责交换单元420初始化和信息配置。表空间模块421维护空闲节点空间和Hash表,用于记录和查找交换信息。收包模块423和发包模块424则分别处理接收和发送的报文,以实现报文的交换功能。具体地:
表空间模块422包括节点的添加/删除/查找等操作的功能,每个节点包含MAC地址、VLAN ID、队列ID信息。
配置模块421负责模块初始化和信息配置,主要包括:
a、设置VLAN的二层交换使能,该信息存储在全局VLAN信息中。
b、设置虚拟机队列的二层交换使能,该信息存储在全局队列信息中。
c、更新虚拟机队列的MAC地址,包括更新Hash表和全局队列信息。
d、删除队列的MAC地址/删除所有队列的MAC地址,包括删除Hash表对应节点,删除全局队列信息对应的MAC信息。
收包模块423对接收到的报文做以下处理:对于单播报文,根据报文的VLAN ID和目的MAC,查找Hash表节点,若找到则给报文填充队列ID,否则丢弃该报文;对于广播报文,往VLAN下的所有队列都发送该报文。
发包模块424对要发送的报文做以下处理:判断是否需要做内部交换,满足的条件必须是VLAN和队列都使能内部交换功能,否则不做任何处理,使该报文直接通过发送模块。当需内部交换时,对于单播报文,根据报文的VLAN ID和目的MAC地址,查找Hash表节点,若找到则给报文填充队列ID,并将报文转到接收侧,否则不做任何处理,使该报文直接通过发送模块。当需内部交换时,对于广播报文,向VLAN下所有队列(自身队列除外)都发送报文(都是转到接收侧),然后通过报文。其中,本模块对该广播报文不做任何处理,继续向外发送该广播报文
实施例3
如图9所示,本实施例提供了一种MAC地址强制转发装置900,其在实施例1的MAC地址强制转发装置所包含的各单元的基础上还包括网卡驱动单元910。该网卡驱动单元910用于驱动网卡,换言之,本实施例的MAC地址强制转发装置900可将各功能单元部署在网卡驱动上。使得不论是非虚拟化的普通网络还是虚拟化网络,在实现二层隔离的同时均可以将所有报文都转到网关侧,实现对所有报文的流量统计和数据监控,并提高网络的安全性。此外,将各功能单元部署在网卡驱动上,网络配置的成本较低。
如图10所示,本实施例还提供了一种包括部署了图9所示的MAC地址强制转发装置900各功能单元的网卡驱动1111的虚拟网络系统,该虚拟网络系统与实施例2所提供的虚拟网络系统的类似,所不同的是,本实施例的虚拟网络该系统中的服务器1100的网卡驱动1111只能使用前后端模式时,且虚拟机管理器1110中存在网桥。由于虚拟机管理器1110中存在网桥,虚拟机之间的报文可以通过网桥进行虚拟交换,因此网卡1150无法监控到虚拟机之间的通信,所以为了实现与实施例1和2相同的、二层隔离、二层交换功能,在本实施例的虚拟网络系统中,实施例1的MAC地址强制转发装置的各功能模块部署在虚拟机管理器1110的Domain0网卡驱动1111上,使得在报文到达网桥之前由网卡驱动1111对其进行MAC地址强制转发处理。
继续如图10所示,以虚拟机VM1为例,VM1发送ARP请求时,被网卡驱动1111截获并以网关1150的MAC地址进行ARP代答,之后VM1所有的报文都将发送到网关1150,因此虚拟机管理器1110中的网桥无法根据目的MAC地址进行二层交换。而当网关1150发送的ARP请求到该网卡驱动1111时,该ARP代答单元将根据目的IP地址查询对应虚拟机的MAC地址并进行ARP代答。
实施例4
图11为本发明实施例提供的一种MAC地址强制转发装置1200的结构示意图,本发明具体实施例并不对MAC地址强制转发装置的具体实现做限定。如图11所示,该MAC地址强制转发装置1200可以包括:
处理器(processor)1210、通信接口(Communications Interface)1220、存储器(memory)1230、以及通信总线1240。其中:
处理器1210、通信接口1220、以及存储器1230通过通信总线1240完成相互间的通信。
通信接口1220,用于与比如客户端等的网元通信。
处理器1210,用于执行程序1232,具体可以执行上述图6至图7所示的方法实施例中的相关步骤。
具体地,程序732可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1210可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1230,用于存放程序1232。存储器1230可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序1232具体可以包括:
接收单元用于接收来自用户主机或网关的ARP请求。
ARP代答单元,用于所述ARP请求报文的源信息以及目的信息构造ARP应答报文,具言之:根据接收到的来自用户主机的ARP请求报文中的源信息以及目的信息(包括源IP地址、源MAC地址以及目的IP地址等信息),构造以网关的MAC地址为目的地址的ARP应答报文,或根据接收到的来网关的ARP请求报文中的源信息以及目的信息从查找表中查找对应的目的MAC地址,构造以所述目的MAC为源MAC地址的ARP应答报文。该查找表相当于存储于ARP代答单元中的全局链表,记录着用户主机与网关的IP地址、MAC地址的对应关系,还记录了ARP代答单元针对各VLAN的MFF使能信息,其它各单元的功能均基于与该查找表的信息交互。
发送单元,用于将该ARP代答单元320构造的ARP应答报文发送至发送该ARP请求报文的用户主机或网关。
学习单元,能够根据ARP应答报文的源信息和目的信息更新所述查找表。
程序1232中各单元的具体实现可以参见图3-图5以及图7所示实施例中的相应单元,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (9)
1.一种网卡或网卡驱动上的MAC地址强制转发装置,其特征在于,包括:
接收单元,用于接收地址解析协议ARP请求报文;
ARP代答单元,用于判断所接收到的所述ARP请求报文是否是网卡所使能的VLAN内部的虚拟机VM所发送的;
ARP代答单元,还用于根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文:当所述ARP请求报文为网卡所使能的VLAN内部的VM所发送时,根据ARP请求报文中的源信息以及目的信息,将所述ARP请求报文的源MAC地址作为构造的所述ARP应答报文的目的MAC地址,将网关MAC地址作为构造的所述ARP应答报文的源MAC地址;当所述ARP请求报文为网关所发送时,根据接收到的来自网关的所述ARP请求报文中的源信息以及目的信息从查找表获取对应的目的MAC地址,构造以所述目的MAC地址为源MAC地址的ARP应答报文;其中,所述查找表,用于记录用户主机与网关的IP地址、MAC地址的对应关系,还记录了所述ARP代答单元针对各虚拟局域网VLAN的MAC地址强制转发MFF使能信息;
以及,发送单元,用于将所述ARP代答单元构造的ARP应答报文发送至发送所述ARP请求报文的用户主机或网关;
所述接收单元,还用于接收来自网关的ARP应答报文;
所述ARP代答单元,还用于解析所述来自网关的ARP应答报文;
学习单元,用于根据所述来自网关的ARP应答报文的源信息和目的信息更新所述查找表。
2.如权利要求1所述的装置,其特征在于,该装置还包括:
使能单元,用于使所述ARP代答单元针对某个VLAN使能其功能;
交换单元,用于根据所述查找表,将用户主机发送的数据报文发送至与所述用户主机属于同一VLAN的对应的目的用户主机或属于同一VLAN的全部用户主机。
3.如权利要求1所述的装置,其特征在于,该装置包括:
网卡驱动单元,用于驱动网卡。
4.一种网卡或网卡驱动上的MAC地址强制转发方法,其特征在于,包括:
接收ARP请求报文;
判断所接收到的所述ARP请求报文是否是网卡所使能的VLAN内部的VM所发送的;
根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文:当所述ARP请求报文为网卡所使能的VLAN内部的VM所发送时,根据ARP请求报文中的源信息以及目的信息,将所述ARP请求报文的源MAC地址作为构造的所述ARP应答报文的目的MAC地址,将网关MAC地址作为构造的所述ARP应答报文的源MAC地址;当所述ARP请求报文为网关所发送时,根据接收到的来自网关的所述ARP请求报文中的源信息以及目的信息从查找表获取对应的目的MAC地址,构造以所述目的MAC地址为源MAC地址的ARP应答报文;其中,所述查找表,用于记录用户主机与网关的IP地址、MAC地址的对应关系,还记录了所述ARP代答单元针对各虚拟局域网VLAN的MAC地址强制转发MFF使能信息;
以及,将所述构造的ARP应答报文发送至发送所述ARP请求报文的用户主机或网关;
接收来自网关的ARP应答报文;
解析所述来自网关的ARP应答报文;
根据所述来自网关的ARP应答报文的源信息和目的信息更新所述查找表。
5.如权利要求4所述的方法,其特征在于,在所述根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文的步骤中:
将所述来自用户主机ARP请求报文的源信息中的源IP地址和目的IP地址分别作为待构造的ARP应答报文的目的IP地址和源IP地址,源MAC地址作为待构造的ARP应答报文的目的MAC地址,将网关MAC地址作为待构造的ARP应答报文的源MAC地址,构造所述ARP应答报文。
6.如权利要求4所述的方法,其特征在于,在所述根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文的步骤中:
根据来自网关的ARP请求报文的目的信息中的目的IP地址查找所述查找表,获取对应的目的MAC地址,将所述ARP请求报文的源MAC地址作为待构造的ARP应答报文的目的MAC地址,将所查找到的目的MAC地址作为待构造的ARP应答报文的源MAC地址。
7.如权利要求4或5所述的方法,其特征在于,在所述根据所述ARP请求报文的源信息以及目的信息构造ARP应答报文的步骤中:
若查找表中未记录网关的MAC地址,则将网关的IP地址作为待构造的ARP应答报文的目的IP地址,构造所述ARP应答报文。
8.如权利要求4所述的方法,其特征在于,在所述根据所述来自网关的ARP应答报文的源信息和目的信息更新所述查找表的步骤中:若所述查找表中已记录了网关的MAC地址,则不更新所述查找表;否则,记录所述网关的MAC地址。
9.一种网卡或网卡驱动上的MAC地址强制转发装置,其特征在于,包括中央处理器和存储器,所述存储器存储计算机执行指令,所述中央处理器与所述存储器通过通信总线连接,当所述MAC地址强制转发装置运行时,所述中央处理器执行所述存储器存储的所述计算机执行指令,使得所述MAC地址强制转发装置执行权利要求4至8中任一所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/084991 WO2014079005A1 (zh) | 2012-11-21 | 2012-11-21 | Mac地址强制转发装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103404084A CN103404084A (zh) | 2013-11-20 |
CN103404084B true CN103404084B (zh) | 2017-11-17 |
Family
ID=49565858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280002989.9A Active CN103404084B (zh) | 2012-11-21 | 2012-11-21 | Mac地址强制转发装置及方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103404084B (zh) |
WO (1) | WO2014079005A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104995878B (zh) | 2013-12-31 | 2019-02-05 | 华为技术有限公司 | 一种报文传输方法、设备及通信系统 |
WO2017000221A1 (zh) * | 2015-06-30 | 2017-01-05 | 华为技术有限公司 | 通过远端网元端口通信的方法和装置 |
CN105872117A (zh) * | 2015-10-26 | 2016-08-17 | 乐视云计算有限公司 | 获取mac地址的方法、虚拟机管理器及系统 |
CN105553698A (zh) * | 2015-12-09 | 2016-05-04 | 福建天晴数码有限公司 | 基于局域网的流量统计方法及其系统 |
CN107181681B (zh) * | 2016-03-10 | 2022-02-25 | 中兴通讯股份有限公司 | Sdn二层转发方法及系统 |
CN107395508B (zh) * | 2016-05-17 | 2020-04-14 | 华为技术有限公司 | 转发报文的方法和装置 |
CN106789756A (zh) | 2016-12-26 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种基于操作系统内核网桥的数据发送方法和装置 |
CN107360058A (zh) * | 2017-07-12 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种实现流量监控的方法及装置 |
CN107547346B (zh) * | 2017-07-24 | 2021-02-26 | 新华三技术有限公司 | 一种报文传输方法和装置 |
CN109525601B (zh) * | 2018-12-28 | 2021-04-27 | 杭州迪普科技股份有限公司 | 内网中终端间的横向流量隔离方法和装置 |
CN116208658A (zh) * | 2019-09-06 | 2023-06-02 | 华为云计算技术有限公司 | 混合云环境中的通信方法及网关、管理方法及装置 |
CN111130981B (zh) * | 2019-12-24 | 2022-05-20 | 锐捷网络股份有限公司 | 一种mac地址的代理应答方法及装置 |
CN111654558B (zh) * | 2020-05-29 | 2023-02-28 | 杭州迪普科技股份有限公司 | Arp交互与内网流量转发方法、装置和设备 |
CN115086272B (zh) * | 2022-06-23 | 2023-11-21 | 杭州云合智网技术有限公司 | Arp代答方法、装置、设备及存储介质 |
CN115242748A (zh) * | 2022-07-04 | 2022-10-25 | 裕太微电子股份有限公司 | 一种降低计算机系统功耗的方法及低功耗计算机系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094178A (zh) * | 2007-07-16 | 2007-12-26 | 杭州华三通信技术有限公司 | 无vlan虚接口情况下发送arp请求的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100486197C (zh) * | 2006-11-09 | 2009-05-06 | 杭州华三通信技术有限公司 | 一种无线局域网地址解析协议广播方法及接入控制器 |
CN101123614B (zh) * | 2007-09-04 | 2010-06-02 | 中兴通讯股份有限公司 | 一种处理地址解析协议报文的方法及通信装置 |
CN101577722B (zh) * | 2009-06-03 | 2012-09-05 | 中兴通讯股份有限公司 | 实现强制mac转发功能的方法和装置 |
CN101924707A (zh) * | 2010-09-27 | 2010-12-22 | 杭州华三通信技术有限公司 | 地址解析协议报文的处理方法和设备 |
-
2012
- 2012-11-21 CN CN201280002989.9A patent/CN103404084B/zh active Active
- 2012-11-21 WO PCT/CN2012/084991 patent/WO2014079005A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094178A (zh) * | 2007-07-16 | 2007-12-26 | 杭州华三通信技术有限公司 | 无vlan虚接口情况下发送arp请求的方法和装置 |
Non-Patent Citations (1)
Title |
---|
MAC-Forced Forwarding:A Method for Subscriber Separation on an Ethernet Access Network;T.Melsen etc.;《RFC4562》;20060630;page 1-13 * |
Also Published As
Publication number | Publication date |
---|---|
CN103404084A (zh) | 2013-11-20 |
WO2014079005A1 (zh) | 2014-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103404084B (zh) | Mac地址强制转发装置及方法 | |
CN107733670B (zh) | 一种转发策略配置方法和装置 | |
US7440415B2 (en) | Virtual network addresses | |
US8718061B2 (en) | Data center network system and packet forwarding method thereof | |
CN103595648B (zh) | 用于在服务器的接收侧进行负载均衡的方法和系统 | |
CN106452857B (zh) | 生成配置信息的方法和网络控制单元 | |
US8718071B2 (en) | Method to pass virtual local area network information in virtual station interface discovery and configuration protocol | |
JP5855630B2 (ja) | 仮想ローカルエリアネットワークのクラウドアプライアンスを管理するための管理サーバおよびその管理方法 | |
CN104221331B (zh) | 用于以太网交换机的没有查找表的第2层分组交换 | |
CN102938794A (zh) | 地址解析协议arp消息转发方法、交换机和控制器 | |
KR101995145B1 (ko) | Ue들 및 고정 액세스 네트워크에서 작동하는 방법 | |
CN105262667A (zh) | Overlay网络中控制组播传输的方法、装置 | |
CN106209689B (zh) | 从vxlan至vlan的组播数据报文转发方法和设备 | |
CN105306368B (zh) | 一种数据报文的传输方法和装置 | |
CN107104824A (zh) | 一种网络拓扑确定方法和装置 | |
JP2019521619A (ja) | パケット転送 | |
WO2012088901A1 (zh) | 一种虚拟局域网的分配方法以及相关装置 | |
CN109691026A (zh) | 用于更新多个多协议标签切换(mpls)双向转发检测(bfd)会话的方法和装置 | |
CN101242370B (zh) | 实现以太网与帧中继互联的方法与协议转换设备 | |
CN107786669A (zh) | 一种负载均衡处理的方法、服务器、装置及存储介质 | |
CN105187311A (zh) | 一种报文转发方法及装置 | |
CN107547665A (zh) | 一种dhcp地址分配的方法、设备及系统 | |
CN107547346A (zh) | 一种报文传输方法和装置 | |
WO2016107269A1 (zh) | 虚拟可扩展本地区域网络中数据传输的设备和方法 | |
CN108696370B (zh) | 一种服务器与业务绑定和解绑定方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211221 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: Super fusion Digital Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |