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

技术编号:15519044 阅读:110 留言:0更新日期:2017-06-04 09:02
本发明专利技术实施例提供了一种报文转发方法及装置。所述方法的具体实施方式包括:当所述第一边缘设备检测到所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系、与所述目标虚拟机相连;获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;当所述第一边缘设备接收到发送至所述目标虚拟机的目标报文时,将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。本实施例能够在EVPN网络中的链路发生故障时防止数据丢失,避免因链路发生故障以及故障恢复而导致的网络拓扑的收敛。

【技术实现步骤摘要】
一种报文转发方法及装置
本专利技术涉及通信
,特别涉及一种报文转发方法及装置。
技术介绍
多归属链路是指以太虚拟专用网(EthernetVirtualPrivateNetwork,EVPN)中一个虚拟机与两个或两个以上的边缘设备建立连接的一种链路连接方式。以太虚拟专用网EVPN是建立于虚拟可扩展局域网(VirtualeXtensibleLocalAreaNetwork,VXLAN)上的一种网络。虚拟可扩展局域网VXLAN,是一种overlay的网络技术,即在传统网络上构造出一个虚拟网络,而传统网络不需要再做任何适配。它使用MACinUDP的方法对数据进行封装,即将原始报文封装在UDP报文中。VXLAN网络的基础架构包括其核心网络的边缘设备(VXLANTunnelEndPoint,VTEP)和用户端设备即虚拟机(VirtualMachine,VM)等。VXLAN网络的多个边缘设备通过BGP协议建立邻居关系,这些邻居边缘设备之间建立有传输报文的逻辑隧道,边缘设备与虚拟机之间建立有传输报文的链路。其中,一个虚拟机一般只与一个边缘设备建立链路,这种链路属于单归属链路,其无法实现负载分担,当虚拟机与边缘设备之间的链路发生故障时,将无法将报文发送至该虚拟机。而在EVPN网络中可以解决这种无法实现负载分担的问题。EVPN与VXLAN网络的最大区别是:EVPN网络可以实现负载分担,动态地建立边缘设备与虚拟机之间的链路,使一个虚拟机与两个或两个以上的边缘设备建立起链路,这种链路连接方式称为多归属链路。如图1所示,其中,虚拟机VM3与边缘设备VTEP2和VTEP3都建立了链路,虚拟机VM3的这种连接方式属于多归属链路;虚拟机VM1和VM2均与边缘设备VTEP1建立了链路,虚拟机VM1和VM2的这种连接方式属于单归属链路。当存在从虚拟机VM1发送至同一个逻辑二层网络中的VM3的数据业务时,VM1将业务发送至EVPN网络中的边缘设备VTEP1,VTEP1设备将业务数据进行VXLAN头、UDP头、IP头、MAC头等封装后使之成为VXLAN报文,然后再将该报文通过逻辑隧道发送至远端VTEP3设备,VTEP3设备将接收到的报文进行解封装,获得报文中的IP地址等信息,再将报文进行封装,并发送至该IP地址对应的目标虚拟机VM3。至此,报文发送过程结束。其中,封装后的报文中包含有源虚拟机和目的虚拟机的IP地址(网际协议地址)和MAC地址(物理地址)等信息。现有技术中,对于EVPN网络中的多归属链路的组网模式,一个虚拟机VM同时与多个VTEP设备建立了多个链路。当其中某个链路发生故障时,该链路对应的VTEP设备需要向其邻居边缘设备发送故障消息,以避免数据丢失。当故障链路恢复后,该链路对应的VTEP设备也需要向其邻居边缘设备发送故障修复消息,以恢复数据传输。但是,当故障已发生、故障消息发送到其他VTEP设备前的这段时间内,通过该链路发送的数据将会丢失。并且,发生故障时和故障修复时,VTEP设备都要向其邻居边缘设备发出通告,这会导致网络拓扑的收敛。对于大量的VTEP设备来说,当存在多个故障时,这种通告操作将消耗网络系统大量的资源。
技术实现思路
本专利技术实施例的目的在于提供了一种报文转发方法及装置,能够在EVPN网络中的链路发生故障时防止数据丢失,避免因链路发生故障以及故障恢复而导致的网络拓扑的收敛。为了达到上述目的,本专利技术公开了一种报文转发方法,应用于以太虚拟专用网EVPN网络中的第一边缘设备,所述第一边缘设备与目标虚拟机之间形成第一链路,目标虚拟机与两个或两个以上的边缘设备相连,所述方法包括:当所述第一边缘设备检测到所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系、与所述目标虚拟机相连;获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;当所述第一边缘设备接收到发送至所述目标虚拟机的目标报文时,将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。为了达到上述目的,本专利技术还公开了一种报文转发装置,应用于以太虚拟专用网EVPN网络中的第一边缘设备,所述第一边缘设备与目标虚拟机之间形成第一链路,目标虚拟机与两个或两个以上的边缘设备相连,所述装置包括:检测模块,用于检测所述第一链路是否发生故障;选择模块,用于当所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系、与所述目标虚拟机相连;获得模块,用于获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;接收模块,用于接收发送至所述目标虚拟机的目标报文;转发模块,用于将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。由上述技术方案可见,本专利技术实施例中,当第一边缘设备检测到第一链路发生故障时,第一边缘设备选择一个第一邻居边缘设备作为第二边缘设备,获得其与第二边缘设备的第一逻辑隧道;当第一边缘设备接收到目标报文时,将目标报文通过所述第一逻辑隧道发送至第二边缘设备,以使第二边缘设备将其转发至目标虚拟机。其中,第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系,并且与所述目标虚拟机相连。也就是说,第一边缘设备在第一链路发生故障时会选择一个与目标虚拟机相连的邻居边缘设备,并利用第一边缘设备与该邻居边缘设备之间的逻辑隧道转发目标报文,最终使目标报文转发至目标虚拟机,因此,本专利技术实施例能够在链路发生故障时防止数据丢失,避免因链路故障以及故障恢复而导致的网络拓扑的收敛。当然,实施本专利技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为多归属链路的链路连接示意图;图2为本专利技术实施例提供的报文转发方法的一种流程示意图;图3为本专利技术实施例提供的图2中步骤S101的具体流程示意图;图4为一个例子中邻居边缘设备之间的连接关系示意图;图5为本专利技术实施例提供的报文转发装置的一种结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种报文转发方法及装置,应用于EVPN网络中的第一边缘设备,能够在链路发生故障时防止数据丢失,避免因链路故障以及故障恢复而导致的网络拓扑的收敛。需要说明的是,在本专利技术实施例中,EVPN网络包括多个边缘设备,边缘设备之间有已建立的连接,边缘设备与用户端的虚拟机之间也有已建立的连接,虚拟机之间的报文通过EVPN网络中的多个边缘设备进行传输。在本实施例中,将边缘设备之间建立本文档来自技高网
...
一种报文转发方法及装置

