基于mlag双归接入evpn的流量转发方法及装置
技术领域
1.本发明涉及计算机网络技术领域,尤其涉及一种基于mlag双归接入evpn的流量转发方法及装置。
背景技术:2.在基于跨设备链路聚合组(multi-chassis link aggregation group,mlag)双归接入以太网虚拟专用网络(ethernet virtual private network,evpn)的场景下,用户侧边缘设备(customer edge,ce)可以双归接入两台网络侧边缘设备(provider edge,pe),以ce1双归接入pe1和pe2为例,ce1与pe1之间的链路可以是主链路,ce1与pe2之间的链路可以是备链路,待发送至ce1的下行流量可以通过负载分担的方式到达pe1和pe2。若pe2的接入侧链路(也即备链路)出现故障,到达pe2的下行流量,可以通过路由优选,将流量通过pe1绕行指向ce1。但若pe1的接入侧链路(也即主链路)出现故障,到达pe1的下行流量将被直接丢弃,导致丢包。如何在主链路故障的情况下防止流量丢包是目前业界亟待解决的问题。
技术实现要素:3.针对现有技术存在的问题,本发明实施例提供一种基于mlag双归接入evpn的流量转发方法及装置。
4.第一方面,本发明提供一种基于mlag双归接入evpn的流量转发方法,应用于第一网络侧边缘设备pe,包括:
5.在主链路故障的情况下,基于所述主链路对应的目标以太网段唯一标识esi,确定目标esi所关联的第一媒体接入控制/互联网协议mac/ip路由,第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
6.基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,所述目标流量为待发送至目标用户侧边缘设备ce的流量;
7.其中,目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路,所述第一mac/ip路由为所述第二pe转发流量至所述目标ce所采用的本地路由,所述第一mac/ip路由的路由属性是所述第二pe通过新增边界网关协议bgp扩展团体属性的方式所配置的。
8.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发方法,在所述目标ce的mac地址表项和所述目标ce的arp表项由不同pe学习得到的情况下,所述基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,包括:
9.基于所述第一mac/ip路由,配置第二mac/ip路由的出口指向所述第二pe,以及配置第一表项的出口指向所述第二pe;
10.所述第二mac/ip路由为所述第一pe转发流量至所述目标ce所采用的本地路由,所述第一表项为所述第一pe的邻居表中所述目标ce对应的表项。
11.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发方法,在所述目标ce的mac地址表项和所述目标ce的arp表项由同一个pe学习得到的情况下,在所述基于所述第一mac/ip路由,配置目标流量的出口指向第二pe之前,还包括:
12.删除所述目标esi所关联的本地mac/ip路由,并发送目标消息至所述第二pe,所述目标消息用于指示所述第二pe删除所述目标esi所关联的本地mac/ip路由;
13.所述基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,包括:
14.基于所述第一mac/ip路由,配置第一表项的出口指向所述第二pe;
15.所述第一表项为所述第一pe的邻居表中所述目标ce对应的表项。
16.第二方面,本发明还提供一种基于mlag双归接入evpn的流量转发方法,应用于第二pe,包括:
17.基于主链路对应的目标esi,确定所述目标esi所关联的第一mac/ip路由,所述第一mac/ip路由为所述第二pe转发流量至目标ce所采用的本地路由;
18.通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
19.其中,所述目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路。
20.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发方法,在所述通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性之后,还包括:
21.判断是否接收到所述第一pe发送的目标消息,所述目标消息用于指示所述第二pe删除所述目标esi所关联的本地mac/ip路由;
22.若确定接收到所述第一pe发送的所述目标消息,启动慢删定时器;
23.所述慢删定时器用于在预设定时时长内,保持所述第一mac/ip路由的出口指向本地接入侧。
24.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发方法,在所述通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性之后,还包括:
25.在所述备链路故障的情况下,确定所述目标esi所关联的第二mac/ip路由,所述第二mac/ip路由为所述第一pe转发流量至所述目标ce所采用的本地路由;
26.基于所述第二mac/ip路由,配置所述第一mac/ip路由的出口指向所述第一pe,以及配置第二表项的出口指向所述第一pe;
27.所述第二表项为所述第二pe的邻居表中所述目标ce对应的表项。
28.第三方面,本发明还提供一种基于mlag双归接入evpn的流量转发装置,应用于第一pe,包括:
29.第一确定模块,用于在主链路故障的情况下,基于所述主链路对应的目标以太网段唯一标识esi,确定目标esi所关联的第一媒体接入控制/互联网协议mac/ip路由,第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
30.第一配置模块,用于基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,所述目标流量为待发送至目标ce的流量;
31.其中,所述目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路,所述第一mac/ip路由为所述第二pe转发流量至所述目标ce所采用的本地路由,所述第一mac/ip路由的路由属性是所述第二pe通过新增边界网关协议bgp扩展团体属性的方式所配置的。
32.第四方面,本发明还提供一种基于mlag双归接入evpn的流量转发装置,应用于第二pe,包括:
33.第二确定模块,用于基于主链路对应的目标esi,确定所述目标esi所关联的第一mac/ip路由,所述第一mac/ip路由为所述第二pe转发流量至目标ce所采用的本地路由;
34.第二配置模块,用于通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
35.其中,所述目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路。
36.第五方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于mlag双归接入evpn的流量转发方法。
37.第六方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于mlag双归接入evpn的流量转发方法。
38.本发明提供的基于mlag双归接入evpn的流量转发方法及装置,通过在主链路故障的情况下,确定目标esi所关联的第一mac/ip路由,第一mac/ip路由为第二pe转发流量至目标ce所采用的本地路由,且第一mac/ip路由的路由属性为预设属性值,也即目标esi所关联的路由中存在路由属性为代理属性的mac/ip路由,进而可以基于第一mac/ip路由,配置目标流量的出口指向第二pe,能够将目标流量的转发至第二pe,以通过第二pe将目标流量转发至目标ce,通过新增bgp扩展团体属性的方式,双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组,能够实现在主链路故障的情况下防止流量丢包。
附图说明
39.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1是相关技术提供的evpn-vxlan组网的示意图;
41.图2是相关技术提供的evpn-vxlan接入侧主链路故障场景的示意图;
42.图3是本发明提供的基于mlag双归接入evpn的流量转发方法的流程示意图之一;
43.图4是本发明提供的双归设备相同esi对应的mac/ip形成保护组的示意图;
44.图5是本发明提供的evpn-vxlan接入侧主链路故障场景流量绕行的示意图;
45.图6是本发明提供的基于mlag双归接入evpn的流量转发方法的流程示意图之二;
46.图7是本发明提供的双归设备备链路故障场景流量绕行的示意图;
47.图8是本发明提供的基于mlag双归接入evpn的流量转发装置的结构示意图之一;
48.图9是本发明提供的基于mlag双归接入evpn的流量转发装置的结构示意图之二;
49.图10是本发明提供的电子设备的结构示意图。
具体实施方式
50.为了便于更加清晰地理解本发明各实施例,首先对一些相关的背景知识进行如下介绍。
51.图1是相关技术提供的evpn-vxlan组网的示意图,如图1所示,在基于mlag双归接入evpn的场景下,evpn-可扩展虚拟局域网络(virtual extensible lan,vxlan)组网的配置方案包括:
52.(1)ce1与pe1和pe2之间部署m-lag;
53.(2)ce1双归接入pe1和pe2,部署相同的以太网段唯一标识(ethernet segment identifier,esi);
54.(3)pe1、pe2和pe3两两建立边界网关协议(border gateway protocol,bgp)evpn邻居,pe1和pe2之间部署实vxlan隧道端点(vxlan tunnel end point,vtep)和实媒体接入控制(medium access control,mac)地址,pe1和pe2与pe3之间部署虚vtep和虚mac,对于pe3而言,pe1和pe2被虚拟为一台设备;
55.(4)pe1学习到ce1的地址解析协议(address resolution protocol,arp)表项,生成本地arp,通过evpn邻居传递到双归pe2和pe3;pe2收到pe1的arp,结合本地以太网段(ethernet segment,es)进行快速重路由(fast reroute,frr),将arp指向本地接入侧(ac)口(指向ce1出口);
56.(5)ce2访问ce1时,流量到达pe3,pe3通过负载分担的形式,部分到达pe1,部分到达pe2,然后直接到达ce1。
57.图2是相关技术提供的evpn-vxlan接入侧主链路故障场景的示意图,如图2所示,ce2访问ce1,数据包到达pe3,下行流量通过等价多路径路由(equal cost multi path,ecmp)方式到达pe1和pe2。如图2所示,若pe2的接入侧链路故障(down掉),pe3的流量到达pe2后,通过路由优选,将流量通过pe1绕行指向ce1。若pe1的接入侧链路down掉,此时pe3到达pe1的流量将被直接丢弃,导致丢包。
58.为了克服上述缺陷,本发明提供一种基于mlag双归接入evpn的流量转发方法及装置,通过针对同一esi所关联的媒体接入控制(medium access control,mac)/互联网协议(internet protocol,ip)路由在接入侧和隧道侧形成一个保护组,可以实现在主链路故障的情况下防止流量丢包。
59.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.图3是本发明提供的基于mlag双归接入evpn的流量转发方法的流程示意图之一,如图3所示,所述流量转发方法的执行主体可以是pe。该方法包括:
61.步骤301,在主链路故障的情况下,基于所述主链路对应的目标以太网段唯一标识esi,确定目标esi所关联的第一媒体接入控制/互联网协议mac/ip路由,第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
62.其中,目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路,所述第一mac/ip路由为所述第二pe转发流量至所述目标ce所采用的本地路由,所述第一mac/ip路由的路由属性是所述第二pe通过新增边界网关协议bgp扩展团体属性的方式所配置的。
63.具体地,在基于mlag双归接入evpn的场景下,目标ce可以双归接入第一pe和第二pe,目标ce与第一pe之间的链路可以为主链路,目标ce与第二pe之间的链路可以为备链路;第二mac/ip路由可以是由第一pe生成的,该第二mac/ip路由为第一pe转发流量至目标ce所采用的本地路由;第一mac/ip路由可以是由第二pe生成的,该第一mac/ip路由为第二pe转发流量至目标ce所采用的本地路由,且第一mac/ip路由的路由属性可以是预设属性值;第一mac/ip路由和第二mac/ip路由具有相同的esi,也即目标esi。
64.可以理解的是,第二pe通过新增bgp扩展团体属性的方式配置路由属性为预设属性值,由于该预设属性值表征第一mac/ip路由具有代理属性,因而双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。
65.可以理解的是,为了不同站点之间可以相互学习对方的mac信息,evpn在bgp协议的基础上定义了一种网络层可达信息(network layer reachability information,nlri),被称为evpn nlri。evpn nlri中包含若干种常用的evpn路由类型,mac/ip路由是evpn type2路由,也即mac/ip地址通告路由(mac/ip advertisement route)。
66.具体地,在主链路故障的情况下,可以基于主链路对应的目标esi,确定目标esi所关联的路由属性为代理属性的mac/ip路由,也即第一mac/ip路由,进而可以基于第一mac/ip路由,配置待发送至目标ce的流量。
67.步骤302,基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,所述目标流量为待发送至目标用户侧边缘设备ce的流量。
68.具体地,在确定目标esi所关联的第一mac/ip路由之后,第一mac/ip路由为第一pe转发流量至目标ce所采用的本地路由,可以配置目标流量的出口指向第二pe,能够将目标流量的转发至第二pe,以通过第二pe将目标流量转发至目标ce。双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。
69.可选地,图4是本发明提供的双归设备相同esi对应的mac/ip形成保护组的示意图,如图4所示,第一pe可以是pe1,第二pe可以是pe2,目标ce可以是ce1,双归设备(pe1和pe2)之间的mac/ip路由,通过新增bgp扩展团体属性的方式,形成一个保护组。比如pe1学到ce1的mac/ip路由,生成一条本地mac/ip路由数据,可以通过bgp方式传递给pe2,pe2可以根据路由中携带的esi与本地esi匹配一致,并且esi对应的接口状态正常(up),pe2可以将该mac/ip路由快速重路由本地化,同时生成一条本地mac/ip路由(也即第一mac/ip路由),路由属性为代理(proxy)属性(也即预设属性值),通过bgp扩展团体的方式传递给pe1(例如type字段值为0x06,subtype字段值为0x08,val占用第三个字节,值为0x04),因此该条mac/ip路由在双归设备之间并形成了一个保护组。
70.可选地,图5是本发明提供的evpn-vxlan接入侧主链路故障场景流量绕行的示意图,如图5所示,在基于mlag双归接入evpn的场景下,ce1可以双归接入pe1和pe2,ce1与pe1之间的链路可以为主链路,ce1与pe2之间的链路可以为备链路;第二mac/ip路由可以是由pe1生成的,该第二mac/ip路由为pe1转发流量至ce1所采用的本地路由;第一mac/ip路由可以是由pe2生成的,该第一mac/ip路由为pe2转发流量至ce1所采用的本地路由,且第一mac/ip路由的路由属性可以是预设属性值;第一mac/ip路由和第二mac/ip路由具有相同的esi(如图5中的es1),也即目标esi。
71.可选地,如图5所示,在主链路故障的情况下,可以基于主链路对应的目标esi,确定目标esi所关联的路由属性为代理属性的mac/ip路由,也即第一mac/ip路由,进而可以基于第一mac/ip路由,配置待发送至ce1的流量。
72.可选地,如图5所示,在确定目标esi所关联的第一mac/ip路由之后,第一mac/ip路由为pe1转发流量至ce1所采用的本地路由,可以配置目标流量的出口指向pe2,能够将目标流量的转发至pe2,以通过pe2将目标流量转发至ce1。双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。
73.可见,在主链路故障的情况下,evpn能够在ac侧和隧道侧进行相应地切换,防止流量丢包,也即双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。而且在形成该保护组后,针对接入侧链路误down处理,能够有效防抖动。
74.本发明提供的基于mlag双归接入evpn的流量转发方法,通过在主链路故障的情况下,确定目标esi所关联的第一mac/ip路由,第一mac/ip路由为第二pe转发流量至目标ce所采用的本地路由,且第一mac/ip路由的路由属性为预设属性值,也即目标esi所关联的路由中存在路由属性为代理属性的mac/ip路由,进而可以基于第一mac/ip路由,配置目标流量的出口指向第二pe,能够将目标流量的转发至第二pe,以通过第二pe将目标流量转发至目标ce,通过新增bgp扩展团体属性的方式,双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组,能够实现在主链路故障的情况下防止流量丢包。
75.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发方法,在所述目标ce的mac地址表项和所述目标ce的arp表项由不同pe学习得到的情况下,所述基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,包括:
76.基于所述第一mac/ip路由,配置第二mac/ip路由的出口指向所述第二pe,以及配置第一表项的出口指向所述第二pe;
77.所述第二mac/ip路由为所述第一pe转发流量至所述目标ce所采用的本地路由,所述第一表项为所述第一pe的邻居表中所述目标ce对应的表项。
78.具体地,在主链路故障的情况下,针对第一场景(也即目标ce的mac地址表项和目标ce的arp表项由不同pe学习得到的场景),可以基于主链路对应的目标esi,确定目标esi所关联的具有代理属性的mac/ip路由,也即第一mac/ip路由,第一mac/ip路由为第二pe转发流量至目标ce所采用的本地路由,进而可以配置第二mac/ip路由的出口指向第二pe,以及配置第一表项的出口指向第二pe,进而可以通过查询邻居表,确定目标流量的出口,能够将目标流量的转发至第二pe,以通过第二pe将目标流量转发至目标ce。可见,双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。
79.可选地,如图5所示,在主链路down的情况下,针对上述第一场景,本地arp出口依
旧指向本地ac口,pe1感知主链路down时,根据该接口对应的esi,查询关联的mac/ip路由,如果存在proxy属性的mac/ip路由,将mac/ip的出口刷新为指向proxy关联的下一跳,即指向pe2的隧道侧。当ce2访问ce1,流量经过pe3负载分担到达pe1的流量,进行vxlan封装,将流量引导至pe2,pe2进行vxlan解封装,查询本地出口,进而到达ce1。
80.因此,在主链路故障的情况下,针对目标ce的mac地址表项和目标ce的arp表项由不同pe学习得到的场景,双归pe能够将目标流量转发至目标ce,能够防止流量丢包。
81.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发方法,在所述目标ce的mac地址表项和所述目标ce的arp表项由同一个pe学习得到的情况下,在所述基于所述第一mac/ip路由,配置目标流量的出口指向第二pe之前,还包括:
82.删除所述目标esi所关联的本地mac/ip路由,并发送目标消息至所述第二pe,所述目标消息用于指示所述第二pe删除所述目标esi所关联的本地mac/ip路由;
83.所述基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,包括:
84.基于所述第一mac/ip路由,配置第一表项的出口指向所述第二pe;
85.所述第一表项为所述第一pe的邻居表中所述目标ce对应的表项。
86.具体地,在主链路故障的情况下,针对第二场景(也即目标ce的mac地址表项和目标ce的arp表项由同一个pe学习得到的场景),mac出口无效,第一pe可以删除目标esi所关联的本地mac/ip路由,并发送目标消息至第二pe,以指示第二pe删除目标esi所关联的本地mac/ip路由。
87.可以理解的是,第二pe在收到目标消息之后,可以启动慢删定时器,慢删定时器可以用于在预设定时时长内,保持第一mac/ip路由的出口指向本地接入侧,在预设定时时长内第一pe能够感知到目标esi所关联的具有代理属性的mac/ip路由还存在,也即在预设定时时长内第一pe能够确定目标esi所关联的第一mac/ip路由。
88.具体地,在上述第二场景下,第一pe能够确定目标esi所关联的第一mac/ip路由,第一mac/ip路由为第二pe转发流量至目标ce所采用的本地路由,进而可以配置第一表项的出口指向第二pe,进而可以通过查询邻居表,确定目标流量的出口,能够将目标流量的转发至第二pe,以通过第二pe将目标流量转发至目标ce。可见,双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。
89.可选地,如图5所示,在主链路down的情况下,针对上述第二场景,mac出口无效,导致控制面的pe1的mac/ip路由(也即第二mac/ip路由)删除,并通知双归pe2撤销。pe2收到mac/ip路由撤销消息,启动慢删定时器,在定时器周期内,pe2设备上该mac/ip(也即第一mac/ip路由)依旧指向本地ac口。pe1设备上感知es down时,该esi对应的mac/ip还存在,并且是proxy属性,此时pe1将底层邻居(neigh)表刷新为proxy路由关联下一跳对应的隧道侧。
90.可选地,如图5所示,在定时器周期内,ce2访问ce1,流量经过pe3通过负载分担的方式到达pe1时,pe1查询neigh表,出口指向pe2,进行vxlan封装。待流量到达pe2时,vxlan解封装,查询pe2本地表项,将流量引流至ce1。待pe2慢删定时器时间到,pe1和pe2的neigh表均被删除,后续通过流量触发重新arp学习。
91.因此,在主链路故障的情况下,针对目标ce的mac地址表项和目标ce的arp表项由同一个pe学习得到的场景,双归pe能够将目标流量转发至目标ce,能够防止流量丢包。
92.本发明提供的基于mlag双归接入evpn的流量转发方法,通过在主链路故障的情况下,确定目标esi所关联的第一mac/ip路由,第一mac/ip路由为第二pe转发流量至目标ce所采用的本地路由,且第一mac/ip路由的路由属性为预设属性值,也即目标esi所关联的路由中存在路由属性为代理属性的mac/ip路由,进而可以基于第一mac/ip路由,配置目标流量的出口指向第二pe,能够将目标流量的转发至第二pe,以通过第二pe将目标流量转发至目标ce,通过新增bgp扩展团体属性的方式,双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组,能够实现在主链路故障的情况下防止流量丢包。
93.图6是本发明提供的基于mlag双归接入evpn的流量转发方法的流程示意图之二,如图6所示,所述流量转发方法的执行主体可以是pe。该方法包括:
94.步骤601,基于主链路对应的目标esi,确定所述目标esi所关联的第一mac/ip路由,所述第一mac/ip路由为所述第二pe转发流量至目标ce所采用的本地路由;
95.其中,所述目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路。
96.具体地,在基于mlag双归接入evpn的场景下,目标ce可以双归接入第一pe和第二pe,目标ce与第一pe之间的链路可以为主链路,目标ce与第二pe之间的链路可以为备链路;第二mac/ip路由可以是由第一pe生成的,该第二mac/ip路由为第一pe转发流量至目标ce所采用的本地路由;第一mac/ip路由可以是由第二pe生成的,该第一mac/ip路由为第二pe转发流量至目标ce所采用的本地路由;第一mac/ip路由和第二mac/ip路由具有相同的esi,也即目标esi。
97.具体地,为了针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组,第二pe可以基于主链路对应的目标esi,确定目标esi所关联的第一mac/ip路由,进而可以为第一mac/ip路由配置路由属性。
98.步骤602,通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性。
99.具体地,在确定目标esi所关联的第一mac/ip路由之后,可以通过新增bgp扩展团体属性的方式,配置第一mac/ip路由的路由属性为预设属性值,由于该预设属性值表征第一mac/ip路由具有代理属性,因而双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。
100.可以理解的是,在主链路故障的情况下,第一pe可以通过主链路对应的目标esi,确定目标esi所关联的具有代理属性的mac/ip路由,也即第一mac/ip路由,由于第一mac/ip路由为第二pe转发流量至目标ce所采用的本地路由,因而第一pe会配置目标流量(也即待发送至目标ce的流量,该流量经由第一pe转发)的出口指向第二pe,进而通过第二pe将目标流量转发至目标ce。可见,双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。
101.本发明提供的基于mlag双归接入evpn的流量转发方法,通过新增bgp扩展团体属性的方式,配置第一mac/ip路由的路由属性为预设属性值,由于该预设属性值表征第一mac/ip路由具有代理属性,因而双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组,以使第一pe在主链路故障的情况下可以配置目标流量的出口指向
第二pe,保证目标流量能够通过第二pe转发至目标ce。
102.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发方法,在所述通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性之后,还包括:
103.判断是否接收到所述第一pe发送的目标消息,所述目标消息用于指示所述第二pe删除所述目标esi所关联的本地mac/ip路由;
104.若确定接收到所述第一pe发送的所述目标消息,启动慢删定时器;
105.所述慢删定时器用于在预设定时时长内,保持所述第一mac/ip路由的出口指向本地接入侧。
106.可以理解的是,在主链路故障的情况下,针对第二场景(也即目标ce的mac地址表项和目标ce的arp表项由同一个pe学习得到的场景),mac出口无效,第一pe可以删除目标esi所关联的本地mac/ip路由,并发送目标消息至第二pe,以指示第二pe删除目标esi所关联的本地mac/ip路由。
107.具体地,为了在第二场景下,保证双归pe能够将目标流量转发至目标ce,第二pe可以接收到第一pe发送的目标消息之后,启动慢删定时器,慢删定时器可以用于在预设定时时长内,保持第一mac/ip路由的出口指向本地接入侧。
108.可以理解的是,在预设定时时长内第一pe能够感知到目标esi所关联的具有代理属性的mac/ip路由还存在,也即在预设定时时长内第一pe能够确定目标esi所关联的第一mac/ip路由,第一mac/ip路由为第二pe转发流量至目标ce所采用的本地路由,进而第一pe可以配置目标流量(也即待发送至目标ce的流量,该流量经由第一pe转发)的出口指向第二pe,进而通过第二pe将目标流量转发至目标ce。可见,双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。
109.因此,在主链路故障的情况下,针对目标ce的mac地址表项和目标ce的arp表项由同一个pe学习得到的场景,通过第二pe启动慢删定时器,可以实现双归pe能够将目标流量转发至目标ce,防止流量丢包。
110.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发方法,在所述通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性之后,还包括:
111.在所述备链路故障的情况下,确定所述目标esi所关联的第二mac/ip路由,所述第二mac/ip路由为所述第一pe转发流量至所述目标ce所采用的本地路由;
112.基于所述第二mac/ip路由,配置所述第一mac/ip路由的出口指向所述第一pe,以及配置第二表项的出口指向所述第一pe;
113.所述第二表项为所述第二pe的邻居表中所述目标ce对应的表项。
114.具体地,在备链路故障的情况下,第二pe可以基于目标esi,确定目标esi所关联的第二mac/ip路由,第二mac/ip路由为第一pe转发流量至目标ce所采用的本地路由,进而第二pe可以配置第一mac/ip路由的出口指向第一pe,以及配置第二表项的出口指向第一pe,进而第二pe可以将经由第二pe转发的流量(该流量待转发至目标ce)发送至第一pe,通过第一pe将该流量转发至目标ce。可见,双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。
115.可选地,图7是本发明提供的双归设备备链路故障场景流量绕行的示意图,如图7所示,第一pe可以是pe1,第二pe可以是pe2,目标ce可以是ce1,备链路down时,pe2上本地以
太分段-自动发现(es-ad)路由撤销。同时pe2针对该esi对应的从双归侧过来的mac/ip路由(也即第一mac/ip路由),快速进行mac/ip出口刷新,由ac侧刷新为隧道侧(指向pe1),进而将该mac/ip对应的neigh表刷新为指向隧道侧。
116.可选地,如图7所示,当ce2访问ce1时,流量到pe3经过负载分担到达pe2的流量,pe2上通过vxlan封装到达pe1后进行解封装,进而到达ce1。保证备链路down时,转发不会丢包。当备链路up后,pe2快速重路由,指向本地ac口,因而到pe2的流量不会经过pe1绕行,直接通过本地的ac口到达ce1。
117.可见,在备链路故障的情况下,evpn能够在ac侧和隧道侧进行相应地切换,防止流量丢包,也即双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组。而且在形成该保护组后,针对接入侧链路误down处理,能够有效防抖动。
118.因此,在备链路故障的情况下,通过配置流量的出口指向第一pe,可以将流量转发至第一pe,在经由第一pe转发至目标ce,双归pe能够将目标流量转发至目标ce,能够防止流量丢包。
119.本发明提供的基于mlag双归接入evpn的流量转发方法,通过新增bgp扩展团体属性的方式,配置第一mac/ip路由的路由属性为预设属性值,由于该预设属性值表征第一mac/ip路由具有代理属性,因而双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组,以使第一pe在主链路故障的情况下可以配置目标流量的出口指向第二pe,保证目标流量能够通过第二pe转发至目标ce。
120.下面对本发明提供的基于mlag双归接入evpn的流量转发装置进行描述,下文描述的基于mlag双归接入evpn的流量转发装置与上文描述的基于mlag双归接入evpn的流量转发方法可相互对应参照。
121.图8是本发明提供的基于mlag双归接入evpn的流量转发装置的结构示意图之一,如图8所示,该装置可以应用于第一pe,该装置包括:第一确定模块801和第一配置模块802,其中:
122.第一确定模块801,用于在主链路故障的情况下,基于所述主链路对应的目标以太网段唯一标识esi,确定目标esi所关联的第一媒体接入控制/互联网协议mac/ip路由,第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
123.第一配置模块802,用于基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,所述目标流量为待发送至目标ce的流量;
124.其中,所述目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路,所述第一mac/ip路由为所述第二pe转发流量至所述目标ce所采用的本地路由,所述第一mac/ip路由的路由属性是所述第二pe通过新增边界网关协议bgp扩展团体属性的方式所配置的。
125.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发装置,在所述目标ce的mac地址表项和所述目标ce的arp表项由不同pe学习得到的情况下,所述第一配置模块具体用于:
126.基于所述第一mac/ip路由,配置第二mac/ip路由的出口指向所述第二pe,以及配
置第一表项的出口指向所述第二pe;
127.所述第二mac/ip路由为所述第一pe转发流量至所述目标ce所采用的本地路由,所述第一表项为所述第一pe的邻居表中所述目标ce对应的表项。
128.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发装置,所述装置还包括删除模块,在所述目标ce的mac地址表项和所述目标ce的arp表项由同一个pe学习得到的情况下,在所述基于所述第一mac/ip路由,配置目标流量的出口指向第二pe之前,所述删除模块用于:
129.删除所述目标esi所关联的本地mac/ip路由,并发送目标消息至所述第二pe,所述目标消息用于指示所述第二pe删除所述目标esi所关联的本地mac/ip路由;
130.所述第一配置模块具体用于:
131.基于所述第一mac/ip路由,配置第一表项的出口指向所述第二pe;
132.所述第一表项为所述第一pe的邻居表中所述目标ce对应的表项。
133.本发明提供的基于mlag双归接入evpn的流量转发装置,通过在主链路故障的情况下,确定目标esi所关联的第一mac/ip路由,第一mac/ip路由为第二pe转发流量至目标ce所采用的本地路由,且第一mac/ip路由的路由属性为预设属性值,也即目标esi所关联的路由中存在路由属性为代理属性的mac/ip路由,进而可以基于第一mac/ip路由,配置目标流量的出口指向第二pe,能够将目标流量的转发至第二pe,以通过第二pe将目标流量转发至目标ce,通过新增bgp扩展团体属性的方式,双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组,能够实现在主链路故障的情况下防止流量丢包。
134.图9是本发明提供的基于mlag双归接入evpn的流量转发装置的结构示意图之二,如图9所示,该装置可以应用于第二pe,该装置包括:第二确定模块901和第二配置模块902,其中:
135.第二确定模块901,用于基于主链路对应的目标esi,确定所述目标esi所关联的第一mac/ip路由,所述第一mac/ip路由为所述第二pe转发流量至目标ce所采用的本地路由;
136.第二配置模块902,用于通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
137.其中,所述目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路。
138.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发装置,所述装置还包括定时模块,在所述通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性之后,所述定时模块用于:
139.判断是否接收到所述第一pe发送的目标消息,所述目标消息用于指示所述第二pe删除所述目标esi所关联的本地mac/ip路由;
140.若确定接收到所述第一pe发送的所述目标消息,启动慢删定时器;
141.所述慢删定时器用于在预设定时时长内,保持所述第一mac/ip路由的出口指向本地接入侧。
142.可选地,根据本发明提供的一种基于mlag双归接入evpn的流量转发装置,所述装置还包括第三配置模块,在所述通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路
由的路由属性之后,所述第三配置模块用于:
143.在所述备链路故障的情况下,确定所述目标esi所关联的第二mac/ip路由,所述第二mac/ip路由为所述第一pe转发流量至所述目标ce所采用的本地路由;
144.基于所述第二mac/ip路由,配置所述第一mac/ip路由的出口指向所述第一pe,以及配置第二表项的出口指向所述第一pe;
145.所述第二表项为所述第二pe的邻居表中所述目标ce对应的表项。
146.本发明提供的基于mlag双归接入evpn的流量转发装置,通过新增bgp扩展团体属性的方式,配置第一mac/ip路由的路由属性为预设属性值,由于该预设属性值表征第一mac/ip路由具有代理属性,因而双归pe能够针对同一esi所关联的mac/ip路由在接入侧和隧道侧形成一个保护组,以使第一pe在主链路故障的情况下可以配置目标流量的出口指向第二pe,保证目标流量能够通过第二pe转发至目标ce。
147.图10是本发明提供的电子设备的结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1010、通信接口(communications interface)1020、存储器(memory)1030和通信总线1040,其中,处理器1010,通信接口1020,存储器1030通过通信总线1040完成相互间的通信。处理器1010可以调用存储器1030中的逻辑指令,以执行基于mlag双归接入evpn的流量转发方法,例如该方法包括:
148.在主链路故障的情况下,基于所述主链路对应的目标以太网段唯一标识esi,确定目标esi所关联的第一媒体接入控制/互联网协议mac/ip路由,第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
149.基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,所述目标流量为待发送至目标用户侧边缘设备ce的流量;
150.其中,目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路,所述第一mac/ip路由为所述第二pe转发流量至所述目标ce所采用的本地路由,所述第一mac/ip路由的路由属性是所述第二pe通过新增边界网关协议bgp扩展团体属性的方式所配置的。
151.或例如该方法包括:
152.基于主链路对应的目标esi,确定所述目标esi所关联的第一mac/ip路由,所述第一mac/ip路由为所述第二pe转发流量至目标ce所采用的本地路由;
153.通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
154.其中,所述目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路。
155.此外,上述的存储器1030中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施
例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
156.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于mlag双归接入evpn的流量转发方法,例如该方法包括:
157.在主链路故障的情况下,基于所述主链路对应的目标以太网段唯一标识esi,确定目标esi所关联的第一媒体接入控制/互联网协议mac/ip路由,第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
158.基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,所述目标流量为待发送至目标用户侧边缘设备ce的流量;
159.其中,目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路,所述第一mac/ip路由为所述第二pe转发流量至所述目标ce所采用的本地路由,所述第一mac/ip路由的路由属性是所述第二pe通过新增边界网关协议bgp扩展团体属性的方式所配置的。
160.或例如该方法包括:
161.基于主链路对应的目标esi,确定所述目标esi所关联的第一mac/ip路由,所述第一mac/ip路由为所述第二pe转发流量至目标ce所采用的本地路由;
162.通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
163.其中,所述目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路。
164.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于mlag双归接入evpn的流量转发方法,例如该方法包括:
165.在主链路故障的情况下,基于所述主链路对应的目标以太网段唯一标识esi,确定目标esi所关联的第一媒体接入控制/互联网协议mac/ip路由,第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
166.基于所述第一mac/ip路由,配置目标流量的出口指向第二pe,所述目标流量为待发送至目标用户侧边缘设备ce的流量;
167.其中,目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路,所述第一mac/ip路由为所述第二pe转发流量至所述目标ce所采用的本地路由,所述第一mac/ip路由的路由属性是所述第二pe通过新增边界网关协议bgp扩展团体属性的方式所配置的。
168.或例如该方法包括:
169.基于主链路对应的目标esi,确定所述目标esi所关联的第一mac/ip路由,所述第一mac/ip路由为所述第二pe转发流量至目标ce所采用的本地路由;
170.通过新增bgp扩展团体属性的方式,配置所述第一mac/ip路由的路由属性为预设属性值,所述预设属性值表征所述第一mac/ip路由具有代理属性;
171.其中,所述目标ce为双归接入第一pe和所述第二pe的ce,所述evpn中的主链路为所述目标ce与所述第一pe之间的链路,所述evpn中的备链路为所述目标ce与所述第二pe之间的链路。
172.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
173.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
174.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。