通信方法、通信设备和通信系统与流程

专利2022-05-09  52



1.本申请涉及通信领域,并且更具体地,涉及一种通信方法、通信设备和通信系统。


背景技术:

2.在以太网虚拟私有网络(ethernet virtual private network,evpn)中,服务商边缘(provider edge,pe)设备在发送数据包时,容易形成流量环路,该环路过程会造成网络资源的浪费并影响pe设备的性能。


技术实现要素:

3.本申请提供一种通信方法和服务商边缘pe设备,使得流量转发时不会形成环路,避免了网络资源的浪费。
4.第一方面,提供了一种通信方法,该方法包括:第一服务商边缘pe设备接收第二pe设备发送的消息,所述消息包括第一以太网段标识符esi和所述第二pe设备的地址,所述第一esi用于标识所述第二pe设备与用户边缘ce设备之间的连接所属的以太网段;所述第一pe设备确定所述第一esi与所述第一pe设备存储的第二esi相同,所述第二esi用于标识所述第一pe设备与所述ce设备之间的连接所属的以太网段;响应于所述第一pe设备确定所述第一esi与所述第二esi相同,所述第一pe设备生成条目,所述条目包括所述第二pe设备的地址;所述第一pe设备接收所述第二pe设备发送的数据包;所述第一pe设备确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同;响应于所述第一pe设备确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,所述第一pe设备避免向所述第二pe设备发送所述数据包。
5.在现有技术中,该第一设备上没有保存包括该第二pe设备的地址的条目,并且该第二pe设备在向该第一pe设备发送数据包时,该数据包包括的源地址并不是该第二pe设备的地址,在该第一pe设备接收到该数据包时,可能会将该数据包又发送给该第二pe设备,引起流量环路。在本申请实施例中,在该第一pe设备接收到该数据包时,可以根据该第一设备上保存的包括该第二pe设备的地址的条目以及该数据包包括的源地址,避免了向该第二pe设备发送该数据包,不会形成流量环路,避免了网络资源的浪费,避免影响pe设备的性能。
6.结合第一方面,在第一方面的某些实现方式中,所述第一pe设备确定所述数据包的源地址和所述第二pe设备的地址相同之前,所述方法还包括:所述第一pe设备确定所述第一pe设备用于连接所述ce设备的接口处于故障状态。
7.此时,在所述第一pe设备确定所述第一pe设备用于连接所述ce设备的接口处于故障状态后,如果将数据包经由第二pe设备向ce发送有可能引发环路问题,因此所述第一pe设备判断所述数据包的源地址和所述第二pe设备的地址是否相同,以避免环路。如果当所述第一pe设备确定所述第一pe设备用于连接所述ce设备的接口处于正常状态时,所述第一pe设备可以通过用于连接所述ce设备的接口发送所述数据包,此时不会有流量环路的问题,因此不需要再确定所述数据包的源地址和所述第二pe设备的地址是否相同,由此可以
提高所述第一pe设备在通信过程中发送所述数据包的效率。
8.结合第一方面,在第一方面的某些实现方式中,所述方法还包括:响应于所述第一pe设备确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,所述第一pe设备避免向所述ce设备发送所述数据包。
9.在现有技术中,还存在所述数据包是先由所述ce设备发送给所述第二pe设备,所述第二pe设备再将所述数据包发送给所述第一pe设备,该第二pe设备在向该第一pe设备发送数据包时,该数据包包括的源地址并不是该第二pe设备的地址,在该第一pe设备接收到该数据包时,可能会将该数据包发送给所述ce设备,引起流量环路。在本申请实施例中,在该第一pe设备接收到该数据包时,可以根据该第一设备上保存的包括该第二pe设备的地址的条目以及该数据包包括的源地址,确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同时,避免向该ce设备发送该数据包,避免形成流量环路,避免了网络资源的浪费,避免影响pe设备的性能。
10.结合第一方面,在第一方面的某些实现方式中,所述第一pe设备存储有接口信息,所述第一pe设备存储的第二esi包括在所述接口信息中,所述接口信息还包括接口标识,所述接口标识用于标识所述第一pe设备用于连接所述ce设备的接口,所述条目还包括所述接口标识;所述响应于所述第一pe设备确定所述第一esi与所述第二esi相同,所述第一pe设备生成条目,包括:所述第一pe设备根据所述第二esi确定所述接口信息中的所述接口标识;
11.所述第一pe设备避免向所述ce设备发送所述数据包,包括:
12.所述第一pe设备根据所述条目和所述数据包的源地址,确定所述条目中的接口标识;所述第一pe设备避免向所述接口标识的所述第一pe设备用于连接所述ce设备的接口发送所述数据包。
13.此时,所述第一pe设备在所述第一esi与所述第二esi相同时,生成的所述条目中包括所述第一pe设备用于连接所述ce设备的接口的接口标识,因此,通过所述第一pe设备避免向所述接口标识的所述第一pe设备用于连接所述ce设备的接口发送所述数据包,来实现所述第一pe设备避免向所述ce设备发送所述数据包。
14.结合第一方面,在第一方面的某些实现方式中,所述方法应用于基于网际协议第6版段路由srv6的以太网虚拟专用网evpn中,所述消息是携带了esi标签扩展团体属性的以太网自动发现路由。
15.将所述方法应用于基于网际协议第6版段路由srv6的以太网虚拟专用网evpn中,使得在基于网际协议第6版段路由srv6的以太网虚拟专用网evpn中不会形成流量环路,避免了网络资源的浪费,避免影响pe设备的性能。
16.第二方面,提供了一种通信设备,所述通信设备为第一服务商边缘pe设备,包括:
17.接收模块,用于接收第二pe设备发送的消息,所述消息包括第一以太网段标识符esi和所述第二pe设备的地址,所述第一esi用于标识所述第二pe设备与用户边缘ce设备之间的连接所属的以太网段;
18.确定模块,用于确定所述第一esi与所述第一pe设备存储的第二esi相同,所述第二esi用于标识所述第一pe设备与所述ce设备之间的连接所属的以太网段;
19.处理模块,用于响应于确定所述第一esi与所述第二esi相同,生成条目,所述条目
包括所述第二pe设备的地址;
20.所述接收模块还用于接收所述第二pe设备发送的数据包;
21.所述确定模块还用于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同;
22.所述处理模块还用于响应于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,避免向所述第二pe设备发送所述数据包。
23.结合第二方面,在第二方面的某些实现方式中,所述确定模块还用于:在所述确定模块确定所述数据包的源地址和所述第二pe设备的地址相同之前,确定所述第一pe设备用于连接所述ce设备的接口处于故障状态。
24.结合第二方面,在第二方面的某些实现方式中,所述处理模块还用于:响应于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,避免向所述ce设备发送所述数据包。
25.结合第二方面,在第二方面的某些实现方式中,所述第一pe设备存储有接口信息,所述第一pe设备存储的第二esi包括在所述接口信息中,所述接口信息还包括接口标识,所述接口标识用于标识所述第一pe设备用于连接所述ce设备的接口,所述条目还包括所述接口标识;所述处理模块具体用于:响应于确定所述第一esi与所述第二esi相同,根据所述第二esi确定所述接口信息中的所述接口标识以生成所述条目;所述处理模块具体用于:根据所述条目和所述数据包的源地址,确定所述条目中的接口标识;避免向所述接口标识标识的所述第一pe设备用于连接所述ce设备的接口发送所述数据包。
26.结合第二方面,在第二方面的某些实现方式中,所述通信设备应用于基于网际协议第6版段路由srv6的以太网虚拟专用网evpn中,所述消息是携带了esi标签扩展团体属性的以太网自动发现路由。
27.第三方面,提供了一种通信设备,所述通信设备为第一服务商边缘pe设备,包括:
28.存储器,用于存储第二以太网段标识符esi,所述第二esi用于标识所述第一pe设备与用户边缘ce设备之间的连接所属的以太网段;
29.处理器,用于接收第二pe设备发送的消息,所述消息包括第一以太网段标识符esi和所述第二pe设备的地址,所述第一esi用于标识所述第二pe设备与所述ce设备之间的连接所属的以太网段;
30.所述处理器还用于确定所述第一esi与所述第二esi相同;
31.所述处理器还用于响应于确定所述第一esi与所述第二esi相同,生成条目,所述条目包括所述第二pe设备的地址;
32.所述处理器还用于接收所述第二pe设备发送的数据包;
33.所述处理器还用于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同;
34.所述处理器还用于响应于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,避免向所述第二pe设备发送所述数据包。
35.结合第三方面,在第三方面的某些实现方式中,所述通信设备还包括接口,所述接口用于连接所述ce设备;所述处理器还用于在确定所述数据包的源地址和所述第二pe设备的地址相同之前,确定所述第一pe设备用于连接所述ce设备的接口处于故障状态。
36.结合第三方面,在第三方面的某些实现方式中,所述处理器还用于:响应于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,所述第一pe设备避免向所述ce设备发送所述数据包。
37.结合第三方面,在第三方面的某些实现方式中,所述存储器存储有接口信息,所述存储器存储的第二esi包括在所述接口信息中,所述接口信息还包括接口标识,所述接口标识用于标识所述第一pe设备用于连接所述ce设备的接口,所述条目还包括所述接口标识;所述处理器具体用于:根据所述第二esi确定所述接口信息中的所述接口标识以生成所述条目;所述处理器具体用于:所述第一pe设备根据所述条目和所述数据包的源地址,确定所述条目中的接口标识;所述第一pe设备避免向所述接口标识标识的所述第一pe设备用于连接所述ce设备的接口发送所述数据包。
38.结合第三方面,在第三方面的某些实现方式中,所述通信设备应用于基于网际协议第6版段路由srv6的以太网虚拟专用网evpn中,所述消息是携带了esi标签扩展团体属性的以太网自动发现路由。
39.第四方面,提供了一种通信系统,所述通信系统包括第一服务商边缘pe设备和第二pe设备;
40.所述第一pe设备用于:
41.接收所述第二pe设备发送的消息,所述消息包括第一以太网段标识符esi和所述第二pe设备的地址,所述第一esi用于标识所述第二pe设备与用户边缘ce设备之间的连接所属的以太网段;
42.确定所述第一esi与所述第一pe设备存储的第二esi相同,所述第二esi用于标识所述第一pe设备与所述ce设备之间的连接所属的以太网段;
43.响应于所述第一pe设备确定所述第一esi与所述第二esi相同,生成条目,所述条目包括所述第二pe设备的地址;
44.接收所述第二pe设备发送的数据包;
45.确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同;
46.响应于所述第一pe设备确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,避免向所述第二pe设备发送所述数据包;
47.所述第二pe设备用于:
48.向所述第一pe设备发送所述消息;
49.向所述第一pe设备发送所述数据包。
50.结合第四方面,在第四方面的某些实现方式中,所述第一pe设备还用于:在确定所述数据包的源地址和所述第二pe设备的地址相同之前,所述方法还包括:所述第一pe设备确定所述第一pe设备用于连接所述ce设备的接口处于故障状态。
51.结合第四方面,在第四方面的某些实现方式中,所述第二pe设备还用于:在向所述第一pe设备发送所述数据包之前,确定所述第二pe设备用于连接所述ce设备的接口处于故障状态。
52.由此,在第二pe设备和第一pe设备连接ce设备的接口都处于故障状态时,避免流量在第一pe设备和第二pe设备之间的持续环路。
53.结合第四方面,在第四方面的某些实现方式中,所述第一pe设备还用于:响应于所
述第一pe设备确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,所述第一pe设备避免向所述ce设备发送所述数据包。
54.结合第四方面,在第四方面的某些实现方式中,所述第一pe设备存储有接口信息,所述第一pe设备存储的第二esi包括在所述接口信息中,所述接口信息还包括接口标识,所述接口标识用于标识所述第一pe设备用于连接所述ce设备的接口,所述条目还包括所述接口标识;所述第一pe设备用于:响应于所述第一pe设备确定所述第一esi与所述第二esi相同,所述第一pe设备生成条目,包括:所述第一pe设备根据所述第二esi确定所述接口信息中的所述接口标识以生成所述条目;
55.所述第一pe设备避免向所述ce设备发送所述数据包,包括:所述第一pe设备根据所述条目和所述数据包的源地址,确定所述条目中的接口标识;所述第一pe设备避免向所述接口标识标识的所述第一pe设备用于连接所述ce设备的接口发送所述数据包。
56.结合第四方面,在第四方面的某些实现方式中,所述通信系统应用于基于网际协议第6版段路由srv6的以太网虚拟专用网evpn,所述消息是携带了esi标签扩展团体属性的以太网自动发现路由。
57.第五方面,提供了一种通信设备,其特征在于,包括:处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,使得所述通信设备可以执行第一方面或第一方面的任一可选的实现方式中的方法。
58.第六方面,提供了一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序指令,当所述指令被执行时,使得通信设备可以执行第一方面或第一方面的任一可选的实现方式中的方法。
59.第七方面,提供了一种计算机程序产品,所述计算机程序产品包括指令,当所述指令被通信设备执行时,使得通信设备可以执行第一方面或第一方面的任一可选的实现方式中的方法。
附图说明
60.图1是本申请实施例提供的一种srv6 evpn双活场景示意图。
61.图2是本申请提供的一种通信方法的示意性流程图。
62.图3是本申请实施例提供的另一种srv6 evpn双活场景示意图。
63.图4是本申请实施例提供的一种mac转发表中的条目的示意图。
64.图5是本申请提供的一种通信方法的示意性流程图。
65.图6是本申请实施例提供的另一种srv6 evpn双活场景示意图。
66.图7是本申请提供的一种通信方法的示意性流程图。
67.图8是本申请提供的通信设备的示意性框图。
68.图9是本申请提供的通信设备的示意性框图。
69.图10是本申请提供的通信设备的示意性框图。
70.图11是本申请实施例提供的一种通信系统的示意性框图。
具体实施方式
71.下面将结合附图,对本申请中的技术方案进行描述。
72.为了清楚起见,首先对本申请中所使用的术语作以解释。
73.网际协议第6版段路由(internet protocol version 6segment routing,srv6)通过在ipv6数据包中插入一个段路由头(segment routing header,srh),在srh中包括一个ipv6地址列表以及指向ipv6地址列表的索引,数据包转发路径上的段端节点(segment endpoint node)逐个根据索引查找ipv6地址,用找到的ipv6地址更新数据包的目的地址实现转发。数据包的目的地址是ipv6地址,srv6中ipv6地址可作为段标识(segment identifier,sid)。
74.srv6 evpn是指基于srv6的evpn。
75.虚拟私有专线服务(virtual private wire service,vpws)是一种点到点二层虚拟专用网(virtual private network,vpn)服务。evpn vpws是在evpn中实现的vpws,evpn vpws可以提供单活(single

active)多归或多活(all

active)多归能力。
76.接入链路(attachment circuit,ac)是用于连接ce设备和pe设备的物理或逻辑链路。
77.以太网虚拟专用线路(ethernet virtual private line,evpl)用于在一对ac之间提供点到点的以太网连接。vpws基于evpl来实现。
78.以太网段(ethernet segment,es),如果一个ce多归到两个或更多个pe,这组该ce用于接入pe的以太链路,例如多个ac,就属于一个es,用于唯一标识该es的标识符就是以太网段标识符(ethernet segment identifier,esi)。
79.以太网标签标识符(ethernet tag identifier,ethernet tag id),用于识别一个特定的广播域。
80.广播域(broadcast domain,bd),对应于一个虚拟局域网(virtual local area network,vlan)。
81.本地接口,指pe设备不经过其他pe设备而与ce设备或ac连接的接口,例如图1中接口104和105是本地接口,接口107和108不是本地接口。
82.本申请中pe设备连接ce设备或ac的接口指不经过其他pe设备而与ce设备或ac连接的接口。本申请中pe设备向其他pe设备或ce设备发送数据包时使用的接口也可称为出接口,pe设备上用于向ce设备或ac发送数据包的本地接口也可称为本地出接口。本申请中接口可以是物理端口或是物理端口上的逻辑端口。
83.evpn提供了多活模式(all

active mode),在多活模式下,当一个设备多归(multi

homed)到多个服务商边缘(provider edge,pe)设备时,该多个pe设备都可以转发流量给该设备。当该多个pe设备是指2个pe设备时,前述多活模式也可称为双活模式(dual

active mode),前述多归也可称为双归(dual

homed)。
84.为了更清楚的理解本申请,下面分别结合srv6 evpn中的不同场景对本申请进一步进行描述。应理解,本申请可以应用srv6 evpn的场景中,当然也可以应用在其他通信场景中,本申请实施例在此不作限制。
85.图1是本申请实施例提供的一种srv6 evpn双活场景示意图。图1所示网络可以提供虚拟私有专线服务vpws。图1所示网络包括ce设备ce1和ce2,以及pe设备pe1、pe2和pe3。pe1、pe2和pe3分别通过接入链路ac101、ac102和ac103连接ce1、ce1和ce2,pe1、pe2和pe3分别通过接口104、105和106连接ac101、ac102和ac103。接口104、105和106均为本地接口,接
口107和接口108为非本地接口。pe1通过接口107连接pe2,pe2通过接口108连接pe1。ac101和ac102属于同一以太网段,该以太网段的标识可以为esi1。ac103属于另一以太网段,该另一以太网段的标识可以为esi2。在一个示例中,对pe1、pe2和pe3作如下配置:
86.pe1:接口104的esi属性值为esi1,接口104关联的本地和对端ethernet tag id的值分别为1和2,与evpl关联的sid为1::1。具体配置过程例如是:配置接口104的esi属性值为esi1,配置接口104关联的evpl处理模块为evpl1,配置evpl1关联的本地和对端ethernet tag id的值分别为1和2,配置evpl1关联的sid为1::1,将pe1上用于处理evpl相关数据的处理模块evpl1关联的sid配置为1::1,相当于在pe1上配置与evpl关联的sid为1::1,也就是说pe1上与evpl服务关联的sid被配置为1::1。
87.pe2:接口105的esi属性值为esi1,接口205关联的本地和对端ethernet tag id的值分别为1和2,与evpl关联的sid为2::1。具体配置过程例如是:配置接口105的esi属性值为esi1,配置接口105关联的evpl处理模块为evpl2,配置evpl2关联的本地和对端ethernet tag id的值分别为1和2,配置evpl2关联的sid为2::1,将pe2上用于处理evpl相关数据的处理模块evpl1关联的sid配置为2::1,相当于在pe2上配置与evpl关联的sid为2::1,也就是说pe2上与evpl服务关联的sid被配置为2::1。
88.pe3:接口106的esi属性值为esi2,接口106关联的本地和对端ethernet tag id的值分别为2和1,与evpl关联的sid为3::1。具体配置过程例如是:配置接口106的esi属性值为esi2,配置接口106关联的evpl处理es模块为evpl3,配置evpl3关联的本地和对端ethernet tag id的值分别为2和1,配置evpl3关联的sid为3::1,将pe3上用于处理evpl相关数据的处理模块evpl3关联的sid配置为3::1,相当于在pe3上配置与evpl关联的sid为3::1,也就是说pe3上与evpl服务关联的sid被配置为3::1。
89.该场景下为提供vpws和双活模式,pe1、pe2和pe3之间互相发送路由消息。路由消息可以是边界网关协议(border gateway protocol,bgp)消息,该bgp消息可以包括以太网自动发现路由(ethernet auto

discovery route,ethernet a

d route)和srv6

vpn sid属性。以太网自动发现路由,简称ad路由,可以包括esi字段和ethernet tag id字段,srv6

vpn sid属性是类型/长度/值(type/length/value,tlv)格式的属性,包括类型字段、长度字段和值字段,其中类型(type)可以是1或2,以下在图2所示场景中将type是2的srv6

vpn sid属性中的值称为evpl属性值,evpl属性值可以用于向对端设备通知本端设备上配置的与evpl关联的sid。以太网自动发现路由可以参见互联网工程任务组(internet engineering task force,ietf)征求意见稿(request for comments,rfc)7432中的描述。srv6

vpn sid可以参见ietf草案“bgp signaling of ipv6

segment

routing

based vpn networks,draft

dawra

idr

srv6

vpn

03”中的描述。
90.在一个示例中,pe1生成ad路由e1,该e1中esi字段的值为pe1上配置的接口104的esi属性值esi1,ethernet tag id字段的值为pe1上配置的接口104关联的本地ethernet tag id值1,pe1向pe2和pe3发送携带e1和evpl属性值的路由消息r1,该evpl属性值为1::1,该evpl属性值可以用于向pe2和pe3通知pe1上与evpl关联的sid值为1::1。类似地,pe2生成ad路由e2,该e2中esi字段的值为pe2上配置的接口105的esi属性值esi1,ethernet tag id字段的值为pe2上配置的接口105关联的本地ethernet tag id值1,pe2向pe1和pe3发送携带e2和evpl属性值的路由消息r2,该evpl属性值为2::1。pe3生成ad路由e3,该e3中esi字段
的值为pe3上配置的接口106的esi属性值esi2,ethernet tag id字段的值为pe3上配置的接口106关联的本地ethernet tag id值2,pe3向pe1和pe2发送携带e3和evpl属性值的路由消息r3,该evpl属性值为3::1。
91.pe1收到pe2发送的路由消息r2后,可以确定路由消息r2中的esi字段的值与自身生成的ad路由e1中esi字段的值相同,都为esi1,两者属于同一以太网段,由此可以确定pe2是pe1的备份设备以及可以根据路由消息r2确定修复路径,也就是说pe1可以确定pe1到ce1的修复路径是从pe1经过pe2到ce1。由此pe1到ce1存在两条路径,一条是经由本地接口104到达ce1的主路径,一条是经由接口107和pe2到达ce1的修复路径。当pe1连接ce1的接口104处于故障状态时,可以经接口107向pe2发送数据包,以便经由pe2将数据包发送至ce1实现快速重路由(fast reroute,frr)。本申请中修复路径也可以称为旁路(bypass)路径。类似地,pe2收到pe1发送的路由消息r1后,可以确定pe1是pe2的备份设备以及可以根据路由消息r1确定修复路径,也就是说pe2可以确定pe2到ce1的修复路径是从pe2经过pe1到ce1。由此pe2到ce1存在两条路径,一条是经由本地接口105到达ce1的主路径,一条是经由接口108和pe1到达ce1的修复路径。当pe2连接ce1的接口105处于故障状态时,可以经接口108向pe1发送数据包,以便经由pe1将数据包发送至ce1实现frr。
92.pe3收到pe2发送的路由消息r2后,确定自身配置的对端ethernet tag id值1与路由消息r2中的ethernet tag id值1相同,同样地,pe2收到pe3发送的路由消息r3后,确定自身配置的对端ethernet tag id值2与路由消息r3中的ethernet tag id值2相同。也就是说,pe2的本地和对端ethernet tag id分别与pe3的对端和本地ethernet tag id相同,进而pe2和pe3之间建立evpl,该evpl两端分别连接接入链路ac202和ac203,以便ce2发送的数据包可以经ac103、该evpl、ac102到达ce1。pe3可以从路由消息r2中获得evpl属性值2::1,在建立pe2和pe3之间的evpl后,当pe3上有数据包待发往ce1时,pe3可以使用2::1作为数据包的目的地址向pe2发送数据包,以便经pe2与pe3之间的evpl将数据包发往pe2。本申请中数据包的目的地址可以是数据包的ipv6包头中的目的地址,该目的地址是ipv6地址,srv6中ipv6地址可为段标识sid。pe2接收数据包后识别出数据包的目的地址2::1为与evpl关联的sid值,执行与evpl关联的sid值2::1关联的操作,该关联的操作包括:确定pe2上与sid值2::1关联的条目y2,条目y2包括sid值2::1、本地接口105的标识和接口108的标识,确定条目y2中本地接口105是否处于故障状态,当本地接口105未处于故障状态时,经本地接口105向ce1发送数据包,当本地接口105处于故障状态时,经接口108向pe1发送数据包。
93.srv6中sid值可以关联一系列指令,该一系列指令也可以称为功能,本申请中功能也可以称为操作,每个pe设备上每个sid值关联的操作可以预先配置。例如,为实现在pe1上执行sid值1::1关联的操作,pe1上预先保存条目y1,条目y1中包括sid值1::1以及pe1上可以用于向ce1发送数据包的所有接口,该所有接口包括本地接口104和接口107,接口107用于向pe2发送数据包以实现frr。又例如,为实现在pe2上执行sid值2::1关联的操作,pe2上预先保存条目y2,条目y2中包括sid值2::1以及pe2上可以用于向ce1发送数据包的所有接口,该所有接口包括本地接口105和接口108,接口108用于向pe1发送数据包以实现frr。ietf草案“srv6 network programming,draft

