一种避免环路的通信方法、设备和系统与流程

文档序号:30745501发布日期:2022-07-13 07:31阅读:127来源:国知局
一种避免环路的通信方法、设备和系统与流程
一种避免环路的通信方法、设备和系统
1.本案是申请号为201810703111.7,申请日为2018年06月30日提交的中国专利申请的分案申请。
技术领域
2.本技术涉及通信领域,尤其涉及一种避免环路的通信方法、设备和系统。


背景技术:

3.以太网虚拟专用网(ethernet virtual private network,evpn)提供了多活模式(all-active mode),在多活模式下,当一个设备多归(multi-homed)到多个服务商边缘(provider edge,pe)设备时,该多个pe设备都可以转发流量给该设备。当该多个pe设备是指2个pe设备时,前述多活模式也可称为双活模式(dual-active mode),前述多归也可称为双归(dual-homed)。
4.evpn双活模式下,两个pe设备连接客户边缘(customer edge,ce)设备的接口都处于故障状态时,会引发环路问题。举例来说,如图1所示,ce设备ce1双归到pe设备pe1和pe2,pe1和pe2处于双活模式。pe2收到pe设备pe3发送的待发往ce1的数据包(packet)后,当pe2连接ce1的接口处于故障状态时,pe2向pe1发送数据包,pe1收到pe2发送的数据包后,当pe1连接ce1的接口处于故障状态时,向pe2发送数据包,由此数据包又被发回pe2,引发环路问题。


技术实现要素:

5.本技术实施例提供通信方法、设备和系统,有助于避免引发环路问题。
6.第一方面,本技术实施例提供了一种通信方法。第一pe设备经由第一接口向第二pe设备发送第一标识,随后第一pe设备经由第一接口接收第二pe设备发送的包括第一标识的数据包,接着第一pe设备确定与第一标识关联的第二接口处于故障状态,响应于确定第二接口处于故障状态,第一pe设备避免经由第一接口向第二pe设备发送数据包,其中第二接口是第一pe设备用于连接ce设备的接口。
7.第一方面提供的方案中,基于对数据包中第一标识的识别,第一pe设备避免在连接ce设备的本地接口处于故障状态时,将数据包返回给第二pe设备,由此避免了pe1和pe2之间的传输环路问题。
8.可选地,第一pe设备保存包括第一标识和第二条目的标识的第一条目,但第一条目不包括第一接口的标识,第一pe设备可以根据数据包中的第一标识以及第一条目,确定第二接口,进而确定第二接口处于故障状态。第一条目不包括第一接口的标识,第一pe设备根据第一条目和第一标识确定出的接口只包括连接ce设备的本地接口,不包括连接第二pe设备的非本地接口,避免了经由非本地接口向第二pe设备发送数据包。
9.可选地,第一pe设备执行第一标识关联的操作。该操作包括:在媒体接入控制mac转发表中查找与数据包的目的mac地址匹配的第二条目,根据第二条目中用于连接ce设备
的接口的标识确定第二接口,确定第二接口处于故障状态。第一标识关联的操作中在匹配的第二条目中只查找连接ce设备的本地接口的标识,不查找连接pe设备的非本地接口的标识,避免了经由非本地接口向第二pe设备发送数据包。
10.可选地,第一pe设备避免向第二pe设备发送数据包的方式包括丢弃数据包。
11.可选地,第一方面的通信方法应用于基于网际协议第6版段路由srv6的以太网虚拟专用网evpn中,第一标识携带在srv6-vpn sid属性中。由此,利用一种新类型的srv6-vpn sid属性,解决srv6 evpn双活模式下的环路问题。
12.第二方面,本技术实施例提供了一种通信设备,该通信设备可以为第一pe设备。第一pe设备包括用于连接第二pe设备的第一接口,用于连接ce设备的第二接口和处理器。处理器用于经由第一接口向第二pe设备发送第一标识,经由第一接口接收第二pe设备发送的数据包,确定与数据包中的第一标识关联的第二接口处于故障状态,以及响应于第一pe设备确定第二接口处于故障状态,避免经由第一接口向第二pe设备发送数据包。
13.可选地,第一pe设备包括用于保存第一条目的存储器,第一条目包括第一标识以及第二接口的标识,但不包括第一接口的标识。处理器用于根据数据包中的第一标识以及第一条目,确定第二接口。
14.可选地,处理器用于执行第一标识关联的操作。该操作包括在mac转发表中查找与数据包的目的mac地址匹配的第二条目,根据第二条目中用于连接ce设备的接口的标识确定第二接口,确定第二接口处于故障状态。
15.可选地,处理器用于丢弃数据包。处理器避免经由第一接口向第二pe设备发送数据包的方式包括丢弃数据包。
16.可选地,第一pe设备应用于srv6 evpn中,第一标识携带在srv6-vpn sid属性中。
17.第三方面,本技术实施例提供了一种通信系统,包括第一pe设备和第二pe设备。第一pe设备用于执行第一方面及第一方面的任意一种可选方案提供的通信方法。第二pe设备用于接收第一pe设备发送的第一标识,向第一pe设备发送包括第一标识的数据包。
18.可选地,第二pe设备用于确定第三接口处于故障状态,响应于确定第三接口处于故障状态,向第一pe设备发送该包括第一标识的数据包,第三接口是第二pe设备用于连接ce设备的接口。
19.可选地,该通信系统应用于srv6 evpn中,第一标识携带在srv6-vpn sid属性中。
20.第四方面,本技术实施例提供了一种通信设备,该通信设备可以为第一pe设备,第一pe设备包括用于实现第一方面及第一方面的任意一种可选方案提供的通信方法的单元。
21.第五方面,本技术实施例提供了一种通信设备,该通信设备可以为第一pe设备,第一pe设备包括处理器和存储有计算机程序指令的存储器。处理器用于执行该计算机程序指令以使第一pe设备执行第一方面及第一方面的任意一种可选方案提供的通信方法。
22.第六方面,本技术实施例提供了一种用于储存计算机程序指令的计算机存储介质。该计算机程序指令被通信设备执行时,使得通信设备执行第一方面及第一方面的任意一种可选方案提供的通信方法。
23.第七方面,本技术实施例提供了一种包含计算机程序指令的计算机程序产品。该计算机程序指令被通信设备执行时,使得通信设备执行第一方面及第一方面的任意一种可选方案提供的通信方法。
附图说明
24.图1为一种应用场景示意图;
25.图2是本技术实施例提供的一种srv6 evpn双活场景示意图;
26.图3为本技术实施例提供的一种通信方法的流程图;
27.图4是本技术实施例提供的一种srv6 evpn双活场景示意图;
28.图5是本技术实施例提供的一种mac转发表中的条目的示意图;
29.图6为本技术实施例提供的一种通信方法的流程图;
30.图7为本技术实施例提供的一种通信设备700的结构示意图;
31.图8为本技术实施例提供的一种通信设备800的结构示意图;
32.图9为本技术实施例提供的一种通信设备900的结构示意图;
33.图10为本技术实施例提供的一种通信设备1000的结构示意图;
34.图11为本技术实施例提供的一种通信系统1100的结构示意图。
具体实施方式
35.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式做出进一步地描述。
36.网际协议第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)。
37.srv6 evpn是指基于srv6的evpn。
38.虚拟私有专线服务(virtual private wire service,vpws)是一种点到点二层虚拟专用网(virtual private network,vpn)服务。evpn vpws是在evpn中实现的vpws,evpn vpws可以提供单活(single-active)多归或多活(all-active)多归能力。
39.接入链路(attachment circuit,ac)是用于连接ce设备和pe设备的物理或逻辑链路。
40.以太网虚拟专用线路(ethernet virtual private line,evpl)用于在一对ac之间提供点到点的以太网连接。vpws基于evpl来实现。
41.以太网段(ethernet segment,es),如果一个ce多归到两个或更多个pe,这组该ce用于接入pe的以太链路,例如多个ac,就属于一个es,用于唯一标识该es的标识符就是以太网段标识符(ethernet segment identifier,esi)。
42.以太网标签标识符(ethernet tag identifier,ethernet tag id),用于识别一个特定的广播域。
43.广播域(broadcast domain,bd),对应于一个虚拟局域网(virtual local area network,vlan)。
44.本地接口,指pe设备不经过其他pe设备而与ce设备或ac连接的接口,例如图2中接口204和205是本地接口,接口207和208不是本地接口。
45.本技术中pe设备连接ce设备或ac的接口指不经过其他pe设备而与ce设备或ac连接的接口。本技术中pe设备向其他pe设备或ce设备发送数据包时使用的接口也可称为出接口,pe设备上用于向ce设备或ac发送数据包的本地接口也可称为本地出接口。本技术中接口可以是物理端口或是物理端口上的逻辑端口。
46.图2是本技术实施例提供的一种srv6 evpn双活场景示意图。图2所示网络可以提供虚拟私有专线服务vpws。图2所示网络包括ce设备ce1和ce2,以及pe设备pe1、pe2和pe3。pe1、pe2和pe3分别通过接入链路ac201、ac202和ac203连接ce1、ce1和ce2,pe1、pe2和pe3分别通过接口204、205和206连接ac 201、ac 202和ac 203。接口204、205和206均为本地接口,接口207和接口208为非本地接口。pe1通过接口207连接pe2,pe2通过接口208连接pe1。在一个示例中,对pe1、pe2和pe3作如下配置:
47.pe1:接口204的esi属性值为esi1,接口204关联的本地和对端ethernet tag id的值分别为1和2,与evpl关联的sid为1::1。具体配置过程例如是:配置接口204的esi属性值为esi1,配置接口204关联的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。
48.pe2:接口205的esi属性值为esi1,接口205关联的本地和对端ethernet tag id的值分别为1和2,与evpl关联的sid为2::1。具体配置过程例如是:配置接口205的esi属性值为esi1,配置接口205关联的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。
49.pe3:接口206的esi属性值为esi2,接口206关联的本地和对端ethernet tag id的值分别为2和1,与evpl关联的sid为3::1。具体配置过程例如是:配置接口206的esi属性值为esi2,配置接口206关联的evpl处理模块为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。
50.该场景下为提供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”中的描述。
51.在一个示例中,pe1生成ad路由e1,该e1中esi字段的值为pe1上配置的接口204的esi属性值esi1,ethernet tag id字段的值为pe1上配置的接口204关联的本地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上配置的接口205的esi属性值esi1,ethernet tag id字段的值为pe2上配置的接口205关联的本地ethernet tag id值1,pe2向pe1和pe3发送携带e2和evpl属性值的路由消息r2,该evpl属性值为2::1。pe3生成ad路由e3,该e3中esi字段的值为pe3上配置的接口206的esi属性值esi2,ethernet tag id字段的值为pe3上配置的接口206关联的本地ethernet tag id值2,pe3向pe1和pe2发送携带e3和evpl属性值的路由消息r3,该evpl属性值为3::1。
52.pe1收到pe2发送的路由消息r2后,可以确定路由消息r2中的esi字段的值与自身生成的ad路由e1中esi字段的值相同,都为esi1,两者属于同一以太网段,由此可以确定pe2是pe1的备份设备以及可以根据路由消息r2确定修复路径,也就是说pe1可以确定pe1到ce1的修复路径是从pe1经过pe2到ce1。由此pe1到ce1存在两条路径,一条是经由本地接口204到达ce1的主路径,一条是经由接口207和pe2到达ce1的修复路径。当pe1连接ce1的接口204处于故障状态时,可以经接口207向pe2发送数据包,以便经由pe2将数据包发送至ce1实现快速重路由(fast reroute,frr)。本技术中修复路径也可以称为旁路(bypass)路径。类似地,pe2收到pe1发送的路由消息r1后,可以确定pe1是pe2的备份设备以及可以根据路由消息r1确定修复路径,也就是说pe2可以确定pe2到ce1的修复路径是从pe2经过pe1到ce1。由此pe2到ce1存在两条路径,一条是经由本地接口205到达ce1的主路径,一条是经由接口208和pe1到达ce1的修复路径。当pe2连接ce1的接口205处于故障状态时,可以经接口208向pe1发送数据包,以便经由pe1将数据包发送至ce1实现frr。
53.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发送的数据包可以经ac203、该evpl、ac202到达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、本地接口205的标识和接口208的标识,确定条目y2中本地接口205是否处于故障状态,当本地接口205未处于故障状态时,经本地接口205向ce1发送数据包,当本地接口205处于故障状态时,经接口208向pe1发送数据包。
54.srv6中sid值可以关联一系列指令,该一系列指令也可以称为功能,本技术中功能也可以称为操作,每个pe设备上每个sid值关联的操作可以预先配置。例如,为实现在pe1上执行sid值1::1关联的操作,pe1上预先保存条目y1,条目y1中包括sid值1::1以及pe1上可
以用于向ce1发送数据包的所有接口,该所有接口包括本地接口204和接口207,接口207用于向pe2发送数据包以实现frr。又例如,为实现在pe2上执行sid值2::1关联的操作,pe2上预先保存条目y2,条目y2中包括sid值2::1以及pe2上可以用于向ce1发送数据包的所有接口,该所有接口包括本地接口205和接口208,接口208用于向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关联的功能包括经由本地接口204或接口207发送数据包,前述pe2上与sid值2::1关联的功能包括经由本地接口205或接口208发送数据包。
55.类似地,pe3收到pe1发送的路由消息r1,pe1收到pe3发送的路由消息r3,pe1的本地和对端ethernet tag id分别与pe3的对端和本地ethernet tag id相同,进而pe1和pe3之间建立evpl,该evpl两端分别连接接入链路ac201和ac203,以便ce2发送的数据包可以经ac203、该evpl、ac201到达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的标识和接口207的标识,确定条目y1中本地接口204是否处于故障状态,当本地接口204未处于故障状态时,经本地接口204向ce1发送数据包,当本地接口204处于故障状态时,经接口207向pe2发送数据包。
56.以上场景中pe1和pe2在根据对方发送的路由消息确定修复路径时以便实现frr时,假设根据的是evpl属性值,即对方设备上与evpl关联的值。这样当pe2收到pe3发送的待发往ce1的数据包时,如果pe2确定本地接口205处于故障状态,pe2可以使用pe1上与evpl关联的值1::1,作为数据包的目的地址经接口208向pe1发送待发往ce1的数据包,以试图触发pe1向本地接口204转发数据包实现frr。pe1收到数据包后执行与evpl关联的sid值1::1关联的操作,包括确定与sid值1::1关联的条目y1,根据条目y1确定pe1本地接口204是否处于故障状态,当本地接口204未处于故障状态时,则经本地接口204向ce1发送数据包完成转发实现frr,但当本地接口204也处于故障状态时,如果pe1也使用pe2上与evpl关联的值2::1,作为数据包的目的地址,向pe2发送数据包,以试图触发pe2向本地接口205转发数据包,则随后pe2会再次改变数据包的目的地址为1::1,将目的地址为1::1的数据包再次返回给pe1,由此引发数据包传输的环路。在pe3收到路由撤销通知,停止向pe2发送新的数据包才能停止引发环路,已引发的环路在pe1或pe2收到路由撤销通知,撤销到对方的路由后才能消除。环路问题会造成网络资源的浪费并影响pe设备的性能。
57.本技术中接口处于故障状态可以是接口自身发生故障,例如接口功能损坏,也可以是接口连接的ac发生故障,例如链路中断。本技术中接口未处于故障状态可以是指接口处于正常状态,即能够通过接口向接口连接的ac发送数据包。pe设备上可以保存接口状态信息,当pe设备检测到接口发生故障时,例如接口所在的物理端口接收的物理信号中断或接口接收的数据包的误码率大于阈值,pe设备可以更新pe设备上保存的接口状态信息,例
如标记接口处于故障状态。pe设备可以根据保存的接口状态信息确定本地接口或非本地接口是否处于故障状态。以上pe确定接口是否处于故障状态的方式仅为举例。
58.如前所述ietf草案“bgp signaling of ipv6-segment-routing-based vpn networks,draft-dawra-idr-srv6-vpn-03”中已经定义了bgp消息中tlv格式的类型为1和2的srv6-vpn sid属性,本技术实施例定义一种新类型的srv6-vpn sid属性,也可以称为旁路(bypass)属性,类型例如是3,用于解决前述环路问题。旁路属性中的值value简称为旁路属性值。双活场景下互为主备的两个设备可以向对方通知旁路属性值,接收到旁路属性值的设备在执行frr使用修复路径发送数据包时,也就是经由通向备份设备的接口向备份设备发送数据包时,可以在数据包中包括旁路属性值,例如将旁路属性值作为数据包的目的地址。
59.图3示出了在图2场景下本技术实施例提供的一种通信方法的流程图。
60.s301,pe1经由接口207向pe2发送第一标识。
61.第一标识是旁路属性值,例如是1::2。在一个示例中可以在前述pe1向pe2发送的路由消息r1中携带旁路属性,旁路属性中的类型type为3,旁路属性中的旁路属性值为1::2。
62.在一个示例中,pe1发送第一标识之前,pe1保存条目w1,条目w1包括sid值1::2和本地接口204的标识,条目w1中不包括接口207的标识。由此,随后pe1执行与sid值1::2关联的操作时,可以根据条目w1确定发送数据包的接口204。
63.pe2经由接口208接收pe1发送的第一标识。
64.s302,pe1经由接口207接收pe2发送的数据包,数据包包括第一标识。
65.数据包包括第一标识的方式例如是数据包的目的地址为第一标识。数据包的目的地址可以是ipv6地址。
66.pe2可以经由接口208向pe1发送数据包。如前所述,pe2向ce1发送数据包时,可以选择的路径有两条,一条是经由本地接口205到达ce1的主路径,一条是经由接口208和pe1到达ce1的修复路径,也就是说选择主路径发送数据包时向本地接口205发送数据包,选择修复路径发送数据包时向接口208发送数据包。
67.在一个示例中,pe2先确定本地接口205是否处于故障状态,当本地接口205未处于故障状态时,响应于确定本地接口205处于正常状态或未处于故障状态,pe2可以经由本地接口205向ce1发送数据包,由此选择主路径将待发往ce1的数据包发送到ce1。当本地接口205处于故障状态时,响应于确定本地接口205处于故障状态,pe2可以经由接口208向pe1发送目的地址为第一标识的数据包,以便选择修复路径发送待发往ce1的数据包。
68.在一个示例中,pe2接收到pe3发送的数据包,数据包的目的地址为pe2向pe3发送的路由消息r2中携带的evpl属性值,例如2::1,pe3向pe2发送数据包的过程如前所述。随后,pe2根据数据包的目的地址2::1,确定pe2上保存的与sid值2::1关联的条目y2,条目y2包括sid值2::1、本地接口205的标识和接口208的标识。接着,pe2根据条目y2中本地接口205的标识,确定本地接口205是否处于故障状态,响应于确定本地接口205处于故障状态,将数据包的目的地址2::1更改为第一标识1::2,根据条目y2中接口208的标识将目的地址为1::2的数据包经接口208向pe1发送,以便选择修复路径发送待发往ce1的数据包。可选地,条目y2包括第一标识1::2。
69.s303,pe1确定与数据包中的第一标识关联的接口204处于故障状态;
70.s304,响应于pe1确定接口204处于故障状态,pe1避免经由接口207向pe2发送数据包。
71.pe1收到数据包后获取数据包中的第一标识,例如是数据包的目的地址1::2。pe1确定第一标识1::2关联的本地接口204是否处于故障状态,响应于确定本地接口204未处于故障状态,经由本地接口204向ce1发送数据包,响应于确定本地接口204处于故障状态,避免经由接口207向pe2发送数据包。由此可以在接口204和接口205都处于故障状态时,避免将pe2发送过来的数据包又发送回pe2而引发环路。pe1避免经由接口207向pe2发送数据包的一个方式是将从pe2收到的数据包丢弃。
72.在一个示例中,pe1根据pe1上保存的条目w1和第一标识1::2确定本地接口204。由于条目w1中包括sid值1::2和本地接口204的标识,但不包括接口207的标识,因此pe1根据条目w1和第一标识1::2确定出的关联的pe1上的接口只包括本地接口204,不包括非本地接口207,避免了经由接口207向pe2发送数据包。
73.在一个示例中,pe1接收数据包后,获取数据包中的第一标识,例如是数据包的目的地址1::2,执行与第一标识1::2关联的操作,也即执行与第一标识1::2关联的功能,该操作包括:确定pe1上与sid值1::2关联的条目w1,确定条目w1中的本地接口204由此确定1::2关联的本地接口204,进而确定本地接口204是否处于故障状态,当本地接口204未处于故障状态时,经本地接口204向ce1发送数据包,当本地接口204处于故障状态时,避免向pe2发送数据包,例如丢弃数据包。参见前述end.dx2的功能,图3所示方法中可以定义一个新的end.dx2l的功能,例如将end.dx2的功能中“经sid关联的出接口转发数据包”修改为“经sid关联的本地出接口转发数据包”来获得。pe1上可以预先保存条目w1,条目w1包括sid值1::2和本地接口204的标识,条目w1中不包括接口207的标识,以便支持该功能的实现,pe1上保存条目w1后,后续可以根据条目w1执行与1::2关联的操作。pe1还可以预先保存与1::2关联的操作包括的指令,以便在获取数据包中的第一标识后,执行与第一标识1::2关联的操作。
74.在一个示例中,pe1还保存有条目y1,条目y1中包括sid值1::1、本地接口204的标识和用于向pe2发送数据包以实现frr的接口207的标识。由此,pe3向pe1发送待发往ce1的数据包时,数据包的目的地址选用1::1,pe1根据目的地址1::1和条目y1会先确定本地接口204的状态,当本地接口204处于故障状态时,经由非本地接口207发送目的地址为2::2的数据包。类似地,pe3向pe2发送待发往ce1的数据包时,数据包的目的地址选用2::1,pe2根据目的地址2::1和条目y2会先确定本地接口205的状态,当确定本地接口205处于故障状态时,经由非本地接口208发送数据包。pe2向pe1发送数据包时,数据包的目的地址选用第一标识1::2,第一标识1::2关联pe1的本地接口204但不关联非本地接口207,pe1根据目的地址1::2和条目w1会先确定本地接口204的状态,当确定本地接口204处于故障状态时,不向pe2返回数据包而丢弃数据包。
75.类似于前述pe1保存条目w1,pe2也可以保存条目w2,条目w2中包括sid值2::2和本地接口205的标识。pe2可以通过向pe1发送第二标识2::2的方式,将sid值2::2通知给pe1。进而,pe1向pe2发送数据包时,数据包的目的地址可以选用2::2,第二标识2::2关联pe2的本地接口205但不关联非本地接口208,pe2根据目的地址2::2和条目w2先确定本地接口205的状态,当确定本地接口205处于故障状态时,不向pe1返回数据包而丢弃数据包。由此,在
pe1和pe2互为主备的双活模式下,通过互相发送旁路属性值,例如第一标识和第二标识,在发送数据包时使用该旁路属性值作为数据包的目的地址,避免引发环路问题。可选地,条目y1可以包括第二标识2::2,
76.图3所示方法中,pe2在向pe1发送数据包时,将从pe1接收的第一标识携带在数据包中,例如作为数据包的目的地址,随后pe1识别出数据包中的第一标识,确定数据包中的第一标识关联的本地接口204,在确定本地接口204处于故障状态时,避免向pe2返回数据包,由此避免引发环路。由此可见,图3所示方法中基于第一标识的传递和识别,pe1在收到包括第一标识的数据包后,可以避免再次将数据包发送回pe2,从而在双活模式下pe1和pe2的本地接口均处于故障状态时,可以避免数据包在pe1和pe2之间的传输环路。
77.图3所示方法中,pe2为实现frr而使用修复路径向pe1发送携带第一标识的数据包,pe1在接收的数据包中识别出第一标识时,可以确定数据包经由pe2到pe1的修复路径接收,相当于第一标识指示了pe2到pe1的修复路径,也就是数据包中的第一标识指示了数据包来自于pe2到pe1的修复路径,由此pe1避免向pe2返回该数据包以避免引发环路。
78.图4是本技术实施例提供的一种srv6 evpn双活场景示意图。图4所示网络可以提供多点对多点(multipoint to multipoint,mp2mp)服务中的单播服务。图4所示网络包括主机host1、host2、host3、host4、host5和host6,ce设备ce1和ce2,以及pe设备pe1、pe2和pe3。host1、host2和host3连接ce1,host4、host5和host6连接ce2,pe1、pe2和pe3分别通过接入链路ac401、ac402和ac403连接ce1、ce1和ce3,pe1、pe2和pe3分别通过接口404、405和406连接ac401、ac402和ac403。接口404、405和406均为本地接口,接口407和接口408为非本地接口。pe1通过接口407连接pe2,pe2通过接口408连接pe1,pe3通过接口409连接pe1,pe3通过接口410连接pe2。在一个示例中,对pe1、pe2和pe3作如下配置:
79.pe1:接口404的esi属性值为esi1,与单播服务关联的sid为1::1。具体配置过程例如是:配置接口404的esi属性值为esi1,配置接口404关联的处理模块为bd1,配置bd1关联的sid为1::1,将pe1上用于处理单播服务相关数据的处理模块bd1关联的sid配置为1::1,相当于在pe1上配置与单播服务关联的sid为1::1。
80.pe2:接口405的esi属性值为esi1,接口405关联处理模块bd2,pe2上数据包处理功能可以由bd2完成。具体配置过程例如是:配置接口405的esi属性值为esi1,配置接口405关联的处理模块为bd2,配置bd2关联的sid为2::1,将pe2上用于处理单播服务相关数据的处理模块bd2关联的sid配置为2::1,相当于在pe2上配置与单播服务关联的sid为2::1。
81.pe3:接口406的esi属性值为esi2,接口406关联处理模块bd3,pe3上数据包处理功能可以由bd3完成。具体配置过程例如是:配置接口406的esi属性值为esi2,配置接口406关联的处理模块为bd3,配置bd3关联的sid为3::1,将pe3上用于处理单播服务相关数据的处理模块bd3关联的sid配置为3::1,相当于在pe3上配置与单播服务关联的sid为3::1。
82.该场景下为提供单播服务和双活模式,pe1、pe2和pe3之间互相发送路由消息,路由消息可以是bgp消息。参见ietf草案“evpn all active usage enhancement,draft-eastlake-bess-enhance-evpn-all-active-00.txt”,其中描述了evpn中如何支持一个ce设备多归到多个pe设备且多个pe设备处于多活模式,多活模式也可称为多活冗余模式。
83.图5是本技术实施例提供的一种mac转发表中的条目的示意图。pe1、pe2和pe3均可以保存有mac转发表。在一个示例中,pe1可以经本地接口404从ce1学习到host1的mac地址
mac1,生成pe1上mac转发表中的条目501,条目501包括mac1、本地接口404的标识、以及本地接口404的esi属性值esi1,pe1向pe2和pe3发送路由消息rm1,路由消息rm1包括条目501和前述草案“evpn all active usage enhancement,draft-eastlake-bess-enhance-evpn-all-active-00.txt”中描述的虚拟局域网重定向扩展团体“vlan-redirect-extended community”属性。
84.在一个示例中,pe2收到路由消息rm1后,可以根据条目501中的esi1查找到pe2的本地接口即pe2连接ce1的接口405,生成快速重路由(fast reroute,frr)条目502,也就是pe2上mac转发表中的条目502。条目502包括mac1、用于经主路径向ce1发送数据包的本地接口405的标识、esi1和用于经修复路径向ce1发送数据包的接口408的标识。pe2上主路径经由本地接口405到达ce1,修复路径经由接口408和pe1到达ce1,修复路径是从pe2经pe1到ce1的路径。本技术中修复路径也可以称为备用(standby)路径。
85.pe2可以向pe1和pe3发送路由消息ra2,路由消息ra2包括ad路由a2和type是2的srv6-vpn sid属性。ad路由a2包括esi字段,ad路由a2中esi字段的值为pe2上配置的接口405的esi属性值esi1。以下在图4场景中将type是2的srv6-vpn sid属性中的值称为单播属性值,单播属性值可以用于向对端设备通知本端设备上配置的与单播服务关联的sid。路由消息ra2中单播属性值为pe2上配置的与单播服务关联的sid值2::1。
86.pe1经接口407收到pe2发送的路由消息ra2,确定路由消息ra2中的esi1与pe1生成的条目501中的esi1相同,pe1确定pe2是pe1的备份设备,参见图5,pe1根据条目501、收到路由消息ra2的接口407以及路由消息ra2中的单播属性值2::1生成条目503。条目503包括mac1、本地接口404的标识、esi1、接口407的标识和2::1。
87.类似地,pe1可以向pe2和pe3发送路由消息ra1,路由消息ra1包括ad路由a1和单播属性,ad路由a1包括esi字段,ad路由a1中esi字段的值为pe1上配置的接口404的esi属性值esi1,路由消息ra1中单播属性值为pe1上配置的与单播服务关联的sid值1::1。pe2经接口408收到pe1发送的路由消息ra1,确定路由消息ra1中的esi1与pe2生成的条目502中的esi1相同,pe2确定pe1是pe2的备份设备,参见图5,pe2根据条目502以及路由消息ra1中的单播属性值1::1生成条目504。条目504包括mac1、本地接口405的标识、esi1、接口408的标识和1::1。
88.pe3经接口409收到pe1发送的路由消息rm1后,可以生成pe3上mac转发表中的条目505,条目505包括mac1、esi1和接口409的标识。
89.pe3经接口409收到pe1发送的路由消息ra1后,可以确定路由消息ra1中的esi与pe3生成的条目505中的esi相同,可以根据条目505以及路由消息ra1中的单播属性值1::1生成条目506。条目506包括mac1、esi1、接口409的标识和1::1。pe3经接口410收到pe2发送的路由消息ra2后,可以确定路由消息ra2中的esi与条目506中的esi即接收自pe1的路由消息ra1中的esi相同,由此pe3可以确定pe2的本地接口与pe1的本地接口属于同一以太网段,也就是说可以确定pe2是pe1的备份设备。pe3可以根据条目506和路由消息ra2中的单播属性值2::1,生成条目509。条目509包括mac1、esi1、接口409的标识、1::1、接口410的标识和2::1。当pe3收到ce2转发的目的mac地址为mac1的数据包时,可以根据mac1查找mac转发表,根据条目509选择向pe1或pe2发送数据包。pe3可以设置数据包目的地址为1::1,经由接口409向pe1发送目的地址为1::1的数据包,以触发pe1提供单播服务也就是触发pe1向ce1转
发数据包。pe3也可以设置数据包目的地址为2::1,经由接口410向pe2发送目的地址为2::1的数据包,以触发pe2提供单播服务也就是触发pe2向ce1转发数据包。
90.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匹配的条目504中的本地接口405和接口408发送数据包。pe1上与sid值1::1关联的操作包括经由与mac1匹配的条目503中的本地接口404和接口407发送数据包。参见图5,条目504中包括本地接口405的标识、接口408的标识和1::1,pe2先确定本地接口405是否处于故障状态,当本地接口405未处于故障状态时,经本地接口405向ce1发送数据包,当本地接口405处于故障状态时,经接口408向pe1发送目的地址为1::1的数据包,以触发pe1向ce1转发数据包。
91.pe1收到pe2发送的目的地址为1::1且目的mac地址为mac1的数据包后,执行sid值1::1关联的操作,该关联的操作包括经由与mac1匹配的条目503中的本地接口404和接口407发送数据包,参见图5,条目503包括本地接口405的标识、接口408的标识和2::1。pe1先确定本地接口404是否处于故障状态,当本地接口404未处于故障状态时,经本地接口404向ce1发送数据包,当本地接口404处于故障状态时,经接口407向pe2发送目的地址为2::1的数据包,以触发pe2向ce1转发数据包,由此pe1将pe2发送过来的数据包又发送回pe2,引发数据包传输的环路。在pe3收到路由撤销通知,停止向pe2发送新的数据包才能停止引发环路,已引发的环路在pe1或pe2收到路由撤销通知,撤销到对方的路由后才能消除。
92.图6示出了在图4场景下本技术实施例提供的一种通信方法的流程图。
93.所述第一pe设备执行所述第一标识关联的操作,所述操作包括在媒体接入控制mac转发表中查找与所述数据包的目的mac地址匹配的第二条目,根据所述第二条目中用于连接ce设备的接口的标识确定所述第二接口;
94.s601,pe1经由接口407向pe2发送第一标识。
95.第一标识是旁路属性值,例如是1::2。在一个示例中可以在前述pe1向pe2发送的路由消息ra1中携带旁路属性,旁路属性中的类型type为3,旁路属性中的旁路属性值为1::2。
96.pe2经由接口408接收pe1发送的第一标识。在一个示例中,pe2可以经由接口408接收pe1发送的路由消息ra1,路由消息ra1包括ad路由a1和第一标识。ad路由a1中esi字段的值为pe1上配置的接口404的esi属性值esi1,第一标识为1::2。pe2确定路由消息ra1中的esi1与pe2生成的条目502中的esi1相同,pe2可以确定pe1是pe2的备份设备。参见图5,pe2根据条目502以及路由消息ra1生成条目508。条目508包括mac1、本地接口405的标识、esi1、接口408的标识和1::2,其中1::2是路由消息ra1中的第一标识。根据条目508,pe2可以向本地接口405发送数据包以便经由主路径向ce1发送数据包,pe2上主路径经由本地接口405到达ce1。根据条目508,pe2可以向接口408发送数据包以便经由修复路径向ce1发送数据包,修复路径是从pe2经pe1到达ce1的路径,pe2上修复路径经由接口408和pe1到达ce1,pe2向接口408发送数据包时可以将第一标识1::2携带在数据包中。
97.类似地,pe1可以经由接口407接收pe2发送的路由消息ra2,路由消息ra2包括ad路
由a2和第二标识,第二标识例如是2::2。pe1确定路由消息ra2中的esi1与pe1生成的条目501中的esi1相同,pe1可以确定pe2是pe1的备份设备。参见图5,与pe2生成条目508类似,pe1可以根据条目501以及路由消息ra2生成条目507。条目507包括mac1、本地接口404的标识、esi1、接口407的标识和2::2,其中2::2是路由消息ra2中的第二标识。
98.图5所示的条目501、502、503、504、505、506、507、508和509中,均可以对本地接口的标识进行标记以便在查找到条目时识别出条目中本地接口的标识,例如在条目中增加标志以指示某接口的标识为本地接口的标识。
99.s602,pe1经由接口407接收pe2发送的数据包,数据包包括第一标识。
100.数据包包括第一标识的方式例如是数据包的目的地址为第一标识。数据包的目的地址可以是ipv6地址。在一个示例中,数据包还具有目的mac地址,例如mac1。
101.pe2可以经由接口408向pe1发送数据包。如前所述,pe2向ce1发送数据包时,可以选择的路径有两条,一条是经由本地接口405到达ce1的主路径,一条是经由接口408和pe1到达ce1的修复路径。
102.在一个示例中,pe2先确定本地接口405是否处于故障状态,当本地接口405未处于故障状态时,响应于确定本地接口405处于正常状态或未处于故障状态,pe2可以经由本地接口405向ce1发送数据包。当本地接口405处于故障状态时,响应于确定本地接口405处于故障状态,pe2可以经由接口408向pe1发送包括第一标识的数据包。
103.在一个示例中,pe2接收到pe3发送的数据包,数据包的目的地址为pe2向pe3发送的路由消息r2中携带的单播属性值,例如2::1,数据包的目的mac地址为mac1,pe3向pe2发送数据包的过程如前所述。随后,pe2根据数据包的目的地址2::1,执行sid值2::1关联的操作,该关联的操作可以参考前述end.dt2u的功能,包括经由与mac1匹配的条目508中的本地接口405和接口408发送数据包。该关联的操作例如包括:在pe2的mac转发表中查找与mac1匹配的条目508,根据条目508中本地接口405的标识确定本地接口405,确定本地接口405是否处于故障状态,响应于确定本地接口405处于故障状态,根据条目508中接口408的标识确定接口408,经接口408向pe1发送数据包以便经修复路径发送数据包,数据包的目的地址设置为条目508中的sid值1::2。
104.s603,pe1确定与数据包中的第一标识关联的接口404处于故障状态;
105.s604,响应于pe1确定接口404处于故障状态,pe1避免经由接口407向pe2发送数据包。
106.pe1收到数据包后获取数据包中的第一标识,第一标识例如是数据包的目的地址1::2。数据包还可以包括目的mac地址mac1。pe1确定第一标识1::2关联的本地接口404是否处于故障状态,举例来说,pe1执行与sid值1::2关联的操作,该关联的操作包括在pe1的mac转发表中查找与mac1匹配的条目507,根据条目507中本地接口404的标识确定本地接口404,由此确定1::2关联的本地接口404。响应于确定本地接口404未处于故障状态,经由本地接口404向ce1发送数据包。响应于确定本地接口404处于故障状态,pe1避免经由接口407向pe2发送数据包。由此可以在接口404和接口405都处于故障状态时,pe1避免将pe2发送过来的数据包又发送回pe2而引发环路。pe1避免经由接口407向pe2发送数据包的一个方式是将从pe2收到的数据包丢弃。图6所示方法中可以定义一个新的end.dt2ul的功能,例如将end.dt2ul的功能中“经由与目的mac地址匹配的条目转发数据包”修改为“经由与目的mac
地址匹配的条目中的本地接口转发数据包”来获得。pe1上与第一标识1::2关联的操作可以参考end.dt2ul的功能来实现。
107.在一个示例中,pe1保存的条目507中包括mac1、本地接口404的标识、esi1、用于向pe2发送数据包以实现frr的接口407的标识和sid值2::2。由此,pe3可以向pe1发送待发往ce1的数据包,数据包的目的地址选用1::1。pe1收到pe3发送的目的地址为1::1且目的mac地址为mac1的数据包后,执行sid值1::1关联的操作,该关联的操作类似前述pe2接收到pe3发送的数据包后所执行的sid值2::1关联的操作,该关联的操作中pe1先确定本地接口404的状态,当本地接口404未处于故障状态时,向本地接口404发送数据包,当本地接口404处于故障状态时,经非本地接口407向pe2发送数据包。也就是说,pe3可以用目的地址1::1向pe1发送数据包,目的地址1::1关联pe1上的本地接口404和用于frr的非本地接口407,pe3也可以用目的地址2::1向pe2发送数据包,目的地址1::2关联pe2上的本地接口405和用于frr的非本地接口408。
108.进一步地,pe1收到pe3的数据包后,使用修复路径向pe2发送数据包时,使用接收自pe2的第二标识2::2,pe2在收到pe1的数据包后识别出第二标识,确定第二标识2::2关联的接口时获得本地接口405的标识但不会获得与2::2不关联的非本地接口408,进而不会再向pe1返回数据包。类似地,pe2收到pe3的数据包后,使用修复路径向pe1发送数据包时,使用接收自pe1的第一标识1::2,pe1在收到pe2的数据包后识别出第一标识,确定第一标识1::2关联的接口时获得本地接口404的标识但不会获得出与1::2不关联的非本地接口407,进而不会再向pe2返回数据包。由此,在pe1和pe2互为主备的双活模式下,通过互相发送旁路属性值,例如第一标识和第二标识,在发送数据包时使用该旁路属性值作为数据包的目的地址,避免引发环路问题。
109.类似于图3所示方法,图6所示方法中,基于第一标识的传递和识别,pe1在收到包括第一标识的数据包后,可以避免再次将数据包发送回pe2,从而在双活模式下pe1和pe2的本地接口均处于故障状态时,避免了数据包在pe1和pe2之间的传输环路。
110.类似于图3所示方法,图6所示方法中,pe1在接收的数据包中识别出第一标识时,可以确定数据包经由pe2到pe1的修复路径接收,相当于第一标识指示了pe2到pe1的修复路径,也就是数据包中的第一标识指示了数据包来自于pe2到pe1的修复路径,由此pe1避免向pe2返回该数据包以避免引发环路。
111.图7为本技术实施例提供的一种通信设备700的结构示意图。如图7所示,通信设备700包括处理器701、接口702和接口703,接口702是本地接口,接口703是非本地接口。通信设备700可以是图2或图4中的pe1,通过接口702连接ce1,通过接口703连接pe2。通信设备700还可以包括用于连接pe3的接口。图7所示通信设备700可以执行图3所示pe1执行的方法,接口702和接口703可以分别是图2所示接口204和接口207。图7所示通信设备700可以执行图6所示pe1执行的方法,接口702和接口703可以分别是图4所示接口404和接口407。
112.处理器701可以经由接口703向pe2发送第一标识,具体可参考s301中pe1经由接口207向pe2发送第一标识的描述以及s601中pe1经由接口407向pe2发送第一标识的描述。
113.处理器701还可以经由接口703接收pe2发送的包括第一标识的数据包,具体可参考s302中pe1经由接口207接收pe2发送的数据包的描述以及s602中pe1经由接口407接收pe2发送的数据包的描述。
114.处理器701接收到包括第一标识的数据包后,可以确定与数据包中的第一标识关联的接口702是否处于故障状态,响应于确定接口702处于故障状态,避免经由接口703向pe2发送数据包。具体可参考s303和s304中pe1确定与数据包中的第一标识关联的接口204处于故障状态,响应于确定接口204处于故障状态,避免经由接口207向pe2发送数据包的描述,以及可参考s603和s604中pe1确定与数据包中的第一标识关联的接口404处于故障状态,响应于确定接口404处于故障状态,避免经由接口407向pe2发送数据包的描述。
115.通信设备700还可以包括存储器704,存储器704用于保存第一条目。第一条目包括第一标识以及接口702的标识,但不包括接口703的标识。存储器704保存第一条目可参考s303和s304中描述的pe1保存条目w1。处理器701可以根据数据包中的第一标识以及第一条目确定接口702,具体可参考s303和s304中pe1根据数据包中的第一标识1::2以及条目w1确定本地接口204。
116.处理器701可以执行第一标识关联的操作。该操作包括在mac转发表中查找与数据包的目的mac地址mac1匹配的第二条目,根据第二条目中用于连接ce设备的接口的标识确定接口702,确定接口702处于故障状态。具体可参考s603和s604中pe1执行与第一标识1::2关联的操作,第二条目是条目507。mac转发表可以存储于存储器704中,或者存储于存储器704以外的存储器中。
117.处理器701避免向pe2发送数据包的方式包括丢弃数据包,具体可参考s303和s304中pe1避免经由接口207向pe2发送数据包,以及可参考s603和s604中pe1避免经由接口407向pe2发送数据包。
118.图8为本技术实施例提供的一种通信设备800的结构示意图。如图8所示,通信设备800包括处理器801、接口802和接口803,接口802是本地接口,接口803是非本地接口。通信设备800可以是图2或图4中的pe2,通过接口802连接ce1,通过接口803连接pe1。通信设备800还可以包括用于连接pe3的接口804。图8所示通信设备800可以执行图3所示中pe2执行的方法,接口802和接口803可以分别是图2所示接口205和接口208。图8所示通信设备800可以执行图6所示中pe2执行的方法,接口802和接口803可以分别是图8所示接口405和接口408。
119.处理器801可以接收pe1发送的第一标识,向pe1发送包括第一标识的数据包。
120.处理器801可以接收pe3发送的数据包,确定接口802是否处于故障状态,响应于确定接口802处于故障状态,向pe1发送包括第一标识的数据包。
121.处理器801执行的操作具体可参考s301、s302、s303和s304中pe2执行的操作,以及可参考s601、s602、s603和s604中pe2执行的操作。
122.处理器701和处理器801可以是中央处理器(central processing unit,cpu),网络处理器(network processor,np)或者cpu和np的组合。
123.通信设备700和通信设备800可以包括用于存储计算机程序指令的存储器,处理器701和处理器801在执行存储器上的计算机程序指令时,使得通信设备700和通信设备800分别执行图3所示中pe1和pe2执行的方法,或者分别执行图6所示中pe1和pe2执行的方法。通信设备700中存储计算机程序指令的存储器可以是存储器704,也可以是不同于存储器704的存储器。
124.通信设备700上的存储器704、通信设备700和通信设备800上用于存储计算机程序
指令的存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram),也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)。在一个示例中,在通信设备700上存储器704可以整合到处理器701中,用于存储计算机程序指令的存储器也可以整合到处理器701中,在通信设备800上用于存储计算机程序指令的存储器也可以整合到处理器801中。
125.接口702、703、802、803和804可以是以太网接口。
126.图9为本技术实施例提供的一种通信设备900的结构示意图。如图9所示,通信设备900包括发送单元901、接收单元902、确定单元903和避免单元904。通信设备900连接pe设备pe2和ce设备ce1,可以是图2中的pe1,执行图3所示pe1执行的方法。通信设备900可以是图4中的pe1,执行图6所示pe1执行的方法。
127.发送单元901可以经由连接pe2的接口,例如接口204或接口404,向pe2发送第一标识。具体可参考s301中pe1经由接口207向pe2发送第一标识的描述以及s601中pe1经由接口407向pe2发送第一标识的描述。
128.接收单元902可以经由连接pe2的接口接收pe2发送的包括第一标识的数据包。具体可参考s302中pe1经由接口207接收pe2发送的数据包的描述以及s602中pe1经由接口407接收pe2发送的数据包的描述。
129.确定单元903可以确定与数据包中的第一标识关联的连接ce1的接口处于故障状态。响应于确定单元903确定连接ce1的接口处于故障状态,避免单元904可以避免经由连接ce1的接口向pe2发送数据包。具体可参考s303和s304中pe1确定与数据包中的第一标识关联的接口204处于故障状态,响应于确定接口204处于故障状态,避免经由接口207向pe2发送数据包的描述,以及可参考s603和s604中pe1确定与数据包中的第一标识关联的接口404处于故障状态,响应于确定接口404处于故障状态,避免经由接口407向pe2发送数据包的描述。
130.通信设备900还可以包括存储单元905,存储单元905可以保存第一条目。第一条目包括第一标识以及连接ce1的接口的标识,但不包括连接pe2的接口的标识。存储单元905保存第一条目可参考s303和s304中描述的pe1保存条目w1。
131.确定单元903,可以根据所述数据包中的所述第一标识以及所述第一条目,确定连接ce1的接口。具体可参考s303和s304中pe1根据数据包中的第一标识1::2以及条目w1确定本地接口204。
132.确定单元903,可以用于执行第一标识关联的操作,该操作包括在mac转发表中查找与数据包的目的mac地址mac1匹配的第二条目,根据第二条目中用于连接ce设备的接口的标识确定连接ce1的接口,确定该接口处于故障状态。具体可参考s603和s604中pe1执行与第一标识1::2关联的操作,第二条目是条目507。
133.避免单元904避免向pe2发送数据包的方式可以包括丢弃数据包,具体可参考s303和s304中pe1避免经由接口207向pe2发送数据包,以及可参考s603和s604中pe1避免经由接口407向pe2发送数据包。
134.图10为本技术实施例提供的一种通信设备1000的结构示意图。如图10所示,通信设备1000包括发送单元接收单元1001和发送单元1002。通信设备1000连接pe设备pe1和ce
设备ce1,可以是图2中的pe2,执行图3所示中pe2执行的方法。通信设备1000可以是图4中的pe2,执行图6所示中pe2执行的方法。
135.接收单元1001可以接收pe1发送的第一标识。发送单元1002可以向pe1发送包括第一标识的数据包。
136.通信设备1000还可以包括确定单元1003。接收单元1001接收pe3发送的数据包,响应于接收pe3发送的数据包,确定单元1003确定连接ce1的接口是否处于故障状态,响应于确定连接ce1的接口处于故障状态,向pe1发送包括第一标识的数据包。
137.接收单元1001、发送单元1002和确定单元1003执行的操作具体可参考s301、s302、s303和s304中pe2执行的操作,以及可参考s601、s602、s603和s604中pe2执行的操作。
138.图11为本技术实施例提供的一种通信系统1100的结构示意图。通信系统1100包括pe设备1101和pe设备1102,pe设备1101连接pe设备1102。pe设备1101可以是图7所示的通信设备700或者图9所示的通信设备900,pe设备1101可以连接ce设备ce1,也可以连接pe设备pe3。pe设备1102可以是图8所示的通信设备800或图10所示的通信设备1000,pe设备1102可以连接ce1,也可以连接pe3。
139.本技术各实施例之间可以相互参考和借鉴,相同或相似的步骤以及名词均不再一一赘述。
140.本技术各实施例可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,dvd)、或者半导体介质(例如固态硬盘)等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1