【技术保护点】
一种报文转发方法,其特征在于,应用于以太虚拟专用网EVPN网络中的第一边缘设备,所述第一边缘设备与目标虚拟机之间形成第一链路,目标虚拟机与两个或两个以上的边缘设备相连,所述方法包括:当所述第一边缘设备检测到所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系、与所述目标虚拟机相连;获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;当所述第一边缘设备接收到发送至所述目标虚拟机的目标报文时,将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。

【技术特征摘要】
1.一种报文转发方法,其特征在于,应用于以太虚拟专用网EVPN网络中的第一边缘设备,所述第一边缘设备与目标虚拟机之间形成第一链路,目标虚拟机与两个或两个以上的边缘设备相连,所述方法包括:当所述第一边缘设备检测到所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系、与所述目标虚拟机相连;获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;当所述第一边缘设备接收到发送至所述目标虚拟机的目标报文时,将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。2.根据权利要求1所述的方法,其特征在于,所述第一边缘设备中存储有:与所述第一边缘设备相连的链路的链路信息,以及与所述第一邻居边缘设备相连的链路的链路信息;每条链路的链路信息包括:该链路所连接的边缘设备的地址信息和该链路对应的虚拟机标识;所述选择一个第一邻居边缘设备作为第二边缘设备,包括:根据所述第一链路对应的虚拟机标识以及所述第一边缘设备存储的链路的链路信息,获得虚拟机标识与所述第一链路相同的第二链路,并将第二链路对应的邻居边缘设备确定为第一邻居边缘设备;根据第二链路的链路信息,从所述第一邻居边缘设备中选择一个边缘设备作为第二边缘设备。3.根据权利要求2所述的方法,其特征在于,当获得的第二链路有多条时,所述根据第二链路的链路信息,从所述第一邻居边缘设备中选择一个边缘设备作为第二边缘设备,包括:获得每个所述第二链路对应的第一邻居边缘设备的地址信息;将地址信息满足第一预设规则的第一邻居边缘设备,确定为所述第二边缘设备。4.根据权利要求2所述的方法,其特征在于,当获得的第二链路有多条时,所述根据第二链路的链路信息,从所述第一邻居边缘设备中选择一个边缘设备作为第二边缘设备,包括:检测每个第二链路对应的第一邻居边缘设备与所述第一边缘设备之间是否已建立逻辑隧道;从第二邻居边缘设备中选择一个边缘设备作为第二边缘设备,所述第二邻居边缘设备为与所述第一边缘设备已建立逻辑隧道的第一邻居边缘设备。5.根据权利要求4所述的方法,其特征在于,所述第一边缘设备中存储有:所述第一边缘设备与第二邻居边缘设备之间的跳数;所述从第二邻居边缘设备中选择一个边缘设备作为第二边缘设备,包括:获取所述第一边缘设备与每个第二邻居边缘设备之间的跳数;将跳数满足第二预设规则的第二邻居边缘设备确定为所述第二边缘设备。6.根据权利要求1~5任一项所述的方法,其特征在于,所述获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道,包括:判断所述第一边缘设备与所述第二边缘设备之间是否已建立逻辑隧道,如果是,则将已建立的逻辑隧道确定为第一逻辑隧道;否则,在所述第一边缘设备与所述第二边缘设备之间建立逻辑隧道,并将建立的逻辑隧道确定为第一逻辑隧道。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述第一边缘设备检测到所述第一链路恢复连接时,停用所述第一逻辑隧道,并通过已恢复的第一链路转发所述目标报文。8.一种报文转发装置,其特征在于,应用于以太虚拟专用网EVPN网络中的第一边缘设备,所述第一边缘设备与用户端的目标虚拟机之间形成第一链路,同一个虚拟机与两个或两个以上边缘设备相连...

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

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

1