filsfils

spring

srv6

network

programming

04”定义了sid关联的功能(functions),本场景中与evpl关联的sid值所关联的操作可以参考该草案第4.4节描述的end.dx2的功能,end.dx2的功能包括经由sid关联的
出接口转发数据包。根据end.dx2的功能,前述pe1上与sid值1::1关联的功能包括经由本地接口104或接口107发送数据包,前述pe2上与sid值2::1关联的功能包括经由本地接口105或接口108发送数据包。
94.类似地,pe3收到pe1发送的路由消息r1,pe1收到pe3发送的路由消息r3,pe1的本地和对端ethernet tag id分别与pe3的对端和本地ethernet tag id相同,进而pe1和pe3之间建立evpl,该evpl两端分别连接接入链路ac101和ac103,以便ce2发送的数据包可以经ac103、该evpl、ac101到达ce1。pe3可以从路由消息r1中获得evpl属性值1::1,在建立pe1和pe3之间的evpl后,当pe3上有数据包待发往ce1时,pe3可以使用1::1作为数据包的目的地址向pe1发送数据包,以便经pe1与pe3之间的evpl将数据包发往pe1。pe1接收数据包后识别出数据包的目的地址1::1为与evpl关联的sid值,执行与evpl关联的sid值1::1关联的操作,该关联的操作包括:确定pe1上与sid值1::1关联的条目y1,条目y1包括sid值1::1、本地接口204的标识和接口107的标识,确定条目y1中本地接口104是否处于故障状态,当本地接口104未处于故障状态时,经本地接口104向ce1发送数据包,当本地接口104处于故障状态时,经接口107向pe2发送数据包。
95.以上场景中pe1和pe2在根据对方发送的路由消息确定修复路径时以便实现frr时,根据的是evpl属性值,即对方设备上与evpl关联的值。这样当pe2收到pe3发送的待发往ce1的数据包时,如果pe2确定本地接口105处于故障状态,pe2可以使用pe1上与evpl关联的值1::1,作为数据包的目的地址经接口108向pe1发送待发往ce1的数据包,以试图触发pe1向本地接口104转发数据包实现frr。pe1收到数据包后执行与evpl关联的sid值1::1关联的操作,包括确定与sid值1::1关联的条目y1,根据条目y1确定pe1本地接口104是否处于故障状态,当本地接口104未处于故障状态时,则经本地接口104向ce1发送数据包完成转发实现frr,但当本地接口104也处于故障状态时,如果pe1也使用pe2上与evpl关联的值2::1,作为数据包的目的地址,向pe2发送数据包,以试图触发pe2向本地接口205转发数据包,则随后pe2会再次改变数据包的目的地址为1::1,将目的地址为1::1的数据包再次返回给pe1,由此引发数据包传输的环路。在pe3收到路由撤销通知,停止向pe2发送新的数据包才能停止引发环路,已引发的环路在pe1或pe2收到路由撤销通知,撤销到对方的路由后才能消除。环路问题会造成网络资源的浪费并影响pe设备的性能。
96.本申请为了解决该环路问题,在pe1与pe2开始正常的数据业务之前,pe1与pe2之间互相发送路由消息,路由消息可以是边界网关协议(border gateway protocol,bgp)消息,该bgp消息可以是携带了esi标签扩展团体属性label extended community的以太网自动发现路由ethernet auto

discovery routes。该携带了esi标签扩展团体属性label extended community的以太网自动发现路由简称(per

es ethernet auto

discovery routes,es ad)路由,包括esi字段和服务商边缘设备的地址。
97.应理解,该es ad路由可以和未携带esi标签扩展团体属性的以太网自动发现路由同时发送,该es ad路由也可以是在未携带esi标签扩展团体属性的以太网自动路由发送之前或之后发送。
98.下面结合图2详细说明本申请提供的一种通信方法200,该方法200可以应用在图2所示的场景中,当然也可以应用在其他通信场景中,本申请实施例在此不作限制。该方法200包括以下内容。
99.s201,pe2向pe1发送消息。
100.该消息可以是bgp消息,例如是前述es ad,该消息中包括第一以太网段标识符esi和pe2的地址,pe2的地址可以是pe2的ipv6地址,例如是pe2与pe1建立bgp邻居时pe2使用的地址,例如是2::100。第一esi可以标识pe2与ce1之间的连接所属的以太网段,第一esi例如是esi1,pe2与ce1之间的连接例如是ac102。该以太网段还包括pe1与ce1之间的连接,例如ac101。
101.s202,pe1接收pe2发送的消息,pe1确定第一esi与pe1存储的第二esi相同。
102.第二esi可以标识pe1与ce1之间的连接所属的以太网段,第二esi例如是esi1,pe1与ce1之间的连接例如是ac101。pe1可以确定第一esi与自身存储的第二esi是否相同。pe1与ce1之间的连接所属的以太网段为esi1,pe2与ce1之间的连接所属的以太网段为esi1,因此pe1可以确定第一esi与第二esi相同,这意味着pe1与ce1之间的连接和pe1和ce1之间的连接属于同一个以太网段,ce1多归到pe1和pe2。
103.s203,响应于所述pe1设备确定所述第一esi与所述第二esi相同,pe1生成第一条目,该第一条目包括pe2的地址。
104.在pe1确定第一esi与第二esi相同时,pe1生成第一条目,该第一条目包括pe2的地址,pe2的地址包括于pe2向pe1发送的消息中。该第一条目中还可以包括:pe1连接ce1的接口104的标识,以用于查找接口104。该第一条目可以称作多归邻居表。第一条目还可以包括esi1,以用于后续查找。
105.应理解,如前文所描述的,为了解决环路问题,在pe1与pe2开始正常的数据业务之前,pe1与pe2之间互相发送路由消息。因此通过同样的过程,可以相应参考s201

s203,在pe2上生成了第二条目,该第二条目包括pe1的地址,例如是1::100。该第二条目中还可以包括:pe2连接ce1的接口105的标识,以用于查找接口105。该第二条目可以称作多归邻居表。第二条目还可以包括esi1,以用于后续查找。
106.s204,pe2向pe1发送数据包。
107.该数据包的源地址可以为pe2的地址,例如pe2的ipv6地址,例如是pe2与pe1建立bgp邻居时使用的地址,简称pe2建邻地址。pe2向pe1发送的数据包可以是pe2收到pe3发送的待发往ce1的数据包,当pe2收到pe3发送的待发往ce1的数据包时,可以解析出数据包目的地址为2::1。
108.可选地,pe2收到pe3发送的数据包后,可以确定本地接口105是否处于故障状态。当本地接口105未处于故障状态时,pe2可以经由本地接口105将数据包发送至ce1。当本地接口105处于故障状态时,pe2可以经由非本地接口108将数据包发送至pe1,以尝试经由pe1将数据包发送至ce1。举例来说,pe2收到pe3发送的数据包后执行与该evpl关联的sid值2::1所关联的操作,包括确定与sid值2::1关联的条目y2,条目y2中包括sid值2::1以及pe2上可以用于向ce1发送数据包的所有接口,根据条目y2确定pe2本地接口105处于故障状态,pe2可以使用pe1上与evpl关联的值1::1,作为数据包的目的地址经接口108向pe1发送待发往ce1的数据包,以试图触发pe1向本地接口104转发数据包实现frr。pe2将数据包的源地址设置为pe2的地址,例如pe2建邻地址,例如2::100。
109.可选地,pe2在收到数据包后没有确定pe2本地接口105是否处于故障状态,而是直接使用pe1上与evpl关联的值1::1,作为数据包的目的地址经接口108向pe1发送待发往ce1
的数据包,以试图触发pe1向本地接口104转发数据包实现frr,数据包的源地址可以是2::100,目的地址可以是1::1。
110.s205,pe1接收pe2发送的数据包。
111.s206,pe1确定该数据包的源地址和第一条目中的pe2的地址相同。
112.pe1收到pe2发送的数据包,获得数据包的源地址2::100,可以确定该源地址与第一条目中保存的pe2的地址是否相同。例如pe1可以确定数据包的源地址2::100与pe1上的第一条目包括的地址2::100相同。
113.s207,pe1响应于pe1确定该数据包的源地址和第一条目中的pe2的地址相同,pe1避免向pe2发送数据包。
114.在pe1确定该数据包的源地址和第一条目中的pe2的地址相同时,pe1避免向pe2转发该待发往ce1的数据包,也就是避免向非本地接口108发送该数据包,例如对数据包进行标记并在随后pe1向接口108发送多个数据包时过滤掉其中标记过的数据包。进一步地,pe1可以经pe1上保存的到ce1的主路径,即由本地接口104向ce1发送数据包。如果本地接口104处于故障状态即该主路径发生故障,pe1则丢弃该数据包。
115.可选地,当数据包的源地址与第一条目中的pe2的地址不同时,pe1根据数据包的目的地址1::1,执行如前所述与evpl关联的sid值1::1所关联的操作。
116.由此,在s204中,如果pe2确定本地接口105处于故障状态,将数据包向pe1转发,pe1收到数据包后,可以确定本地接口104的状态,当本地接口104未处于故障状态时,可以经本地接口104发送数据包,完成转发。当本地接口104处于故障状态时,可以避免向pe2发送该数据包,具体包括确定数据包的源地址与pe2的地址相同,避免向接口108发送数据包,例如丢弃数据包。由此,在pe1和pe2的本地接口104和105都处于故障状态时,避免流量在pe1和pe2之间的持续环路。
117.在本申请实施例中,在pe1接收到pe2发送的数据包时,可以根据pe1上保存的包括该第二pe设备的地址的第一条目以及该数据包包括的源地址,避免了向pe2发送该数据包,不会形成流量环路,避免了网络资源的浪费,避免影响pe设备的性能。
118.应理解,本申请中接口处于故障状态可以是接口自身发生故障,例如接口功能损坏,也可以是接口连接的ac发生故障,例如链路中断。pe设备上可以保存接口状态信息,当pe设备检测到接口发生故障时,例如接口所在的物理端口接收的物理信号中断或接口接收的数据包的误码率大于阈值,pe设备可以更新pe设备上保存的接口状态信息,例如标记接口处于故障状态。pe设备可以根据保存的接口状态信息确定本地接口或非本地接口是否处于故障状态。以上pe确定接口是否处于故障状态的方式仅为举例。
119.pe1确定pe1用于连接ce1的接口处于故障状态后,pe1再确定数据包的源地址和该第一条目中pe2的地址相同,如果pe1确定pe1用于连接ce1的接口处于正常状态时,即pe1到ce1的主路径没有发生故障,pe1可以通过用于连接ce1的接口发送数据包,不需要再确定数据包的源地址和该第一条目中pe2的地址是否相同,可以提高所述pe1在通信过程中发送所述数据包的效率,进而也可以节省网络资源。
120.图3是本申请实施例提供的另一种srv6 evpn双活场景示意图。图3所示网络可以提供多点对多点(multipoint to multipoint,mp2mp)服务中的单播服务。图3所示网络包括主机1、主机2、主机3、主机4、主机5和主机6,ce设备ce1和ce2,以及pe设备pe1、pe2和pe3。
主机1、主机2和主机3连接ce1,主机4、主机5和主机6连接ce2,pe1、pe2和pe3分别通过接入链路ac301、ac302和ac303连接ce1、ce1和ce3,pe1、pe2和pe3分别通过接口304、305和406连接ac301、ac302和ac303。接口304、305和306均为本地接口,接口307和接口308为非本地接口。pe1通过接口307连接pe2,pe2通过接口308连接pe1,pe3通过接口309连接pe1,pe3通过接口310连接pe2。ac101和ac102属于同一以太网段,该以太网段的标识可以为esi1。ac103属于另一以太网段,该另一以太网段的标识可以为esi2。。在一个示例中,对pe1、pe2和pe3作如下配置:
121.pe1:接口304的esi属性值为esi1,与单播服务关联的sid为1::1。具体配置过程例如是:配置接口304的esi属性值为esi1,配置接口304关联的处理模块为bd1,配置bd1关联的sid为1::1,将pe1上用于处理单播服务相关数据的处理模块bd1关联的sid配置为1::1,相当于在pe1上配置与单播服务关联的sid为1::1。
122.pe2:接口305的esi属性值为esi1,接口305关联处理模块bd2,pe2上数据包处理功能可以由bd2完成。具体配置过程例如是:配置接口305的esi属性值为esi1,配置接口305关联的处理模块为bd2,配置bd2关联的sid为2::1,将pe2上用于处理单播服务相关数据的处理模块bd2关联的sid配置为2::1,相当于在pe2上配置与单播服务关联的sid为2::1。
123.pe3:接口306的esi属性值为esi2,接口306关联处理模块bd3,pe3上数据包处理功能可以由bd3完成。具体配置过程例如是:配置接口306的esi属性值为esi2,配置接口306关联的处理模块为bd3,配置bd3关联的sid为3::1,将pe3上用于处理单播服务相关数据的处理模块bd3关联的sid配置为3::1,相当于在pe3上配置与单播服务关联的sid为3::1。
124.该场景下为提供单播服务和双活模式,pe1、pe2和pe3之间互相发送路由消息,路由消息可以是bgp消息。参见ietf草案“evpn all active usage enhancement,draft

eastlake

bess

enhance

evpn

all

active

00.txt”,其中描述了evpn中如何支持一个ce设备多归到多个pe设备且多个pe设备处于多活模式,多活模式也可称为多活冗余模式。
125.图4是本申请实施例提供的一种mac转发表中的条目的示意图。pe1、pe2和pe3均可以保存有mac转发表。在一个示例中,pe1可以经本地接口304从ce1学习到主机1的mac地址mac1,生成pe1上mac转发表中的条目401,条目401包括mac1、本地接口304的标识、以及本地接口304的esi属性值esi1。pe1向pe2和pe3发送路由消息rm1,路由消息rm1包括条目401和前述草案“evpn all active usage enhancement,draft

eastlake

bess

enhance

evpn

all

active

00.txt”中描述的虚拟局域网重定向扩展团体“vlan

redirect

extended community”属性。
126.在一个示例中,pe2收到路由消息rm1后,可以根据条目401中的esi1查找到pe2的本地接口即pe2连接ce1的接口305,生成快速重路由(fast reroute,frr)条目402,也就是pe2上mac转发表中的条目402。条目402包括mac1、用于经主路径向ce1发送数据包的本地接口305的标识、esi1和用于经修复路径向ce1发送数据包的接口308的标识。pe2上主路径经由本地接口305到达ce1,修复路径经由接口308和pe1到达ce1,修复路径是从pe2经pe1到ce1的路径。本申请中修复路径也可以称为备用(standby)路径。
127.pe2可以向pe1和pe3发送路由消息rb2,路由消息rb2包括ad路由a2和type是2的srv6

vpn sid属性。ad路由a2包括esi字段,ad路由a2中esi字段的值为pe2上配置的接口405的esi属性值esi1。以下在图3场景中将type是2的srv6

vpn sid属性中的值称为单播属
性值,单播属性值可以用于向对端设备通知本端设备上配置的与单播服务关联的sid。路由消息rb2中单播属性值为pe2上配置的与单播服务关联的sid值2::1。
128.pe1经接口307收到pe2发送的路由消息rb2,确定路由消息rb2中的esi1与pe1生成的条目401中的esi1相同,pe1确定pe2是pe1的备份设备,参见图4,pe1根据条目401、收到路由消息rb2的接口307以及路由消息rb2中的单播属性值2::1生成条目403。条目403包括mac1、本地接口304的标识、esi1、接口307的标识和2::1。
129.类似地,pe1可以向pe2和pe3发送路由消息rb1,路由消息rb1包括ad路由a1和单播属性,ad路由a1包括esi字段,ad路由a1中esi字段的值为pe1上配置的接口304的esi属性值esi1,路由消息rb1中单播属性值为pe1上配置的与单播服务关联的sid值1::1。pe2经接口308收到pe1发送的路由消息rb1,确定路由消息rb1中的esi1与pe2生成的条目402中的esi1相同,pe2确定pe1是pe2的备份设备,参见图3,pe2根据条目402以及路由消息rb1中的单播属性值1::1生成条目404。条目404包括mac1、本地接口305的标识、esi1、接口308的标识和1::1。
130.pe3经接口309收到pe1发送的路由消息rm1后,可以生成pe3上mac转发表中的条目405,条目405包括mac1、esi1和接口309的标识。
131.pe3经接口309收到pe1发送的路由消息rb1后,可以确定路由消息rb1中的esi与pe3生成的条目405中的esi相同,可以根据条目505以及路由消息rb1中的单播属性值1::1生成条目406。条目406包括mac1、esi1、接口309的标识和1::1。pe3经接口310收到pe2发送的路由消息rb2后,可以确定路由消息rb2中的esi与条目406中的esi即接收自pe1的路由消息rb1中的esi相同,由此pe3可以确定pe2的本地接口与pe1的本地接口属于同一以太网段,即pe2与ce1的连接和pe1与ce1的连接属于同一以太网段,也就是说可以确定pe2是pe1的备份设备。pe3可以根据条目506和路由消息rb2中的单播属性值2::1,生成条目409。条目409包括mac1、esi1、接口309的标识、1::1、接口310的标识和2::1。当pe3收到ce2转发的目的mac地址为mac1的数据包时,可以根据mac1查找mac转发表,根据条目409选择向pe1或pe2发送数据包。pe3可以设置数据包目的地址为1::1,经由接口309向pe1发送目的地址为1::1的数据包,以触发pe1提供单播服务也就是触发pe1向ce1转发数据包。pe3也可以设置数据包目的地址为2::1,经由接口310向pe2发送目的地址为2::1的数据包,以触发pe2提供单播服务也就是触发pe2向ce1转发数据包。
132.pe2收到pe3转发的目的地址为2::1以及目的mac地址为mac1的数据包时,执行sid值2::1关联的操作。该场景中与sid值关联的操作可以参考ietf草案“srv6 network programming,draft

filsfils

spring

srv6

network

programming

04”第4.6节描述的end.dt2u的功能,end.dt2u的功能包括经由与目的mac地址匹配的条目中的接口转发数据包。根据end.dt2u的功能,pe2上与sid值2::1关联的操作包括经由与mac1匹配的条目404中的本地接口305和接口308发送数据包。pe1上与sid值1::1关联的操作包括经由与mac1匹配的条目403中的本地接口304和接口307发送数据包。参见图4,条目404中包括本地接口305的标识、接口308的标识和1::1,pe2先确定本地接口305是否处于故障状态,当本地接口305未处于故障状态时,经本地接口305向ce1发送数据包,当本地接口305处于故障状态时,经接口308向pe1发送目的地址为1::1的数据包,以触发pe1向ce1转发数据包。
133.pe1收到pe2发送的目的地址为1::1且目的mac地址为mac1的数据包后,执行sid值
1::1关联的操作,该关联的操作可以包括经由与mac1匹配的条目403中的本地接口304和接口307发送数据包,参见图4,条目403包括本地接口304的标识、接口307的标识和2::1。pe1先确定本地接口304是否处于故障状态,当本地接口304未处于故障状态时,经本地接口304向ce1发送数据包,当本地接口304处于故障状态时,经接口307向pe2发送目的地址为2::1的数据包,以触发pe2向ce1转发数据包,由此pe1将pe2发送过来的数据包又发送回pe2,引发数据包传输的环路。在pe3收到路由撤销通知,停止向pe2发送新的数据包才能停止引发环路,已引发的环路在pe1或pe2收到路由撤销通知,撤销到对方的路由后才能消除。
134.本申请为了解决该环路问题,在pe1与pe2开始正常的数据业务之前,pe1与pe2之间互相发送路由消息,路由消息可以是bgp消息,该bgp消息可以是前述es ad路由,包括esi字段和服务商边缘设备的地址。
135.应理解,该es ad路由可以和未携带esi标签扩展团体属性的以太网自动发现路由同时发送,该es ad路由也可以是在未携带esi标签扩展团体属性的以太网自动路由发送之前或之后发送。
136.下面结合图5详细说明本申请提供的一种通信方法500,该方法500可以应用在图3所示的场景中,当然也可以应用在其他通信场景中,本申请实施例在此不作限制。该方法500包括以下内容。
137.s501,pe2向pe1发送消息。
138.该消息例如包括第一esi和pe2的地址。s501与s201类似,可参见s201的描述。第一esi可以标识pe2与ce1之间的连接所属的以太网段,第一esi例如是esi1,pe2与ce1之间的连接例如是ac302。该以太网段还包括pe1与ce1之间的连接,例如ac301。
139.s502,pe1接收pe2发送的消息,pe1确定第一esi与pe1存储的第二esi相同。
140.第二esi可以标识pe1与ce1之间的连接所属的以太网段,第二esi例如是esi1。s502与s202类似,可以参见s202的描述。
141.s503,响应于所述pe1设备确定所述第一esi与所述第二esi相同,pe1生成第一条目,该第一条目包括pe2的地址。
142.s503与s203类似,可以参见s203的描述。
143.s504,pe2向pe1发送数据包。
144.该数据包的源地址可以为pe2的地址,例如pe2的ipv6地址,例如是pe2与pe1建立bgp邻居时使用的地址。pe2向pe1发送的数据包可以是pe2收到pe3发送的待发往ce1的数据包,当pe2收到pe3发送的待发往ce1的数据包时,可以解析出数据包的目的地址为2::1以及目的mac地址为mac1。
145.可选地,pe2收到pe3发送的数据包后,可以确定本地接口105是否处于故障状态。当本地接口105未处于故障状态时,pe2可以经由本地接口105将数据包发送至ce1。当本地接口105处于故障状态时,pe2可以经由非本地接口108将数据包发送至pe1,以尝试经由pe1将数据包发送至ce1。举例来说,pe2收到目的地址2::1的数据包后,执行与sid值2::1关联的操作,该操作包括经由与mac1匹配的条目404中的本地接口305和接口308发送数据包。条目404中包括本地接口305的标识、接口308的标识和1::1,pe2确定本地接口305处于故障状态,经接口308向pe1发送目的地址为1::1的数据包,以尝试触发pe1向ce1转发数据包。pe2向pe1发送的数据包的源地址可以是2:100,目的地址1::1,目的mac地址mac1。
146.可选地,pe2在收到数据包后没有确定本地接口305处于故障状态,而是直接根据条目404中接口308的接口标识通过接口308向pe1发送该数据包,以触发pe1向ce1转发数据包。pe2向pe1发送的数据包的源地址可以是2::100,目的地址可以是1::1,目的mac地址可以是mac1。
147.s505,pe1接收pe2发送的数据包。
148.s506,pe1确定该数据包的源地址和第一条目中的pe2的地址相同。
149.pe1收到pe2发送的数据包,获得数据包的源地址2::100,可以确定该源地址与第一条目中保存的pe2的地址是否相同。例如pe1可以确定该数据包的源地址2::100与pe1上的第一条目包括的地址2::100相同。
150.s507,pe1响应于pe1确定该数据包的源地址和第一条目中的pe2的地址相同,pe1避免向pe2发送数据包。
151.在pe1确定该数据包的源地址和第一条目中的pe2的地址相同时,pe1避免向pe2转发该待发往ce1的数据包,也就是避免向非本地接口308发送该数据包,例如对数据包进行标记并在随后pe1向接口308发送多个数据包时过滤掉其中标记过的数据包。进一步地,pe1可以在根据与目的mac地址mac1匹配的条目403中的本地接口304的标识,确定本地接口304没有发生故障时,通过本地接口304向ce1发送数据包。如果该本地接口304发生故障而处于故障状态时,pe1则丢弃该数据包。
152.可选地,当数据包的源地址与第一条目中的pe2的地址不同时,pe1根据数据包的目的地址1::1,执行sid值关联的操作,包括pe1先确定本地接口304是否处于故障状态,当本地接口304未处于故障状态时,经本地接口304向ce1发送数据包,当本地接口304处于故障状态时,经接口307向pe2发送目的地址为2::1的数据包,以触发pe2向ce1转发数据包。
153.由此,在s504中,如果pe2确定本地接口305处于故障状态,将数据包向pe1转发,pe1收到数据包后,可以确定本地接口304的状态,当本地接口304未处于故障状态时,可以经本地接口304发送数据包,完成转发。当本地接口304处于故障状态时,可以避免向pe2发送该数据包,具体包括确定数据包的源地址与pe2的地址相同,避免向接口308发送数据包,例如丢弃数据包。由此,在pe1和pe2的本地接口304和305都处于故障状态时,避免流量在pe1和pe2之间的持续环路。
154.在本申请实施例中,在pe1接收到pe2发送的数据包时,可以根据pe1上保存的包括该第二pe设备的地址的第一条目以及该数据包包括的源地址,避免了向pe2发送该数据包,不会形成流量环路,避免了网络资源的浪费,避免影响pe设备的性能。
155.图6是本申请实施例提供的另一种srv6 evpn双活场景示意图。图6所示网络可以提供多点对多点(multipoint to multipoint,mp2mp)服务中的广播未知单播多播(broadcast,unknown unicast and multicast,bum)流量转发。图6所示网络包括ce设备ce1、ce2和ce3,以及pe设备pe1、pe2和pe3。
156.pe1、pe2和pe3分别通过接入链路ac601、ac602和ac603连接ce1、ce1和ce2,pe1通过接入链路ac609连接ce3。pe1、pe2和pe3分别通过接口604、605和606连接ac 601、ac 602和ac 603,pe1又通过接口610连接ac接口609。接口604、605、606和610均为本地接口,接口607和接口608为非本地接口。pe1通过接口607连接pe2,pe2通过接口608连接pe1。ac601和ac602属于第一以太网段,第一以太网段的标识可以为esi1。ac603属于第二以太网段,第二
以太网段的标识可以为esi2。ac609属于第三以太网段,第三以太网段的标识可以为esi3。在一个示例中,对pe1、pe2和pe3作如下配置:
157.pe1:接口604的esi属性值为esi1,与bum服务关联的sid为1::3。具体配置过程例如是:配置接口604的esi属性值为esi1,配置接口604关联的处理模块为bum1,配置bum1关联的sid为1::3,将pe1上用于处理bum服务相关数据的处理模块bum1关联的sid配置为1::3,相当于在pe1上配置与bum服务关联的sid为1::3。此外,接口610的esi属性值为esi3,接口610关联处理模块也可以为bum3。
158.pe2:接口605的esi属性值为esi1,接口605关联处理模块bum2,pe2上数据包处理功能可以由bum2完成。具体配置过程例如是:配置接口605的esi属性值为esi1,配置接口605关联的处理模块为bum2,配置bum2关联的sid为2::3,将pe2上用于处理单播服务相关数据的处理模块bum2关联的sid配置为2::3,相当于在pe2上配置与单播服务关联的sid为2::3。
159.pe3:接口606的esi属性值为esi2,接口606关联处理模块bum3,pe3上数据包处理功能可以由bum3完成。具体配置过程例如是:配置接口606的esi属性值为esi2,配置接口606关联的处理模块为bum3,配置bum3关联的sid为3::3,将pe3上用于处理单播服务相关数据的处理模块bum3关联的sid配置为3::3,相当于在pe3上配置与单播服务关联的sid为3::3。
160.该场景下为提供bum服务和双活模式,pe1、pe2和pe3之间互相发送路由消息,路由消息可以是bgp消息。该bgp消息可以包括集成多播以太网标签路由(inclusive multicast ethernet tag route,imet)和srv6

vpn sid属性。以下在图6场景中将type是2的srv6

vpn sid属性中的值称为bum属性值,bum属性值可以用于向对端设备通知本端设备上配置的与bum服务关联的sid。
161.在一个示例中,pe1生成imet路由i1,pe1向pe2和pe3发送携带i1和bum属性值的路由消息r4,该bum属性值为1::3,该bum属性值可以用于向pe2和pe3通知pe1上与bum关联的sid值为1::3。类似地,pe2生成imet路由i2,pe2向pe1和pe3发送携带i2和bum属性值的路由消息r5,该bum属性值为2::3。pe3生成imet路由i3,pe3向pe1和pe2发送携带i3和bum属性值的路由消息r6,该bum属性值为3::3。
162.pe1收到pe2发送的路由消息r5后,建立条目t1,该条目t1包括sid2::3,当pe1收到pe3发送的路由消息r6后,向该条目t1增加sid3::3。pe1收到ce1发送的数据包时,可以向pe2和pe3转发。该条目用于在bum流量转发时转发数据包,也可以称作bum转发表,bum流量转发时的数据包也可以称为bum数据包。类似地,在pe2和pe3上分别建立条目t2和t3,在pe2上的条目t2包括sid1::3和sid3::3,在pe3上的条目t3包括sid1::3和sid2::3。
163.应理解,在该场景下,网络可以提供多点对多点服务中的单播服务,即pe设备上可以同时存在处理单播服务相关数据的处理模块bd和处理bum服务相关数据的处理模块bum,有关处理单播服务相关数据的处理模块bd的配置过程,具体可以参考图4和图5的相关描述,此处不再叙述。
164.bum流量转发的特点是,pe设备从非本地接口收到其他pe设备发送的bum流量可以向所有本地接口转发,pe设备从本地接口收到ce设备发送的bum流量时可以向所有其他本地接口和非本地接口转发。
165.以上场景中pe1和pe2在根据对方发送的路由消息确定数据包转发时,假设根据的是bum属性值,即对方设备上与bum关联的值。
166.这样当pe2从本地接口602收到ce1发送的数据包后执行与bum关联的sid值2::3关联的操作,包括确定与sid值2::3关联的条目t2,根据条目t2确定数据包的转发目的地址sid值1::3和sid值3::3,pe2使用pe2上与bum关联的值1::3和3::3,分别作为数据包的目的地址,向pe1和pe3发送数据包。在pe1从非本地接口607收到该pe2发送的数据包后,向本地接口607和610即向ce设备ce1和ce3发送数据包,即又将ce1发送的数据包发回给ce1,由此引发数据包传输的环路。环路问题会造成网络资源的浪费并影响ce设备的性能。
167.本申请为了解决该环路问题,在pe1与pe2开始正常的数据业务之前,pe1与pe2之间互相发送路由消息,路由消息可以是bgp消息,该bgp消息可以是前述es ad路由,包括esi字段和服务商边缘设备的地址。
168.应理解,该es ad路由可以和未携带esi标签扩展团体属性的以太网自动发现路由同时发送,该es ad路由也可以是在未携带esi标签扩展团体属性的以太网自动路由发送之前或之后发送。
169.下面结合图7详细说明本申请提供的一种通信方法700,该方法700可以应用在图7所示的场景中,当然也可以应用在其他通信场景中,本申请实施例在此不作限制。该方法700包括以下内容。
170.s701,pe2向pe1发送消息。
171.该消息例如包括第一esi和pe2的地址。s701与s201类似,可参见s201的描述。
172.s702,pe1接收pe2发送的消息,pe1确定第一esi与pe1存储的第二esi相同。
173.第二esi可以标识pe1与ce1之间的连接所属的以太网段,第二esi例如是esi1。s702与s202类似,可以参见s202的描述。
174.s703,响应于所述pe1设备确定所述第一esi与所述第二esi相同,pe1生成第一条目,该第一条目包括pe2的地址。
175.s703与s203类似,可以参见s203的描述。
176.应理解,该消息中没有包括esi3,因此pe1并没有建立包括esi3的第三条目。
177.s704,pe2向pe1发送数据包。
178.该数据包的源地址可以为pe2的地址,例如pe2的地址,例如是pe2与pe1建立bgp邻居时使用的地址。pe2向pe1发送的数据包可以是pe2收到的ce1发送的数据包。当pe2收到ce1发送的bum数据包时,执行与bum关联的sid值2::3关联的操作,包括确定与sid值2::3关联的条目t2,条目t2包括sid1::3和sid3::3,pe2根据条目中的sid将数据包分别转发给pe1和pe3,其中,pe2转发给pe1的数据包的源地址为2::100,目的地址为1::3,pe2转发给pe3的数据包的源地址为2::100,目的地址为3::3。
179.s705,pe1接收pe2发送的数据包。
180.s706,pe1确定该数据包的源地址和第一条目中的pe2的地址相同。
181.pe1收到pe2发送的数据包时,获得数据包的源地址2::100,可以确定该源地址与第一条目中保存的pe2的地址是否相同。例如pe1可以确定该数据包的源地址2::100与pe1上的第一条目包括的地址2::100相同。
182.s707,pe1响应于pe1确定该数据包的源地址和第一条目中的pe2的地址相同,pe1
避免向ce1发送数据包。
183.在pe1确定该数据包的源地址和第一条目中的pe2的地址相同时,pe1避免向ce1发送该数据包,也就是避免向本地接口604发送该数据包,例如对数据包进行标记并在随后pe1向接口604发送多个数据包时过滤掉其中标记过的数据包。进一步地,pe1仍可以向接口610即向ce3转发该数据包,也就是说在阻断esi1标识的以太网段的环路的同时,可以不影响其他以太网段的bum流量转发。由此避免流量环路。
184.可选地,当数据包的源地址与第一条目中的pe2的地址不同时,pe1执行sid值1::3关联的操作,包括向所有本地接口例如接口604和接口610发送该数据包。
185.在本申请实施例中,在pe1接收到该bum数据包时,可以根据pe1上保存的包括该pe2的地址的条目以及该bum数据包的源地址,在确定该bum数据包的源地址和该条目中的pe2的地址相同时,避免向ce1设备发送该bum数据包,不会形成流量环路,避免了网络资源的浪费,避免影响ce设备的性能。
186.可选地,pe1存储有接口信息,该接口信息可以包括用于标识本地接口的接口标识和该本地接口的esi属性值,该接口标识与该esi属性值对应,由此可以根据esi属性值查找到接口标识。前述pe1存储的第二esi可以是该接口信息中的esi属性值。举例来说,该本地接口的接口标识例如是接口604的标识,前述pe1存储的第二esi例如是接口604的esi属性值esi1。pe1在确定pe2发送的消息中的第一esi与自身存储的第二esi相同后,可以根据第二esi的值esi1在接口信息中查找到对应的接口标识,即接口604的接口标识。由此,pe1生成的第一条目除包括pe2的地址外,还可以包括该接口标识。pe1接收到源地址是pe2的地址的数据包后,可以根据数据包的源地址在第一条目中查找,由此确定接口604的接口标识,进而避免向接口标识所标识的接口604发送该数据包。pe1生成的第一条目保存了pe2的地址与接口604的标识的对应关系。pe1并未保存pe2的地址与接口610的标识的对应关系,由此,pe1仍可以向接口610即向ce3转发该数据包,也就是说在阻断esi1标识的以太网段的环路的同时,可以不影响其他以太网段例如esi3标识的以太网段的bum流量转发。该第一条目中还可以包括:以太网段标识符esi1,以便于查找。
187.图8是根据本申请的通信设备800的示意性框图。如图8所示,该通信设备800包括以下模块。
188.接收模块810,用于接收第二pe设备发送的消息,该消息包括第一以太网段标识符esi和该第二pe设备的地址,该第一esi用于标识该第二pe设备与用户边缘ce设备之间的连接所属的以太网段。
189.确定模块820,用于确定该第一esi与该第一pe设备存储的第二esi相同,该第二esi用于标识该第一pe设备与该ce设备之间的连接所属的以太网段。
190.处理模块830,用于响应于确定该第一esi与该第二esi相同,生成条目,该条目包括该第二pe设备的地址。
191.该接收模块810还用于接收该第二pe设备发送的数据包。
192.该确定模块820还用于确定该数据包的源地址和该条目中的该第二pe设备的地址相同。
193.该处理模块830还用于响应于确定该数据包的源地址和该条目中的该第二pe设备的地址相同,避免向该第二pe设备发送该数据包。
194.可选地,所述接收模块810、所述确定模块820和所述处理模块830用于执行本申请的一种通信方法200、方法500和方法700的各个操作,为了简洁,在此不再赘述。
195.该通信设备800与方法实施例中的pe1完全对应,由相应的模块执行相应的步骤,具体可以参考相应的方法实施例。
196.图9是根据本申请的通信设备900的示意性框图。如图9所示,该通信设备900包括:
197.存储器910,用于存储第二以太网段标识符esi,该第二esi用于标识该第一pe设备与用户边缘ce设备之间的连接所属的以太网段;
198.处理器920,用于接收第二pe设备发送的消息,该消息包括第一以太网段标识符esi和该第二pe设备的地址,该第一esi用于标识该第二pe设备与该ce设备之间的连接所属的以太网段;
199.该处理器920还用于确定该第一esi与该第二esi相同;
200.该处理器920还用于响应于确定该第一esi与该第二esi相同,生成条目,该条目包括该第二pe设备的地址;
201.该处理器920还用于接收该第二pe设备发送的数据包;
202.该处理器920还用于确定该数据包的源地址和该条目中的该第二pe设备的地址相同;
203.该处理器920还用于响应于确定该数据包的源地址和该条目中的该第二pe设备的地址相同,避免向该第二pe设备发送该数据包。
204.通信设备900、第二pe设备、ce设备可以分别是本申请的一种通信方法200、方法500或方法700中的pe1、pe2和ce1。该第一esi的值例如是esi1,该条目例如是第一条目。该通信设备900与可以执行方法实施例中的pe1完全对应,由相应的模块执行相应的步骤,具体可以参考相应的方法实施例。
205.可选地,该通信设备900还包括接口930,该接口930用于连接该ce设备;
206.该处理器920还用于在确定该数据包的源地址和该第二pe设备的地址相同之前,确定该接口930处于故障状态。
207.该接口930可以分别是本申请的一种通信方法200、方法500或方法700中的pe1连接ce1的本地接口104、本地接口304和本地接口604。
208.该处理器920在接收到第二pe设备(即pe2)发送的数据包时,该处理器920确定接口930处于故障状态后,如果将数据包经由第二pe设备向ce1发送有可能引发环路问题,因此处理器920判断该数据包的源地址和该第二pe设备的地址是否相同,以避免环路。
209.可选地,如果当该处理器920确定该接口930处于正常状态时,该第一pe设备可以通过用于接口930发送该数据包,此时不会有流量环路的问题,不需要再确定该数据包的源地址和该第二pe设备的地址是否相同。
210.应理解,该通信设备中除了用于连接该ce设备的接口930,还可以包括多个接口,该多个接口用于连接其他pe设备或者ce设备。
211.可选地,该处理器920还用于:响应于确定该数据包的源地址和该条目中的该第二pe设备的地址相同,避免向该ce设备发送该数据包。
212.此时,可以参考方法实施例中的方法700来理解通信设备900的相关功能。方法700主要用于解决bun流量转发时有可能产生的环路问题。但是在该通信设备900上还可以存在
处理单播服务相关数据的处理模块bd。
213.该条目可以是第一条目,第一条目可以包括pe2的地址,pe2的地址包括于pe2向pe1发送的消息中。该第一条目可以称作多归邻居表。第一条目还可以包括esi1,以用于后续查找。
214.可选地,该存储器910存储有接口信息,该存储器存储的第二esi包括在该接口信息中,该接口信息还包括接口标识,该接口标识用于标识该第一pe设备用于连接该ce设备的接口,该条目还包括该接口标识;
215.该处理器920具体用于:根据该第二esi确定该接口信息中的该接口标识以生成该条目;
216.该处理器920具体用于:
217.根据该条目和该数据包的源地址,确定该条目中的接口标识;
218.避免向该接口标识标识的该第一pe设备用于连接该ce设备的接口发送该数据包。
219.该接口信息可以是该通信设备上的多个接口的信息,如本地接口信息以及非本地接口信息等。该接口信息可以记录该接口是否处于故障状态等信息,该接口信息中包括接口标识,该接口标识用于标识该通信设备900用于连接ce设备的接口,例如pe1连接ce1的接口604的标识。
220.在该处理器920响应于确定该第一esi与该第二esi相同,生成第一条目时,该第一条目不仅包括该第二pe设备的地址,还包括在包括pe1连接ce1的接口604的标识,以便于查找接口604。在该处理器920接收到pe2发送的数据包时,根据该第一条目和该数据包的源地址,在该第一条目中确定接口标识,如确定接口604;该处理器避免向该接口604发送该数据包。例如对数据包进行标记并在随后pe1向接口604发送多个数据包时过滤掉其中标记过的数据包。
221.可选地,当数据包的源地址与第一条目中的pe2的地址不同时,处理器920包括向所有本地接口发送该数据包,例如处理器920向接口604和接口610发送该数据包。
222.可选地,该通信设备900应用于基于网际协议第6版段路由srv6的以太网虚拟专用网evpn中,该消息是携带了esi标签扩展团体属性的以太网自动发现路由。
223.图10示出了本申请提供的通信设备1000的示意性框图,所述通信设备1000包括:
224.存储器1010,用于存储程序,所述程序包括代码;
225.处理器1020,用于执行存储器1010中的程序代码。
226.接口1030,用于和其他设备进行通信;
227.可选地,当所述代码被执行时,所述处理器1030可以实现方法200、方法500和方法700中pe1的各个操作,为了简洁,在此不再赘述。
228.接口1020用于在处理器1020的驱动下执行具体的与其他设备之间的信号收发。接口信息可以保存在存储器1010中或者在通信设备中的其它存储器中。
229.接口1020是接口的统称,可以包括本地接口,也可以包括非本地接口。
230.图11是本申请实施例提供的一种通信系统1100的示意性框图。如图11所示,该通信系统1100包括pe1和pe2。该通信系统1100还可以包括其他pe设备,以及pe设备连接的ce设备。该通信系统1100可以是上述的srv6 evpn双活通信系统,可以提供虚拟私有专线服务vpws,多点对多点mp2mp服务中的单播服务和多点对多点mp2mp服务中的bum流量转发服务。
231.上述pe1和pe2与方法实施例中如方法200、方法500和方法700中的pe1和pe2完全对应,由相应的模块执行相应的步骤,具体可以参考相应的方法实施例。
232.应理解,该通信系统1100还可以包括其他网元或通信设备,本申请实施例对此不进行限定。
233.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
234.在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
235.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
236.另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
237.本申请各实施例之间可以相互参考和借鉴,相同或相似的步骤以及名词均不再一一赘述。
238.本申请各实施例可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,dvd)、或者半导体介质(例如固态硬盘)等。

技术特征:
1.一种应用于以太网虚拟私有网络evpn中的通信方法,其特征在于,所述evpn包括第一服务商边缘pe设备,第二pe设备和用户边缘ce设备,所述ce设备分别通过第一连接和第二连接多归多活接入所述第一pe设备和所述第二pe设备,所述第一连接和所述第二连接属于相同的以太网段,所述方法包括:所述第一pe设备接收所述第二pe设备发送的数据包,所述数据包的源地址和所述第一pe设备保存的条目中的所述第二pe设备的地址相同;响应于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,所述第一pe设备避免向所述第二pe设备发送所述数据包。2.根据权利要求1所述的方法,其特征在于,在接收所述数据包之前,所述方法还包括:所述第一pe设备接收所述第二pe设备发送的消息,所述消息包括第一以太网段标识符esi和所述第二pe设备的地址,所述第一esi用于标识所述以太网段,所述第一esi与所述第一pe设备保存的用于标识所述以太网段的第二esi相同;所述第一pe设备生成所述条目,所述条目包括所述第二pe设备的地址。3.根据权利要求1或2所述的方法,其特征在于,所述数据包是单播报文,在所述第一pe设备用于连接所述ce设备的本地接口处于故障状态时,所述第一pe设备丢弃所述数据包。4.根据权利要求1

