CN106330719A - 一种vxlan报文转发方法和装置 - Google Patents
一种vxlan报文转发方法和装置 Download PDFInfo
- Publication number
- CN106330719A CN106330719A CN201610951878.2A CN201610951878A CN106330719A CN 106330719 A CN106330719 A CN 106330719A CN 201610951878 A CN201610951878 A CN 201610951878A CN 106330719 A CN106330719 A CN 106330719A
- Authority
- CN
- China
- Prior art keywords
- message
- vxlan
- heading
- vtep equipment
- mac address
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种VXLAN报文转发方法和装置,所述方法包括:接收到所述第一VM发送至所述第二VM的单播报文后,根据所述第二VM的MAC地址在预设的MAC表中查找对应的MAC表项;当查找到对应的MAC表项时,基于所述MAC表项为所述单播报文封装VXLAN报文头;其中,VXLAN报文头携带所述第二接口索引和所述第二VM的VLAN ID;将封装后的所述单播报文通过VXLAN隧道发送至所述对端VTEP设备,以由所述对端VTEP设备在对所述单播报文进行解封装后,将所述单播报文发送至所述第二VM。本申请实施例中,VXLAN报文转发过程由两次查找MAC表变成一次,优化了VXLAN报文转发过程,提高了转发效率。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种VXLAN报文转发方法和装置。
背景技术
随着云计算的快速发展,数据中心的虚拟化程度越来越高,对物理网络的要求也越来越苛刻,比如TOR交换机需要支持大规格MAC地址表;4094个VLAN(Virtual Local AreaNetwork,虚拟局域网)无法划分海量虚拟机;需要支持多租户的网络隔离等。正是这些需求使得叠加网络技术VXLAN(Virtual Extensible Local Area Network,虚拟可扩展局域网)应运而生。
在实际应用中,VM(Virtual Machine,虚拟机)发送报文至VTEP(VXLAN TunnelingEnd Point,VXLAN隧道终端)设备,由VTEP设备查表,将报文封装VXLAN报文头,并根据表项内容转发该VXLAN报文至对端VTEP设备,对端VTEP设备接收到该VXLAN报文后,解封装该VXLAN报文,然后查表,根据查找结果将报文转发至目标VM,转发过程比较繁琐,转发效率不高。
发明内容
有鉴于此,本申请提供一种VXLAN报文转发方法和装置,用于解决现有技术中,VTEP设备转发VXLAN报文的转发过程比较繁琐,转发效率不高的问题。
具体地,本申请是通过如下技术方案实现的:
一种VXLAN报文转发方法,应用于本端VTEP设备,所述本端VTEP设备与对端VTEP设备之间建立了VXLAN隧道;其中,所述本端VTEP设备接入了第一VM,所述对端VTEP设备接入了与所述第一VM隶属于同一VXLAN的第二VM,包括:
接收到所述第一VM发送至所述第二VM的单播报文后,根据所述第二VM的MAC地址在预设的MAC表中查找对应的MAC表项;其中,所述MAC表项包括第二接口索引和所述第二VM的VLAN ID,所述第二接口索引为所述第二VM接入所述对端VTEP设备的接口索引;
当查找到对应的MAC表项时,基于所述MAC表项为所述单播报文封装VXLAN报文头;其中,VXLAN报文头携带所述第二接口索引和所述第二VM的VLAN ID;
将封装后的所述单播报文通过所述VXLAN隧道发送至所述对端VTEP设备,以由所述对端VTEP设备在针对所述单播报文进行解封装后,根据VXLAN报文头中的所述第二接口索引和所述第二VM的VLAN ID,将所述单播报文发送至所述第二VM。
一种VXLAN报文转发装置,应用于本端VTEP设备,所述本端VTEP设备与对端VTEP设备之间建立了VXLAN隧道;其中,所述本端VTEP设备接入了第一VM,所述对端VTEP设备接入了与所述第一VM隶属于同一VXLAN的第二VM,包括:
查找单元,用于接收到所述第一VM发送至所述第二VM的单播报文后,根据所述第二VM的MAC地址在预设的MAC表中查找对应的MAC表项;其中,所述MAC表项包括第二接口索引和所述第二VM的VLAN ID,所述第二接口索引为所述第二VM接入所述对端VTEP设备的接口索引;
封装单元,用于当查找到对应的MAC表项时,基于所述MAC表项为所述单播报文封装VXLAN报文头;其中,VXLAN报文头携带所述第二接口索引和所述第二VM的VLAN ID;
发送单元,用于将封装后的所述单播报文通过所述VXLAN隧道发送至所述对端VTEP设备,以由所述对端VTEP设备在针对所述单播报文进行解封装后,根据VXLAN报文头中的所述第二接口索引和所述第二VM的VLAN ID,将所述单播报文发送至所述第二VM。
本申请实施例中,本端VTEP设备接收到接入本端VTEP设备的第一VM发送至接入对端VTEP设备的第二VM的单播报文后,根据所述第二VM的MAC地址,查找预先保存的MAC表,获得对应所述第二VM的MAC地址的MAC表项,然后将所述单播报文封装成VXLAN报文,并将查找到的MAC表项中的所述第二VM与所述对端VTEP设备间的第二接口索引和所述第二VM的VLANID记录到VXLAN报文头中,封装完成后,将所述单播报文发送至所述对端VTEP设备。所述对端VTEP设备根据VXLAN报文头中的所述第二接口索引和所述第二VM的VLAN ID,转发所述单播报文至所述第二VM。
由于本申请中,所述本端VTEP设备接收到所述单播报文后,在封装时会把所述第二接口索引和所述第二VM所在的VLAN ID记录到VXLAN报文头中,所述对端VTEP设备在对所述单播报文解封装时可以获得所述第二接口索引和所述第二VM所在的VLAN ID,无需查询MAC表,直接转发所述单播报文。优化了VXLAN报文的转发过程,提高了转发效率。
附图说明
图1是本申请示出的一种现有技术中VXLAN报文转发方法的流程图;
图2是本申请示出的一种VXLAN报文转发的网络架构图;
图3是本申请示出的一种VXLAN报文转发方法的流程图;
图4是本申请示出的一种现有技术中VXLAN报文头的示意图;
图5是本申请示出的一种VXLAN报文头的示意图;
图6是本申请示出的一种VXLAN报文转发装置的逻辑框图;
图7是本申请示出的一种VXLAN报文转发装置的硬件结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对现有技术方案和本发明实施例中的技术方案作进一步详细的说明。
参见图1,本申请示出的一种现有技术中VXLAN报文转发方法的流程图,该技术方案应用于VTEP设备上;所述方法包括以下步骤:
步骤101:接收到接入本端VTEP设备的第一VM发送至接入对端VTEP设备的第二VM的单播报文后,根据所述第二VM的MAC地址,查找预先保存的MAC表,获得对应所述第二VM的MAC地址的MAC表项。
步骤102:将所述单播报文封装VXLAN报文头,并根据查找结果,将所述单播报文发送至所述对端VTEP设备,以由所述对端VTEP设备对所述单播报文解封装,并根据所述第二VM的MAC地址,查找预先保存的MAC表,获得对应所述第二VM的MAC表项,并根据查找到的MAC表项将所述单播报文发送至所述第二VM。
上述VM,指的是利用虚拟化技术,在一台物理服务器上虚拟出多个主机。每个虚拟主机互相独立,有各自的操作系统和逻辑上相互独立的内存、CPU、网卡等设备,从应用程序的角度来看,绝大部分情况下和使用物理服务器没有差别。
上述VTEP设备,指的是VXLAN网络中隧道终点的设备,用于在VXLAN网络中发送、接收VXLAN报文;其中,VXLAN报文即为封装了VXLAN报文头的报文。一台VTEP设备可以接入多个VXLAN网络,也可以接入多台处于不同或相同VXLAN网络的VM,其中,每个VM的二层网络地址和三层网络地址都是不同的。VTEP设备接收到VM发送至接入对端VTEP设备的对端VM的报文后,将该报文封装VXLAN报文头,然后通过与对端VTEP设备间的VXLAN隧道,将该VXLAN报文发送至对端VTEP设备,以由对端VTEP设备将该报文解封装后发送至对端VM。
下面结合图2对现有技术方案中的VXLAN报文转发方法进行说明。
图2是本申请示出的一种VXLAN报文转发的网络架构图,如图所示,VM1从端口Port1接入VTEP A,VM2从端口Port 4接入VTEP B,VTEP A与VTEP B之间的VXLAN隧道为Tunnel1。
现在从VTEP A的角度对现有技术的VXLAN报文转发方法进行描述,以下提到的第一VM指VM1,本端VTEP设备指VTEP A,对端VTEP设备指VTEP B,第二VM指VM2。第一VM和第二VM隶属于同一个VXLAN网络,它们所在的VXLAN网络的VNI(VXLAN Network Identifier,虚拟可扩展局域网网络身份)是1000。
其中,第一VM的VLAN ID(Virtual Local Area Network Identifier,虚拟局域网标识)是101,第一VM的MAC地址是MAC1,第二VM的VLAN ID是102,第二VM的MAC地址是MAC2。
第一VM在没有第二VM的MAC地址的情况下,发送ARP请求报文至本端VTEP设备,该ARP请求报文的源MAC是上述第一VM的MAC地址MAC1,目的MAC是广播MAC。本端VTEP设备接收到该ARP请求报文后,根据接收该ARP请求报文的端口Port 1,确定该ARP请求报文来自于VNI为1000的上述第一VM。本端VTEP设备将该ARP请求报文封装VXLAN报文头,并将封装后的该ARP请求报文在VNI为1000的VXLAN网络中进行广播,并同时学习对应第一VM的MAC表项,学习到的表项用于后续单播转发,学习到的MAC表项存储在MAC表中,如下表1所示:
表1
对端VTEP设备接收到封装VXLAN报文头的上述ARP请求报文后,对上述ARP请求报文解封装,并将解封装后的上述ARP请求报文在本地VNI为1000的VXLAN网络中进行广播,同时学习对应上述第一VM的MAC表项,学习到的MAC表项存储在MAC表中,如下表2所示:
表2
第二VM接收到上述ARP请求报文后,将第一VM的IP地址和MAC地址的对应关系记录到本地的ARP表中,然后向对端VTEP设备发送ARP应答报文,该ARP应答报文的源MAC是MAC2,目的MAC是MAC1。
对端VTEP设备接收到上述ARP应答报文后,根据上述ARP应答报文的目的MAC查找本地的MAC表,获得对应MAC1的MAC表项,然后将上述ARP应答报文封装VXLAN报文头,通过VXLAN隧道Tunnel 1发送至本端VTEP设备,并同时学习对应MAC2的MAC表项,用于后续单播转发,学习到的MAC表项存储在MAC表中,如下表3所示:
表3
本端VTEP设备接收到封装VXLAN报文头的上述ARP应答报文后,对上述ARP应答报文进行解封装。解封装后,读取上述ARP应答报文的报文头,目的MAC是MAC1,查找MAC表,获得对应MAC1的MAC表项。将上述ARP应答报文通过端口Port 1和虚拟局域网标识101发送至第一VM,并学习对应第二VM的MAC表项,学习到的表项存储在MAC表中,如下表4所示:
表4
第一VM接收到上述ARP应答报文后,在本地的ARP表中记录第二VM的IP地址和MAC地址的对应关系。
当第一VM学习到第二VM的MAC地址后,后续可以发送单播报文。
当第一VM发送单播报文至第二VM,过程如下:
第一VM将源MAC为MAC1、目的MAC为MAC2的单播报文发送至本端VTEP设备。本端VTEP设备接收到该单播报文后,根据接收该单播报文的端口Port 1确定该单播报文来自VNI为1000的VXLAN网络,然后根据目的MAC查找对应的MAC表项。在获得查找结果后,将该单播报文封装VXLAN报文头,并将封装VXLAN报文头的该单播报文通过Tunnel 1发送至对端VTEP设备。
对端VTEP设备接收到封装VXLAN报文头的该单播报文后,对该单播报文进行解封装,根据解封装后的该单播报文的目的MAC查找本地的MAC表,获得对应MAC2的MAC表项。对端VTEP设备在获得对应MAC2的MAC表项后,将该单播报文通过端口Port 4和虚拟局域网标识102发送至第二VM。此时,第一VM向第二VM发送单播报文的过程结束。
由此可见,在现有技术中,在VXLAN网络中发送单播报文,从第一VM发送到第二VM,需要先在本端VTEP设备上查一次MAC表,查找到VXLAN隧道后,将封装VXLAN报文头的单播报文发送至对端VTEP设备,对端VTEP设备接收到该单播报文,在解封装后,还需再查一次MAC表,然后根据查找结果,将该单播报文发送至第二VM。整个过程需要查找两次MAC表,费时较长。
针对现有技术中,VXLAN报文转发费时较长的问题,本申请实施例通过扩展VXLAN报文头的方式,将发送至第二VM的接口索引和第二VM的虚拟局域网标识添加到VXLAN报文头中,使得对端VTEP设备在接收到VXLAN报文后,在解封装时就可以获知第二VM接入对端VTEP设备的端口以及第二VM的虚拟局域网标识,免去了一次查找MAC表的步骤,优化了VXLAN报文的转发过程,提高了转发效率。
下面结合附图对本申请实施例的技术方案进行说明。
参见图3,为本申请示出的一种VXLAN报文转发方法的流程图,该技术方案应用于本端VTEP设备上,所述本端VTEP设备与对端VTEP设备之间建立了VXLAN隧道;其中,所述本端VTEP设备接入了第一VM,所述对端VTEP设备接入了与所述第一VM隶属于同一VXLAN的第二VM;所述方法包括以下步骤:
步骤301:接收到所述第一VM发送至所述第二VM的单播报文后,根据所述第二VM的MAC地址在预设的MAC表中查找对应的MAC表项;其中,所述MAC表项包括第二接口索引和所述第二VM的VLAN ID,所述第二接口索引为所述第二VM接入所述对端VTEP设备的接口索引。
步骤302:当查找到对应的MAC表项时,基于所述MAC表项为所述单播报文封装VXLAN报文头;其中,VXLAN报文头携带所述第二接口索引和所述第二VM的VLAN ID。
步骤303:将封装后的所述单播报文通过所述VXLAN隧道发送至所述对端VTEP设备,以由所述对端VTEP设备在针对所述单播报文进行解封装后,根据VXLAN报文头中的所述第二接口索引和所述第二VM的VLAN ID,将所述单播报文发送至所述第二VM。
在本申请实施例中,先对VXLAN报文头进行扩展,扩展后的VXLAN报文头可以记录上述第二接口索引和第二VM的VLAN ID,本端VTEP发送单播报文时,会在封装VXLAN报文头时,将第二接口索引和第二VM的VLAN ID添加到VXLAN报文头中。对端VTEP设备接收封装为VXLAN报文的上述单播报文,解封装后,根据VXLAN报文头中的上述第二接口索引和第二VM的VLAN ID发送上述单播报文至第二VM。
参见图4,为本申请示出的一种现有技术中VXLAN报文头的示意图;参见图5,本申请示出的一种VXLAN报文头的示意图。如图所示,本申请示出的VXLAN报文头比现有技术方案中的VXLAN报文头多出IfIndex和VLAN ID,可以分别用于记录接口索引和虚拟局域网标识。
下面结合图2对本申请实施例的技术方案中的VXLAN报文转发方法进行说明,图2是本申请示出的一种VXLAN报文转发的网络架构图,如图所示,VM1从端口Port 1接入VTEPA,VM2从端口Port 4接入VTEP B,VTEP A与VTEP B之间的VXLAN隧道为Tunnel 1。
现在从VTEP A的角度对现有技术的VXLAN报文转发方法进行描述,以下提到的第一VM指VM1,本端VTEP设备指VTEP A,对端VTEP设备指VTEP B,第二VM指VM2。第一VM和第二VM隶属于同一个VXLAN网络,它们所在的VXLAN网络的VNI是1000,第一VM的VLAN ID是101,第一VM的MAC地址是MAC1,第二VM的VLAN ID是102,第二VM的MAC地址是MAC2。
在本申请实施例中,第一VM在没有第二VM的MAC地址的情况下,可以发送ARP请求报文至本端VTEP设备,该ARP请求报文的源MAC是第一VM的MAC地址MAC1,目的MAC是广播MAC。本端VTEP设备接收到该ARP请求报文后,根据第一接口索引Port 1,可以确定该ARP请求报文来自于VNI为1000的上述第一VM,其中,第一接口索引是指第一VM接入本端VTEP设备的端口。
本端VTEP设备可以将该ARP请求报文封装成VXLAN报文,并将上述第一接口索引Port 1和第一VM的VLAN ID记录到VXLAN报文头中。封装完成后,本端VTEP设备将封装VXLAN报文头的该ARP请求报文在VNI为1000的VXLAN网络中进行广播。同时,本端VTEP设备可以学习对应第一VM的MAC表项,学习到的MAC表项存储在MAC表中,如下表5所示:
表5
在本申请实施例中,对端VTEP设备接收到封装VXLAN报文头的该ARP请求报文后,对该VXLAN报文进行解封装,然后将该ARP请求报文在本地VNI为1000的VXLAN网络中进行广播,同时学习对应上述第一VM的MAC表项,学习到的MAC表项存储在MAC表中,上述MAC表项包括上述第一接口索引(MAC表中的RmtIfIndex)和第一VM的VLAN ID(MAC表中的RmtVLANID),如下表6所示:
表6
在本申请实施例中,第二VM接收到上述ARP请求报文后,将第一VM的IP地址和MAC地址的对应关系记录到本地的ARP表中,然后向对端VTEP设备发送ARP应答报文,该ARP应答报文的源MAC是MAC2,目的MAC是MAC1。
在本申请实施例中,对端VTEP设备接收到上述ARP应答报文后,根据上述ARP应答报文的目的MAC查找MAC表,获得对应MAC1的MAC表项。对端VTEP设备可以将上述ARP应答报文封装VXLAN报文头,并将第二接口索引Port 4和第二VM的VLAN ID记录到VXLAN报文头中,然后将封装VXLAN报文头的上述ARP应答报文,通过对应MAC1的MAC表项中的Tunnel 1发送至本端VTEP设备。
在本申请实施例中,本端VTEP设备接收到封装VXLAN报文头的上述ARP应答报文后,对该VXLAN报文进行解封装。解封装后,读取上述ARP应答报文的报文头,根据报文头中的目的MAC,查找本地的MAC表,获得对应MAC1的MAC表项。根据对应MAC1的MAC表项中的上述第一接口索引Port 1和第一VM的虚拟局域网标识101,将上述ARP应答报文发送至第一VM。同时,学习对应第二VM的MAC表项,学习到的MAC表项存储在MAC表中,上述MAC表项包括上述第二接口索引(MAC表中的RmtIfIndex)和第二VM的VLAN ID(MAC表中的RmtVLAN ID),如下表7所示:
表7
在本申请实施例中,第一VM接收到上述ARP应答报文后,在本地的ARP表中记录第二VM的IP地址和MAC地址的对应关系。
当第一VM学习到第二VM的MAC地址后,后续可以发送单播报文。
在本申请实施例中,第一VM将源MAC为MAC1、目的MAC为MAC2的单播报文发送至本端VTEP设备,以由本端VTEP设备将该单播报文通过VXLAN隧道发送至对端VTEP设备。本端VTEP设备接收到该单播报文后,根据第一接口索引Port 1确定该单播报文来自VNI为1000的VXLAN网络,再根据目的MAC查找MAC表,获得对应MAC2的MAC表项。本端VTEP可以将该单播报文封装成VXLAN报文,并将对应MAC2的MAC表项中的第二接口索引Port 4和第二VM的VLANID102记录到VXLAN报文头中,然后通过对应MAC2的MAC表项中的VXLAN隧道Tunnel 1,将封装为VXLAN报文的该单播报文发送至对端VTEP设备。
在本申请实施例中,对端VTEP设备接收到封装为VXLAN报文的该单播报文后,对该VXLAN报文进行解封装,获得VXLAN报文头中的第二接口索引Port 4和第二VM的VLAN ID,然后根据Port 4和虚拟局域网标识102将该单播报文发送至第二VM。对端VTEP设备转发VXLAN报文无需查询MAC表,节省了时间。
综上所述,在本申请实施例中,本端VTEP设备在ARP学习阶段保存对应第二VM的MAC表项,该MAC表项中包括上述第二接口索引和第二VM的虚拟局域网标识;并在发送单播报文时,通过在VXLAN报文头中添加上述第二接口索引和第二VM的虚拟局域网标识的措施,使得对端VTEP设备在接收到封装为VXLAN报文的单播报文时,可以直接根据VXLAN报文头中的信息,将该单播报文发送至第二VM。本申请实施例的技术方案,将VXLAN报文转发过程中VTEP设备查找MAC表的次数由两次减少为一次,优化了VXLAN报文的转发过程,提高了转发效率。
与前述VXLAN报文转发方法的实施例相对应,本申请还提供了VXLAN报文转发装置的实施例。
参见图6,是本申请示出的一种VXLAN报文转发装置的逻辑框图:
如图6所示,该VXLAN报文转发装置60包括:
查找单元610,用于接收到所述第一VM发送至所述第二VM的单播报文后,根据所述第二VM的MAC地址在预设的MAC表中查找对应的MAC表项;其中,所述MAC表项包括第二接口索引和所述第二VM的VLAN ID,所述第二接口索引为所述第二VM接入所述对端VTEP设备的接口索引。
封装单元620,用于当查找到对应的MAC表项时,基于所述MAC表项为所述单播报文封装VXLAN报文头;其中,VXLAN报文头携带所述第二接口索引和所述第二VM的VLAN ID。
发送单元630,用于将封装后的所述单播报文通过所述VXLAN隧道发送至所述对端VTEP设备,以由所述对端VTEP设备在针对所述单播报文进行解封装后,根据VXLAN报文头中的所述第二接口索引和所述第二VM的VLAN ID,将所述单播报文发送至所述第二VM。
在本例中,所述装置还包括:
保存单元640,用于接收到所述第一VM发送的目标VM为所述第二VM的ARP请求报文后,保存对应所述第一VM的MAC表项。
所述封装单元620,进一步用于将所述ARP请求报文封装VXLAN报文头;其中,VXLAN报文头携带第一接口索引和所述第一VM的VLAN ID,所述第一接口索引为所述第一VM接入所述本端VTEP设备的接口索引。
所述发送单元630,进一步用于将封装后的所述ARP请求报文在所述第一VM所在的VXLAN网络内进行广播,以由所述对端VTEP设备返回封装VXLAN报文头的ARP应答报文;接收到封装VXLAN报文头的所述ARP应答报文后,对所述ARP应答报文进行解封装,查找对应所述第一VM的MAC表项,将解封装后的所述ARP应答报文转发至所述第一VM。
在本例中,所述装置还包括:
所述保存单元640,进一步用于接收到封装VXLAN报文头的所述ARP应答报文后,保存对应所述第二VM的MAC表项。
在本例中,所述装置还包括:
接收单元650,用于接收到所述第二VM发送的目标VM为所述第一VM的封装VXLAN报文头的ARP请求报文后,对所述ARP请求报文进行解封装。
所述发送单元630,进一步用于在解封装完成后,将所述ARP请求报文广播至接入所述本端VTEP设备的所述第二VM所在的VXLAN网络中的所有VM,以由所述第一VM返回ARP应答报文,并保存对应所述第二VM的MAC表项。
所述封装单元620,进一步用于接收到所述第一VM返回的ARP应答报文后,将所述ARP应答报文封装VXLAN报文头;其中,VXLAN报文头携带第一接口索引和所述第一VM的VLANID,所述第一接口索引为所述第一VM接入所述本端VTEP设备的接口索引。
所述发送单元630,进一步用于根据对应所述第二VM的MAC表项,将封装VXLAN报文头的所述ARP应答报文发送至所述对端VTEP设备,以由所述对端VTEP设备转发所述ARP应答报文至所述第二VM。
在本例中,所述装置还包括:
所述接收单元650,进一步用于接收所述第二VM发送至所述第一VM的封装VXLAN报文头的单播报文。
读取单元660,用于对所述单播报文进行解封装,读取VXLAN报文头中的所述第一接口索引和所述第一VM的VLAN ID。
所述发送单元630,进一步用于基于读取到的所述第一接口索引和所述第一VM,将所述单播报文发送至所述第一VM。
本申请VXLAN报文转发装置的实施例可以应用在VTEP设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在VTEP设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请VXLAN报文转发装置所在VTEP设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的VTEP设备通常根据该VXLAN报文转发装置的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种VXLAN报文转发方法,应用于本端VTEP设备,所述本端VTEP设备与对端VTEP设备之间建立了VXLAN隧道;其中,所述本端VTEP设备接入了第一VM,所述对端VTEP设备接入了与所述第一VM隶属于同一VXLAN的第二VM,其特征在于,包括:
接收到所述第一VM发送至所述第二VM的单播报文后,根据所述第二VM的MAC地址在预设的MAC表中查找对应的MAC表项;其中,所述MAC表项包括第二接口索引和所述第二VM的VLAN ID,所述第二接口索引为所述第二VM接入所述对端VTEP设备的接口索引;
当查找到对应的MAC表项时,基于所述MAC表项为所述单播报文封装VXLAN报文头;其中,VXLAN报文头携带所述第二接口索引和所述第二VM的VLAN ID;
将封装后的所述单播报文通过所述VXLAN隧道发送至所述对端VTEP设备,以由所述对端VTEP设备在针对所述单播报文进行解封装后,根据VXLAN报文头中的所述第二接口索引和所述第二VM的VLAN ID,将所述单播报文发送至所述第二VM。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到所述第一VM发送的目标VM为所述第二VM的ARP请求报文后,保存对应所述第一VM的MAC表项;
将所述ARP请求报文封装VXLAN报文头;其中,VXLAN报文头携带第一接口索引和所述第一VM的VLAN ID,所述第一接口索引为所述第一VM接入所述本端VTEP设备的接口索引;
将封装后的所述ARP请求报文在所述第一VM所在的VXLAN网络内进行广播,以由所述对端VTEP设备返回封装VXLAN报文头的ARP应答报文;
接收到封装VXLAN报文头的所述ARP应答报文后,对所述ARP应答报文进行解封装,查找对应所述第一VM的MAC表项,将解封装后的所述ARP应答报文转发至所述第一VM。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收到封装VXLAN报文头的所述ARP应答报文后,保存对应所述第二VM的MAC表项。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到所述第二VM发送的目标VM为所述第一VM的封装VXLAN报文头的ARP请求报文后,对所述ARP请求报文进行解封装;
在解封装完成后,将所述ARP请求报文广播至接入所述本端VTEP设备的所述第二VM所在的VXLAN网络中的所有VM,以由所述第一VM返回ARP应答报文,并保存对应所述第二VM的MAC表项;
接收到所述第一VM返回的ARP应答报文后,将所述ARP应答报文封装VXLAN报文头;其中,VXLAN报文头携带第一接口索引和所述第一VM的VLAN ID,所述第一接口索引为所述第一VM接入所述本端VTEP设备的接口索引;
根据对应所述第二VM的MAC表项,将封装VXLAN报文头的所述ARP应答报文发送至所述对端VTEP设备,以由所述对端VTEP设备转发所述ARP应答报文至所述第二VM。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述第二VM发送至所述第一VM的封装VXLAN报文头的单播报文;
对所述单播报文进行解封装,读取VXLAN报文头中的所述第一接口索引和所述第一VM的VLAN ID;
基于读取到的所述第一接口索引和所述第一VM,将所述单播报文发送至所述第一VM。
6.一种VXLAN报文转发装置,应用于本端VTEP设备,所述本端VTEP设备与对端VTEP设备之间建立了VXLAN隧道;其中,所述本端VTEP设备接入了第一VM,所述对端VTEP设备接入了与所述第一VM隶属于同一VXLAN的第二VM,其特征在于,包括:
查找单元,用于接收到所述第一VM发送至所述第二VM的单播报文后,根据所述第二VM的MAC地址在预设的MAC表中查找对应的MAC表项;其中,所述MAC表项包括第二接口索引和所述第二VM的VLAN ID,所述第二接口索引为所述第二VM接入所述对端VTEP设备的接口索引;
封装单元,用于当查找到对应的MAC表项时,基于所述MAC表项为所述单播报文封装VXLAN报文头;其中,VXLAN报文头携带所述第二接口索引和所述第二VM的VLAN ID;
发送单元,用于将封装后的所述单播报文通过所述VXLAN隧道发送至所述对端VTEP设备,以由所述对端VTEP设备在针对所述单播报文进行解封装后,根据VXLAN报文头中的所述第二接口索引和所述第二VM的VLAN ID,将所述单播报文发送至所述第二VM。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
保存单元,用于接收到所述第一VM发送的目标VM为所述第二VM的ARP请求报文后,保存对应所述第一VM的MAC表项;
所述封装单元,进一步用于将所述ARP请求报文封装VXLAN报文头;其中,VXLAN报文头携带第一接口索引和所述第一VM的VLAN ID,所述第一接口索引为所述第一VM接入所述本端VTEP设备的接口索引;
所述发送单元,进一步用于将封装后的所述ARP请求报文在所述第一VM所在的VXLAN网络内进行广播,以由所述对端VTEP设备返回封装VXLAN报文头的ARP应答报文;
接收到封装VXLAN报文头的所述ARP应答报文后,对所述ARP应答报文进行解封装,查找对应所述第一VM的MAC表项,将解封装后的所述ARP应答报文转发至所述第一VM。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
所述保存单元,进一步用于接收到封装VXLAN报文头的所述ARP应答报文后,保存对应所述第二VM的MAC表项。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收到所述第二VM发送的目标VM为所述第一VM的封装VXLAN报文头的ARP请求报文后,对所述ARP请求报文进行解封装;
所述发送单元,进一步用于在解封装完成后,将所述ARP请求报文广播至接入所述本端VTEP设备的所述第二VM所在的VXLAN网络中的所有VM,以由所述第一VM返回ARP应答报文,并保存对应所述第二VM的MAC表项;
所述封装单元,进一步用于接收到所述第一VM返回的ARP应答报文后,将所述ARP应答报文封装VXLAN报文头;其中,VXLAN报文头携带第一接口索引和所述第一VM的VLAN ID,所述第一接口索引为所述第一VM接入所述本端VTEP设备的接口索引;
所述发送单元,进一步用于根据对应所述第二VM的MAC表项,将封装VXLAN报文头的所述ARP应答报文发送至所述对端VTEP设备,以由所述对端VTEP设备转发所述ARP应答报文至所述第二VM。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
所述接收单元,进一步用于接收所述第二VM发送至所述第一VM的封装VXLAN报文头的单播报文;
读取单元,用于对所述单播报文进行解封装,读取VXLAN报文头中的所述第一接口索引和所述第一VM的VLAN ID;
所述发送单元,进一步用于基于读取到的所述第一接口索引和所述第一VM,将所述单播报文发送至所述第一VM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610951878.2A CN106330719B (zh) | 2016-10-26 | 2016-10-26 | 一种vxlan报文转发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610951878.2A CN106330719B (zh) | 2016-10-26 | 2016-10-26 | 一种vxlan报文转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106330719A true CN106330719A (zh) | 2017-01-11 |
CN106330719B CN106330719B (zh) | 2019-11-12 |
Family
ID=57818987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610951878.2A Active CN106330719B (zh) | 2016-10-26 | 2016-10-26 | 一种vxlan报文转发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106330719B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888144A (zh) * | 2017-01-16 | 2017-06-23 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN106998286A (zh) * | 2017-05-05 | 2017-08-01 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发方法及装置 |
CN107493222A (zh) * | 2017-08-15 | 2017-12-19 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发的方法及装置 |
CN107547395A (zh) * | 2017-06-27 | 2018-01-05 | 新华三技术有限公司 | 一种报文传输方法、装置及机器可读存储介质 |
CN108259350A (zh) * | 2017-10-24 | 2018-07-06 | 新华三技术有限公司 | 一种报文传输方法、装置及机器可读存储介质 |
WO2019242525A1 (zh) * | 2018-06-19 | 2019-12-26 | 华为技术有限公司 | 数据传输方法、相关装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119306A (zh) * | 2007-08-13 | 2008-02-06 | 杭州华三通信技术有限公司 | 实现接口索引传递的方法及组件 |
CN103841028A (zh) * | 2014-03-24 | 2014-06-04 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
US20150381386A1 (en) * | 2014-06-30 | 2015-12-31 | Arista Networks, Inc. | Method and system for vxlan encapsulation offload |
-
2016
- 2016-10-26 CN CN201610951878.2A patent/CN106330719B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119306A (zh) * | 2007-08-13 | 2008-02-06 | 杭州华三通信技术有限公司 | 实现接口索引传递的方法及组件 |
CN103841028A (zh) * | 2014-03-24 | 2014-06-04 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
US20150381386A1 (en) * | 2014-06-30 | 2015-12-31 | Arista Networks, Inc. | Method and system for vxlan encapsulation offload |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888144A (zh) * | 2017-01-16 | 2017-06-23 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN106888144B (zh) * | 2017-01-16 | 2019-11-12 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN106998286A (zh) * | 2017-05-05 | 2017-08-01 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发方法及装置 |
CN106998286B (zh) * | 2017-05-05 | 2020-08-04 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发方法及装置 |
CN107547395A (zh) * | 2017-06-27 | 2018-01-05 | 新华三技术有限公司 | 一种报文传输方法、装置及机器可读存储介质 |
CN107547395B (zh) * | 2017-06-27 | 2020-12-04 | 新华三技术有限公司 | 一种报文传输方法、装置及机器可读存储介质 |
CN107493222A (zh) * | 2017-08-15 | 2017-12-19 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发的方法及装置 |
CN107493222B (zh) * | 2017-08-15 | 2020-06-09 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发的方法及装置 |
CN108259350A (zh) * | 2017-10-24 | 2018-07-06 | 新华三技术有限公司 | 一种报文传输方法、装置及机器可读存储介质 |
CN108259350B (zh) * | 2017-10-24 | 2021-02-26 | 新华三技术有限公司 | 一种报文传输方法、装置及机器可读存储介质 |
WO2019242525A1 (zh) * | 2018-06-19 | 2019-12-26 | 华为技术有限公司 | 数据传输方法、相关装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106330719B (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106330719A (zh) | 一种vxlan报文转发方法和装置 | |
CN106998286B (zh) | 一种vxlan报文转发方法及装置 | |
US9853897B2 (en) | Forward packet with edge device | |
JP6034979B2 (ja) | パケット転送方法と装置及びデータセンターネットワーク | |
US10205657B2 (en) | Packet forwarding in data center network | |
CN107645431B (zh) | 报文转发方法及装置 | |
CN105827495B (zh) | Vxlan网关的报文转发方法和设备 | |
US9641352B2 (en) | Packet forwarding | |
CN106209557B (zh) | 报文转发方法及装置 | |
CN104243269A (zh) | 一种虚拟扩展局域网报文的处理方法及装置 | |
CN110460684B (zh) | Vxlan同网段的广播域隔离方法及装置 | |
WO2019137355A1 (zh) | 传输数据的方法、设备和网络系统 | |
CN113132202B (zh) | 一种报文传输方法及相关设备 | |
CN106982163B (zh) | 按需获取路由的方法及网关 | |
WO2013029440A1 (en) | Method and apparatus for implementing layer-2 interconnection of data centers | |
CN108600074A (zh) | 组播数据报文的转发方法及装置 | |
CN107493222A (zh) | 一种vxlan报文转发的方法及装置 | |
CN107645433A (zh) | 报文转发方法及装置 | |
CN113660164A (zh) | 一种报文转发方法及网络设备 | |
CN106209637A (zh) | 从虚拟可扩展局域网至虚拟局域网的报文转发方法和设备 | |
CN105991438A (zh) | 基于虚拟二层网络中数据包的处理方法和装置 | |
CN116418632A (zh) | 一种报文处理方法、装置、设备及机器可读存储介质 | |
CN106992918A (zh) | 报文转发方法和装置 | |
JP2019526208A (ja) | 機器検知 | |
CN106209554A (zh) | 跨虚拟可扩展局域网的报文转发方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |