CN108075969A - 报文转发方法和装置 - Google Patents
报文转发方法和装置 Download PDFInfo
- Publication number
- CN108075969A CN108075969A CN201611033162.0A CN201611033162A CN108075969A CN 108075969 A CN108075969 A CN 108075969A CN 201611033162 A CN201611033162 A CN 201611033162A CN 108075969 A CN108075969 A CN 108075969A
- Authority
- CN
- China
- Prior art keywords
- message
- vtep
- routing table
- address
- vni
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000001360 synchronised effect Effects 0.000 claims 5
- 230000006855 networking Effects 0.000 abstract description 38
- 230000007547 defect Effects 0.000 abstract description 2
- 238000005538 encapsulation Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 9
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
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
-
- 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/22—Alternate routing
-
- 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/24—Multipath
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
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组成一个多归属组,多归属组中的成员对外体现共同的组地址,这使得本发明不仅应用于多归属组网,也能应用于多Board组网,也能避免多归属组网处理ES撤销消息的缺陷,实现网络快速收敛。
Description
技术领域
本申请涉及网络通信技术,特别涉及报文转发方法和装置。
背景技术
以太虚拟私有网络(EVPN:Ethernet Virtual Private Network)协议中描述了多归属组网。所谓多归属组网,是指同一客户端设备归属至两个以上虚拟扩展局域网(VXLAN:Virtual eXtensible LAN)隧道端点(VTEP:VXLAN Tunnel End Point)设备的组网。图1示出了多归属组网。
在多归属组网中,同一客户端设备接入各个VTEP设备的链路使用同一以太段(ES:Ethernet Segment)标识。客户端设备归属至的各个VTEP设备会配置上述ES标识,并通告给远端VTEP设备,远端VTEP设备将接收的ES标识与发送该ES标识的VTEP设备关联,在接收到上述其中一个VTEP设备通告的私网侧路由(客户端设备对应的二层路由或三层路由,简称MAC/IP路由)时,确定该私网侧路由的下一跳均为上述ES标识关联的各个VTEP设备,之后按照负载分担方式将发送至客户端设备的报文分担至客户端设备归属至的各个VTEP设备。但是,当其中一个VTEP设备与客户端设备之间的链路故障(down)时,该VTEP设备发送ES撤销消息(携带故障链路使用的ES标识)给远端VTEP设备,远端VTEP设备收到ES撤销消息后从与ES撤销消息携带的ES标识所关联的所有MAC/IP路由中找到满足条件的MAC/IP路由,将找到的MAC/IP路由的下一跳更新为客户端设备归属至的其他VTEP设备,条件为:下一跳为发送上述ES撤销消息的VTEP设备。但是,这种在VTEP设备与客户端设备之间的链路故障时,一方面需要远端VTEP设备处理故障链路连接的VTEP发送的ES撤销消息,这会加大远端VTEP的负荷,并且导致网络收敛速度慢。
发明内容
本申请提供了报文转发方法和装置,以避免客户端设备与其归属至的VTEP设备之间的链路故障时远端VTEP设备因处理ES撤销消息带来的缺陷。
本申请提供的技术方案包括:
一种报文转发方法,该方法应用于多归属组中的任一VXLAN隧道端点VTEP设备,所述多归属组由指定角色归属的所有的VTEP设备组成,该方法还包括:
获取所述指定角色对应的私网侧路由,所述私网侧路由的下一跳为所述多归属组的组地址,通过路由协议将所述私网侧路由通告给非多归属组的远端VTEP设备,以使远端VTEP设备根据所述私网侧路由将发往所述指定角色的报文分发至所述多归属组中的VTEP设备;
接收发往所述指定角色的报文,当本VTEP设备与所述指定角色之间的链路故障时,将所述报文发送至所述多归属组中的其他VTEP设备,以使其他VTEP设备将所述报文发送至所述指定角色网络设备。
一种报文转发装置,该装置应用于多归属组中的任一VXLAN隧道端点VTEP设备,所述多归属组由指定角色归属的所有的VTEP设备组成,该装置包括:
获取单元,用于获取所述指定角色对应的私网侧路由,所述私网侧路由的下一跳为所述多归属组的组地址;
通告单元,用于通过路由协议将所述私网侧路由通告给非多归属组的远端VTEP设备,以使远端VTEP设备根据所述私网侧路由将发往所述指定角色的报文分发至所述多归属组中的VTEP设备;
处理单元,用于接收发往所述指定角色的报文,当本VTEP设备与所述指定角色之间的链路故障时,将所述报文发送至所述多归属组中的其他VTEP设备,以使其他VTEP设备将所述报文发送至所述指定角色。
由以上技术方案可以看出,本发明中,将指定角色归属至的所有VTEP设备组成一个多归属组,多归属组中的成员对外体现共同的组地址,而不是限制指定角色归属至的所有VTEP设备通告共同的ES,这使得本发明不仅应用于多归属组网,也能应用于多Board组网;
进一步地,在本发明中,当指定角色归属至的VTEP设备与指定角色之间的链路故障时,即使应用于多归属组网,也不会触发远端VTEP设备处理ES撤销消息,这减少远端VTEP设备的负荷;
进一步地,如上描述的当指定角色归属至的VTEP设备与指定角色之间的链路故障时,该VTEP设备不会触发远端VTEP设备处理ES撤销消息,远端VTEP依然会向该与指定角色之间的链路故障的VTEP发送发往指定角色的报文,即使应用于双归属组网,比如客户端设备双归属至VTEP设备1和VTEP设备2,则当客户端设备归属至的其中一个VTEP设备比如VTEP设备1与客户端设备之间的链路故障时,远端VTEP设备不会因为VTEP设备1与客户端设备之间的链路故障而不将发往客户端设备的报文发给VTEP设备1,依然将发往客户端设备的报文分发至客户端设备归属至的两个VTEP设备即VTEP设备1和VTEP设备2,实现了远端VTEP设备与客户端设备双归属至的两个VTEP设备之间的链路负载分担;
进一步地,在本发明中,当指定角色归属至的VTEP设备与指定角色之间的链路故障时,该VTEP设备会将报文发送至多归属组中其他VTEP设备,以由其他VTEP设备转发报文至指定角色,这能够保证本发明不管是应用于多归属组网还是多Board组网,都能实现网络快速收敛。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为多归属组网示意图;
图2为本发明提供的方法流程图;
图3为本发明提供的多Board组网示意图;
图4为本发明提供的实施例1应用组网示意图;
图5为本发明提供的同步消息结构示意图;
图6为本发明提供的实施例1另一应用组网示意图;
图7为本发明提供的实施例2应用组网示意图;
图8为本发明提供的实施例2另一应用组网示意图;
图9为本发明提供的装置结构图;
图10为本发明提供的图9所示装置的硬件结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参见图2,图2为本发明提供的方法流程图。该流程应用于多归属组中的任一VTEP设备。多归属组,其具体是由指定角色归属至的所有VTEP组成。其中,多归属组通过一个组地址标识,多归属组的组地址,用于唯一标识多归属组,不同多归属组具有不同的组地址。
如图2所示,该流程可包括以下步骤:
步骤201,获取指定角色对应的私网侧路由,私网侧路由的下一跳为所述多归属组的组地址,通过路由协议将私网侧路由通告给非多归属组的远端VTEP设备,以使远端VTEP设备根据所述私网侧路由将发往所述指定角色的报文分发至所述多归属组中的VTEP设备。
应用于EVPN,本步骤201中通告私网侧路由的路由协议可为MP-BGP协议,也可为中间系统到中间系统(IS-IS:Intermediate System-to-Intermediate System)IS-IS协议,本申请并不具体限定。作为一个实施例,这里的私网侧路由可为二层路由或三层路由,简称MAC/IP路由。
可以看出,在本发明中,预先将指定角色归属至的所有VTEP设备组成一个多归属组。之后,当指定角色归属至的任一VTEP设备学习上述私网侧路由时(下文会描述指定角色归属至的VTEP设备如何学习上述私网侧路由),VTEP设备以多归属组的组地址作为上述私网侧路由的下一跳通告给远端VTEP设备。如此,远端VTEP设备会确定该通告的私网侧路由的下一跳为指定角色归属至的所有VTEP设备,之后按照负载分担方式将发送至指定角色的报文分担至指定角色归属至的各个VTEP设备,实现链路的负载分担。
至于指定角色,在本发明中,作为一个实施例,指定角色可为客户端设备。为便于理解,这里将指定角色为客户端设备时应用的组网称为多归属组网。
在本发明中,作为另一个实例,则上述的VTEP设备具体为Board网关,则指定角色为归属Board网关的外部网络。为便于理解,这里将指定角色为Board网关接入的外部网络时应用的组网称为多边界(Board)组网。所谓多Board组网是指在EVPN分布式网关组网里,部署了跟外部网络相连的多Board网关的组网。外部网络的路由在部署的多Board网关之间进行负载分担。多Board组网跟多归属组网的区别在于多归属组网需要使用ES标识,而多Board组网并没有ES概念,多归属组网的机制不能应用于多Board组网,图3示出了多Board组网,在图3中,同一外部网络归属至Board1至Board3。
步骤202,接收发往所述指定角色的报文,当本VTEP设备与所述指定角色之间的链路故障时,将所述报文发送至所述多归属组中的其他VTEP设备,以使其他VTEP设备将所述报文发送至所述指定角色。
至此,完成图2所示流程。
通过图2所示流程可以看出,在本发明中,将指定角色归属至的所有VTEP设备组成一个多归属组,多归属组中的VTEP设备通告指定角色对应的私网侧路由时将多归属组的组地址作为下一跳通告给远端VTEP设备,不再限制多归属组网中指定角色归属至的所有VTEP设备通告共同的ES,这使得本发明不仅应用于多归属组网,也能应用于多Board组网,扩展了本发明的应用;
进一步地,如上描述的当指定角色归属至的VTEP设备与指定角色之间的链路故障时,该VTEP设备不会触发远端VTEP设备处理ES撤销消息,远端VTEP依然会向该与指定角色之间的链路故障的VTEP发送发往指定角色的报文,即使应用于双归属组网,比如客户端设备双归属至VTEP设备1和VTEP设备2,则当客户端设备归属至的其中一个VTEP设备比如VTEP设备1与客户端设备之间的链路故障时,远端VTEP设备不会因为VTEP设备1与客户端设备之间的链路故障而不将发往客户端设备的报文发给VTEP设备1,依然将发往客户端设备的报文分发至客户端设备归属至的两个VTEP设备即VTEP设备1和VTEP设备2,实现了远端VTEP设备与客户端设备双归属至的两个VTEP设备之间的链路负载分担;
进一步地,在本发明中,当指定角色归属至的VTEP设备与指定角色之间的链路故障时,该VTEP设备会将报文发送至多归属组中其他VTEP设备,以由其他VTEP设备转发报文至指定角色,这能够保证本发明不管是应用于多归属组网还是多Board组网,都能实现网络快速收敛。
下面通过两个实施例对本发明提供的方法进行描述:
实施例1:
在现有方式中,指定角色归属至的各VTEP设备之间是相互独立的,各VTEP设备之间没有连接关系。为了实现指定角色归属至的VTEP设备与指定角色之间的链路故障时,该VTEP设备将报文发送至多归属组中其他VTEP设备,在本实施例1中,指定角色归属至的各VTEP设备按照同一多归属组中的VTEP设备串行建立端至端链路(Peer link)的原则与多归属组中的一个其他VTEP设备建立Peer link。在实施例1中,peer link支持网络中所有VLAN。
基于此,在本实施例1中,上述步骤202中,将报文发送至多归属组中其他VTEP包括:确定报文携带的(具体是在VXLAN封装中携带)的VXLAN标识(VNI),对报文进行VXLAN解封装,将VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peer link发送。
下面以应用于双归属组网(多归属组网的一个特例)为例对实施例1进行描述:
参见图4,图4为本发明提供的实施例1应用组网示意图。在图4中,客户端设备为客户侧边缘设备(CE:Customer Edge),记为CE1。CE1所属的VLAN记为VLAN1_1。CE1归属于VTEP1和VTEP2。VTEP1和VTEP2同属多归属组1,多归属组1的组地址记为group地址1_1。VTEP1和VTEP2之间建立了Peer link。
VTEP1、VTEP2均和远端VTEP3建立EVPN BGP邻居。其中,VTEP1、VTEP2都是使用各自的环回口(Loopback)地址和远端VTEP3建立EVPN BGP邻居。
在图4中,尽管CE1归属于VTEP1和VTEP2,但是,VTEP1和VTEP2中只有一个会基于CE1发送的报文学习CE1对应的私网侧路由(简称MAC/IP路由)。CE1可以通过HASH方式将报文发到VTEP1或VTEP2。
以VTEP1基于CE1发送的报文学习CE1对应的私网侧路由为例,为便于描述,这里将VTEP1学习的CE1对应的路由记为路由1_1。
VTEP1在本地生成路由1_1对应的路由表项(记为路由表项1_1)并记录至本地路由表。路由表项1_1包含目的地址、VNI、出端口。其中,目的地址可为CE1的MAC地址或者IP地址,VNI为CE1所属的VLAN即VLAN1_1对应的VNI(记为VNI1_1),出端口为接收到CE1发送的报文的私网侧端口(图4以Port1_1为例)。表1示出了路由表项1_1:
表1
VTEP1将路由1_1和路由1_1的下一跳携带在同步消息中发送给同一归属组中的VTEP2。路由1_1的下一跳为group地址1_1。这里的同步消息为标准的EVPN消息,图5简单示出了同步消息中与现有EVPN消息不通的几个字段。如图5所示,以太段标识(EthernetSegment Identifier)字段为设定默认值比如0,以太标签(Ethernet Tag ID)字段用于携带路由1_1所属VLAN的标识即VLAN1_1。
VTEP1通告路由1_1给远端VTEP3。这里,VTEP1可按照BGP格式通告路由1_1,通告的路由1_1的下一跳为group地址1_1。
当VTEP2接收到VTEP1发送的同步消息后,从同步消息学习路由1_1,在本地生成路由1_1对应的路由表项(记为路由表项2_1)并记录至本地路由表。路由表项2_1包含目的地址、VNI、出端口。其中,目的地址可为CE1的MAC地址或者IP地址,VNI为同步消息携带的VLAN标识即VLAN1_1对应的VNI(即上述的VNI1_1),出端口为:出端口为VTEP2上与同步消息携带的VLAN标识即VLAN1_1对应的私网侧端口(图4以Port2_1为例)。表2示出了路由表项2_1:
表2
VTEP2通告路由1_1给远端VTEP3。这里,VTEP2可按照BGP格式通告路由1_1,通告的路由1_1的下一跳为group地址1_1。
当VTEP3接收到VTEP1和VTEP2分别通告的路由1_1时,发现VTEP1和VTEP2通告的路由1_1的下一跳均为多归属组1的group地址,则确定路由1_1的下一跳为多归属组1(包含VTEP1和VTEP2)的group地址。
当VTEP3接收到发往CE1的报文时,VTEP3会按照负载分担方式选择将报文发送至多归属组1的VTEP1还是VTEP2。
当VTEP3将报文发送至VTEP1时,若VTEP1与CE1之间的链路正常,则VTEP1确定报文的VXLAN封装中的VXLAN标识VNI,对报文进行VXLAN解封装,基于VNI和报文的目的地址在本地路由表中查找对应的路由表项即上述的路由表项1_1,通过查找到的路由表项1_1的出端口即Port1_1发送VXLAN解封装后的报文至CE1。
当VTEP3将报文发送至VTEP2时,若VTEP2与CE1之间的链路正常,则VTEP2确定报文的VXLAN封装中的VXLAN标识VNI,对报文进行VXLAN解封装,基于VNI和报文的目的地址在本地路由表中查找对应的路由表项即上述的路由表项2_1,通过查找到的路由表项2_1的出端口即Port2_1发送VXLAN解封装后的报文至CE1。
当VTEP1和VTEP2中一个VTEP与CE1之间的链路故障时,以VTEP1与CE1之间的链路故障为例,则,
VTEP1先在在本地路由表中找到匹配的路由表项即上述路由表项1_1,将该找到的路由表项1_1的出端口从Port1_1修改为本设备上的Peer link端口。
之后,当VTEP3将报文发送至VTEP1时,VTEP1基于报文的VXLAN封装中的VXLAN标识VNI对应的VLAN标识和报文的目的地址在本地路由表中匹配对应的路由表项即上述的路由表项1_1,发现此时路由表项1_1的出端口为Peer link端口,则将VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peer link发送。
当VTEP2通过与VTEP1之间已建立的Peer link收到报文时,根据报文携带的VLAN标识匹配出VNI,基于匹配出的VNI和报文的目的地址在本地路由表中匹配路由表项即上述的路由表项2_1,通过匹配出的路由表项2_1的出端口即Port2_1发送报文至CE1。
以上以多归属组网为例对实施例1进行了描述。
通过上面描述可以看出,即使VTEP1与CE1之间的链路故障,但并不影响远端VTEP3按照负载分担方式将发向CE1的报文分担至VTEP1和VTEP2,实现了多归属组网中故障链路连接的VTEP仍参与负载分担,大大提高了网络链路使用率。
还有,在VTEP1与CE1之间的链路故障时,VTEP1并不向远端VTEP3发送ES撤销消息,远端VTEP3无需处理ES撤销消息,大大提高了网络收敛速度。
还有,在VTEP1与CE1之间的链路故障时,仅在VTEP1修改相关路由表项,进一步提高网络收敛速度。
下面再以双Board组网(多Board组网的一个特例)为例对实施例1进行描述:
参见图6,图6为本发明提供的另一实施例1应用组网示意图。在图6中,外部网络归属于Board网关1和Board网关2。Board网关1和Board网关2同属多归属组6_1,多归属组6_1的组地址记为group地址6_1。Board网关1和Board网关2之间建立了Peer link。
Board网关1、Board网关2均和远端Board网关3建立EVPN BGP邻居。其中,Board网关1、Board网关2都是使用各自的Loopback地址和远端Board网关3建立EVPN BGP邻居。
在图6中,Board网关1和Board网关2均配置了默认路由。为便于描述,将Board网关1配置的默认路由表项记为默认路由表项6_0,将Board网关2配置的默认路由表项记为默认路由0_6。
默认路由表项6_0用于Board网关1在与外部网络之间的链路故障时,通过与Board网关2之间的Peer link将报文发送给Board网关2。默认路由表项6_0包含目的地址、VNI、出端口。其中,目的地址可为外部网络中客户端的MAC地址或者IP地址,VNI为外部网络所属VLAN对应的VNI(记为VNI6_1),出端口为Peer link端口。表3示出了默认路由表项6_0:
表3
默认路由表项0_6用于Board网关2在与外部网络之间的链路故障时,通过与Board网关1之间的Peer link将报文发送给Board网关1。默认路由表项0_6包含目的地址、VNI、出端口。其中,目的地址可为外部网络中客户端的MAC地址或者IP地址,VNI为外部网络所属VLAN对应的VNI(记为VNI6_1),出端口为Peer link端口。表4示出了默认路由表项0_6:
表4
在图6中,Board网关1、Board网关2均和外部网络建立路由协议,因此,Board网关1、Board网关2上都会直接学习到外部网络对应的私网侧路由,没有必要像多归属组网中将学习的私网侧路由通过同步消息发送给同一多归属组中其他Board网关。
Board网关1在本地学习到外部网络对应的私网侧路由时生成对应的路由表项(记为路由表项6_1)并记录至本地路由表。路由表项6_1包含目的地址、VNI、出端口。其中,目的地址可为外部网络中客户端的MAC地址或者IP地址,VNI为外部网络所属VLAN对应的VNI(记为VNI6_1),出端口为Board网关1接入外部网络的普通路由接口或子接口(图6以Port6_1为例)。表5示出了路由表项6_1:
表5
Board网关1通告学习的外部网络对应的私网侧路由给远端Board网关3。这里,Board网关1可按照BGP格式通告私网侧路由,通告的私网侧路由的下一跳为group地址6_1。
Board网关2在本地学习到外部网络对应的私网侧路由时生成对应的路由表项(记为路由表项6_2)并记录至本地路由表。路由表项6_2包含目的地址、VNI、出端口。其中,目的地址可为外部网络中客户端的MAC地址或者IP地址,VNI为外部网络所属VLAN对应的VNI(记为VNI6_1),出端口为Board网关2接入外部网络的普通路由接口或子接口(图6以Port6_2为例)。表6示出了路由表项6_2:
表6
Board网关2通告学习的外部网络对应的私网侧路由给远端Board网关3。这里,Board网关2可按照BGP格式通告私网侧路由,通告的私网侧路由的下一跳为group地址6_1。
当Board网关3接收到Board网关1和Board网关2分别通告的外部网络对应的私网侧路由时,发现Board网关1和Board网关2通告的私网侧路由的下一跳均为多归属组6_1的组地址group地址6_1,则确定该私网侧路由的下一跳为多归属组6_1的组地址group地址6_1。
当Board网关3接收到发往外部网络的报文时,Board网关3会按照负载分担方式选择将报文发送至多归属组6_1的Board网关1还是Board网关2。
当Board网关3将报文发送至Board网关1时,若Board网关1与外部网络之间的链路正常,则Board网关1确定报文的VXLAN封装中的VNI,对报文进行VXLAN解封装,基于VNI和报文的目的地址在本地路由表中查找对应的路由表项即上述的路由表项6_1,通过查找到的路由表项6_1的出端口即Port6_1发送VXLAN解封装后的报文至外部网络。
当Board网关3将报文发送至Board网关2时,若Board网关2与外部网络之间的链路正常,则Board网关2确定报文的VXLAN封装中的VNI,对报文进行VXLAN解封装,基于VNI和报文的目的地址在本地路由表中查找对应的路由表项即上述的路由表项6_2,通过查找到的路由表项6_2的出端口即Port6_2发送VXLAN解封装后的报文至外部网络。
当Board网关1和Board网关2中一个Board网关与外部网络之间的链路故障时,以Board网关1与外部网络之间的链路故障为例,则Board网关1在本地路由表中找到匹配的路由表项即上述路由表项6_1并删除。
之后,当Board网关3将报文发送至Board网关1时,Board网关1基于报文的VXLAN封装中的VNI和报文的目的地址在本地路由表中匹配对应的路由表项即上述的默认路由表项6_0,发现此时路由表项6_0的出端口为Peer link端口,则将VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peer link发送。
当Board网关2通过与Board网关1之间已建立的Peer link收到报文时,根据报文携带的VLAN标识匹配出VNI,基于匹配出的VNI和报文的目的地址在本地路由表中匹配路由表项即上述的路由表项6_2,通过匹配出的路由表项6_2的出端口即Port6_2发送报文至外部网络。
以上以多Board组网为例对实施例1进行了描述。
实施例2:
如实施例1描述的,在现有方式中,指定角色归属至的各VTEP设备之间是相互独立的,各VTEP设备之间没有连接关系。为了实现指定角色归属至的VTEP设备与指定角色之间的链路故障时,该VTEP设备将报文发送至多归属组中其他VTEP设备,在本实施例2中,指定角色归属至的各VTEP设备按照同一多归属组中VTEP设备串行建立VXLAN隧道的原则与多归属组中的一个其他VTEP设备建立VXLAN隧道。
基于此,在本实施例2中,上述步骤202中,将报文发送至多归属组中其他VTEP设备包括:修改报文的外层IP头(具体是VXLAN封装中的外层IP头)并通过已建立的VXLAN隧道发送,其中,修改IP头包括:将IP头中的源IP地址修改为本VTEP设备的环回口(Loopback)地址,将IP头中的目的IP地址修改为多归属组中与本VTEP设备建立了VXLAN隧道的其他VTEP设备的Loopback地址。
下面以应用于多归属组网(多归属组网的一个特例)为例对实施例2进行描述:
参见图7,图7为本发明提供的实施例2应用组网示意图。在图7中,客户端设备为CE7_1。CE7_1所属的VLAN记为VLAN7_1。CE7_1归属于VTEP7_1和VTEP7_2。VTEP7_1和VTEP7_2同属多归属组7_1,多归属组7_1的组地址记为group地址7_1。VTEP7_1和VTEP7_2之间建立了VXLAN隧道。
VTEP7_1、VTEP7_2均和远端VTEP3建立EVPN BGP邻居。其中,VTEP7_1、VTEP7_2都是使用各自的Loopback地址和远端VTEP7_3建立EVPN BGP邻居。
在图7中,尽管CE7_1归属于VTEP7_1和VTEP7_2,但是,VTEP7_1和VTEP7_2中只有一个会基于CE7_1发送的报文学习CE7_1对应的私网侧路由(简称MAC/IP路由)。CE7_1可以通过HASH方式将报文发到VTEP7_1或VTEP7_2。
以VTEP7_1基于CE7_1发送的报文学习CE7_1对应的私网侧路由为例,为便于描述,这里将VTEP7_1学习的CE7_1对应的私网侧路由记为路由7_1。
VTEP7_1在本地生成路由7_1对应的路由表项(记为路由表项7_1)并记录至本地路由表。路由表项7_1包含目的地址、VNI、出端口。其中,目的地址可为CE7_1的MAC地址或者IP地址,VNI为CE7_1所属的VLAN即VLAN7_1对应的VNI(记为VNI7_1),出端口为接收到CE7_1发送的报文的私网侧端口(图7以Port7_1为例)。表7示出了路由表项7_1:
表7
VTEP7_1发送同步消息给同一归属组中的VTEP7_2,同步消息中携带路由7_1和路由7_1的下一跳,路由7_1的下一跳为group地址7_1。
VTEP7_1通告路由1_1给远端VTEP7_3。这里,通告的路由7_1的下一跳为group地址7_1。
当VTEP7_2接收到VTEP7_1发送的同步消息后,从同步消息学习路由7_1,在本地生成路由7_1对应的路由表项(记为路由表项7_2)并记录至本地路由表。路由表项7_2包含目的地址、VNI、出端口。其中,目的地址可为CE7_1的MAC地址或者IP地址,VNI为同步消息携带的VLAN标识即VLAN7_1对应的VNI(即上述的VNI7_1),出端口为:VTEP7_2上与同步消息携带的VLAN标识即VLAN7_1对应的私网侧端口(图7以Port7_2为例)。表8示出了路由表项7_2:
表8
VTEP7_2通告路由7_1给远端VTEP7_3。这里,通告的路由7_1的下一跳为group地址7_1。
当VTEP7_3接收到VTEP7_1和VTEP7_2分别通告的路由7_1时,发现VTEP7_1和VTEP7_2通告的路由7_1的下一跳均为多归属组7_1的group地址group7_1,则确定路由7_1的下一跳为多归属组7_1(包含VTEP7_1和VTEP7_2)的group地址group7_1。
当VTEP7_3接收到发往CE7_1的报文时,VTEP7_3会按照负载分担方式选择将报文发送至多归属组7_1的VTEP7_1还是VTEP7_2。
当VTEP7_3将报文发送至VTEP7_1时,若VTEP7_1与CE7_1之间的链路正常,则VTEP7_1确定报文的VXLAN封装中的VXLAN标识VNI,对报文进行VXLAN解封装,基于VNI和报文的目的地址在本地路由表中查找对应的路由表项即上述的路由表项7_1,通过查找到的路由表项7_1的出端口即Port7_1发送VXLAN解封装后的报文至CE7_1。
当VTEP7_3将报文发送至VTEP7_2时,若VTEP7_2与CE7_1之间的链路正常,则VTEP7_2确定报文的VXLAN封装中的VXLAN标识VNI,对报文进行VXLAN解封装,基于VNI和报文的目的地址在本地路由表中查找对应的路由表项即上述的路由表项7_2,通过查找到的路由表项7_2的出端口即Port7_2发送VXLAN解封装后的报文至CE7_1。
当VTEP7_1和VTEP7_2中一个VTEP与CE7_1之间的链路故障时,以VTEP7_1与CE7_1之间的链路故障为例,则,
VTEP7_1先在在本地路由表中找到匹配的路由表项即上述路由表项7_1,将该找到的路由表项7_1的出端口从Port7_1修改为VTEP7_2的Loopback地址。
之后,当VTEP7_3将报文发送至VTEP7_1时,VTEP7_1基于报文的VXLAN封装中的VNI和报文的目的地址在本地路由表中匹配对应的路由表项即上述的路由表项7_2,发现此时路由表项7_2的出端口为VTEP7_2的Loopback地址,则修改报文的VXLAN封装中的IP头并通过本设备与VTEP7_2之间已建立的VXLAN隧道发送。其中,修改IP头包括:将IP头中的源IP地址修改为本VTEP7_1的Loopback地址,将IP头中的目的IP地址修改为路由表项7_2的出端口即VTEP7_2的Loopback地址。
当VTEP7_2通过与VTEP7_1之间已建立的VXLAN隧道收到报文时,确定报文的VXLAN封装携带的VNI,对报文进行VXLAN解封装,根据确定出的VNI和解封装后的报文的目的地址在本地路由表中匹配路由表项即上述的路由表项7_2,通过匹配出的路由表项7_2的出端口即Port7_2发送报文至CE7_1。
以上以多归属组网为例对实施例2进行了描述。
下面再以应用于多Board组网为例对实施例2进行描述:
参见图8,图8为本发明提供的实施例2另一应用组网示意图。在图8中,外部网络归属于Board网关8_1和Board网关8_2。Board网关8_1和Board网关8_2同属多归属组8_1,多归属组8_1的组地址记为group地址8_1。Board网关8_1和Board网关8_2之间建立了VXLAN隧道。
Board网关8_1、Board网关8_2均和远端Board网关8_3建立EVPN BGP邻居。其中,Board网关8_1、Board网关8_2都是使用各自的Loopback地址和远端Board网关8_3建立EVPNBGP邻居。
在图8中,Board网关8_1和Board网关8_2均配置了默认路由。为便于描述,将Board网关8_1配置的默认路由表项记为默认路由表项8_0,将Board网关8_2配置的默认路由表项记为默认路由0_8。
默认路由表项8_0用于Board网关8_1在与外部网络之间的链路故障时,通过与Board网关8_2之间的VXLAN隧道将报文发送给Board网关8_2。默认路由表项8_0包含目的地址、VNI、出端口。其中,目的地址可为外部网络中客户端的MAC地址或者IP地址,VNI为外部网络所属VLAN对应的VNI(记为VNI8_1),出端口为Board网关8_2的Loopback地址。表9示出了默认路由表项8_0:
表9
默认路由表项0_8用于Board网关8_2在与外部网络之间的链路故障时,通过与Board网关8_1之间的VXLAN隧道将报文发送给Board网关8_1。默认路由表项0_8包含目的地址、VNI、出端口。其中,目的地址可为外部网络中客户端的MAC地址或者IP地址,VNI为外部网络所属VLAN对应的VNI(记为VNI8_1),出端口为Board网关8_1的Loopback地址。表10示出了默认路由表项0_8:
表10
在图8中,Board网关8_1、Board网关8_2均和外部网络建立路由协议,因此,Board网关8_1、Board网关8_2上都会直接学习到外部网络对应的私网侧路由,没有必要像多归属组网中将学习的私网侧路由通过同步消息发送给同一多归属组中其他Board网关。
Board网关8_1在本地学习到外部网络对应的私网侧路由时生成对应的路由表项(记为路由表项8_1)并记录至本地路由表。路由表项8_1包含目的地址、VNI、出端口。其中,目的地址可为外部网络中客户端的MAC地址或者IP地址,VNI为外部网络所属VLAN对应的VNI(记为VNI8_1),出端口为Board网关8_1接入外部网络的普通路由接口或子接口(图8以Port8_1为例)。表11示出了路由表项8_1:
表11
Board网关8_1通告学习的外部网络对应的私网侧路由给远端Board网关8_3。这里,通告的私网侧路由的下一跳为group地址8_1。
Board网关8_2在本地学习到外部网络对应的私网侧路由时生成对应的路由表项(记为路由表项8_2)并记录至本地路由表。路由表项8_2包含目的地址、VNI、出端口。其中,目的地址可为外部网络中客户端的MAC地址或者IP地址,VNI为外部网络所属VLAN对应的VNI(记为VNI8_1),出端口为Board网关8_2接入外部网络的普通路由接口或子接口(图8以Port8_2为例)。表12示出了路由表项8_2:
表12
Board网关8_2通告学习的外部网络对应的私网侧路由给远端Board网关8_3。这里,通告的私网侧路由的下一跳为group地址8_1。
当Board网关8_3接收到Board网关8_1和Board网关8_2分别通告的外部网络对应的私网侧路由时,发现Board网关8_1和Board网关8_2通告的私网侧路由的下一跳均为多归属组8_1的组地址group地址8_1,则确定该私网侧路由的下一跳为多归属组8_1的组地址group地址8_1。
当Board网关8_3接收到发往外部网络的报文时,Board网关8_3会按照负载分担方式选择将报文发送至多归属组8_1的Board网关8_1还是Board网关8_2。
当Board网关8_3将报文发送至Board网关8_1时,若Board网关8_1与外部网络之间的链路正常,则Board网关8_1确定报文的VXLAN封装中的VNI,对报文进行VXLAN解封装,基于VNI和报文的目的地址在本地路由表中查找对应的路由表项即上述的路由表项8_1,通过查找到的路由表项8_1的出端口即Port8_1发送VXLAN解封装后的报文至外部网络。
当Board网关8_3将报文发送至Board网关8_2时,若Board网关8_2与外部网络之间的链路正常,则Board网关8_2确定报文的VXLAN封装中的VNI,对报文进行VXLAN解封装,基于VNI和报文的目的地址在本地路由表中查找对应的路由表项即上述的路由表项8_2,通过查找到的路由表项8_2的出端口即Port8_2发送VXLAN解封装后的报文至外部网络。
当Board网关8_1和Board网关8_2中一个Board网关与外部网络之间的链路故障时,以Board网关8_1与外部网络之间的链路故障为例,则Board网关8_1在本地路由表中找到匹配的路由表项即上述路由表项8_1并删除。
之后,当Board网关8_3将报文发送至Board网关8_1时,Board网关8_1基于报文的VXLAN封装中的VNI和报文的目的地址在本地路由表中匹配对应的路由表项即上述的默认路由表项8_0,根据默认路由表项8_0修改报文的VXLAN封装中的IP头,并通过本Board网关8_1与Board网关8_2之间已建立的VXLAN隧道发送。其中,修改报文的VXLAN封装中的IP头是指:将IP头中的源IP地址修改为本VTEP8_1的Loopback地址,将IP头中的目的IP地址修改为默认路由表项8_0的出端口即VTEP8_2的Loopback地址。
当Board网关8_2通过与Board网关8_1之间已建立的VXLAN隧道收到报文时,确定报文的VXLAN封装中的VNI,对报文进行VXLAN解封装,根据确定的VNI和报文的目的地址在本地路由表中匹配路由表项即上述的路由表项8_2,通过匹配出的路由表项8_2的出端口即Port8_2发送报文至外部网络。
至此,以多Board组网为例完成对实施例2进行的描述。
以上对本发明提供的方法进行了描述。下面对本发明提供的装置进行描述:
参见图9,图9为本发明提供的装置结构图。该装置应用于多归属组中的任一VTEP设备,所述多归属组由指定角色归属的所有的VTEP设备组成。如图9所示,该装置包括:
获取单元,用于获取所述指定角色对应的私网侧路由,所述私网侧路由的下一跳为所述多归属组的组地址;
通告单元,用于通过路由协议将所述私网侧路由通告给非多归属组的远端VTEP设备,以使远端VTEP设备根据所述私网侧路由将发往所述指定角色的报文分发至所述多归属组中的VTEP设备;
处理单元,用于接收发往所述指定角色的报文,当本VTEP设备与所述指定角色之间的链路故障时,将所述报文发送至所述多归属组中的其他VTEP设备,以使其他VTEP设备将所述报文发送至所述指定角色。
优选地,所述多归属组中的VTEP设备之间串行建立端至端链路Peer link;
所述处理单元将报文发送至多归属组中的其他VTEP设备包括包括:
确定报文携带的VXLAN标识VNI;
对报文进行VXLAN解封装,将所述VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peer link发送。
优选地,所述指定角色为客户端设备;
所述处理单元在本VTEP设备与指定角色之间的链路故障时,进一步在本地路由表中找到满足以下条件的路由表项:出端口为本VTEP设备上连接故障链路的端口,将找到的路由表项中的出端口修改为本VTEP设备上的Peer link端口;
所述处理单元将VNI对应的VLAN标识携带在解封装后的报文中并通过间已建立的Peer link发送包括:基于VNI和报文的目的地址在本地路由表中匹配路由表项,当匹配出的路由表项的出端口为Peer link端口时,将VNI对应的VLAN标识携带在解封装后的报文中并通过匹配出的路由表项中的出端口发送。
优选地,所述VTEP设备为Board网关,所述指定角色为归属Board网关的外部网络;
所述处理单元在本VTEP设备与所述指定角色之间的链路故障时,进一步在本地路由表中找到满足条件的路由表项并删除,所述条件为:出端口为本VTEP设备上连接故障链路的端口;
所述处理单元将VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peer link发送包括:基于VNI和报文的目的地址在本地路由表中匹配设定的第一默认路由,将VNI对应的VLAN标识携带在解封装后的报文中并通过第一默认路由的出端口发送,第一默认路由的出端口为Peer link端口。
优选地,所述多归属组中的VTEP设备之间串行建立VXLAN隧道;
所述处理单元将报文发送至多归属组中其他VTEP设备包括:
修改报文的外层IP头并通过已建立的VXLAN隧道发送,所述修改外层IP头包括:修改外层IP头中的源IP地址为本VTEP设备的环回口Loopback地址,目的IP地址为所述多归属组中与本VTEP设备建立了VXLAN隧道的其他VTEP设备的Loopback地址。
优选地,所述指定角色为客户端设备;
所述第一处理单元在本VTEP设备与所述指定角色之间的链路故障时,进一步在本地路由表中找到满足以下条件的路由表项:出端口为本VTEP设备上连接故障链路的端口,将找到的路由表项中的出端口修改为所述多归属组中与本VTEP设备已建立了VXLAN隧道的其他VTEP设备的Loopback地址;
所述处理单元修改报文的外层IP头并通过已建立的VXLAN隧道发送包括:基于报文携带的VNI和报文的目的地址在本地路由表中匹配路由表项,当匹配出的路由表项的出端口为Loopback地址时,修改报文的外层IP头的源IP地址为本VTEP的Loopback地址,目的IP地址为所述出端口,并向所述出端口发送。
优选地,所述VTEP设备为Board网关,所述指定角色为归属Board网关的外部网络;
所述处理单元进一步当本VTEP设备与所述指定角色之间的链路故障时,在本地路由表中找到满足条件的路由表项并删除,所述条件为:出端口为本VTEP设备上连接故障链路的端口;
所述处理单元修改报文的外层IP头并通过已建立的VXLAN隧道发送包括:基于报文携带的VNI和报文的目的地址在本地路由表中匹配设定的第二默认路由,修改报文的外层IP头的源IP地址为本VTEP设备的Loopback地址,目的IP地址为第二默认路由的出端口,并向所述第二默认路由的出端口发送;第二默认路由的出端口为所述多归属组中与本VTEP设备建立了VXLAN隧道的其他VTEP设备的Loopback地址。
至此,完成图9所示装置结构描述。
对应地,本发明还提供了图9所示装置的硬件结构。参见图10,图10为本申请提供的图9所示装置的硬件结构示意图。该装置包含:
存储器,用于存放获取单元运行的程序指令、通告单元运行的程序指令、处理单元运行的程序指令;
处理器,用于执行获取单元运行的程序指令、通告单元运行的程序指令、处理单元运行的程序指令。其中,处理器执行获取单元运行的程序指令如上获取单元执行的操作,处理器执行通告单元运行的程序指令所执行的操作如上通告单元执行的操作,处理器执行处理单元运行的程序指令所执行的操作如上处理单元执行的操作。
如图10所示,该硬件结构还可以包括一个电源组件被配置为执行装置的电源管理,一个有线或无线网络接口被配置为将装置连接到网络,和一个输入输出(I/O)接口。
至此,完成图10所示的硬件结构描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (15)
1.一种报文转发方法,其特征在于,该方法应用于多归属组中的任一VXLAN隧道端点VTEP设备,所述多归属组由指定角色归属的所有的VTEP设备组成,该方法还包括:
获取所述指定角色对应的私网侧路由,所述私网侧路由的下一跳为所述多归属组的组地址,通过路由协议将所述私网侧路由通告给非多归属组的远端VTEP设备,以使远端VTEP设备根据所述私网侧路由将发往所述指定角色的报文分发至所述多归属组中的VTEP设备;
接收发往所述指定角色的报文,当本VTEP设备与所述指定角色之间的链路故障时,将所述报文发送至所述多归属组中的其他VTEP设备,以使其他VTEP设备将所述报文发送至所述指定角色。
2.根据权利要求1所述的方法,其特征在于,所述多归属组中的VTEP设备之间串行建立端至端链路Peer link;
所述将报文发送至多归属组中的其他VTEP设备包括:
确定报文携带的VXLAN标识VNI;
对报文进行VXLAN解封装,将所述VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peer link发送。
3.根据权利要求2所述的方法,其特征在于,所述指定角色为客户端设备;
当本VTEP设备与指定角色之间的链路故障时,该方法进一步包括:在本地路由表中找到满足以下条件的路由表项:出端口为本VTEP设备上连接故障链路的端口,将找到的路由表项中的出端口修改为本VTEP设备上的Peer link端口;
所述将VNI对应的VLAN标识携带在解封装后的报文中并通过间已建立的Peer link发送包括:基于VNI和报文的目的地址在本地路由表中匹配路由表项,当匹配出的路由表项的出端口为Peer link端口时,将VNI对应的VLAN标识携带在解封装后的报文中并通过匹配出的路由表项中的出端口发送。
4.根据权利要求2所述的方法,其特征在于,所述VTEP设备为Board网关,所述指定角色为归属Board网关的外部网络;
当本VTEP设备与所述指定角色之间的链路故障时,该方法进一步包括:在本地路由表中找到满足条件的路由表项并删除,所述条件为:出端口为本VTEP设备上连接故障链路的端口;
所述将VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peer link发送包括:基于VNI和报文的目的地址在本地路由表中匹配设定的第一默认路由,将VNI对应的VLAN标识携带在解封装后的报文中并通过第一默认路由的出端口发送,第一默认路由的出端口为Peer link端口。
5.根据权利要求1所述的方法,其特征在于,所述多归属组中的VTEP设备之间串行建立VXLAN隧道;
所述将报文发送至多归属组中其他VTEP设备包括:
修改报文的外层IP头并通过已建立的VXLAN隧道发送,所述修改外层IP头包括:修改外层IP头中的源IP地址为本VTEP设备的环回口Loopback地址,目的IP地址为所述多归属组中与本VTEP设备建立了VXLAN隧道的其他VTEP设备的Loopback地址。
6.根据权利要求5所述的方法,其特征在于,所述指定角色为客户端设备;
当本VTEP设备与所述指定角色之间的链路故障时,该方法进一步包括:在本地路由表中找到满足以下条件的路由表项:出端口为本VTEP设备上连接故障链路的端口,将找到的路由表项中的出端口修改为所述多归属组中与本VTEP设备已建立了VXLAN隧道的其他VTEP设备的Loopback地址;
所述修改报文的外层IP头并通过已建立的VXLAN隧道发送包括:基于报文携带的VNI和报文的目的地址在本地路由表中匹配路由表项,当匹配出的路由表项的出端口为Loopback地址时,修改报文的外层IP头的源IP地址为本VTEP设备的Loopback地址,目的IP地址为所述出端口,并向所述出端口发送。
7.根据权利要求5所述的方法,其特征在于,所述VTEP设备为Board网关,所述指定角色为归属Board网关的外部网络;
当本VTEP设备与所述指定角色之间的链路故障时,该方法进一步包括:在本地路由表中找到满足条件的路由表项并删除,所述条件为:出端口为本VTEP设备上连接故障链路的端口;
所述修改报文的外层IP头并通过已建立的VXLAN隧道发送包括:基于报文携带的VNI和报文的目的地址在本地路由表中匹配设定的第二默认路由,修改报文的外层IP头的源IP地址为本VTEP设备的Loopback地址,目的IP地址为第二默认路由的出端口,并向所述第二默认路由的出端口发送;第二默认路由的出端口为所述多归属组中与本VTEP设备建立了VXLAN隧道的其他VTEP设备的Loopback地址。
8.根据权利要求3或6所述的方法,其特征在于,所述获取指定角色对应的私网侧路由,包括:通过所述客户端设备发送的报文学习所述私网侧路由;
当获取所述私网侧路由后,该方法进一步包括:生成所述私网侧路由对应的路由表项并记录至本地路由表,发送同步消息给所述多归属组中其他所有VTEP设备,同步消息携带所述私网侧路由、下一跳、以及所述私网侧路由所属VLAN的VLAN标识,所述下一跳为所述多归属组的组地址;所述路由表项包含目的地址、VNI和出端口,目的地址为客户端设备的地址,VNI为客户端设备所属VLAN对应的VNI,出端口本VTEP设备上为接收到客户端设备发送的报文的私网侧端口;
或者,
所述获取所述指定角色对应的私网侧路由,包括:接收所述多归属组中其他VTEP设备发送的同步消息,从接收的同步消息学习该同步消息携带的所述私网侧路由;
当从接收的同步消息学习所述私网侧路由后,该方法进一步包括:生成所述私网侧路由对应的路由表项并记录至本地路由表,生成的路由表项包含目的地址、VNI和出端口,其中,目的地址为客户端设备的地址,VNI为与同步消息携带的VLAN标识对应的VNI,出端口为本VTEP设备上与同步消息携带的VLAN标识对应的私网侧端口。
9.一种报文转发装置,其特征在于,该装置应用于多归属组中的任一VXLAN隧道端点VTEP设备,所述多归属组由指定角色归属的所有的VTEP设备组成,包括:
获取单元,用于获取所述指定角色对应的私网侧路由,所述私网侧路由的下一跳为所述多归属组的组地址;
通告单元,用于通过路由协议将所述私网侧路由通告给非多归属组的远端VTEP设备,以使远端VTEP设备根据所述私网侧路由将发往所述指定角色的报文分发至所述多归属组中的VTEP设备;
处理单元,用于接收发往所述指定角色的报文,当本VTEP设备与所述指定角色之间的链路故障时,将所述报文发送至所述多归属组中的其他VTEP设备,以使其他VTEP设备将所述报文发送至所述指定角色。
10.根据权利要求9所述的装置,其特征在于,所述多归属组中的VTEP设备之间串行建立端至端链路Peer link;
所述处理单元将报文发送至多归属组中的其他VTEP设备包括包括:
确定报文携带的VXLAN标识VNI;
对报文进行VXLAN解封装,将所述VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peer link发送。
11.根据权利要求10所述的装置,其特征在于,所述指定角色为客户端设备;
所述处理单元在本VTEP设备与指定角色之间的链路故障时,进一步在本地路由表中找到满足以下条件的路由表项:出端口为本VTEP设备上连接故障链路的端口,将找到的路由表项中的出端口修改为本VTEP设备上的Peer link端口;
所述处理单元将VNI对应的VLAN标识携带在解封装后的报文中并通过间已建立的Peerlink发送包括:基于VNI和报文的目的地址在本地路由表中匹配路由表项,当匹配出的路由表项的出端口为Peer link端口时,将VNI对应的VLAN标识携带在解封装后的报文中并通过匹配出的路由表项中的出端口发送。
12.根据权利要求10所述的装置,其特征在于,所述VTEP设备为Board网关,所述指定角色为归属Board网关的外部网络;
所述处理单元在本VTEP设备与所述指定角色之间的链路故障时,进一步在本地路由表中找到满足条件的路由表项并删除,所述条件为:出端口为本VTEP设备上连接故障链路的端口;
所述处理单元将VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peerlink发送包括:基于VNI和报文的目的地址在本地路由表中匹配设定的第一默认路由,将VNI对应的VLAN标识携带在解封装后的报文中并通过第一默认路由的出端口发送,第一默认路由的出端口为Peer link端口。
13.根据权利要求9所述的装置,其特征在于,所述多归属组中的VTEP设备之间串行建立VXLAN隧道;
所述处理单元将报文发送至多归属组中其他VTEP设备包括:
修改报文的外层IP头并通过已建立的VXLAN隧道发送,所述修改外层IP头包括:修改外层IP头中的源IP地址为本VTEP设备的环回口Loopback地址,目的IP地址为所述多归属组中与本VTEP设备建立了VXLAN隧道的其他VTEP设备的Loopback地址。
14.根据权利要求13所述的装置,其特征在于,所述指定角色为客户端设备;
所述第一处理单元在本VTEP设备与所述指定角色之间的链路故障时,进一步在本地路由表中找到满足以下条件的路由表项:出端口为本VTEP设备上连接故障链路的端口,将找到的路由表项中的出端口修改为所述多归属组中与本VTEP设备已建立了VXLAN隧道的其他VTEP设备的Loopback地址;
所述处理单元修改报文的外层IP头并通过已建立的VXLAN隧道发送包括:基于报文携带的VNI和报文的目的地址在本地路由表中匹配路由表项,当匹配出的路由表项的出端口为Loopback地址时,修改报文的外层IP头的源IP地址为本VTEP的Loopback地址,目的IP地址为所述出端口,并向所述出端口发送。
15.根据权利要求13所述的装置,其特征在于,所述VTEP设备为Board网关,所述指定角色为归属Board网关的外部网络;
所述处理单元进一步当本VTEP设备与所述指定角色之间的链路故障时,在本地路由表中找到满足条件的路由表项并删除,所述条件为:出端口为本VTEP设备上连接故障链路的端口;
所述处理单元修改报文的外层IP头并通过已建立的VXLAN隧道发送包括:基于报文携带的VNI和报文的目的地址在本地路由表中匹配设定的第二默认路由,修改报文的外层IP头的源IP地址为本VTEP设备的Loopback地址,目的IP地址为第二默认路由的出端口,并向所述第二默认路由的出端口发送;第二默认路由的出端口为所述多归属组中与本VTEP设备建立了VXLAN隧道的其他VTEP设备的Loopback地址。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611033162.0A CN108075969B (zh) | 2016-11-17 | 2016-11-17 | 报文转发方法和装置 |
PCT/CN2017/110883 WO2018090907A1 (zh) | 2016-11-17 | 2017-11-14 | 报文转发 |
JP2019526244A JP6682045B2 (ja) | 2016-11-17 | 2017-11-14 | パケット転送 |
EP17872007.4A EP3528441B1 (en) | 2016-11-17 | 2017-11-14 | Message forwarding |
US16/461,563 US11159341B2 (en) | 2016-11-17 | 2017-11-14 | Forwarding packet |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611033162.0A CN108075969B (zh) | 2016-11-17 | 2016-11-17 | 报文转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108075969A true CN108075969A (zh) | 2018-05-25 |
CN108075969B CN108075969B (zh) | 2020-01-03 |
Family
ID=62146097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611033162.0A Active CN108075969B (zh) | 2016-11-17 | 2016-11-17 | 报文转发方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11159341B2 (zh) |
EP (1) | EP3528441B1 (zh) |
JP (1) | JP6682045B2 (zh) |
CN (1) | CN108075969B (zh) |
WO (1) | WO2018090907A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111010673A (zh) * | 2018-10-08 | 2020-04-14 | 华为技术有限公司 | 一种通信方法及装置 |
CN111277500A (zh) * | 2020-01-15 | 2020-06-12 | 山东汇贸电子口岸有限公司 | 一种数据中心evpn组网多出口设计方法及系统 |
JP2021535698A (ja) * | 2018-08-23 | 2021-12-16 | アルカス インコーポレイテッド | ネットワークコンピューティング環境における第1ホップゲートウェイ冗長性 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110636583B (zh) * | 2018-06-21 | 2021-08-13 | 华为技术有限公司 | 路径变更方法及装置 |
CN110661714B (zh) | 2018-06-30 | 2022-06-28 | 华为技术有限公司 | 发送bgp消息的方法、接收bgp消息的方法以及设备 |
US10805210B1 (en) * | 2019-09-20 | 2020-10-13 | Juniper Networks, Inc. | GRE tunneling with reduced packet encryption at intermediate routers using loose source routing |
CN113472645A (zh) * | 2020-03-30 | 2021-10-01 | 华为技术有限公司 | 发送路由、处理路由的方法、装置和设备 |
CN114124617B (zh) * | 2020-08-31 | 2025-01-28 | 华为技术有限公司 | 一种通信方法、装置、设备及系统 |
CN113765823A (zh) * | 2021-09-29 | 2021-12-07 | 新华三信息安全技术有限公司 | 一种报文转发方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090067426A1 (en) * | 2007-02-09 | 2009-03-12 | Eun-Sook Ko | Join message load control system and method in network using PIM-SSM |
CN103166858A (zh) * | 2013-03-26 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
US20150009992A1 (en) * | 2013-07-08 | 2015-01-08 | Futurewei Technologies, Inc. | Communication Between Endpoints in Different VXLAN Networks |
CN104468394A (zh) * | 2014-12-04 | 2015-03-25 | 杭州华三通信技术有限公司 | 一种vxlan网络中报文转发方法及装置 |
CN105553848A (zh) * | 2014-10-22 | 2016-05-04 | 瞻博网络公司 | 针对数据中心互联的协议独立多播稀疏模式(pim-sm)的支持 |
CN105791072A (zh) * | 2014-12-22 | 2016-07-20 | 华为数字技术(苏州)有限公司 | 以太虚拟网络的接入方法及装置 |
US20160285761A1 (en) * | 2015-03-26 | 2016-09-29 | Cisco Technology, Inc. | Scalable handling of bgp route information in vxlan with evpn control plane |
CN106059932A (zh) * | 2016-08-08 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种路由表项生成方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6036459B2 (ja) | 2013-03-25 | 2016-11-30 | 富士通株式会社 | 情報処理装置、情報処理システム、ゲートウェイ管理方法及びゲートウェイ管理プログラム |
CN104378297B (zh) * | 2013-08-15 | 2018-01-16 | 新华三技术有限公司 | 一种报文转发方法及设备 |
CN104378296B (zh) * | 2013-08-15 | 2018-04-10 | 新华三技术有限公司 | 一种报文转发方法及设备 |
US9374294B1 (en) | 2013-11-05 | 2016-06-21 | Cisco Technology, Inc. | On-demand learning in overlay networks |
US10097372B2 (en) | 2014-01-09 | 2018-10-09 | Ciena Corporation | Method for resource optimized network virtualization overlay transport in virtualized data center environments |
WO2015180084A1 (zh) | 2014-05-29 | 2015-12-03 | 华为技术有限公司 | 一种报文转发方法和VxLAN网关 |
CN104270298B (zh) * | 2014-09-30 | 2018-10-09 | 新华三技术有限公司 | 一种vxlan网络中的报文转发方法及装置 |
CN105577417B (zh) | 2014-11-06 | 2019-02-22 | 新华三技术有限公司 | 基于vxlan网络的报文转发方法及装置 |
CN106789635B (zh) * | 2016-03-25 | 2020-08-14 | 新华三技术有限公司 | 一种报文转发方法及装置 |
US10666500B2 (en) * | 2016-03-30 | 2020-05-26 | Juniper Networks, Inc. | Failure handling for active-standby redundancy in EVPN data center interconnect |
US10425325B2 (en) * | 2017-10-30 | 2019-09-24 | Dell Products Lp | Optimizing traffic paths to orphaned hosts in VXLAN networks using virtual link trunking-based multi-homing |
-
2016
- 2016-11-17 CN CN201611033162.0A patent/CN108075969B/zh active Active
-
2017
- 2017-11-14 WO PCT/CN2017/110883 patent/WO2018090907A1/zh unknown
- 2017-11-14 EP EP17872007.4A patent/EP3528441B1/en active Active
- 2017-11-14 JP JP2019526244A patent/JP6682045B2/ja active Active
- 2017-11-14 US US16/461,563 patent/US11159341B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090067426A1 (en) * | 2007-02-09 | 2009-03-12 | Eun-Sook Ko | Join message load control system and method in network using PIM-SSM |
CN103166858A (zh) * | 2013-03-26 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
US20150009992A1 (en) * | 2013-07-08 | 2015-01-08 | Futurewei Technologies, Inc. | Communication Between Endpoints in Different VXLAN Networks |
CN105553848A (zh) * | 2014-10-22 | 2016-05-04 | 瞻博网络公司 | 针对数据中心互联的协议独立多播稀疏模式(pim-sm)的支持 |
CN104468394A (zh) * | 2014-12-04 | 2015-03-25 | 杭州华三通信技术有限公司 | 一种vxlan网络中报文转发方法及装置 |
CN105791072A (zh) * | 2014-12-22 | 2016-07-20 | 华为数字技术(苏州)有限公司 | 以太虚拟网络的接入方法及装置 |
US20160285761A1 (en) * | 2015-03-26 | 2016-09-29 | Cisco Technology, Inc. | Scalable handling of bgp route information in vxlan with evpn control plane |
CN106059932A (zh) * | 2016-08-08 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种路由表项生成方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021535698A (ja) * | 2018-08-23 | 2021-12-16 | アルカス インコーポレイテッド | ネットワークコンピューティング環境における第1ホップゲートウェイ冗長性 |
JP7475349B2 (ja) | 2018-08-23 | 2024-04-26 | アルカス インコーポレイテッド | ネットワークコンピューティング環境における第1ホップゲートウェイ冗長性 |
US11972306B2 (en) | 2018-08-23 | 2024-04-30 | Arrcus Inc. | Routing optimizations in a network computing environment |
US12106160B2 (en) | 2018-08-23 | 2024-10-01 | Arrcus Inc. | First hop gateway redundancy in a network computing environment |
US12308997B2 (en) | 2018-08-23 | 2025-05-20 | Arrcus Inc. | Asynchronous object manager in a network routing environment |
CN111010673A (zh) * | 2018-10-08 | 2020-04-14 | 华为技术有限公司 | 一种通信方法及装置 |
CN111010673B (zh) * | 2018-10-08 | 2021-05-11 | 华为技术有限公司 | 一种通信方法及装置 |
US11963242B2 (en) | 2018-10-08 | 2024-04-16 | Huawei Technologies Co., Ltd. | Communication method and apparatus |
CN111277500A (zh) * | 2020-01-15 | 2020-06-12 | 山东汇贸电子口岸有限公司 | 一种数据中心evpn组网多出口设计方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108075969B (zh) | 2020-01-03 |
JP2019536366A (ja) | 2019-12-12 |
JP6682045B2 (ja) | 2020-04-15 |
US20200067731A1 (en) | 2020-02-27 |
WO2018090907A1 (zh) | 2018-05-24 |
EP3528441A1 (en) | 2019-08-21 |
US11159341B2 (en) | 2021-10-26 |
EP3528441B1 (en) | 2022-07-13 |
EP3528441A4 (en) | 2019-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108075969B (zh) | 报文转发方法和装置 | |
US10050877B2 (en) | Packet forwarding method and apparatus | |
EP3211839B1 (en) | Split-horizon packet forwarding in a mh-pbb-evpn network | |
JP6234440B2 (ja) | Ietfevpn上での802.1aqのサポート | |
US9769088B2 (en) | Method and system for VTEP redundancy in a multichassis link aggregation domain | |
US20150023352A1 (en) | Implement equal cost multiple path of trill network | |
US20230155932A1 (en) | Multicast traffic transmission method and apparatus, communication node, and storage medium | |
US10523466B1 (en) | Aliasing in an active-active multi-homed PBB-EVPN network | |
CN102368727B (zh) | 跨ip网络的trill网络通信方法、系统和设备 | |
CN107040469A (zh) | 网络设备及方法 | |
CN107566263A (zh) | 用于evpn链路故障的层3会聚的方法及网络设备 | |
WO2017114196A1 (zh) | 一种报文处理方法、相关装置及nvo3网络系统 | |
CN109218178A (zh) | 一种报文处理方法及网络设备 | |
CN104378297A (zh) | 一种报文转发方法及设备 | |
US10110465B2 (en) | Distributed HSRP gateway in VxLAN flood and learn environment with faster convergence | |
WO2018233588A1 (zh) | 转发表项生成 | |
CN103841019B (zh) | 多归接入最短路径桥接网络的方法和装置 | |
US8902794B2 (en) | System and method for providing N-way link-state routing redundancy without peer links in a network environment | |
WO2017114153A1 (zh) | 基于业务功能链sfc的通信方法和装置 | |
CN101800691A (zh) | 一种建立网络中数据转发路径的方法、设备和系统 | |
CN115174312B (zh) | 广播信息发送方法、隧道端点设备、电子设备及介质 | |
CN104009919B (zh) | 报文转发方法及装置 | |
CN105991446A (zh) | Trill网络中三层组网及数据处理方法、设备和系统 | |
CN106452992B (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 |