CN103607301A - 一种ecmp方式下链路故障的保护切换方法和设备 - Google Patents
一种ecmp方式下链路故障的保护切换方法和设备 Download PDFInfo
- Publication number
- CN103607301A CN103607301A CN201310583042.8A CN201310583042A CN103607301A CN 103607301 A CN103607301 A CN 103607301A CN 201310583042 A CN201310583042 A CN 201310583042A CN 103607301 A CN103607301 A CN 103607301A
- Authority
- CN
- China
- Prior art keywords
- flow hash
- path
- hash value
- ccm
- terminal device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000011084 recovery Methods 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种ECMP方式下链路故障的保护切换方法和设备,该方法包括:本端设备通过遍历第一flow hash表得到flow hash值;本端设备通过flow hash值对应的路径向对端设备发送第一CCM;对端设备利用第一CCM的接收情况确定所述flow hash值对应的路径是否故障;在所述flow hash值对应的路径发生故障时,本端设备接收来自所述对端设备的第二CCM;所述本端设备从第二flow hash表中删除故障路径对应的flow hash值;所述本端设备利用业务报文的信息从所述第二flow hash表中匹配到对应的flow hash值,并通过所述flow hash值对应的路径将所述业务报文发送给所述对端设备。本发明实施例中,缩短了故障转移时间,避免流量出现断流,保证业务不中断。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种ECMP(Equal Cost MultiplePaths,等价多路径)方式下链路故障的保护切换方法和设备。
背景技术
SPB(Shortest Path Bridging,最短路径桥)支持两种不同的途径实现流量负载分担。(1)ECT(Equal Cost Tree,等价路径树)VLANs(Virtual Local AreaNetwork,虚拟局域网):通过将服务实例映射至B-VLAN(运营商虚拟局域网),继而根据该B-VLAN所指定的ECT算法从SPT(Shortest Path Tree,最短路径树)集合中选择一颗SPT树,以使不同的服务实例可以映射至不同的B-VLAN,从而实现流量的负载分担。(2)ECMP:这种ECMP方式下,单播流量在转发时从一组等价路径中动态选择一条路径。其中,该ECMP提供了一种只用一个B-VLAN将流量在一组等价路径上进行负载分担的办法,且该ECMP通过使用HASH算法实现基于流的负载分担,即可以根据源MAC(Media Access Control,介质访问控制)、目的MAC、用户VLAN等信息进行负载分担。
当设备支持流分类时,ECMP使用HASH算法实现基于流的负载分担。具体的,在控制平面计算时,生成存在多条等价路径的单播转发表项;在数据平面转发时,根据特定HASH算法从多条等价路径中选择一个等价路径。
现有技术中,当连接两个设备的某条路径上的某链路或某中间设备出现故障时,在拓扑重新收敛前,即使网络中存在其它等价路径可用,故障路径的业务也将出现中断,而拓扑收敛的时间取决于SPB网络中节点数量、拓扑类型、故障类型、故障在拓扑中的位置等因素,因此业务恢复时间较长。
如图1所示的存在多条等价路径的组网示意图,设备A和设备E之间存在三条等价路径,分别为路径1(设备A、设备B、设备E)、路径2(设备A、设备C、设备E)、路径3(设备A、设备D、设备E)。在ECMP方式下,用户流量从设备A进入SPB网络到达设备E时,将在三条等价路径上进行负载分担。如果路径2上链路或设备出现故障,在拓扑重新收敛前,所有经过路径2的流量出现断流。
发明内容
本发明实施例提供一种ECMP方式下链路故障的保护切换方法和设备,以在等价路径故障时,避免该等价路径上的流量出现断流,保证业务不中断。
为达到上述目的,本发明实施例提供一种等价多路径ECMP方式下链路故障的保护切换方法,该方法应用于包括本端设备和对端设备的网络中,所述本端设备与所述对端设备之间存在多条等价路径,所述方法包括以下步骤:
所述本端设备通过遍历第一flow hash表得到flow hash值,所述第一flowhash表中的每个flow hash值对应本端设备与对端设备之间的一条路径;
所述本端设备通过flow hash值对应的路径向对端设备发送第一连接检测报文CCM,所述第一CCM中携带所述flow hash值;由对端设备利用携带flowhash值的第一CCM的接收情况确定所述flow hash值对应的路径是否故障;
在所述flow hash值对应的路径发生故障时,所述本端设备接收来自所述对端设备的第二CCM,所述第二CCM中携带故障路径对应的flow hash值;
所述本端设备在利用所述第二CCM获知当前存在故障路径时,从第二flow hash表中删除所述故障路径对应的flow hash值,所述第二flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径;
所述本端设备在需要向所述对端设备发送业务报文时,利用所述业务报文的信息从所述第二flow hash表中匹配到对应的flow hash值,并通过所述flow hash值对应的路径将所述业务报文发送给所述对端设备。
所述本端设备接收来自所述对端设备的第二CCM后,所述方法还包括:
所述本端设备在感知到拓扑变化之前,继续通过遍历第一flow hash表得到flow hash值,并通过flow hash值对应的路径向对端设备发送第一CCM;
在所述flow hash值对应的路径故障恢复时,所述本端设备接收来自对端设备的第三CCM,所述第三CCM中携带故障恢复路径对应的flow hash值;
所述本端设备在利用所述第三CCM获知当前存在故障恢复路径时,将所述故障恢复路径对应的flow hash值添加到所述第二flow hash表中;
或者,
如果所述flow hash值对应的故障路径未恢复,则在所述本端设备感知到拓扑变化之后,从所述第一flow hash表中删除所述故障路径对应的flow hash值,且不再通过所述flow hash值对应的故障路径向对端设备发送第一CCM。
本发明实施例提供一种等价多路径ECMP方式下链路故障的保护切换方法,该方法应用于包括本端设备和对端设备的网络中,所述本端设备与所述对端设备之间存在多条等价路径,所述方法包括以下步骤:
所述对端设备接收所述本端设备通过flow hash值对应的路径向所述对端设备发送的第一连接检测报文CCM;其中,所述第一CCM中携带了第一flowhash表中的所述flow hash值,且所述第一flow hash表中的每个flow hash值对应所述本端设备与所述对端设备之间的一条路径;
所述对端设备利用第一CCM的接收情况确定所述flow hash值对应的路径是否故障,并在所述flow hash值对应的路径发生故障时,向本端设备发送第二CCM,且第二CCM中携带故障路径对应的flow hash值;由本端设备从第二flow hash表中删除所述故障路径对应的flow hash值,且所述第二flowhash表中的每个flow hash值对应本端设备与对端设备之间的一条路径。
所述对端设备利用第一CCM的接收情况确定所述flow hash值对应的路径是否故障,具体包括:
如果所述对端设备在预设时间内未收到来自本端设备的携带所述flowhash值的第一CCM,则确定所述flow hash值对应的路径发生故障;或者,
如果所述对端设备在预设时间内未收到来自本端设备的携带路径ID的第一CCM,则确定所述路径ID对应的路径发生故障;其中,flow hash值对应的路径ID携带于所述第一CCM的指定类型长度值TLV字段中。
所述对端设备利用第一CCM的接收情况确定所述flow hash值对应的路径发生故障之后,所述方法还包括:
如果所述对端设备收到来自本端设备的携带所述flow hash值的第一CCM,则确定所述flow hash值对应的路径故障恢复,并向本端设备发送第三CCM,所述第三CCM中携带故障恢复路径对应的flow hash值;由本端设备将所述故障恢复路径对应的flow hash值添加到所述第二flow hash表中;或者,
如果所述对端设备收到来自本端设备的携带所述路径ID的第一CCM,则确定所述路径ID对应的路径故障恢复,并向本端设备发送第三CCM,所述第三CCM中携带故障恢复路径对应的flow hash值;由本端设备将所述故障恢复路径对应的flow hash值添加到所述第二flow hash表中。
本发明实施例提供一种用于等价多路径ECMP方式下链路故障的保护切换的本端设备,应用于包括所述本端设备和对端设备的网络中,所述本端设备与所述对端设备之间存在多条等价路径,所述本端设备具体包括:
第一发送模块,用于通过遍历第一flow hash表得到flow hash值,并通过所述flow hash值对应的路径向对端设备发送第一连接检测报文CCM;其中,所述第一flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径;所述第一CCM中携带所述flow hash值;由对端设备利用携带flowhash值的第一CCM的接收情况确定所述flow hash值对应的路径是否故障;
接收模块,用于在所述flow hash值对应的路径发生故障时,接收来自所述对端设备的第二CCM,所述第二CCM中携带故障路径对应的flow hash值;
处理模块,用于在利用所述第二CCM获知当前存在故障路径时,从第二flow hash表中删除所述故障路径对应的flow hash值;其中,所述第二flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径;
第二发送模块,用于在需要向所述对端设备发送业务报文时,利用所述业务报文的信息从所述第二flow hash表中匹配到对应的flow hash值,并通过所述flow hash值对应的路径将所述业务报文发送给所述对端设备。
所述第一发送模块,还用于在收到来自所述对端设备的第二CCM之后,在感知到拓扑变化之前,继续通过遍历第一flow hash表得到flow hash值,并通过flow hash值对应的路径向对端设备发送第一CCM;
所述接收模块,还用于在flow hash值对应的路径故障恢复时,接收来自对端设备的第三CCM,该第三CCM中携带故障恢复路径对应的flow hash值;
所述处理模块,还用于在利用所述第三CCM获知当前存在故障恢复路径时,将所述故障恢复路径对应的flow hash值添加到所述第二flow hash表中;
或者,
所述处理模块,还用于当flow hash值对应的故障路径未恢复,则在感知到拓扑变化之后,从第一flow hash表中删除所述故障路径对应的flow hash值,且不再通过所述flow hash值对应的故障路径向对端设备发送第一CCM。
本发明实施例提供一种用于等价多路径ECMP方式下链路故障的保护切换的对端设备,应用于包括本端设备和所述对端设备的网络中,所述本端设备与所述对端设备之间存在多条等价路径,所述对端设备具体包括:
接收模块,用于接收所述本端设备通过flow hash值对应的路径向所述对端设备发送的第一连接检测报文CCM;其中,所述第一CCM中携带了第一flow hash表中的所述flow hash值,且所述第一flow hash表中的每个flow hash值对应所述本端设备与所述对端设备之间的一条路径;
确定模块,用于利用所述接收模块对所述第一CCM的接收情况确定所述flow hash值对应的路径是否发生故障;
发送模块,用于在所述flow hash值对应的路径发生故障时,向本端设备发送第二CCM,且第二CCM中携带故障路径对应的flow hash值;由本端设备从第二flow hash表中删除所述故障路径对应的flow hash值,且所述第二flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径。
所述确定模块,具体用于如果在预设时间内未收到来自本端设备的携带所述flow hash值的第一CCM,则确定所述flow hash值对应的路径发生故障;或者,如果在预设时间内未收到来自本端设备的携带路径ID的第一CCM,则确定所述路径ID对应的路径发生故障;其中,flow hash值对应的路径ID携带于所述第一CCM的指定类型长度值TLV字段中。
所述确定模块,还用于在利用第一CCM的接收情况确定flow hash值对应的路径发生故障后,如果收到来自本端设备的携带所述flow hash值的第一CCM,确定所述flow hash值对应的路径故障恢复;或者,如果收到来自本端设备的携带所述路径ID的第一CCM,确定所述路径ID对应的路径故障恢复;
所述发送模块,还用于在flow hash值对应的路径故障恢复时,向本端设备发送第三CCM,该第三CCM中携带故障恢复路径对应的flow hash值;由本端设备将所述故障恢复路径对应的flow hash值添加到第二flow hash表中。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,当本端设备与对端设备之间存在多条等价路径时,本端设备通过flow(流)hash值对应的路径向对端设备发送CCM(Continuity Check Message,连接检测报文),由对端设备利用CCM的接收情况确定flow hash值对应的路径是否故障,在flow hash值对应的路径发生故障时,本端设备从flow hash表中删除故障路径对应的flow hash值,在需要向对端设备发送业务报文时,从flow hash表中匹配到对应的flow hash值,通过flow hash值对应的路径将业务报文发送给对端设备。上述方式能将故障路径对应的flow hash值从flow hash表中删除,从而在等价路径故障时,将需要在该等价路径上传输的业务报文切换到其它等价路径上,缩短了故障转移时间,避免流量出现断流,保证业务不中断。
附图说明
图1是现有技术中的存在多条等价路径的组网示意图;
图2是本发明实施例提出的一种ECMP方式下链路故障的保护切换方法流程示意图;
图3是本发明实施例提出的一种本端设备的结构示意图;
图4是本发明实施例提出的一种对端设备的结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种ECMP方式下链路故障的保护切换方法,该方法应用于包括本端设备和对端设备的网络(如SPB网络)中,且本端设备与对端设备之间存在多条等价路径,以图1为本发明实施例的应用场景示意图,本端设备为设备A,对端设备为设备E,设备A和设备E之间存在三条等价路径,分别为路径1(设备A、设备B、设备E)、路径2(设备A、设备C、设备E)、路径3(设备A、设备D、设备E)。
在上述应用场景下,如图2所示,该保护切换方法包括以下步骤:
步骤201,本端设备通过遍历第一flow hash表得到flow hash值,并通过该flow hash值对应的路径向对端设备发送第一CCM。
本发明实施例中,本端设备需要在控制层面(如内存)维护第一flow hash表,且第一flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径。在图1所示的应用场景下,第一flow hash表为{1,2,3},flow hash值为1表示设备A和设备E之间的路径1(设备A、设备B、设备E),flow hash值为2表示设备A和设备E之间的路径2(设备A、设备C、设备E),flow hash值为3表示设备A和设备E之间的路径3(设备A、设备D、设备E)。
本发明实施例中,为了使得等价路径上的各设备均能够准确的通过相应的路径将第一CCM发送给对端设备,则该第一CCM中还可以携带flow hash值,从而使得等价路径上的各设备利用该flow hash值获知该flow hash值对应的路径,并通过该flow hash值对应的路径将第一CCM发送给对端设备。
综上所述,在图1所示的应用场景下,设备A通过遍历第一flow hash表得到flow hash值1,并通过该flow hash值1对应的路径1(设备A、设备B、设备E)向设备E发送第一CCM,且该第一CCM中携带flow hash值1;设备A通过遍历第一flow hash表得到flow hash值2,并通过该flow hash值2对应的路径2(设备A、设备C、设备E)向设备E发送第一CCM,且该第一CCM中携带flow hash值2;设备A通过遍历第一flow hash表得到flow hash值3,并通过该flow hash值3对应的路径3(设备A、设备D、设备E)向设备E发送第一CCM,且该第一CCM中携带flow hash值3。
CFM(Connectivity Fault Management,连通错误管理)是一种二层网络中的端到端的OAM(Operation Administration and Maintenance,操作管理和维护)机制,主要用于在二层网络中检测链路的连通性,以及在故障发生时确认故障并定位。本发明实施例中,通过在SPB网络中对CFM机制进行扩展,使得CFM机制可以在ECMP方式下对本端设备与对端设备之间的多条等价路径进行故障检测。在进行故障检测的过程中,当在本端设备和对端设备上使能CFM功能后,本端设备通过轮询第一flow hash表,使得本端设备能够基于第一flow hash表中的每个flow hash值对应的等价路径向对端设备发送CCM,并在该CCM中携带相应的flow hash值,且不同的flow hash值决定了该CCM所经过的路径,从而实现对本端设备与对端设备之间的各等价路径进行故障检测。
步骤202,对端设备利用第一CCM的接收情况确定flow hash值对应的路径是否发生故障,并在该flow hash值对应的路径发生故障时,向本端设备发送第二CCM,且该第二CCM中携带故障路径对应的flow hash值。
本发明实施例中,对端设备等待接收本端设备通过flow hash值对应的路径向对端设备发送的第一CCM,并检测是否收到本端设备通过flow hash值对应的路径向对端设备发送的第一CCM,继而利用该第一CCM的接收情况确定flow hash值对应的路径是否发生故障,在flow hash值对应的路径发生故障时,向本端设备发送第二CCM,且第二CCM中携带故障路径对应的flow hash值。
本发明实施例中,对端设备利用第一CCM的接收情况确定flow hash值对应的路径是否发生故障的过程,具体包括但不限于以下方式:方式一、如果对端设备在预设时间内未收到来自本端设备的携带flow hash值的第一CCM,则确定该flow hash值对应的路径发生故障。方式二、如果对端设备在预设时间内未收到来自本端设备的携带路径ID(标识)的第一CCM,则确定该路径ID对应的路径发生故障;其中,flow hash值对应的路径ID携带于第一CCM的指定TLV(Type Length Value,类型长度值)字段中。
针对上述方式一,对端设备在接收来自本端设备的携带flow hash值的第一CCM时,需要记录下该flow hash值。进一步的,如果对端设备在预设时间内收到来自本端设备的携带flow hash值的第一CCM,则确定该flow hash值对应的路径未发生故障;如果对端设备在预设时间内未收到来自本端设备的携带flow hash值的第一CCM,则确定该flow hash值对应的路径发生故障。
针对上述方式二,需要在第一CCM中扩展指定类型TLV,该指定类型TLV用于携带flow hash值对应的路径ID,即该路径ID标识发送该第一CCM的路径;基于此,第一CCM中将携带flow hash值以及flow hash值对应的路径ID,且对端设备基于路径ID确定flow hash值对应的路径是否发生故障。进一步的,如果对端设备在预设时间内收到来自本端设备的携带路径ID的第一CCM,则确定该路径ID对应的路径未发生故障;如果对端设备在预设时间内未收到来自本端设备的携带路径ID的第一CCM,则确定该路径ID对应的路径发生故障。
需要指出的是,在采用上述方式二(即第一CCM新增TLV用于携带路径ID)时,如果在初始情况时该路径ID对应的路径便发生故障了,则对端设备也可以确定出该路径ID对应的路径发生故障,即对端设备无论在什么情况下都可以知道哪个路径ID对应的路径发生故障,并依此进行后续处理。
本发明实施例中,对端设备在向本端设备发送第二CCM时,对端设备可以通过所有等价路径分别向本端设备发送第二CCM,以保证第二CCM能够发送至本端设备上。其中,对端设备在通过各等价路径分别向本端设备发送第二CCM时,该第二CCM中还可以携带故障路径对应的flow hash值。此外,对端设备在通过故障路径向本端设备发送第二CCM时,还可以将第二CCM报文的RDI(远程故障指示)字段置位,且将RDI字段置位用于指示本端设备至对端设备的该路径(即本端设备收到第二CCM的路径)上存在故障。
综上所述,在图1所示的应用场景下,假设路径2(设备A、设备C、设备E)上存在故障,则设备A通过flow hash值2对应的路径2(设备A、设备C、设备E)向设备E发送携带flow hash值2的第一CCM时,设备E在预设时间内将不会收到来自设备A的携带flow hash值2的第一CCM,继而确定flow hash值2对应的路径2(设备A、设备C、设备E)发生故障,并向设备A发送携带故障路径2对应的flow hash值2的第二CCM,且设备A可以获知路径2发生故障。
步骤203,本端设备在利用第二CCM(该第二CCM中携带故障路径对应的flow hash值)获知当前存在故障路径(即flow hash值对应的路径发生故障)时,本端设备从第二flow hash表中删除该故障路径对应的flow hash值。
本发明实施例中,本端设备需要在数据平面(如硬件转发芯片)维护第二flow hash表,且第二flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径。在图1所示的应用场景下,第二flow hash表为{1,2,3},flow hash值为1表示设备A和设备E之间的路径1(设备A、设备B、设备E),flow hash值为2表示设备A和设备E之间的路径2(设备A、设备C、设备E),flow hash值为3表示设备A和设备E之间的路径3(设备A、设备D、设备E)。在此基础上,本端设备在收到第二CCM(该第二CCM中携带故障路径2对应的flow hash值2)时,从第二flow hash表中删除该故障路径2对应的flow hash值2,此时第二flow hash表为{1,3}。
步骤204,本端设备在需要向对端设备发送业务报文(即业务数据流)时,利用该业务报文的信息从第二flow hash表中匹配到对应的flow hash值,并通过该flow hash值对应的路径将该业务报文发送给对端设备。
其中,该业务报文的信息具体包括但不限于:该业务报文的源MAC、目的MAC、用户VLAN等信息;在利用该业务报文的信息从第二flow hash表中匹配flow hash值时,本端设备可以通过预设HASH算法实现。
在图1所示的应用场景下,假设路径2(设备A、设备C、设备E)上存在故障,在经过上述步骤的处理后,第二flow hash表为{1,3},flow hash值为1表示设备A和设备E之间的路径1(设备A、设备B、设备E),flow hash值为3表示设备A和设备E之间的路径3(设备A、设备D、设备E)。因此,本端设备在利用业务报文的信息从第二flow hash表中匹配flow hash值时,只能匹配到flow hash值1或者flow hash值3,因此本端设备在通过flow hash值对应的路径将业务报文发送给对端设备时,只会通过路径1(设备A、设备B、设备E)或者路径3(设备A、设备D、设备E)将业务报文发送给对端设备,从而避免通过路径2(设备A、设备C、设备E)将业务报文发送给对端设备,使得本端设备在等价路径2发生故障时,能够将需要在等价路径2上传输的业务报文切换到其它等价路径(路径1或者路径3)上,继而缩短了故障转移时间,避免了流量出现断流,并且能够保证业务不发生中断。
本发明实施例中,为了使得等价路径上的各设备均能够准确的通过相应路径将业务报文发送给对端设备,则在对业务报文进行封装时,还需要在封装后的内容中携带flow hash值,从而使得等价路径上的各设备利用该flowhash值获知该flow hash值对应的路径,并通过该flow hash值对应的路径将业务报文发送给对端设备。具体的,本端设备对业务报文进行F-TAG封装时,封装后的业务报文中携带F-TAG信息,且该F-TAG信息中包括flow hash值。
本发明实施例中,本端设备在感知到拓扑变化之前(此时设备A和设备E之间仍然存在路径1、路径2和路径3),需要继续通过遍历第一flow hash表得到flow hash值,并通过flow hash值对应的路径向对端设备发送第一CCM(即设备A通过路径1、路径2和路径3分别向设备E发送第一CCM)。此时如果flow hash值对应的路径故障恢复(如路径2故障恢复),则对端设备将收到来自本端设备的携带flow hash值的第一CCM,并确定flow hash值对应的路径故障恢复(如设备E可以确定路径2故障恢复);或者,对端设备将收到来自本端设备的携带路径ID的第一CCM,并确定路径ID对应的路径故障恢复(如设备E可以确定路径2故障恢复)。之后,对端设备向本端设备发送第三CCM,且该第三CCM中携带故障恢复路径对应的flow hash值。
进一步的,在flow hash值对应的路径故障恢复(如路径2故障恢复)时,本端设备将接收到来自对端设备的第三CCM,且该第三CCM中携带故障恢复路径对应的flow hash值;本端设备在利用第三CCM获知当前存在故障恢复路径时,将该故障恢复路径对应的flow hash值添加到第二flow hash表(如本端设备将路径2对应的flow hash值添加到第二flow hash表)中。
在后续处理过程中,由于第二flow hash表为{1,2,3},因此,本端设备在利用业务报文的信息从第二flow hash表中匹配flow hash值时,能够匹配到flow hash值1、或者flow hash值2、或者flow hash值3,继而使得本端设备可以通过路径1(设备A、设备B、设备E)、或者路径2(设备A、设备C、设备E)、或者路径3(设备A、设备D、设备E)将业务报文发送给对端设备,从而在路径1、路径2和路径3之间实现业务报文的负载分担。
本发明实施例中,如果flow hash值对应的故障路径未恢复(如路径2故障未恢复),则在本端设备感知到拓扑变化之后(此时设备A和设备E之间只存在路径1和路径3),还需要从第一flow hash表中删除故障路径对应的flowhash值(如故障路径2对应的flow hash值2),之后本端设备将不再通过该flowhash值对应的故障路径(即故障路径2)向对端设备发送第一CCM。
具体的,本端设备在感知到拓扑变化之后,此时拓扑将重新收敛,即设备A和设备E之间存在如下等价路径:路径1(设备A、设备B、设备E)、路径2(设备A、设备D、设备E)。基于此,本端设备维护的第一flow hash表和第二flow hash表均为{1,2},flow hash值为1表示设备A和设备E之间的路径1(设备A、设备B、设备E),flow hash值为2表示设备A和设备E之间的路径2(设备A、设备D、设备E)。在后续处理过程中,与第一flow hash表和第二flow hash表均为{1,2,3}的处理类似,在此不再重复赘述。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种用于等价多路径ECMP方式下链路故障的保护切换的本端设备,应用于包括所述本端设备和对端设备的网络中,所述本端设备与所述对端设备之间存在多条等价路径,如图3所示,所述本端设备具体包括:
第一发送模块11,用于通过遍历第一flow hash表得到flow hash值,并通过所述flow hash值对应的路径向对端设备发送第一连接检测报文CCM;所述第一flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径;所述第一CCM中携带所述flow hash值;由对端设备利用携带flow hash值的第一CCM的接收情况确定所述flow hash值对应的路径是否故障;
接收模块12,用于在所述flow hash值对应的路径发生故障时,接收来自对端设备的第二CCM,所述第二CCM中携带故障路径对应的flow hash值;
处理模块13,用于在利用所述第二CCM获知当前存在故障路径时,从第二flow hash表中删除所述故障路径对应的flow hash值;其中,所述第二flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径;
第二发送模块14,用于在需要向所述对端设备发送业务报文时,利用所述业务报文的信息从所述第二flow hash表中匹配到对应的flow hash值,并通过所述flow hash值对应的路径将所述业务报文发送给所述对端设备。
所述第一发送模块11,还用于在收到来自所述对端设备的第二CCM之后,在感知到拓扑变化之前,继续通过遍历第一flow hash表得到flow hash值,并通过flow hash值对应的路径向对端设备发送第一CCM;
所述接收模块12,还用于在flow hash值对应的路径故障恢复时,接收来自对端设备的第三CCM,第三CCM中携带故障恢复路径对应的flow hash值;
所述处理模块13,还用于在利用第三CCM获知当前存在故障恢复路径时,将所述故障恢复路径对应的flow hash值添加到所述第二flow hash表中;
或者,
所述处理模块13,还用于当flow hash值对应的故障路径未恢复,则在感知到拓扑变化之后,从第一flow hash表中删除所述故障路径对应的flow hash值,且不再通过所述flow hash值对应的故障路径向对端设备发送第一CCM。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种用于等价多路径ECMP方式下链路故障的保护切换的对端设备,应用于包括本端设备和所述对端设备的网络中,所述本端设备与所述对端设备之间存在多条等价路径,如图4所示,所述对端设备具体包括:
接收模块21,用于接收所述本端设备通过flow hash值对应的路径向所述对端设备发送的第一连接检测报文CCM;其中,所述第一CCM中携带了第一flow hash表中的所述flow hash值,且所述第一flow hash表中的每个flowhash值对应所述本端设备与所述对端设备之间的一条路径;
确定模块22,用于利用所述接收模块21对所述第一CCM的接收情况确定所述flow hash值对应的路径是否发生故障;
发送模块23,用于在所述flow hash值对应的路径发生故障时,向本端设备发送第二CCM,且第二CCM中携带故障路径对应的flow hash值;由本端设备从第二flow hash表中删除所述故障路径对应的flow hash值,且所述第二flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径。
所述确定模块22,具体用于如果在预设时间内未收到来自本端设备的携带所述flow hash值的第一CCM,则确定所述flow hash值对应的路径发生故障;或者,如果在预设时间内未收到来自本端设备的携带路径ID的第一CCM,则确定所述路径ID对应的路径发生故障;其中,flow hash值对应的路径ID携带于所述第一CCM的指定类型长度值TLV字段中。
所述确定模块22,还用于在利用第一CCM的接收情况确定flow hash值对应的路径发生故障后,如果收到来自本端设备的携带所述flow hash值的第一CCM,确定所述flow hash值对应的路径故障恢复;或,如果收到来自本端设备的携带所述路径ID的第一CCM,确定所述路径ID对应的路径故障恢复;
所述发送模块23,还用于在flow hash值对应的路径故障恢复时,向本端设备发送第三CCM,该第三CCM中携带故障恢复路径对应的flow hash值;由本端设备将故障恢复路径对应的flow hash值添加到第二flow hash表中。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种等价多路径ECMP方式下链路故障的保护切换方法,该方法应用于包括本端设备和对端设备的网络中,所述本端设备与所述对端设备之间存在多条等价路径,其特征在于,所述方法包括以下步骤:
所述本端设备通过遍历第一flow hash表得到flow hash值,所述第一flowhash表中的每个flow hash值对应本端设备与对端设备之间的一条路径;
所述本端设备通过flow hash值对应的路径向对端设备发送第一连接检测报文CCM,所述第一CCM中携带所述flow hash值;由对端设备利用携带flowhash值的第一CCM的接收情况确定所述flow hash值对应的路径是否故障;
在所述flow hash值对应的路径发生故障时,所述本端设备接收来自所述对端设备的第二CCM,所述第二CCM中携带故障路径对应的flow hash值;
所述本端设备在利用所述第二CCM获知当前存在故障路径时,从第二flow hash表中删除所述故障路径对应的flow hash值,所述第二flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径;
所述本端设备在需要向所述对端设备发送业务报文时,利用所述业务报文的信息从所述第二flow hash表中匹配到对应的flow hash值,并通过所述flow hash值对应的路径将所述业务报文发送给所述对端设备。
2.如权利要求1所述的方法,其特征在于,所述本端设备接收来自所述对端设备的第二CCM之后,所述方法进一步包括:
所述本端设备在感知到拓扑变化之前,继续通过遍历第一flow hash表得到flow hash值,并通过flow hash值对应的路径向对端设备发送第一CCM;
在所述flow hash值对应的路径故障恢复时,所述本端设备接收来自对端设备的第三CCM,所述第三CCM中携带故障恢复路径对应的flow hash值;
所述本端设备在利用所述第三CCM获知当前存在故障恢复路径时,将所述故障恢复路径对应的flow hash值添加到所述第二flow hash表中;
或者,
如果所述flow hash值对应的故障路径未恢复,则在所述本端设备感知到拓扑变化之后,从所述第一flow hash表中删除所述故障路径对应的flow hash值,且不再通过所述flow hash值对应的故障路径向对端设备发送第一CCM。
3.一种等价多路径ECMP方式下链路故障的保护切换方法,该方法应用于包括本端设备和对端设备的网络中,所述本端设备与所述对端设备之间存在多条等价路径,其特征在于,所述方法包括以下步骤:
所述对端设备接收所述本端设备通过flow hash值对应的路径向所述对端设备发送的第一连接检测报文CCM;其中,所述第一CCM中携带了第一flowhash表中的所述flow hash值,且所述第一flow hash表中的每个flow hash值对应所述本端设备与所述对端设备之间的一条路径;
所述对端设备利用第一CCM的接收情况确定所述flow hash值对应的路径是否故障,并在所述flow hash值对应的路径发生故障时,向本端设备发送第二CCM,且第二CCM中携带故障路径对应的flow hash值;由本端设备从第二flow hash表中删除所述故障路径对应的flow hash值,且所述第二flowhash表中的每个flow hash值对应本端设备与对端设备之间的一条路径。
4.如权利要求3所述的方法,其特征在于,所述对端设备利用第一CCM的接收情况确定所述flow hash值对应的路径是否故障,具体包括:
如果所述对端设备在预设时间内未收到来自本端设备的携带所述flowhash值的第一CCM,则确定所述flow hash值对应的路径发生故障;或者,
如果所述对端设备在预设时间内未收到来自本端设备的携带路径ID的第一CCM,则确定所述路径ID对应的路径发生故障;其中,flow hash值对应的路径ID携带于所述第一CCM的指定类型长度值TLV字段中。
5.如权利要求4所述的方法,其特征在于,所述对端设备利用第一CCM的接收情况确定所述flow hash值对应的路径发生故障之后,所述方法还包括:
如果所述对端设备收到来自本端设备的携带所述flow hash值的第一CCM,则确定所述flow hash值对应的路径故障恢复,并向本端设备发送第三CCM,所述第三CCM中携带故障恢复路径对应的flow hash值;由本端设备将所述故障恢复路径对应的flow hash值添加到所述第二flow hash表中;或者,
如果所述对端设备收到来自本端设备的携带所述路径ID的第一CCM,则确定所述路径ID对应的路径故障恢复,并向本端设备发送第三CCM,所述第三CCM中携带故障恢复路径对应的flow hash值;由本端设备将所述故障恢复路径对应的flow hash值添加到所述第二flow hash表中。
6.一种用于等价多路径ECMP方式下链路故障的保护切换的本端设备,应用于包括所述本端设备和对端设备的网络中,所述本端设备与所述对端设备之间存在多条等价路径,其特征在于,所述本端设备具体包括:
第一发送模块,用于通过遍历第一flow hash表得到flow hash值,并通过所述flow hash值对应的路径向对端设备发送第一连接检测报文CCM;其中,所述第一flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径;所述第一CCM中携带所述flow hash值;由对端设备利用携带flowhash值的第一CCM的接收情况确定所述flow hash值对应的路径是否故障;
接收模块,用于在所述flow hash值对应的路径发生故障时,接收来自所述对端设备的第二CCM,所述第二CCM中携带故障路径对应的flow hash值;
处理模块,用于在利用所述第二CCM获知当前存在故障路径时,从第二flow hash表中删除所述故障路径对应的flow hash值;其中,所述第二flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径;
第二发送模块,用于在需要向所述对端设备发送业务报文时,利用所述业务报文的信息从所述第二flow hash表中匹配到对应的flow hash值,并通过所述flow hash值对应的路径将所述业务报文发送给所述对端设备。
7.如权利要求6所述的本端设备,其特征在于,
所述第一发送模块,还用于在收到来自所述对端设备的第二CCM之后,在感知到拓扑变化之前,继续通过遍历第一flow hash表得到flow hash值,并通过flow hash值对应的路径向对端设备发送第一CCM;
所述接收模块,还用于在flow hash值对应的路径故障恢复时,接收来自对端设备的第三CCM,该第三CCM中携带故障恢复路径对应的flow hash值;
所述处理模块,还用于在利用所述第三CCM获知当前存在故障恢复路径时,将所述故障恢复路径对应的flow hash值添加到所述第二flow hash表中;
或者,
所述处理模块,还用于当flow hash值对应的故障路径未恢复,则在感知到拓扑变化之后,从第一flow hash表中删除所述故障路径对应的flow hash值,且不再通过所述flow hash值对应的故障路径向对端设备发送第一CCM。
8.一种用于等价多路径ECMP方式下链路故障的保护切换的对端设备,应用于包括本端设备和所述对端设备的网络中,所述本端设备与所述对端设备之间存在多条等价路径,其特征在于,所述对端设备具体包括:
接收模块,用于接收所述本端设备通过flow hash值对应的路径向所述对端设备发送的第一连接检测报文CCM;其中,所述第一CCM中携带了第一flow hash表中的所述flow hash值,且所述第一flow hash表中的每个flow hash值对应所述本端设备与所述对端设备之间的一条路径;
确定模块,用于利用所述接收模块对所述第一CCM的接收情况确定所述flow hash值对应的路径是否发生故障;
发送模块,用于在所述flow hash值对应的路径发生故障时,向本端设备发送第二CCM,且第二CCM中携带故障路径对应的flow hash值;由本端设备从第二flow hash表中删除所述故障路径对应的flow hash值,且所述第二flow hash表中的每个flow hash值对应本端设备与对端设备之间的一条路径。
9.如权利要求8所述的对端设备,其特征在于,
所述确定模块,具体用于如果在预设时间内未收到来自本端设备的携带所述flow hash值的第一CCM,则确定所述flow hash值对应的路径发生故障;或者,如果在预设时间内未收到来自本端设备的携带路径ID的第一CCM,则确定所述路径ID对应的路径发生故障;其中,flow hash值对应的路径ID携带于所述第一CCM的指定类型长度值TLV字段中。
10.如权利要求9所述的对端设备,其特征在于,
所述确定模块,还用于在利用第一CCM的接收情况确定flow hash值对应的路径发生故障后,如果收到来自本端设备的携带所述flow hash值的第一CCM,确定所述flow hash值对应的路径故障恢复;或者,如果收到来自本端设备的携带所述路径ID的第一CCM,确定所述路径ID对应的路径故障恢复;
所述发送模块,还用于在flow hash值对应的路径故障恢复时,向本端设备发送第三CCM,该第三CCM中携带故障恢复路径对应的flow hash值;由本端设备将所述故障恢复路径对应的flow hash值添加到第二flow hash表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310583042.8A CN103607301B (zh) | 2013-11-18 | 2013-11-18 | 一种ecmp方式下链路故障的保护切换方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310583042.8A CN103607301B (zh) | 2013-11-18 | 2013-11-18 | 一种ecmp方式下链路故障的保护切换方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103607301A true CN103607301A (zh) | 2014-02-26 |
CN103607301B CN103607301B (zh) | 2018-04-06 |
Family
ID=50125502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310583042.8A Active CN103607301B (zh) | 2013-11-18 | 2013-11-18 | 一种ecmp方式下链路故障的保护切换方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103607301B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171882A (zh) * | 2016-03-08 | 2017-09-15 | 华为技术有限公司 | 检测等价多路径路由功能的方法、设备和系统 |
CN107347019A (zh) * | 2017-04-20 | 2017-11-14 | 武汉迈力特通信有限公司 | Mstp系统以太网链路故障快速转移的设备和方法 |
CN111092813A (zh) * | 2019-12-18 | 2020-05-01 | 新华三半导体技术有限公司 | 一种等价多路径ecmp切换方法、网络设备及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075970B (zh) * | 2007-07-19 | 2013-03-20 | 杭州华三通信技术有限公司 | 路由选择的方法和设备 |
CN102316041B (zh) * | 2011-09-09 | 2014-10-29 | 福建星网锐捷网络有限公司 | 一种路由切换的方法及装置 |
CN103166786B (zh) * | 2011-12-15 | 2019-03-08 | 中兴通讯股份有限公司 | 一种实现链路跟踪的方法和系统 |
-
2013
- 2013-11-18 CN CN201310583042.8A patent/CN103607301B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171882A (zh) * | 2016-03-08 | 2017-09-15 | 华为技术有限公司 | 检测等价多路径路由功能的方法、设备和系统 |
CN107171882B (zh) * | 2016-03-08 | 2021-02-09 | 华为技术有限公司 | 检测等价多路径路由功能的方法、设备和系统 |
CN107347019A (zh) * | 2017-04-20 | 2017-11-14 | 武汉迈力特通信有限公司 | Mstp系统以太网链路故障快速转移的设备和方法 |
CN111092813A (zh) * | 2019-12-18 | 2020-05-01 | 新华三半导体技术有限公司 | 一种等价多路径ecmp切换方法、网络设备及系统 |
CN111092813B (zh) * | 2019-12-18 | 2022-04-08 | 新华三半导体技术有限公司 | 一种等价多路径ecmp切换方法、网络设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103607301B (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107819677B (zh) | 一种报文转发方法及装置 | |
JP4840236B2 (ja) | ネットワークシステム及びノード装置 | |
US9608903B2 (en) | Systems and methods for recovery from network changes | |
US8854953B2 (en) | Optimizing endpoint selection of MRT-FRR detour paths | |
CN102571426B (zh) | 一种双归保护方法和装置 | |
CN109873760A (zh) | 处理路由的方法和装置、以及数据传输的方法和装置 | |
US20120113835A1 (en) | Inter-network carrier ethernet service protection | |
US20120236730A1 (en) | Method, device and system for processing service traffic based on pseudo wires | |
CN104255002A (zh) | 冗余网络连接 | |
CN105791072A (zh) | 以太虚拟网络的接入方法及装置 | |
CN109474495B (zh) | 一种隧道检测方法及装置 | |
CN108173757B (zh) | 端口状态设置方法及装置 | |
CN107026790B (zh) | 一种转发控制方法及设备 | |
CN100461706C (zh) | 发起媒体访问控制地址回收的方法和运营商边缘设备 | |
CN103490921B (zh) | 网络保护方法、装置、下环节点及系统 | |
WO2018219300A1 (zh) | Sdn中的报文交互方法及装置 | |
CN107682261B (zh) | 流量转发方法及装置 | |
CN103607301B (zh) | 一种ecmp方式下链路故障的保护切换方法和设备 | |
CN110430131B (zh) | 一种报文转发方法及装置 | |
CN104702478B (zh) | 虚拟路由转发实例处理方法及装置 | |
CN103200107B (zh) | 一种报文的传输方法和设备 | |
US11711294B2 (en) | Fast rerouting using egress-port loopback | |
CN108259325B (zh) | 路由维护方法和路由设备 | |
JP5672836B2 (ja) | 通信装置、通信方法、および通信プログラム | |
WO2018040940A1 (zh) | 一种二层网络及二层网络的环回检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |