报文转发方法和装置制造方法及图纸

技术编号:18053901 阅读:44 留言:0更新日期:2018-05-26 10:39
本申请提供了报文转发方法和装置。本申请中,将指定角色归属至的所有VTEP组成一个多归属组,多归属组中的成员对外体现共同的组地址,这使得本发明专利技术不仅应用于多归属组网,也能应用于多Board组网,也能避免多归属组网处理ES撤销消息的缺陷,实现网络快速收敛。

【技术实现步骤摘要】
报文转发方法和装置
本申请涉及网络通信技术,特别涉及报文转发方法和装置。
技术介绍
以太虚拟私有网络(EVPN:EthernetVirtualPrivateNetwork)协议中描述了多归属组网。所谓多归属组网,是指同一客户端设备归属至两个以上虚拟扩展局域网(VXLAN:VirtualeXtensibleLAN)隧道端点(VTEP:VXLANTunnelEndPoint)设备的组网。图1示出了多归属组网。在多归属组网中,同一客户端设备接入各个VTEP设备的链路使用同一以太段(ES:EthernetSegment)标识。客户端设备归属至的各个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:IntermediateSystem-to-IntermediateSystem)IS-IS协议,本申请并不具体限定。作为一个实施例,这里的私网侧路由可为二层路由或三层路由,简称MAC/IP路由。可以看出,在本专利技术中,预先将指定角色归属至的所有VTEP设备组成一个多归属组。之后,当指定角色归属至的任一VTEP设备学习上述私网侧路由时(下文会描述指定角色归属至的VTEP设备如何学习上述私网侧路由),VTEP设备以多归属组的组地址作为上述私网侧路由的下一跳通告给远端VTEP设备。如此,远端VTEP设备会确定该通告的私网侧路由的下一跳为指定角色归属至的所有V本文档来自技高网
...
报文转发方法和装置

【技术保护点】
一种报文转发方法,其特征在于,该方法应用于多归属组中的任一VXLAN隧道端点VTEP设备,所述多归属组由指定角色归属的所有的VTEP设备组成,该方法还包括:获取所述指定角色对应的私网侧路由,所述私网侧路由的下一跳为所述多归属组的组地址,通过路由协议将所述私网侧路由通告给非多归属组的远端VTEP设备,以使远端VTEP设备根据所述私网侧路由将发往所述指定角色的报文分发至所述多归属组中的VTEP设备;接收发往所述指定角色的报文,当本VTEP设备与所述指定角色之间的链路故障时,将所述报文发送至所述多归属组中的其他VTEP设备,以使其他VTEP设备将所述报文发送至所述指定角色。

【技术特征摘要】
1.一种报文转发方法,其特征在于,该方法应用于多归属组中的任一VXLAN隧道端点VTEP设备,所述多归属组由指定角色归属的所有的VTEP设备组成,该方法还包括:获取所述指定角色对应的私网侧路由,所述私网侧路由的下一跳为所述多归属组的组地址,通过路由协议将所述私网侧路由通告给非多归属组的远端VTEP设备,以使远端VTEP设备根据所述私网侧路由将发往所述指定角色的报文分发至所述多归属组中的VTEP设备;接收发往所述指定角色的报文,当本VTEP设备与所述指定角色之间的链路故障时,将所述报文发送至所述多归属组中的其他VTEP设备,以使其他VTEP设备将所述报文发送至所述指定角色。2.根据权利要求1所述的方法,其特征在于,所述多归属组中的VTEP设备之间串行建立端至端链路Peerlink;所述将报文发送至多归属组中的其他VTEP设备包括:确定报文携带的VXLAN标识VNI;对报文进行VXLAN解封装,将所述VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peerlink发送。3.根据权利要求2所述的方法,其特征在于,所述指定角色为客户端设备;当本VTEP设备与指定角色之间的链路故障时,该方法进一步包括:在本地路由表中找到满足以下条件的路由表项:出端口为本VTEP设备上连接故障链路的端口,将找到的路由表项中的出端口修改为本VTEP设备上的Peerlink端口;所述将VNI对应的VLAN标识携带在解封装后的报文中并通过间已建立的Peerlink发送包括:基于VNI和报文的目的地址在本地路由表中匹配路由表项,当匹配出的路由表项的出端口为Peerlink端口时,将VNI对应的VLAN标识携带在解封装后的报文中并通过匹配出的路由表项中的出端口发送。4.根据权利要求2所述的方法,其特征在于,所述VTEP设备为Board网关,所述指定角色为归属Board网关的外部网络;当本VTEP设备与所述指定角色之间的链路故障时,该方法进一步包括:在本地路由表中找到满足条件的路由表项并删除,所述条件为:出端口为本VTEP设备上连接故障链路的端口;所述将VNI对应的VLAN标识携带在解封装后的报文中并通过已建立的Peerlink发送包括:基于VNI和报文的目的地址在本地路由表中匹配设定的第一默认路由,将VNI对应的VLAN标识携带在解封装后的报文中并通过第一默认路由的出端口发送,第一默认路由的出端口为Peerlink端口。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设备上为接收到客户端设备发送的报文的私网侧端...

【专利技术属性】
技术研发人员:付志华
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1