3任一项所述的方法,其特征在于,所述数据包是单播报文,在所述第一pe设备用于连接所述ce设备的本地接口处于正常状态时,通过所述本地接口向所述ce设备转发所述数据包。5.根据权利要求1或2所述的方法,其特征在于,所述数据包是未知单播多播bum报文,所述方法还包括:响应于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,所述第一pe设备避免向所述ce设备发送所述数据包。6.根据权利要求5所述的方法,其特征在于,所述第一pe设备存储有接口信息,所述第一pe设备存储的所述第二esi包括在所述接口信息中,所述接口信息还包括接口标识,所述接口标识用于标识所述第一pe设备用于连接所述ce设备的本地接口,所述条目还包括所述接口标识;所述第一pe设备避免向所述ce设备发送所述数据包,包括:所述第一pe设备根据所述条目和所述数据包的源地址,确定所述条目中的所述接口标识;所述第一pe设备避免向所述接口标识标识的所述第一pe设备用于连接所述ce设备的本地接口发送所述数据包。7.根据权利要求1至6任一所述的方法,其特征在于,所述方法应用于基于网际协议第6版段路由srv6的evpn,所述数据包的源地址以及所述第二pe设备的地址均为第6版因特网协议ipv6地址。8.根据权利要求2所述的方法,其特征在于,所述消息是携带了esi标签扩展团体属性的以太网自动发现路由。9.一种通信设备,所述通信设备为应用于以太网虚拟私有网络evpn中的第一服务商边缘pe设备,其特征在于,所述evpn包括所述第一pe设备,第二pe设备和用户边缘ce设备,所述ce设备分别通过第一连接和第二连接多归多活接入所述第一pe设备和所述第二pe设备,
所述第一连接和所述第二连接属于相同的以太网段,所述通信设备包括:接收模块,用于接收所述第二pe设备发送的数据包,所述数据包的源地址和所述第一pe设备保存的条目中的所述第二pe设备的地址相同;处理模块,用于响应于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,避免向所述第二pe设备发送所述数据包。10.根据权利要求9所述的通信设备,其特征在于,所述接收模块还用于接收所述第二pe设备发送的消息,所述消息包括第一以太网段标识符esi和所述第二pe设备的地址,所述第一esi用于标识所述以太网段,所述第一esi与所述第一pe设备保存的用于标识所述以太网段的第二esi相同;所述处理模块还用于生成所述条目,所述条目包括所述第二pe设备的地址。11.根据权利要求9或10所述的通信设备,其特征在于,所述数据包是单播报文,在所述第一pe设备用于连接所述ce设备的本地接口处于故障状态时,所述第一pe设备丢弃所述数据包。12.根据权利要求9至11任一项所述的通信设备,其特征在于,所述数据包是单播报文,在所述第一pe设备用于连接所述ce设备的本地接口处于正常状态时,通过所述本地接口向所述ce设备转发所述数据包。13.根据权利要求9或10所述的通信设备,其特征在于,所述数据包是未知单播多播bum报文,所述处理模块还用于:响应于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,避免向所述ce设备发送所述数据包。14.根据权利要求13所述的通信设备,其特征在于,所述第一pe设备存储有接口信息,所述第一pe设备存储的所述第二esi包括在所述接口信息中,所述接口信息还包括接口标识,所述接口标识用于标识所述第一pe设备用于连接所述ce设备的接口,所述条目还包括所述接口标识;所述第一pe设备避免向所述ce设备发送所述数据包,包括:所述第一pe设备根据所述条目和所述数据包的源地址,确定所述条目中的所述接口标识;所述第一pe设备避免向所述接口标识标识的所述第一pe设备用于连接所述ce设备的本地接口发送所述数据包。15.根据权利要求9至14任一所述的通信设备,其特征在于,所述通信设备应用于基于网际协议第6版段路由srv6的以太网虚拟专用网evpn,所述数据包的源地址以及所述第二pe设备的地址均为第6版因特网协议ipv6地址。16.根据权利要求9所述的通信设备,其特征在于,所述消息是携带了esi标签扩展团体属性的以太网自动发现路由。17.一种通信设备,所述通信设备为应用于以太网虚拟私有网络evpn中的第一服务商边缘pe设备,其特征在于,所述evpn包括所述第一pe设备,第二pe设备和用户边缘ce设备,所述ce设备分别通过第一连接和第二连接多归多活接入所述第一pe设备和所述第二pe设备,所述第一连接和所述第二连接属于相同的以太网段,所述通信设备包括:存储器,存储有指令;
处理器,用于执行所述指令,使得所述第一pe设备执行如下操作:接收所述第二pe设备发送的数据包,所述数据包的源地址和所述第一pe设备保存的条目中的所述第二pe设备的地址相同;响应于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,避免向所述第二pe设备发送所述数据包。18.根据权利要求17所述的通信设备,其特征在于,所述处理器执行所述指令,还使得所述第一pe设备在接收所述数据包之前,执行以下操作:接收所述第二pe设备发送的消息,所述消息包括第一以太网段标识符esi和所述第二pe设备的地址,所述第一esi用于标识所述以太网段,所述第一esi与所述第一pe设备保存的用于标识所述以太网段的第二esi相同;生成所述条目,所述条目包括所述第二pe设备的地址。19.根据权利要求17或18所述的通信设备,其特征在于,所述数据包是单播报文,在所述第一pe设备用于连接所述ce设备的本地接口处于故障状态时,所述第一pe设备丢弃所述数据包。20.根据权利要求17至19任一项所述的通信设备,其特征在于,所述数据包是单播报文,在所述第一pe设备用于连接所述ce设备的本地接口处于正常状态时,通过所述本地接口向所述ce设备转发所述数据包。21.根据权利要求17或18所述的通信设备,其特征在于,所述数据包是未知单播多播bum报文,所述处理器执行所述指令,还使得所述第一pe设备在接收所述数据包之后,执行以下操作:响应于确定所述数据包的源地址和所述条目中的所述第二pe设备的地址相同,所述第一pe设备避免向所述ce设备发送所述数据包。22.根据权利要求21所述的通信设备,其特征在于,所述第一pe设备存储有接口信息,所述第一pe设备存储的所述第二esi包括在所述接口信息中,所述接口信息还包括接口标识,所述接口标识用于标识所述第一pe设备用于连接所述ce设备的接口,所述条目还包括所述接口标识;所述第一pe设备避免向所述ce设备发送所述数据包,包括:所述第一pe设备根据所述条目和所述数据包的源地址,确定所述条目中的所述接口标识;所述第一pe设备避免向所述接口标识标识的所述第一pe设备用于连接所述ce设备的本地接口发送所述数据包。23.根据权利要求17至22任一所述的通信设备,其特征在于,所述通信设备应用于基于网际协议第6版段路由srv6的evpn,所述数据包的源地址以及所述第二pe设备的地址均为第6版因特网协议ipv6地址。24.根据权利要求18所述的通信设备,其特征在于,所述消息是携带了esi标签扩展团体属性的以太网自动发现路由。25.一种应用于以太网虚拟私有网络evpn中的通信方法,其特征在于,所述evpn包括第一服务商边缘pe设备,第二pe设备和用户边缘ce设备,所述ce设备分别通过第一连接和第二连接多归多活接入所述第一pe设备和所述第二pe设备,所述第一连接和所述第二连接属
于相同的以太网段,所述方法包括:所述第一pe设备接收所述第二pe设备发送的消息,所述消息包括第一以太网段标识符esi和所述第二pe设备的第六版因特网协议ipv6地址,所述第一esi用于标识所述以太网段,所述第一esi与所述第一pe设备保存的用于标识所述以太网段的第二esi相同;所述第一pe设备生成所述条目,所述条目包括所述第二pe设备的地址;其中,当所述第一pe设备接收到源地址与所述第二pe设备的地址相同的数据包时,根据所述条目,避免向所述第二pe设备转发所述数据包。26.根据权利要求25所述的方法,其特征在于,所述条目还包括第一接口标识,所述第一接口标识用于标识所述第一pe设备连接所述ce设备的本地接口。27.根据权利要求25或26所述的方法,其特征在于,所述条目还包括所述以太网段的标识。28.根据权利要求25

27任一项所述的方法,其特征在于,所述方法应用于基于网际协议第6版段路由srv6的evpn。29.根据权利要求25

28任一项所述的方法,其特征在于,所述消息为携带了esi标签扩展团体属性的以太网自动发现路由。30.一种通信设备,所述通信设备为应用于以太网虚拟私有网络evpn中的第一服务商边缘pe设备,其特征在于,所述evpn包括所述第一pe设备,第二pe设备和用户边缘ce设备,所述ce设备分别通过第一连接和第二连接多归多活接入所述第一pe设备和所述第二pe设备,所述第一连接和所述第二连接属于相同的以太网段,所述通信设备包括:存储器,存储有指令;处理器,用于执行所述指令,使得所述通信设备执行权利要求25至29任一项所述的方法。31.一种以太网虚拟私有网络evpn通信系统,包括第一服务商边缘pe设备,第二pe设备和用户边缘ce设备,所述ce设备分别通过第一连接和第二连接多归多活接入所述第一pe设备和所述第二pe设备,所述第一连接和所述第二连接属于相同的以太网段,其特征在于,所述第一pe设备为权利要求9

24或权利要求30任一项所述的通信设备。32.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序,当所述程序被处理器执行时,使得通信设备执行根据权利要求1

8以及权利要求25至29中任一项所述的方法。
技术总结
本申请提供了一种通信方法和服务商边缘PE设备,使得流量转发时不会形成环路,避免了网络资源的浪费。该方法包括:第一PE设备接收第二PE设备发送的消息,该消息包括第一ESI和该第二PE设备的地址,该第一ESI用于标识该第二PE设备与CE设备之间所属的以太网段;该第一PE设备确定该第一ESI与该第一PE设备存储的第二ESI相同,该第二ESI用于标识该第一PE设备与该CE设备之间所属的以太网段;该第一PE设备确定该第一ESI与该第二ESI相同时生成条目,条目包括第二PE设备的地址;该第一PE设备接收数据包;该第一PE设备确定该数据包源地址和该条目中的该第二PE设备的地址相同时,该第一PE设备避免向该第二PE设备发送该数据包。避免向该第二PE设备发送该数据包。避免向该第二PE设备发送该数据包。


技术研发人员:胡重阳
受保护的技术使用者:华为技术有限公司
技术研发日:2018.08.01
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-14842.html

最新回复(0)