CN107342925B - 一种报文传输方法及装置 - Google Patents
一种报文传输方法及装置 Download PDFInfo
- Publication number
- CN107342925B CN107342925B CN201610285556.9A CN201610285556A CN107342925B CN 107342925 B CN107342925 B CN 107342925B CN 201610285556 A CN201610285556 A CN 201610285556A CN 107342925 B CN107342925 B CN 107342925B
- Authority
- CN
- China
- Prior art keywords
- vxlan
- tunnel
- message
- domain
- inter
- 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
Images
Classifications
-
- 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]
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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
-
- 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/50—Address allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
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
本发明实施例公开了一种报文传输方法及装置,应用于数据中心的出口VTEP设备,数据中心包含一个出口VTEP设备和至少一个本地VTEP设备,出口VTEP设备和本地VTEP设备间建立域内VXLAN隧道,出口VTEP设备与其他数据中心中的出口VTEP设备间建立域间VXLAN隧道;该方法包括:通过域内VXLAN隧道接收本地VTEP设备发送的第一报文,并通过对应的域间VXLAN隧道将第一报文发送给对端出口VTEP设备;通过域间VXLAN隧道接收对端出口VTEP设备发送的第二报文,并通过对应的域内VXLAN隧道将第二报文发送给本地VTEP设备。应用本发明实施例,减少了VTEP设备间建立的隧道占用的网络资源。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种报文传输方法及装置。
背景技术
目前,VXLAN中虚拟机间的通信过程为:源虚拟机将报文发送给与其通信连接的VTEP1,VTEP1将该报文转发给与目的虚拟机通信连接的VTEP2,VTEP2再将该报文转发给目的虚拟机。由上可知,现有技术中为了保证虚拟机间的通信,每两个VTEP之间都需要建立隧道,在大型云计算场景中,随着VTEP数量n的增加,VTEP之间隧道的数量呈n的平方的指数增长,这将占用大量的资源去建立和维护这些隧道。
发明内容
本发明实施例公开了一种报文传输方法及装置,以减少VTEP设备间建立的隧道占用的网络资源。
为达到上述目的,本发明实施例公开了一种报文传输方法,应用于数据中心的出口VTEP设备,所述数据中心包含一个出口VTEP设备和至少一个本地VTEP设备,所述出口VTEP设备和所述本地VTEP设备之间建立域内VXLAN隧道,所述出口VTEP设备与其他数据中心中的出口VTEP设备之间建立域间VXLAN隧道;所述方法包括:
通过域内VXLAN隧道接收所述本地VTEP设备发送的第一报文,并根据目的MAC地址查询MAC地址表获取对应的第一隧道接口,根据所述第一隧道接口,通过对应的域间VXLAN隧道将所述第一报文发送给对端出口VTEP设备;
通过域间VXLAN隧道接收对端出口VTEP设备发送的第二报文,并根据目的MAC地址查询MAC地址表获取对应的第二隧道接口,根据所述第二隧道接口,通过对应的域内VXLAN隧道将所述第二报文发送给本地VTEP设备。
可选的,所述根据所述第一隧道接口,通过对应的域间VXLAN隧道将所述第一报文发送给对端出口VTEP设备,包括:
根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,获取对应的第二VXLAN标识;
将所述第一报文中携带的所述第一VXLAN标识修改为所述第二VXLAN标识后,根据所述第一隧道接口,通过对应的域间VXLAN隧道将所述第一报文发送给对端出口VTEP设备。
可选的,若所述第一报文携带的第一VXLAN标识对应至少两个预先存储的域间VXLAN标识映射关系,
所述根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,获取对应的第二VXLAN标识,包括:
根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,并根据所述目的MAC地址查询预先存储的VXLAN标识与MAC地址之间的映射关系,获取对应的第二VXLAN标识;或
根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,并根据所述第一隧道接口查询预先存储的VXLAN标识与隧道接口之间的映射关系,获取对应的第二VXLAN标识。
可选的,若所述第一隧道接口指示的隧道为域内VXLAN隧道,所述方法还包括:
丢弃所述第一报文。
可选的,若所述第二隧道接口指示的隧道为域间VXLAN隧道,所述方法还包括:
丢弃所述第二报文。
为达到上述目的,本发明实施例还公开了一种报文传输装置,应用于数据中心的出口VTEP设备,所述数据中心包含一个出口VTEP设备和至少一个本地VTEP设备,所述出口VTEP设备和所述本地VTEP设备之间建立域内VXLAN隧道,所述出口VTEP设备与其他数据中心中的出口VTEP设备之间建立域间VXLAN隧道;所述装置包括:
第一报文处理单元,用于通过域内VXLAN隧道接收所述本地VTEP设备发送的第一报文,并根据目的MAC地址查询MAC地址表获取对应的第一隧道接口,根据所述第一隧道接口,通过对应的域间VXLAN隧道将所述第一报文发送给对端出口VTEP设备;
第二报文处理单元,用于通过域间VXLAN隧道接收对端出口VTEP设备发送的第二报文,并根据目的MAC地址查询MAC地址表获取对应的第二隧道接口,根据所述第二隧道接口,通过对应的域内VXLAN隧道将所述第二报文发送给本地VTEP设备。
可选的,所述第一报文处理单元,包括:
报文接收子单元,用于通过域内VXLAN隧道接收所述本地VTEP设备发送的第一报文;
接口获取子单元,用于根据目的MAC地址查询MAC地址表获取对应的第一隧道接口;
标识获取子单元,用于根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,获取对应的第二VXLAN标识;
报文发送子单元,用于将所述第一报文中携带的所述第一VXLAN标识修改为所述第二VXLAN标识后,根据所述第一隧道接口,通过对应的域间VXLAN隧道将所述第一报文发送给对端出口VTEP设备。
可选的,若所述第一报文携带的第一VXLAN标识对应至少两个预先存储的域间VXLAN标识映射关系,
所述标识获取子单元,
具体用于:根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,并根据所述目的MAC地址查询预先存储的VXLAN标识与MAC地址之间的映射关系,获取对应的第二VXLAN标识;或
具体用于:根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,并根据所述第一隧道接口查询预先存储的VXLAN标识与隧道接口之间的映射关系,获取对应的第二VXLAN标识。
可选的,若所述第一隧道接口指示的隧道为域内VXLAN隧道,所述第一报文处理单元,还用于:
丢弃所述第一报文。
可选的,若所述第二隧道接口指示的隧道为域间VXLAN隧道,所述第二报文处理单元,还用于:
丢弃所述第二报文。
由上可知,本发明实施例中,一个数据中心包含一个出口VTEP设备和至少一个本地VTEP设备,出口VTEP设备和本地VTEP设备之间建立域内VXLAN隧道,出口VTEP设备与其他数据中心中的出口VTEP设备之间建立域间VXLAN隧道,出口VTEP设备接收域内VXLAN隧道接收本地VTEP设备发送的第一报文,并根据目的MAC地址查询MAC地址表获取对应的第一隧道接口,根据第一隧道接口,通过对应的域间VXLAN隧道将第一报文发送给对端出口VTEP设备;另外,通过域间VXLAN隧道接收对端出口VTEP设备发送的第二报文,并根据目的MAC地址查询MAC地址表获取对应的第二隧道接口,根据第二隧道接口,通过对应的域内VXLAN隧道将第二报文发送给本地VTEP设备。这样,通过出口VTEP设备传输两个数据中心间的报文,只需要出口VTEP设备间建立域间VXLAN隧道,就可以保证两个数据中心中设备间的通信,减少了VTEP设备间建立的隧道占用的网络资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种报文传输方法的流程示意图;
图2为本发明实施例提供的多数据中心的结构示意图;
图3为本发明实施例提供的另一种报文传输方法的流程示意图;
图4为本发明实施例提供的一种MAC地址表的示意图;
图5为本发明实施例提供的一种报文传输装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施例,对本发明进行详细说明。
参考图1,图1为本发明实施例提供的一种报文传输方法的流程示意图,该方法应用于数据中心的出口VTEP设备,数据中心包含一个出口VTEP设备和至少一个本地VTEP设备,出口VTEP设备和所述本地VTEP设备之间建立域内VXLAN隧道,出口VTEP设备与其他数据中心中的出口VTEP设备之间建立域间VXLAN隧道;具体地,可参考图2,图2为本发明实施例提供的多数据中心的结构示意图。
如图2所示在每个数据中心(DC1、DC2)中部署一个出口VTEP设备,每个数据中心中还包含多个本地VTEP设备和以及本地VTEP设备下挂的虚拟机。在数据中心内,出口VTEP设备与本地VTEP设备之间建立的VXLAN隧道、以及本地VTEP设备之间建立的VXLAN隧道为域内VXLAN隧道;出口VTEP设备之间建立的VXLAN隧道为域间VXLAN隧道。
如:DC1中包含一个出口VTEP设备1,包含与出口VTEP设备1通信连接的本地VTEP设备a、本地VTEP设备b、本地VTEP设备c等多个本地VTEP设备,还包含与本地VTEP设备a通信连接的虚拟机A等多个虚拟机、与本地VTEP设备b通信连接的虚拟机B等多个虚拟机、以及与本地VTEP设备c通信连接的虚拟机C等多个虚拟机;DC2中包含一个出口VTEP设备2,包含与出口VTEP设备2通信连接的本地VTEP设备d、本地VTEP设备e、本地VTEP设备f等多个本地VTEP设备,还包含与本地VTEP设备d通信连接的虚拟机D等多个虚拟机、与本地VTEP设备e通信连接的虚拟机E等多个虚拟机、以及与本地VTEP设备f通信连接的虚拟机F等多个虚拟机。
需要说明的是,图2中各个设备间的连线表明各个设备间存在通信连接关系,而不存在实体连线关系。
具体的,上述报文传输方法包括:
S101:接收报文;
当接收的报文为:本地VTEP设备通过域内VXLAN隧道发送的第一报文时,执行S102;当接收的报文为:对端出口VTEP设备通过域间VXLAN隧道发送的第二报文时,执行S103;
S102:根据目的MAC地址查询MAC地址表获取对应的第一隧道接口,根据第一隧道接口,通过对应的域间VXLAN隧道将第一报文发送给对端出口VTEP设备;
具体地,第一报文中携带有目的MAC地址和VXLAN标识。出口VTEP设备接收到第一报文后,根据VXLAN标识识别出报文所属的VSI,然后根据该目的MAC地址,查找该VSI的MAC地址表,获取该目的MAC地址对应的第一隧道接口,通过第一隧道接口对应的域VXLAN间隧道将该第一报文发送给对端出口VTEP设备。
S103:根据目的MAC地址查询MAC地址表获取对应的第二隧道接口,根据第二隧道接口,通过对应的域内VXLAN隧道将第二报文发送给本地VTEP设备。
具体地,第二报文中携带有目的MAC地址和VXLAN标识。出口VTEP设备接收到第二报文后,根据VXLAN标识识别出报文所属的VSI,然后根据该目的MAC地址,查找该VSI的MAC地址表,获取该目的MAC地址对应的第二隧道接口,通过第二隧道接口对应的域VXLAN间隧道将该第二报文发送给本地VTEP设备。
在本发明的一种实现方式中,每一数据中心中的出口VTEP设备的功能都相同,在一个完整的报文传输过程中,可以将上述第二报文理解为第一报文,此时,S103中的对端出口VTEP设备为S102中的出口VTEP设备,执行S102后,执行S103。具体地,可参考图3,图3为本发明实施例提供的另一种报文传输方法的流程示意图,该方法应用于出口VTEP设备,包括:
S301:通过域内VXLAN隧道接收本地VTEP设备发送的第一报文;
本地VTEP设备接收虚拟机发送的报文,若需要将该报文发送给其他数据中心内的虚拟机,该本地VTEP设备将该报文发送给出口VTEP设备;若需要将该报文发送给本数据中心内的虚拟机,则本地VTEP设备将该报文发送给该虚拟机连接的本地VTEP设备。如图2中,若DC1内的虚拟机A向DC2内的虚拟机F发送报文,则虚拟机A将报文发送给本地VTEP设备a,通过域内VXLAN隧道本地VTEP设备a再将报文转发给出口VTEP设备1;若DC1内的虚拟机A向DC1内的虚拟机B发送报文,则虚拟机A将报文发送给本地VTEP设备a,通过域内VXLAN隧道本地VTEP设备a再将报文转发给本地VTEP设备b,本地VTEP设备b最终将报文转发给虚拟机B。
S302:根据目的MAC地址查询MAC地址表获取对应的第一隧道接口;
在本发明的一种实现方式中,为了保证虚拟机间的通信,在构建网络时,可以通过泛洪流量处理,使各个出口VTEP设备和各个本地VTEP设备学习到网络中所有虚拟机的MAC地址。本发明实施例中,在出口VTEP设备上,对于通过域内VXLAN隧道收到的广播报文或未知单播报文,通过所有域间VXLAN隧道转发,对于其它域内VXLAN隧道则不转发;对于通过域间VXLAN隧道收到的广播报文或未知单播报文,通过所有域内VXLAN隧道转发,对于其它域间VXLAN隧道则不转发。在一个实施例中,如图4所示为图2中本地VTEP设备a、本地VTEP设备f、出口VTEP设备1、出口VTEP设备2通过泛洪流量处理生成MAC地址表的示意图,经泛洪流量处理后,各个出口VTEP设备和各个本地VTEP设备中存储相应的MAC地址表。
虚拟机间通信时,只有在同一VXLAN内的虚拟机之间才能通信,因此若报文中携带有VXLAN标识和目的MAC地址,本地VTEP设备需要从VXLAN标识对应的MAC地址表中,获取该第一报文中携带的目的MAC地址对应的接口。
在本申请的一种较佳实现方式中,本数据中心内接收到本地VTEP设备发送的报文的其他本地VTEP设备,不再向本数据中心内的其他本地VTEP设备转发该报文,以避免网络中形成环路。
在本发明的一种实现方式中,出口VTEP设备之间预先建立域间VXLAN隧道,出口VTEP设备之间通过域间VXLAN隧道传输报文。另外,为了避免网络中形成环路,出口VTEP设备通过域内VXLAN隧道接收到本地VTEP设备发送的第一报文之后,不再向本数据中心内的其他本地VTEP设备转发该第一报文。
对于接收到的单播报文,即第一报文,出口VTEP从对应的MAC地址表中获得目的MAC地址对应的第一隧道接口。
以图4为例,假设,当前出口VTEP设备1从域内VXLAN隧道1(即从本地VTEP设备a)接收到一条广播报文或未知单播报文,该报文携带的VXLAN标识为VXLAN10。依据对于通过域内VXLAN隧道收到的广播报文或未知单播报文,通过所有域间VXLAN隧道转发,对于其它域内VXLAN隧道则不转发的原则,从VXLAN10对应的MAC地址表中可以得知报文转发对应的隧道接口为Tunnel6。假设,当前出口VTEP设备1从域内VXLAN隧道1(即从本地VTEP设备a)接收到一条携带VXLAN标识为VXLAN10、目的MAC地址为为MAC F的单播报文,此时出口VTEP设备1从VXLAN10对应的MAC地址表中获得MAC F对应的隧道接口为Tunnel 6。
S303:根据第一隧道接口,通过对应的域间VXLAN隧道将第一报文发送给对端出口VTEP设备。
对端出口VTEP设备通过域间VXLAN隧道接收到第一报文后,根据目的MAC地址查询MAC地址表获取对应的第二隧道接口,根据第二隧道接口,通过对应的域内VXLAN隧道将第一报文发送给本地VTEP设备,最后由该本地VTEP设备将第一报文发送给目的虚拟机。
在本发明的一种实现方式中,为了确保不同数据中心、不同VXLAN间的虚拟机能够通信,出口VTEP设备中可以预先存储VXLAN标识映射关系。出口VTEP设备根据第一报文中携带的第一VXLAN标识查找VXLAN标识映射关系,获取对应的第二VXLAN标识,将第一报文中携带的第一VXLAN标识修改为第二VXLAN标识,通过域间VXLAN隧道向对端出口VTEP设备转发修改后的第一报文,对端出口VTEP设备在第二VXLAN标识对应的MAC地址表中查询目的MAC对应的第二隧道接口,根据该第二隧道接口,通过对应的域内VXLAN隧道,将第一报文转发给与目的虚拟机通信连接的本地VTEP设备,再由该本地VTEP设备将第一报文转发给目的虚拟机。
这种情况下,不同数据中心、不同VXLAN间的虚拟机能够通信,并且根据该方法,不同数据中心的VXLAN都可以单独规划,当某一数据中心内虚拟机的信息发生变化(如:虚拟机对应的VXLAN标识发生了变化),只需要更新虚拟机信息发生变化的数据中心内所有本地VTEP设备和出口VTEP设备中存储的MAC地址表,以及出口VTEP设备中存储的VXLAN标识映射关系就可以了,而不需更新所有数据中心中内的本地VTEP设备和出口VTEP设备中存储的MAC地址表,进而使得管理人员维护和管理VTEP更为方便。
在本发明的一种实现方式中,出口VTEP设备中可以存储有多组VXLAN标识映射关系,其在接收到一条第一报文后,可以根据该第一报文中携带的第一VXLAN标识获得多个第二VXLAN标识,为了准确的确定第二VXLAN标识,出口VTEP设备中还可以根据需要存储VXLAN标识与MAC地址之间的映射关系,或VXLAN标识与隧道接口之间的映射关系,根据该映射关系,再结合上述VXLAN标识映射关系,确定出一个或几个第二VXLAN标识,避免将第一报文发送给非目的虚拟机。
假设,网络中包含3个数据中心,分别为DC1、DC2和DC3,每一个数据中心对应的VXLAN标识分别为:{DC1,VXLAN1}、{DC2,VXLAN2}、{DC3,VXLAN3},每一个数据中心的出口VTEP设备中存储的VXLAN标识映射关系分别为:
DC1:{(VXLAN1,VXLAN2),(VXLAN1,VXLAN3)};
DC2:{(VXLAN2,VXLAN1),(VXLAN2,VXLAN3)};
DC3:{(VXLAN3,VXLAN1),(VXLAN3,VXLAN2)};
DC1中的出口VTEP设备X1接收到向DC2中的虚拟机发送的报文后,根据出口VTEP设备X1中存储的VXLAN标识映射关系{(VXLAN1,VXLAN2),(VXLAN1,VXLAN3)},获得第二VXLAN标识为VXLAN2和VXLAN3;
此时若出口VTEP设备X1中存储的VXLAN标识与MAC地址之间的映射关系为:{(VXLAN2,Y1),(VXLAN3,Y2)},在获知目的MAC地址为Y1的情况下,可以根据VXLAN标识与MAC地址之间的映射关系,获得目的MAC地址Y1对应的VXLAN标识为VXLAN2,再结合上述获得的第二VXLAN标识为VXLAN2和VXLAN3,可以确定需要将接收到的报文中携带的第一VXLAN标识修改为VXLAN2;
若出口VTEP设备X1中存储的VXLAN标识与隧道接口之间的映射关系为:{(VXLAN2,Z1),(VXLAN3,Z2)},在其根据目的MAC地址获得第一隧道接口Z1后,可以根据VXLAN标识与隧道接口之间的映射关系,获得第一隧道接口Z1对应的VXLAN标识为VXLAN2,再结合上述获得的第二VXLAN标识为VXLAN2和VXLAN3,可以确定需要将接收到的报文中携带的第一VXLAN标识修改为VXLAN2。
在本申请的一种较佳实现方式中,为了避免网络中形成环路,对端出口VTEP设备不再向其他出口VTEP设备转发来自出口VTEP设备的第一报文;进一步的,为了避免网络中形成环路,通过域内VXLAN隧道接收到对端出口VTEP设备发送的第一报文的本地VTEP设备,不再向本数据中心内的其他本地VTEP设备转发来自该对端出口VTEP设备的第一报文。
应用图1所示实施例,一个数据中心包含一个出口VTEP设备和至少一个本地VTEP设备,出口VTEP设备和本地VTEP设备之间建立域内VXLAN隧道,出口VTEP设备与其他数据中心中的出口VTEP设备之间建立域间VXLAN隧道,出口VTEP设备接收域内VXLAN隧道接收本地VTEP设备发送的第一报文,并根据目的MAC地址查询MAC地址表获取对应的第一隧道接口,根据第一隧道接口,通过对应的域间VXLAN隧道将第一报文发送给对端出口VTEP设备;另外,出口VTEP设备通过域间VXLAN隧道接收对端出口VTEP设备发送的第二报文,并根据目的MAC地址查询MAC地址表获取对应的第二隧道接口,根据第二隧道接口,通过对应的域内VXLAN隧道将第二报文发送给本地VTEP设备。这样,通过出口VTEP设备传输两个数据中心间的报文,只需要出口VTEP设备间建立域间VXLAN隧道,就可以保证两个数据中心中设备间的通信,减少了VTEP设备间建立的隧道占用的网络资源。
参考图5,图5为本发明实施例提供的一种报文传输装置的结构示意图,应用于数据中心的出口VTEP设备,一个数据中心包含一个出口VTEP设备和至少一个本地VTEP设备,出口VTEP设备和本地VTEP设备之间建立域内VXLAN隧道,出口VTEP设备与其他数据中心中的出口VTEP设备之间建立域间VXLAN隧道;该装置包括:
第一报文处理单元501,用于通过域内VXLAN隧道接收本地VTEP设备发送的第一报文,并根据目的MAC地址查询MAC地址表获取对应的第一隧道接口,根据第一隧道接口,通过对应的域间VXLAN隧道将第一报文发送给对端出口VTEP设备;
第二报文处理单元502,用于通过域间VXLAN隧道接收对端出口VTEP设备发送的第二报文,并根据目的MAC地址查询MAC地址表获取对应的第二隧道接口,根据第二隧道接口,通过对应的域内VXLAN隧道将第二报文发送给本地VTEP设备。
在本发明的一种实现方式中,第一报文处理单元501,可以包括:
报文接收子单元,用于通过域内VXLAN隧道接收本地VTEP设备发送的第一报文;
接口获取子单元,用于根据目的MAC地址查询MAC地址表获取对应的第一隧道接口;
标识获取子单元,用于根据第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,获取对应的第二VXLAN标识;
报文发送子单元,用于将第一报文中携带的第一VXLAN标识修改为第二VXLAN标识后,根据第一隧道接口,通过对应的域间VXLAN隧道将第一报文发送给对端出口VTEP设备(图5中未示出)。
在本发明的一种实现方式中,若所述第一报文携带的第一VXLAN标识对应至少两个预先存储的域间VXLAN标识映射关系,
标识获取子单元,
具体用于:根据第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,并根据目的MAC地址查询预先存储的VXLAN标识与MAC地址之间的映射关系,获取对应的第二VXLAN标识;或
具体用于:根据第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,并根据第一隧道接口查询预先存储的VXLAN标识与隧道接口之间的映射关系,获取对应的第二VXLAN标识。
在本发明的一种实现方式中,若第一隧道接口指示的隧道为域内VXLAN隧道,第一报文处理单元501,还用于:
丢弃第一报文。
在本发明的一种实现方式中,若第二隧道接口指示的隧道为域间VXLAN隧道,第二报文处理单元502,还用于:
丢弃第二报文。
应用图5所示实施例,一个数据中心包含一个出口VTEP设备和至少一个本地VTEP设备,出口VTEP设备和本地VTEP设备之间建立域内VXLAN隧道,出口VTEP设备与其他数据中心中的出口VTEP设备之间建立域间VXLAN隧道,出口VTEP设备接收域内VXLAN隧道接收本地VTEP设备发送的第一报文,并根据目的MAC地址查询MAC地址表获取对应的第一隧道接口,根据第一隧道接口,通过对应的域间VXLAN隧道将第一报文发送给对端出口VTEP设备;另外,通过域间VXLAN隧道接收对端出口VTEP设备发送的第二报文,并根据目的MAC地址查询MAC地址表获取对应的第二隧道接口,根据第二隧道接口,通过对应的域内VXLAN隧道将第二报文发送给本地VTEP设备。这样,通过出口VTEP设备传输两个数据中心间的报文,只需要出口VTEP设备间建立域间VXLAN隧道,就可以保证两个数据中心中设备间的通信,减少了VTEP设备间建立的隧道占用的网络资源。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种报文传输方法,其特征在于,应用于数据中心的出口VTEP设备,所述数据中心包含一个出口VTEP设备和至少一个本地VTEP设备,所述出口VTEP设备和所述本地VTEP设备之间建立域内VXLAN隧道,所述出口VTEP设备与其他数据中心中的出口VTEP设备之间建立域间VXLAN隧道;所述方法包括:
通过域内VXLAN隧道接收所述本地VTEP设备发送的第一报文,并根据目的MAC地址查询MAC地址表获取对应的第一隧道接口,根据所述第一隧道接口,通过对应的域间VXLAN隧道将所述第一报文发送给对端出口VTEP设备;
通过域间VXLAN隧道接收对端出口VTEP设备发送的第二报文,并根据目的MAC地址查询MAC地址表获取对应的第二隧道接口,根据所述第二隧道接口,通过对应的域内VXLAN隧道将所述第二报文发送给本地VTEP设备;
所述根据所述第一隧道接口,通过对应的域间VXLAN隧道将所述第一报文发送给对端出口VTEP设备,包括:
根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,获取对应的第二VXLAN标识;
将所述第一报文中携带的所述第一VXLAN标识修改为所述第二VXLAN标识后,根据所述第一隧道接口,通过对应的域间VXLAN隧道将所述第一报文发送给对端出口VTEP设备。
2.根据权利要求1所述的方法,其特征在于,若所述第一报文携带的第一VXLAN标识对应至少两个预先存储的域间VXLAN标识映射关系,
所述根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,获取对应的第二VXLAN标识,包括:
根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,并根据所述目的MAC地址查询预先存储的VXLAN标识与MAC地址之间的映射关系,获取对应的第二VXLAN标识;或
根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,并根据所述第一隧道接口查询预先存储的VXLAN标识与隧道接口之间的映射关系,获取对应的第二VXLAN标识。
3.根据权利要求1所述的方法,其特征在于,若所述第一隧道接口指示的隧道为域内VXLAN隧道,所述方法还包括:
丢弃所述第一报文。
4.根据权利要求1所述的方法,其特征在于,若所述第二隧道接口指示的隧道为域间VXLAN隧道,所述方法还包括:
丢弃所述第二报文。
5.一种报文传输装置,其特征在于,应用于数据中心的出口VTEP设备,所述数据中心包含一个出口VTEP设备和至少一个本地VTEP设备,所述出口VTEP设备和所述本地VTEP设备之间建立域内VXLAN隧道,所述出口VTEP设备与其他数据中心中的出口VTEP设备之间建立域间VXLAN隧道;所述装置包括:
第一报文处理单元,用于通过域内VXLAN隧道接收所述本地VTEP设备发送的第一报文,并根据目的MAC地址查询MAC地址表获取对应的第一隧道接口,根据所述第一隧道接口,通过对应的域间VXLAN隧道将所述第一报文发送给对端出口VTEP设备;
第二报文处理单元,用于通过域间VXLAN隧道接收对端出口VTEP设备发送的第二报文,并根据目的MAC地址查询MAC地址表获取对应的第二隧道接口,根据所述第二隧道接口,通过对应的域内VXLAN隧道将所述第二报文发送给本地VTEP设备;
所述第一报文处理单元,包括:
报文接收子单元,用于通过域内VXLAN隧道接收所述本地VTEP设备发送的第一报文;
接口获取子单元,用于根据目的MAC地址查询MAC地址表获取对应的第一隧道接口;
标识获取子单元,用于根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,获取对应的第二VXLAN标识;
报文发送子单元,用于将所述第一报文中携带的所述第一VXLAN标识修改为所述第二VXLAN标识后,根据所述第一隧道接口,通过对应的域间VXLAN隧道将所述第一报文发送给对端出口VTEP设备。
6.根据权利要求5所述的装置,其特征在于,若所述第一报文携带的第一VXLAN标识对应至少两个预先存储的域间VXLAN标识映射关系,
所述标识获取子单元,
具体用于:根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,并根据所述目的MAC地址查询预先存储的VXLAN标识与MAC地址之间的映射关系,获取对应的第二VXLAN标识;或
具体用于:根据所述第一报文携带的第一VXLAN标识查询预先存储的域间VXLAN标识映射关系,并根据所述第一隧道接口查询预先存储的VXLAN标识与隧道接口之间的映射关系,获取对应的第二VXLAN标识。
7.根据权利要求5所述的装置,其特征在于,若所述第一隧道接口指示的隧道为域内VXLAN隧道,所述第一报文处理单元,还用于:
丢弃所述第一报文。
8.根据权利要求5所述的装置,其特征在于,若所述第二隧道接口指示的隧道为域间VXLAN隧道,所述第二报文处理单元,还用于:
丢弃所述第二报文。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610285556.9A CN107342925B (zh) | 2016-04-29 | 2016-04-29 | 一种报文传输方法及装置 |
EP17788811.2A EP3451592B1 (en) | 2016-04-29 | 2017-04-28 | Packet transmission between vxlan domains |
US16/097,078 US11012258B2 (en) | 2016-04-29 | 2017-04-28 | Packet transmission |
PCT/CN2017/082369 WO2017186159A1 (zh) | 2016-04-29 | 2017-04-28 | 报文传输 |
JP2018556314A JP6633775B2 (ja) | 2016-04-29 | 2017-04-28 | パケット伝送 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610285556.9A CN107342925B (zh) | 2016-04-29 | 2016-04-29 | 一种报文传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107342925A CN107342925A (zh) | 2017-11-10 |
CN107342925B true CN107342925B (zh) | 2020-03-06 |
Family
ID=60160700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610285556.9A Active CN107342925B (zh) | 2016-04-29 | 2016-04-29 | 一种报文传输方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11012258B2 (zh) |
EP (1) | EP3451592B1 (zh) |
JP (1) | JP6633775B2 (zh) |
CN (1) | CN107342925B (zh) |
WO (1) | WO2017186159A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108199967B (zh) * | 2018-03-30 | 2020-08-11 | 新华三技术有限公司 | 路由处理方法及装置 |
CN110474829B (zh) | 2018-05-10 | 2021-07-20 | 华为技术有限公司 | 传输报文的方法和装置 |
CN108924028B (zh) * | 2018-06-28 | 2020-11-10 | 新华三技术有限公司 | 一种非已知单播报文在隧道间的切换方法及装置 |
US11095558B2 (en) * | 2018-12-28 | 2021-08-17 | Alibaba Group Holding Limited | ASIC for routing a packet |
US11496365B2 (en) * | 2019-06-17 | 2022-11-08 | Cyxtera Data Centers, Inc. | Automated access to racks in a colocation data center |
CN113542112B (zh) * | 2020-04-20 | 2023-11-21 | 华为技术有限公司 | 一种报文转发方法及网络设备 |
CN112688887B (zh) * | 2020-12-23 | 2022-07-12 | 新华三技术有限公司 | 一种隧道的配置方法和节点设备 |
CN113194017B (zh) * | 2021-04-08 | 2022-08-16 | 广州极飞科技股份有限公司 | 设备通信控制方法、装置、设备、系统和存储介质 |
US20230135615A1 (en) * | 2021-10-29 | 2023-05-04 | Arista Networks, Inc. | Mac-based routing |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970227A (zh) * | 2012-11-12 | 2013-03-13 | 盛科网络(苏州)有限公司 | 在asic中实现vxlan报文转发的方法和装置 |
CN103095546A (zh) * | 2013-01-28 | 2013-05-08 | 华为技术有限公司 | 一种处理报文的方法、装置及数据中心网络 |
CN103200069A (zh) * | 2013-03-29 | 2013-07-10 | 华为技术有限公司 | 一种报文处理的方法和设备 |
CN104115453A (zh) * | 2013-12-31 | 2014-10-22 | 华为技术有限公司 | 一种实现虚拟机通信的方法和装置 |
CN104350714A (zh) * | 2014-05-29 | 2015-02-11 | 华为技术有限公司 | 一种报文转发方法和VxLAN网关 |
KR20150023620A (ko) * | 2012-06-04 | 2015-03-05 | 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) | 개별 관리들을 이용하는 vlan 태깅된 패킷들의 가상 포워딩 인스턴스들의 원단 주소들로의 라우팅 |
KR20150040242A (ko) * | 2013-10-04 | 2015-04-14 | 주식회사 케이티 | 오버레이에 기반한 네트워크 가상화에서 링크 장애를 탐지하는 방법 및 장치 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9036639B2 (en) * | 2012-11-29 | 2015-05-19 | Futurewei Technologies, Inc. | System and method for VXLAN inter-domain communications |
US9197551B2 (en) * | 2013-03-15 | 2015-11-24 | International Business Machines Corporation | Heterogeneous overlay network translation for domain unification |
JP6064757B2 (ja) | 2013-04-10 | 2017-01-25 | 富士通株式会社 | 通信システム及び通信方法 |
US9130775B2 (en) * | 2013-07-10 | 2015-09-08 | Cisco Technology, Inc. | Support for virtual extensible local area network segments across multiple data center sites |
US9565105B2 (en) * | 2013-09-04 | 2017-02-07 | Cisco Technology, Inc. | Implementation of virtual extensible local area network (VXLAN) in top-of-rack switches in a network environment |
CN104601427B (zh) * | 2013-10-31 | 2018-03-06 | 新华三技术有限公司 | 数据中心网络中的报文转发方法及装置 |
KR102236195B1 (ko) | 2013-12-27 | 2021-04-07 | 한국전자통신연구원 | 네트워크 가상화 방법 및 장치 |
US10020961B2 (en) * | 2013-12-27 | 2018-07-10 | Electronics And Telecommunications Research Institute | Method and apparatus for network virtualization |
CN104954218B (zh) * | 2014-03-24 | 2018-02-09 | 新华三技术有限公司 | 分布式虚拟交换装置及转发方法 |
KR20150113597A (ko) * | 2014-03-31 | 2015-10-08 | 한국전자통신연구원 | Arp 패킷 처리 방법 및 장치 |
CN103957160B (zh) | 2014-05-12 | 2017-04-19 | 华为技术有限公司 | 一种发送报文的方法及设备 |
US9509527B2 (en) * | 2014-06-30 | 2016-11-29 | Arista Networks, Inc. | Method and system for VXLAN encapsulation offload |
US9419897B2 (en) * | 2014-06-30 | 2016-08-16 | Nicira, Inc. | Methods and systems for providing multi-tenancy support for Single Root I/O Virtualization |
CN109861897B (zh) * | 2014-08-18 | 2023-09-01 | 华为技术有限公司 | 一种获得对应关系的方法、装置及系统 |
CN104243318B (zh) * | 2014-09-29 | 2018-10-09 | 新华三技术有限公司 | Vxlan网络中的mac地址学习方法及装置 |
CN104283980B (zh) * | 2014-10-09 | 2018-02-09 | 新华三技术有限公司 | 一种地址解析协议代答方法和装置 |
US11204791B2 (en) * | 2015-06-30 | 2021-12-21 | Nicira, Inc. | Dynamic virtual machine network policy for ingress optimization |
US9781037B2 (en) * | 2015-09-15 | 2017-10-03 | Cisco Technology, Inc. | Method and apparatus for advanced statistics collection |
US10079798B2 (en) * | 2015-10-23 | 2018-09-18 | Inernational Business Machines Corporation | Domain intercommunication in shared computing environments |
US9912614B2 (en) * | 2015-12-07 | 2018-03-06 | Brocade Communications Systems LLC | Interconnection of switches based on hierarchical overlay tunneling |
-
2016
- 2016-04-29 CN CN201610285556.9A patent/CN107342925B/zh active Active
-
2017
- 2017-04-28 US US16/097,078 patent/US11012258B2/en active Active
- 2017-04-28 EP EP17788811.2A patent/EP3451592B1/en active Active
- 2017-04-28 JP JP2018556314A patent/JP6633775B2/ja active Active
- 2017-04-28 WO PCT/CN2017/082369 patent/WO2017186159A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150023620A (ko) * | 2012-06-04 | 2015-03-05 | 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) | 개별 관리들을 이용하는 vlan 태깅된 패킷들의 가상 포워딩 인스턴스들의 원단 주소들로의 라우팅 |
CN102970227A (zh) * | 2012-11-12 | 2013-03-13 | 盛科网络(苏州)有限公司 | 在asic中实现vxlan报文转发的方法和装置 |
CN103095546A (zh) * | 2013-01-28 | 2013-05-08 | 华为技术有限公司 | 一种处理报文的方法、装置及数据中心网络 |
CN103200069A (zh) * | 2013-03-29 | 2013-07-10 | 华为技术有限公司 | 一种报文处理的方法和设备 |
KR20150040242A (ko) * | 2013-10-04 | 2015-04-14 | 주식회사 케이티 | 오버레이에 기반한 네트워크 가상화에서 링크 장애를 탐지하는 방법 및 장치 |
CN104115453A (zh) * | 2013-12-31 | 2014-10-22 | 华为技术有限公司 | 一种实现虚拟机通信的方法和装置 |
CN104350714A (zh) * | 2014-05-29 | 2015-02-11 | 华为技术有限公司 | 一种报文转发方法和VxLAN网关 |
Also Published As
Publication number | Publication date |
---|---|
JP6633775B2 (ja) | 2020-01-22 |
US20200328914A1 (en) | 2020-10-15 |
EP3451592A1 (en) | 2019-03-06 |
EP3451592B1 (en) | 2021-03-03 |
EP3451592A4 (en) | 2019-03-20 |
US11012258B2 (en) | 2021-05-18 |
JP2019515553A (ja) | 2019-06-06 |
WO2017186159A1 (zh) | 2017-11-02 |
CN107342925A (zh) | 2017-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107342925B (zh) | 一种报文传输方法及装置 | |
CN105577548B (zh) | 一种软件定义网络中报文处理方法和装置 | |
EP3313025B1 (en) | Data packet forwarding | |
CN107404512B (zh) | 资源订阅方法、资源订阅装置和资源订阅系統 | |
US9900238B2 (en) | Overlay network-based original packet flow mapping apparatus and method therefor | |
CN105227466B (zh) | 通信处理方法和装置 | |
CN107547242B (zh) | Vm配置信息的获取方法及装置 | |
US10855576B2 (en) | Information transmission method and device | |
CN111010329B (zh) | 一种报文传输方法及装置 | |
US10182132B2 (en) | Method, apparatus and system for communication between OpenFlow device and IP network device | |
CN102546267A (zh) | 网络设备的自动配置方法和管理服务器 | |
CN105245629A (zh) | 基于dhcp的主机通信方法及装置 | |
CN110198229A (zh) | 网络配置方法和装置、存储介质及电子装置 | |
CN109076019A (zh) | 用于客户驻地lan扩展的寻址 | |
CN107370839A (zh) | 工业现场设备的寻址方法及相关装置、系统 | |
CN106101297B (zh) | 一种报文应答方法及装置 | |
CN103763195B (zh) | 一种传输报文的方法及装置 | |
WO2014142258A1 (ja) | 通信システム、制御装置、アドレス割当方法及びプログラム | |
CN105207909A (zh) | 一种发送信息的方法和网络装置 | |
CN108259297B (zh) | 一种报文处理方法及装置 | |
CN109041086A (zh) | 一种OpenFlow实例的配置方法及装置 | |
CN110109933B (zh) | 信息维护方法、配置管理数据库系统及存储介质 | |
CN106375489B (zh) | 媒体访问控制mac地址的处理方法及装置 | |
EP3629559A1 (en) | Method for configuring forwarding table for user equipment, apparatus, and system | |
CN104683491B (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 |