CN107819679B - 流量报文转发的方法、装置及系统 - Google Patents
流量报文转发的方法、装置及系统 Download PDFInfo
- Publication number
- CN107819679B CN107819679B CN201610823176.6A CN201610823176A CN107819679B CN 107819679 B CN107819679 B CN 107819679B CN 201610823176 A CN201610823176 A CN 201610823176A CN 107819679 B CN107819679 B CN 107819679B
- Authority
- CN
- China
- Prior art keywords
- link
- neighbor
- source device
- message
- source
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种流量报文转发的方法、装置及系统,其中,该方法包括:在主链路发生故障的情况下,源设备向邻居设备发送第一链路状态报告,其中,该邻居设备在接收到该第一链路状态报告之后进行路由计算;在接收到该邻居设备反馈的用于指示路由计算完成的消息或者超过预设时间之后,该源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。采用上述技术方案,解决了相关技术中在主链路状态发生变化时,Remote‑LFA设备之间出现的流量报文转发环路的问题,实现了在主链路状态发生变化的情况下,保证流量报文正常转发。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种流量报文转发的方法、装置及系统。
背景技术
在相关技术中,快速重路由(Fast Re-Route,简称为FRR)技术是一种当局部链路或节点失效时进行修复的本地保护技术,基本原理就是对当前路由的下一跳提前进行备份,把主下一跳和备份下一跳都下发至路由表中,当检测到链路或节点故障时,马上切换到备份下一跳进行数据报文转发,同时进行路由重新收敛的各个步骤,在重新收敛后再切回新的主下一跳进行数据报文转发,从而大大缩短了流量中断时间。FRR需要保证计算出来的备份下一跳不会造成流量转发环路,所以候选备份下一跳设备必须满足无环备份条件,即候选备份下一跳设备到达目的地的路径不能经过源设备。
在环形组网环境中,可能不满足上述无环备份条件,但是又需要进行备份保护,于是就出现了远端无环备份技术(Remote Loop-Free Alternate,简称Remote-LFA),因为源设备的邻居设备不能满足无环备份条件,需要从远端非直连设备中选取满足要求的无环备份下一跳设备,与传统FRR的区别是,源设备到达远端备份下一跳设备的路径通道代替为隧道路径,当主链路出现故障以后,流量报文会切换到隧道入口直接到以标签方式转发到达远端备份设备,再由远端备份设备按照IP转发方式发送至目的地。
在Remote-LFA环境中,当源设备主链路发生故障后,流量报文会切换至备隧道路径,源设备产生新的链路状态报文发送至邻居设备,并且重新进行路由计算,备下一跳设备重新触发路由计算滞后,源设备与备份下一跳邻居设备之间出现流量转发环路的问题。
图1是根据相关技术中的源设备主链路出现故障后的回流故障示意图,如图1所示,图1中包含TER 4四台设备,其中源设备为ROUTER 1。ROUTER 1计算到达目的地ROUTER 4的主下一跳为接口1上的邻居设备ROUTER 4,远端备下一跳设备为ROUTER 3,ROUTER 1和ROUTER 3之间经过ROUTER 2建立隧道,当接口1发生故障时,ROUTER 1会将发往ROUTER 4的流量报文切换至接口2上的备隧道路径,标签转发至ROUTER 2和ROUTER 3,再由ROUTER 3按照IP转发至ROUTER 4。ROUTER 1产生新的链路状态报文发送至ROUTER 2,并且重新进行路由计算,当ROUTER 1路由计算完毕后,ROUTER 1会将流量报文按照新的路由计算结果进行转发,即IP转发至ROUTER 2,由于ROUTER 2此时还没有完成新的路由计算,此时对于ROUTER2来讲到达ROUTER 4的下一跳为ROUTER 1,接收到ROUTER 1发来的IP流量报文会再次转发至ROUTER 1,从而出现了流量报文转发环路,直至ROUTER 2完成新的路由计算,更新到达ROUTER 4的下一跳为ROUTER 3。
图2是根据相关技术中的源设备主链路恢复后的回流故障示意图,如图2所示,源设备先前主链路接口1恢复后,产生新的链路状态报文发送给邻居设备,备下一跳ROUTER 2优先ROUTER 1完成新的路由计算而在二个设备之间出现流量报文转发环路的问题。
针对相关技术中,在主链路状态发生变化时,Remote-LFA设备之间出现的流量报文转发环路的问题,目前还没有有效的解决方案。
发明内容
本发明实施例提供了一种流量报文转发的方法、装置及系统,以至少解决相关技术中在主链路状态发生变化时,Remote-LFA设备之间出现的流量报文转发环路的问题。
根据本发明的一个实施例,提供了一种流量报文转发的方法,包括:
在主链路发生故障的情况下,源设备向邻居设备发送第一链路状态报告,其中,所述邻居设备在接收到所述第一链路状态报告之后进行路由计算;
在预设时间内接收到所述邻居设备反馈的用于指示路由计算完成的消息,或者超过所述预设时间未接收到所述消息的情况下,所述源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,源设备向邻居设备发送第一链路状态报告之后,包括:
所述源设备通知所述邻居设备在完成路由计算之后,向所述源设备反馈用于指示路由计算完成的消息。
可选地,在所述源设备未接收到所述邻居设备反馈的用于指示路由计算完成的消息,且未超过所述预设时间的情况下,所述方法还包括:
所述源设备接收到第二链路状态报文,在确定所述第二链路状态报告为非所述源设备的主链路故障引起的情况下,触发所述源设备执行路由计算,并将计算结果更新至路由表。
可选地,在所述主链路故障已经修复,所述源设备未完成路由计算的情况下,所述方法还包括以下之一:
所述源设备设置所述主链路上的邻居设备的花费值为最大值,并向非主链路上的邻居设备发送第三链路状态报告,其中,所述第三链路状态报告用于指示所述邻居设备依据所述第三链路状态报告进行路由计算;在所述源设备完成路由计算之后,所述源设备设置所述主链路上的邻居设备的花费值为正常值;
所述源设备向所述邻居设备发送第三链路状态报告,其中,在所述第三链路状态报告中未携带有用于指示所述主链路故障修复完成的信息,其中,所述邻居设备依据所述第三链路状态报告完成路由计算。
根据本发明的另一个实施例,还提供了一种流量报文转发的方法,其特征在于,包括:
邻居设备接收源设备发送的第一链路状态报告,其中,在主链路发生故障的情况下,所述源设备发出所述第一链路状态报告;
在所述邻居设备依据所述第一链路状态报告完成路由计算之后,所述邻居设备向所述源设备反馈用于指示路由计算完成的消息,其中,在所述源设备接收到所述用于指示路由计算完成的消息之后,所述源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,邻居设备接收源设备发送的第一链路状态报告之后,包括:
所述邻居设备判断所述第一链路报告是否为所述源设备发送,在确定所述第一链路报告为所述源设备发送的情况下,在所述邻居设备完成路由计算之后,向所述源设备发送用于指示路由计算完成的消息。
可选地,在所述主链路故障已经修复的情况下,所述方法还包括以下之一:
所述邻居设备接收所述源设备发送的第三链路状态报告,所述邻居设备依据所述第三链路状态报告完成路由计算,其中,在发送所述第三链路状态报告之前,所述源设备设置所述主链路上的邻居设备的花费值为最大值,在所述源设备完成路由计算之后,所述源设备设置所述主链路上的邻居设备的花费值为正常值;
所述邻居设备接收所述源设备发送的第三链路状态报告,所述邻居设备依据所述第三链路状态报告完成路由计算,其中,在所述第三链路状态报告中未携带有用于指示所述主链路故障修复完成的信息。
根据本发明的另一个实施例,还提供了一种流量报文转发的系统,其特征在于,包括:源设备,邻居设备,其中,
在主链路发生故障的情况下,所述源设备向所述邻居设备发送第一链路状态报告,其中,所述邻居设备在接收到所述第一链路状态报告之后进行路由计算;
在预设时间内接收到所述邻居设备反馈的用于指示路由计算完成的消息,或者超过所述预设时间未接收到所述消息的情况下,所述源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,源设备向邻居设备发送第一链路状态报告之后,所述系统还包括:
所述源设备通知所述邻居设备在完成路由计算之后,向所述源设备反馈用于指示路由计算完成的消息。
可选地,在所述源设备未接收到所述邻居设备反馈的用于指示路由计算完成的消息,且未超过所述预设时间的情况下,所述系统还包括:
所述源设备接收到第二链路状态报文,在确定所述第二链路状态报告为非所述源设备的主链路故障引起的情况下,触发所述源设备执行路由计算,并将计算结果更新至路由表。
可选地,所述邻居设备在接收到所述第一链路状态报告之后,所述系统还包括:
所述邻居设备判断所述第一链路报告是否为所述源设备发送,在确定所述第一链路报告为所述源设备发送的情况下,在所述邻居设备完成路由计算之后,向所述源设备发送用于指示路由计算完成的消息。所述源设备通知所述邻居设备在完成路由计算之后,向所述源设备反馈用于指示路由计算完成的消息。
可选地,在所述主链路故障已经修复的情况下,所述系统还包括以下之一:
所述源设备设置所述主链路上的邻居设备的花费值为最大值,并向非主链路上的邻居设备发送第三链路状态报告,其中,所述第三链路状态报告用于指示所述邻居设备进行路由计算,在所述源设备完成路由计算之后,所述源设备设置所述主链路上的邻居设备的花费值为正常值;
所述源设备向所述邻居设备发送第三链路状态报告,其中,在所述第三链路状态报告中未携带有用于指示所述主链路故障修复完成的信息,其中,所述邻居设备依据所述第三链路状态报告完成路由计算。
根据本发明的另一个实施例,还提供了一种流量报文转发的装置,应用于源设备,其特征在于,包括:
发送模块,用于在主链路发生故障的情况下,向邻居设备发送第一链路状态报告,其中,所述邻居设备在接收到所述第一链路状态报告之后进行路由计算;
更新模块,用于在预设时间内接收到所述邻居设备反馈的用于指示路由计算完成的消息,或者超过所述预设时间未接收到所述消息的情况下,将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,所述发送模块还用于在源设备向邻居设备发送第一链路状态报告之后,通知所述邻居设备在完成路由计算之后,向所述源设备反馈用于指示路由计算完成的消息。
可选地,在所述源设备未接收到所述邻居设备反馈的用于指示路由计算完成的消息,且未超过所述预设时间的情况下,所述装置还包括:
所述源设备接收到第二链路状态报文,在确定所述第二链路状态报告为非所述源设备的主链路故障引起的情况下,触发所述源设备执行路由计算,并将计算结果更新至路由表。
可选地,在所述主链路故障已经修复,所述源设备未完成路由计算的情况下,所述装置还包括以下之一:
所述发送模块还用于设置所述主链路上的邻居设备的花费值为最大值,并向非主链路上的邻居设备发送第三链路状态报告,其中,所述第三链路状态报告用于指示所述邻居设备依据所述第三链路状态报告进行路由计算;在所述源设备完成路由计算之后,所述源设备设置所述主链路上的邻居设备的花费值为正常值;
所述发送模块还用于向所述邻居设备发送第三链路状态报告,其中,在所述第三链路状态报告中未携带有用于指示所述主链路故障修复完成的信息,其中,所述邻居设备依据所述第三链路状态报告完成路由计算。
根据本发明的另一个实施例,还提供了一种流量报文转发的装置,应用于邻居设备,其特征在于,包括:
接收模块,用于接收源设备发送的第一链路状态报告,其中,在主链路发生故障的情况下,所述源设备发出所述第一链路状态报告;
反馈模块,用于在所述邻居设备依据所述第一链路状态报告完成路由计算之后,所述邻居设备向所述源设备反馈用于指示路由计算完成的消息,其中,在所述源设备接收到所述用于指示路由计算完成的消息之后,所述源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,所述接收模块还用于在邻居设备接收源设备发送的第一链路状态报告之后,所述邻居设备判断所述第一链路报告是否为所述源设备发送,在确定所述第一链路报告为所述源设备发送的情况下,在所述邻居设备完成路由计算之后,向所述源设备发送用于指示路由计算完成的消息。
可选地,在所述主链路故障已经修复的情况下,所述装置还包括以下之一:
所述接收模块还用于接收所述源设备发送的第三链路状态报告,所述邻居设备依据所述第三链路状态报告完成路由计算,其中,在发送所述第三链路状态报告之前,所述源设备设置所述主链路上的邻居设备的花费值为最大值,在所述源设备完成路由计算之后,所述源设备设置所述主链路上的邻居设备的花费值为正常值;
所述接收模块还用于接收所述源设备发送的第三链路状态报告,所述邻居设备依据所述第三链路状态报告完成路由计算,其中,在所述第三链路状态报告中未携带有用于指示所述主链路故障修复完成的信息。
根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:
在主链路发生故障的情况下,源设备向邻居设备发送第一链路状态报告,其中,所述邻居设备在接收到所述第一链路状态报告之后进行路由计算;
在预设时间内接收到所述邻居设备反馈的用于指示路由计算完成的消息,或者超过所述预设时间未接收到所述消息的情况下,所述源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:
邻居设备接收源设备发送的第一链路状态报告,其中,在主链路发生故障的情况下,所述源设备发出所述第一链路状态报告;
在所述邻居设备依据所述第一链路状态报告完成路由计算之后,所述邻居设备向所述源设备反馈用于指示路由计算完成的消息,其中,在所述源设备接收到所述用于指示路由计算完成的消息之后,所述源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
通过本发明,源设备的主链路发生故障,为防止不是主链路的邻居设备回流报文,在邻居设备依据第一链路状态报告完成路由计算之后,源设备才将自身预先算出的路由信息更新在路由表中,流量报文依据更新后的路由表进行转发。采用上述技术方案,解决了相关技术中在主链路状态发生变化时,Remote-LFA设备之间出现的流量报文转发环路的问题,实现了在主链路状态发生变化的的情况下,保证流量报文正常转发。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术中的源设备主链路出现故障后的回流故障示意图;
图2是根据相关技术中的源设备主链路恢复后的回流故障示意图;
图3是根据本发明实施例中一种流量报文转发的方法流程图一;
图4是根据具体实施方式中源设备主链路发生故障后的处理流程图;
图5是根据具体实施方式中邻居设备路由收敛处理流程图;
图6是根据本具体实施方式中源设备接收到路由计算完成通知处理流程图;
图7是根据具体实施方式中源设备中路由更新等待定时器超时后处理流程图;
图8是根据具体实施方式中源设备接收到网络拓扑变化通知处理流程图;
图9是根据具体实施方式中源设备主链路恢复后处理流程图;
图10是根据本发明实施例的一种应用于源设备流量报文转发的装置结构图;
图11是根据本发明实施例的一种应用于邻居设备流量报文转发装置结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请文件中记载的技术方案可以运行于环形组网环境中,具体的运行环境可以是采用了Remote-LFA技术的环形组网环境,申请文件中记载的源设备和邻居设备可以是网络设备,或者是路由设备。
需要补充的是,在本申请文件中,除了特定标出的主链路上的邻居设备之外,申请文件中单独出现的邻居设备均指非主链路上的邻居设备。
图3是根据本发明实施例中一种流量报文转发的方法流程图一,如图3所示,包括以下步骤:
S302,在主链路发生故障的情况下,源设备向邻居设备发送第一链路状态报告,其中,该第一链路状态报告用于指示该邻居设备依据该第一链路状态报告进行路由计算;需要说明的是,该处的邻居设备不是主链路上的邻居设备,当然,在主链路故障的情况下,源设备也不可能直接与主链路上的邻居设备发生通信。
S304,在预设时间内接收到该邻居设备反馈的用于指示路由计算完成的消息,或者超过该预设时间未接收到该消息的情况下,该源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
需要补充的是,预设时间可以通过路由更新等待定时器来设置,当源设备长时间没有接收到邻居设备反馈信息的情况下,源设备可以将路由表进行更新。本实施例中记载的场景是,在主链路坏掉的情况下,源设备有必要为流量报文找一条新路径,但是,有可能新路径上的邻居设备执行路由计算比较慢,如此一来,该邻居设备在接收到流量报文时,还是认为原来的主链路是最好的路径,即会将该流量报文回退给源设备。为解决上述场景下的问题,在本申请文件中采用了两种技术方案,一种是在邻居设备完成新的路由计算之后,源设备再将流量报文转发到新路径,这样的话,邻居设备就清楚了原来的主链路坏掉了,不会将流量报文回退到源设备。另一种技术方案是第一种技术方案的特殊情况,源设备长时间没有接收到邻居设备的反馈信息,源设备只好将路由表进行更新,流量报文进行后续转发。
可选地,源设备向邻居设备发送第一链路状态报告之后,该源设备通知该邻居设备在完成路由计算之后,向该源设备反馈用于指示路由计算完成的消息。
可选地,在该源设备未接收到该邻居设备反馈的用于指示路由计算完成的消息,且未超过该预设时间的情况下,该源设备接收到第二链路状态报文,在确定该第二链路状态报告为非该源设备的主链路故障引起的情况下,触发该源设备执行路由计算,并将计算结果更新至路由表。需要说明的是,该申请文件中的用于指示路由计算完成的消息就是一个指示消息,不是邻居设备算出的路由信息,再者源设备自身可以算出更新后的路由信息,正常情况下,二者计算出的路由信息是一样的。本实施例中记载的技术方案是,在源设备等待邻居设备反馈的期间,链路中有可能出现别的变换状态,该第二链路报文有可能是主链路上的邻居设备发出的,也有可能是其他路径上的邻居设备发出的,当源设备发现是其他路径上的邻居设备发出的情况下,说明网络拓扑发生了新变化,源设备不再等待邻居设备的反馈,而是计算出新的路由信息进而更新路由表。
可选地,在该主链路故障已经修复的情况下,该方法还包括以下之一:
该源设备设置该主链路上的邻居设备的花费值为最大值,并向非主链路上的邻居设备发送第三链路状态报告,其中,该第三链路状态报告用于指示该邻居设备进行路由计算,在该源设备完成路由计算之后,该源设备设置该主链路上的邻居设备的花费值为正常值。在源设备完成路由计算之后,此时主链路早已恢复,源设备接下来转发的流量报文就直接到达主链路了,不需要再经过非主链路的邻居设备,可选地,在将花费值从最大值调到正常值之后,源设备依旧会向非主链路上的邻居设备发送第四链路状态报告,非主链路上的邻居设备会依就该第四链路状态报告进行新的路由计算。需要补充的是,链路的花费值是指报文从该链路发送出去的代价值,代价越大,对应的花费值越大,反之越小。
该源设备向该邻居设备发送第三链路状态报告,其中,在该第三链路状态报告中未携带有用于指示该主链路故障修复完成的信息,其中,该邻居设备依据该第三链路状态报告完成路由计算。
需要补充的是,在该实施例中,记载的是源设备主链路恢复之后的方法步骤,在主链路恢复之后,为了防止邻居设备比源设备优先计算出更新后的路由信息,而将流量报文回退到源设备,针对该问题可以采用的两种技术方案,一种是将源设备主链路的花费值设置为最大,在邻居设备进行路由计算时,邻居设备会选择花费值少的路径作为流量报文的转发路径。另一种方法是源设备将主链路恢复的信息隐藏,不通知邻居设备。
根据本发明的另一个实施例,还提供了一种流量报文转发的方法,该套方法是从邻居设备侧撰写的,需要指出的是,该邻居设备不是源设备主链路上的邻居设备,该方法包括以下步骤:
步骤一,邻居设备接收源设备发送的第一链路状态报告,其中,在主链路发生故障的情况下,该源设备发出该第一链路状态报告;
步骤二,在该邻居设备依据该第一链路状态报告完成路由计算之后,该邻居设备向该源设备反馈用于指示路由计算完成的消息,其中,在该源设备接收到该用于指示路由计算完成的消息之后,该源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,邻居设备接收源设备发送的第一链路状态报告之后,该邻居设备判断该第一链路报告是否为该源设备发送,在确定该第一链路报告为该源设备发送的情况下,在该邻居设备完成路由计算之后,向该源设备发送用于指示路由计算完成的消息。可选地,在邻居设备确定该第一链路报告不是该源设备发送的情况下,该邻居设备不向邻居源设备反馈信息。
可选地,在该主链路故障已经修复的情况下,该方法还包括以下之一:
该邻居设备接收该源设备发送的第三链路状态报告,该邻居设备依据该第三链路状态报告完成路由计算,其中,在发送该第三链路状态报告之前,该源设备设置该主链路上的邻居设备的花费值为最大值,在该源设备完成路由计算之后,该源设备设置该主链路上的邻居设备的花费值为正常值;
该邻居设备接收该源设备发送的第三链路状态报告,该邻居设备依据该第三链路状态报告完成路由计算,其中,在该第三链路状态报告中未携带有用于指示该主链路故障修复完成的信息。
下面结合本发明优选实施例进行详细说明。
本发明优选实施例所要解决的技术问题是,针对Remote-LFA中源设备和备下一跳设备对于源设备主链路状态发生变化路由计算顺序不同而出现流量报文转发环路的问题,提供一种避免流量报文转发环路问题的方法,该方法包括:
源设备主下一跳链路出现故障后,备下一跳链路生效,触发路由计算,源设备的路由计算完成后不立刻更新路由表,打开路由更新等待定时器,等待期间接收到备份下一跳邻居设备路由计算完毕通知或者等待定时器超时,将先前计算好的路由结果更新至路由表,数据报文按照更新后路由表转发;
源设备先前主下一跳链路从故障中恢复后,产生新的链路状态报文,其中指向主下一跳链路上邻居设备的花费值设置为最大值,发送至邻居设备,进行路由计算(源设备在路由计算时,指向主一跳链路上邻居设备的花费值按照正常值处理),源设备路由计算结束后将新的路由计算结果更新至路由表指导流量报文转发;后续源设备产生新的链路状态报文发送给邻居设备,将其中指向主下一跳链路上邻居设备的花费值恢复为正常值;
本发明优选实施例中该避免Remote-LFA流量环路的方法包括以下步骤:
步骤一,源设备主链路发生故障后,记录主链路上邻居设备,流量报文切换至备隧道路径(即备下一跳链路)进行转发,产生新的链路状态通告,将新的链路状态通告发送给邻居设备,并通知备下一跳邻居设备计算完毕后通知本端源设备计算完成,源设备触发路由计算,路由计算完成后不更新路由表,打开设定时长的路由更新等待定时器;
步骤二,邻居设备接收到变化的链路状态通告,触发路由计算,路由计算完成后将新计算结果更新至路由表中,判断变化的链路状态通告是否来自于源设备:如果变化的链路状态通告的产生者是邻居源设备并且需要反馈路由计算完成信息,向邻居源设备发送路由计算完成信息;如果变化的链路状态通告的产生者不是邻居或者不需要反馈路由计算完成信息,说明不需要发送路由计算完成反馈信息;
步骤三,源设备接收到备下一跳邻居设备发来的路由计算完成通知,说明备下一跳邻居设备接收到本端发送的链路状态报文后已经完成路由计算,此时源设备和备下一跳设备关于变化的链路状态报文对应路由一致,关闭路由更新等待定时器,将先前计算好的结果更新至路由表中,流量报文按照新的路由表进行转发;
步骤四,在设定时长的路由更新等待时间内,一直没有接收到备下一跳设备发来的路由计算完成通知信息,当路由更新等待时间到达时,关闭路由更新等待计时器,将先前计算好的结果更新至路由表中,流量报文按照新的路由表进行转发;
步骤五,路由更新等待定时器作用期间,接收到其它设备发来的变化的链路状态报文(相当于上述实施例中的第二链路状态报告),即网络拓扑发生变化,需要判断网络拓扑的变化是否由源设备先前主链路故障引起(当主链路发生故障时,主链路上的邻居设备会因为接收不到源设备的HELLO报文会将源设备这个邻居删除,产生新的链路状态报文,定义此时新的链路状态报文由源设备主链路发生故障触发产生):
如果是先前记录的主链路上的主下一跳邻居设备对应的拓扑变化,不做任何操作;
如果不是先前记录的主链路上的主下一跳邻居设备对应的拓扑变化,说明网络中出现了新的拓扑变化,此时触发路由计算,关闭路由更新等待定时器,计算完成后将新的路由计算结果更新至路由表中,流量报文按照新的路由表进行转发;
步骤六,源设备主链路从故障中恢复,与链路上第一个邻居设备状态到达UP时(即与主链路上的邻居设备恢复通信的情况下),产生新的链路状态通告(即上述实施例中的第三链路状态报告)并且发送给邻居设备,为了避免备下一跳邻居设备优先完成路由计算而将流量报文转发至源设备,设置指向主链路上邻居设备的花费值为最大值,尽量保证备下一跳邻居设备计算出来的路径不经过源设备,源设备触发路由计算(源设备在路由计算时,指向主链路上邻居设备的花费值按照正常值计算);
在源设备路由计算完成后,将新的路由计算结果更新至路由表中,流量报文按照新的路由表进行转发,重新产生新的链路状态报文,将指向主链路上邻居设备的花费值恢复为正常值,邻居设备接收到新的链路状态报文重新触发路由计算,从而保证源设备优先备下一跳设备完成主链路恢复时的路由计算,从而也就避免了源设备滞后于备下一跳设备完成路由计算而可能出现流量报文转发环路的问题。
下面本发明优选实施例的具体实施方式进行说明。
图4是根据具体实施方式中源设备主链路发生故障后的处理流程图,如图4所示,包括以下步骤:
源设备主链路发生故障后,后续源设备为了区分网络拓扑变化是由主链路故障引起的变化和不是由主链路故障引起的变化,源设备需要记录主链路上邻居设备,流量报文切换至备隧道路径进行转发,产生新的链路状态通告,将新的链路状态通告发送给邻居设备,为了及时获取到备下一跳邻居设备路由计算完成信息,通知备下一跳邻居设备计算完毕后通知源设备路由计算完成。
开放式最短路径优先(Open Shortest Path First,简称为OSPF)、中间系统-中间系统(Intermediate System-to-Intermediate System,简称为ISIS)可以扩展利用链路状态报文中的保留字段来进行通知,也可以单独产生对应的通知报文,OSPF产生不透明9型链路状态通告LSA,ISIS在链路状态报文中添加相应的TLV(Type-Length-Value)来通知备下一跳邻居设备路由计算完成后通知源设备路由计算完成。
源设备触发路由计算,路由计算完成后不更新路由表,打开路由更新等待定时器,路由更新定时器超时后或者接收到备下一跳邻居设备发来的路由计算完成通知信息后,将计算的结果更新至路由器指导流量报文转发。
如果备下一跳邻居设备不支持路由计算完成通知功能,源设备在路由更新等待定时器作用期间,可以定期触发发送特定的IP报文检测备下一跳设备是否已经完成路由计算,如果再次接收到发送出去的IP报文(IP报文生存时间(Time To Live,简称为TTL)值减少1),说明又从备下一跳设备转发过来,此时还存在路由环路,备下一跳邻居设备还没完成路由计算,等待下一次再进行检测;
如果没有接收到发送出去的IP报文,无法判断发出去的IP报文出现丢失还是备下一跳邻居设备路由计算完成,需要尝试特定次数的检测,如果都没有接收到发送出去的IP报文,认为备下一跳邻居设备已经完成路由计算,关闭路由更新等待定时器,将先前计算好的结果更新至路由表中,流量报文按照新的路由表进行转发。
图5是根据具体实施方式中邻居设备路由收敛处理流程图,如图5所示,包括以下步骤:
邻居设备接收到变化的链路状态通告,触发路由计算,路由计算完成后将新计算结果更新至路由表中,此时需要判断变化的链路状态通告是否来自于源设备:如果变化的链路状态通告的产生者是源设备邻居并且需要反馈路由计算完成信息,向邻居源设备发送路由计算完成信息;如果变化的链路状态通告的产生者不是邻居或者不需要反馈路由计算完成信息,说明不需要发送路由计算完成反馈信息。备下一跳邻居设备及时通知源设备路由计算完成,保证源设备及时关闭路由更新等待定时器,避免了不必要的无效等待;
备下一跳邻居设备向源设备发送路由计算完成通知可以采取直接通知的方法,比如OSPF可以生成不透明9型链路状态通告LSA,ISIS可以直接在链路状态报文中添加相应的TLV来明确告知源设备路由计算完成通知。
图6是根据本具体实施方式中源设备接收到路由计算完成通知处理流程图,如图6所示,包括以下步骤:
源设备接收到备下一跳邻居设备发来的路由计算完成通知,说明备下一跳邻居设备接收到本端发送的链路状态报文后已经完成路由计算,此时源设备和备下一跳设备关于变化的链路状态报文对应路由计算一致,关闭路由更新等待定时器,将先前计算好的结果更新至路由表中,流量报文按照新的路由表进行转发。
图7是根据具体实施方式中源设备中路由更新等待定时器超时后处理流程图,如图7所示,包括以下步骤:
在设定时长的路由更新等待时间内,一直没有接收到备下一跳设备发来的路由计算完成通知信息,当路由更新等待时间到达时,关闭路由更新等待计时器,将先前计算好的结果更新至路由表中,流量报文按照新的路由表进行转发;如果不设置特定时长的等待定时器,路由就可能一直无法得到更新,从而影响路由收敛。
图8是根据具体实施方式中源设备接收到网络拓扑变化通知处理流程图,如图8所示,包括以下步骤:
路由更新等待定时器作用期间,接收到其它设备发来的变化的链路状态报文,即网络拓扑发生变化,需要判断拓扑的变化是否由源设备先前主链路故障引起(当主链路发生故障时,主链路上的邻居设备会因为接收不到源设备的HELLO报文会将源设备这个邻居删除,产生新的链路状态报文,此时新的链路状态报文由源设备主链路发生故障触发产生):
如果是先前记录的主链路上的主下一跳邻居设备对应的拓扑变化,即该网络拓扑变化是由主链路发生故障引起,不做任何操作,路由更新等待定时器继续生效;
如果不是先前记录的主链路上的主下一跳邻居设备对应的拓扑变化,即网络拓扑变化不是由主链路发生故障引起,说明网络中出现了新的拓扑变化,本文方法是针对主链路出现故障这种情况下的路由延迟更新,对于其他网络拓扑变化,为了不影响路由收敛,此时立即触发路由计算,关闭路由更新等待定时器,源设备在路由计算完成后将新的路由计算结果更新至路由表中,流量报文按照新的路由表进行转发。需要补充的是,路由收敛的含义是从网络拓扑发生变化到网络拓扑中所有设备根据变化拓扑重新计算出结果的过程。
图9是根据具体实施方式中源设备主链路恢复后处理流程图,如图9所示,包括以下步骤:
源设备主链路从故障中恢复,与链路上第一个邻居设备状态到达UP时(即与主链路上的邻居设备恢复连接),产生新的链路状态通告并且发送给邻居设备,为了避免备下一跳邻居设备优先完成路由计算而将流量报文转发至源设备,设置指向主链路上邻居设备的花费值为最大值(OSPF协议最大花费值为65535,ISIS协议最大花费值为16777215),尽量保证备下一跳邻居设备计算出的路径不经过源设备,触发路由计算(源设备在路由计算时,指向主链路上邻居设备的花费值按照正常值计算);
源设备路由计算完成后,将新的路由计算结果更新至路由表中,流量报文按照新的路由表进行转发,重新产生新的链路状态报文,将指向主链路上邻居设备的花费值恢复为正常值,邻居设备接收到新的链路状态报文重新触发路由计算,从而保证源设备先于备下一跳设备完成主链路恢复时的路由计算,从而也就避免了源设备滞后于备下一跳设备完成路由计算而可能出现流量报文转发环路的问题;
除了上述将指向主链路上邻居设备的花费值设置为最大值外,也可以不在链路状态报文中通告该邻居,即通过源设备不能到达该邻居设备,从而保证备下一跳邻居设备计算出的路径不会经过源设备(路由计算时按照有指向主链路上邻居设备的连接并且花费值为正常花费值方式计算);
源设备路由计算完成后,将新的路由计算结果更新至路由表中,流量报文按照新的路由表进行转发,重新产生新的链路状态报文,添加指向主链路上邻居设备的连接,其中花费值为正常值,邻居设备接收到新的链路状态报文重新触发路由计算,从而保证源设备先于备下一跳设备完成主链路恢复时的路由计算,从而也就避免了源设备滞后于备下一跳设备完成路由计算而可能出现流量报文转发环路的问题;
采用本发明实施例中的技术方案,该的避免Remote-LFA流量环路的方法,与相关技术相比,能够避免由于路由计算顺序的先后而带来的流量报文转发环路问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明的另一个实施例,还提供了一种流量报文转发的系统,其特征在于,包括:源设备,邻居设备,其中,
在主链路发生故障的情况下,该源设备向该邻居设备发送第一链路状态报告,其中,该邻居设备在接收到该第一链路状态报告之后进行路由计算;
在预设时间内接收到该邻居设备反馈的用于指示路由计算完成的消息,或者超过该预设时间未接收到该消息的情况下,该源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,源设备向邻居设备发送第一链路状态报告之后,该系统还包括:
该源设备通知该邻居设备在完成路由计算之后,向该源设备反馈用于指示路由计算完成的消息。
可选地,在该源设备未接收到该邻居设备反馈的用于指示路由计算完成的消息,且未超过该预设时间的情况下,该系统还包括:
该源设备接收到第二链路状态报文,在确定该第二链路状态报告为非该源设备的主链路故障引起的情况下,触发该源设备执行路由计算,并将计算结果更新至路由表。
可选地,该邻居设备在接收到该第一链路状态报告之后,该系统还包括:
该邻居设备判断该第一链路报告是否为该源设备发送,在确定该第一链路报告为该源设备发送的情况下,在该邻居设备完成路由计算之后,向该源设备发送用于指示路由计算完成的消息。该源设备通知该邻居设备在完成路由计算之后,向该源设备反馈用于指示路由计算完成的消息。
可选地,在该主链路故障已经修复的情况下,该系统还包括以下之一:
该源设备设置该主链路上的邻居设备的花费值为最大值,并向非主链路上的邻居设备发送第三链路状态报告,其中,该第三链路状态报告用于指示该邻居设备进行路由计算,在该源设备完成路由计算之后,该源设备设置该主链路上的邻居设备的花费值为正常值;
该源设备向该邻居设备发送第三链路状态报告,其中,在该第三链路状态报告中未携带有用于指示该主链路故障修复完成的信息,其中,该邻居设备依据该第三链路状态报告完成路由计算。
实施例3
在本实施例中还提供了一种流量报文转发的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图10是根据本发明实施例的一种应用于源设备流量报文转发的装置结构图,其特征在于,该装置包括:
发送模块1002,用于在主链路发生故障的情况下,向邻居设备发送第一链路状态报告,其中,该邻居设备在接收到该第一链路状态报告之后进行路由计算;
更新模块1004,与该发送模块1002连接,用于在预设时间内接收到该邻居设备反馈的用于指示路由计算完成的消息,或者超过该预设时间未接收到该消息的情况下,将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,该发送模块1002还用于在源设备向邻居设备发送第一链路状态报告之后,通知该邻居设备在完成路由计算之后,向该源设备反馈用于指示路由计算完成的消息。
可选地,在该源设备未接收到该邻居设备反馈的用于指示路由计算完成的消息,且未超过该预设时间的情况下,该装置还包括:
该源设备接收到第二链路状态报文,在确定该第二链路状态报告为非该源设备的主链路故障引起的情况下,触发该源设备执行路由计算,并将计算结果更新至路由表。
可选地,在该主链路故障已经修复的情况下,该装置还包括以下之一:
该发送模块1002还用于设置该主链路上的邻居设备的花费值为最大值,并向非主链路上的邻居设备发送第三链路状态报告,其中,该第三链路状态报告用于指示该邻居设备进行路由计算,在该源设备完成路由计算之后,该源设备设置该主链路上的邻居设备的花费值为正常值;
该发送模块1002还用于向该邻居设备发送第三链路状态报告,其中,在该第三链路状态报告中未携带有用于指示该主链路故障修复完成的信息,其中,该邻居设备依据该第三链路状态报告完成路由计算。
图11是根据本发明实施例的一种应用于邻居设备流量报文转发装置结构图,如图11所示,该装置包括:
接收模块1102,用于接收源设备发送的第一链路状态报告,其中,在主链路发生故障的情况下,该源设备发出该第一链路状态报告;
反馈模块1104,与接收模块1102连接,用于在该邻居设备依据该第一链路状态报告完成路由计算之后,该邻居设备向该源设备反馈用于指示路由计算完成的消息,其中,在该源设备接收到该用于指示路由计算完成的消息之后,该源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,该接收模块1102还用于在邻居设备接收源设备发送的第一链路状态报告之后,该邻居设备判断该第一链路报告是否为该源设备发送,在确定该第一链路报告为该源设备发送的情况下,在该邻居设备完成路由计算之后,向该源设备发送用于指示路由计算完成的消息。
可选地,在该主链路故障已经修复的情况下,该装置还包括以下之一:
该接收模块1104还用于接收该源设备发送的第三链路状态报告,该邻居设备依据该第三链路状态报告完成路由计算,其中,在发送该第三链路状态报告之前,该源设备设置该主链路上的邻居设备的花费值为最大值,在该源设备完成路由计算之后,该源设备设置该主链路上的邻居设备的花费值为正常值;
该接收模块1104还用于接收该源设备发送的第三链路状态报告,该邻居设备依据该第三链路状态报告完成路由计算,其中,在该第三链路状态报告中未携带有用于指示该主链路故障修复完成的信息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,在主链路发生故障的情况下,源设备向邻居设备发送第一链路状态报告,其中,该邻居设备在接收到该第一链路状态报告之后进行路由计算;
S2,在预设时间内接收到该邻居设备反馈的用于指示路由计算完成的消息,或者超过该预设时间未接收到该消息的情况下,该源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S3,邻居设备接收源设备发送的第一链路状态报告,其中,在主链路发生故障的情况下,该源设备发出该第一链路状态报告;
S4,在该邻居设备依据该第一链路状态报告完成路由计算之后,该邻居设备向该源设备反馈用于指示路由计算完成的消息,其中,在该源设备接收到该用于指示路由计算完成的消息之后,该源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例所述方法步骤。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种流量报文转发的方法,其特征在于,包括:
在主链路发生故障的情况下,源设备向邻居设备发送第一链路状态报告,其中,所述第一链路状态报告用于指示所述邻居设备依据所述第一链路状态报告进行路由计算;
在预设时间内接收到所述邻居设备反馈的用于指示路由计算完成的消息,所述源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
2.根据权利要求1所述的方法,其特征在于,源设备向邻居设备发送第一链路状态报告之后,包括:
所述源设备通知所述邻居设备在完成路由计算之后,向所述源设备反馈用于指示路由计算完成的消息。
3.根据权利要求1所述的方法,其特征在于,在所述源设备在预设时间内未接收到所述邻居设备反馈的用于指示路由计算完成的消息的情况下,所述方法还包括:
所述源设备接收第二链路状态报文,在确定所述第二链路状态报告为非所述源设备的主链路故障引起的情况下,执行路由计算,并将计算结果更新至路由表。
4.根据权利要求1所述的方法,其特征在于,在所述主链路故障已经修复,所述源设备未完成路由计算的情况下,所述方法还包括以下之一:
所述源设备设置所述主链路上的邻居设备的花费值为最大值,并向非主链路上的邻居设备发送第三链路状态报告,其中,所述第三链路状态报告用于指示所述邻居设备依据所述第三链路状态报告进行路由计算;在所述源设备完成路由计算之后,所述源设备设置所述主链路上的邻居设备的花费值为正常值;
所述源设备向所述邻居设备发送第三链路状态报告,其中,所述第三链路状态报告中未携带用于指示所述主链路故障修复完成的信息,其中,所述邻居设备依据所述第三链路状态报告完成路由计算。
5.一种流量报文转发的方法,其特征在于,包括:
邻居设备接收源设备在主链路发生故障的情况下发送的第一链路状态报告;
在所述邻居设备依据所述第一链路状态报告完成路由计算之后,所述邻居设备向所述源设备反馈用于指示路由计算完成的消息,其中,所述消息用于指示所述源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
6.根据权利要求5所述的方法,其特征在于,邻居设备接收源设备发送的第一链路状态报告之后,包括:
所述邻居设备判断所述第一链路报告是否为所述源设备发送,在确定所述第一链路报告为所述源设备发送的情况下,在所述邻居设备完成路由计算之后,向所述源设备发送用于指示路由计算完成的消息。
7.根据权利要求5所述的方法,其特征在于,在所述主链路故障已经修复的情况下,所述方法还包括以下之一:
所述邻居设备接收所述源设备发送的第三链路状态报告,所述邻居设备依据所述第三链路状态报告完成路由计算,其中,所述第三链路状态报告中指示有所述主链路上的邻居设备的花费值为最大值;
所述邻居设备接收所述源设备发送的第三链路状态报告,所述邻居设备依据所述第三链路状态报告完成路由计算,其中,所述第三链路状态报告中未携带用于指示所述主链路故障修复完成的信息。
8.一种流量报文转发的系统,其特征在于,包括:源设备和邻居设备,其中,
在主链路发生故障的情况下,所述源设备向所述邻居设备发送第一链路状态报告,其中,所述邻居设备在接收到所述第一链路状态报告之后进行路由计算;
在预设时间内接收到所述邻居设备反馈的用于指示路由计算完成的消息,所述源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
9.根据权利要求8所述的系统,其特征在于,源设备向邻居设备发送第一链路状态报告之后,所述系统还包括:
所述源设备通知所述邻居设备在完成路由计算之后,向所述源设备反馈用于指示路由计算完成的消息。
10.根据权利要求8所述的系统,其特征在于,在所述源设备在预设时间内未接收到所述邻居设备反馈的用于指示路由计算完成的消息的情况下,所述系统还包括:
所述源设备接收第二链路状态报文,在确定所述第二链路状态报告为非所述源设备的主链路故障引起的情况下,执行路由计算,并将计算结果更新至路由表。
11.根据权利要求8所述的系统,其特征在于,所述邻居设备在接收到所述第一链路状态报告之后,所述系统还包括:
所述邻居设备判断所述第一链路报告是否为所述源设备发送,在确定所述第一链路报告为所述源设备发送的情况下,在所述邻居设备完成路由计算之后,向所述源设备发送用于指示路由计算完成的消息;所述源设备通知所述邻居设备在完成路由计算之后,向所述源设备反馈用于指示路由计算完成的消息。
12.根据权利要求8所述的系统,其特征在于,在所述主链路故障已经修复,所述源设备未完成路由计算的情况下,所述系统还包括以下之一:
所述源设备设置所述主链路上的邻居设备的花费值为最大值,并向非主链路上的邻居设备发送第三链路状态报告,其中,所述第三链路状态报告用于指示所述邻居设备依据所述第三链路状态报告进行路由计算;在所述源设备完成路由计算之后,所述源设备设置所述主链路上的邻居设备的花费值为正常值;
所述源设备向所述邻居设备发送第三链路状态报告,其中,所述第三链路状态报告中未携带用于指示所述主链路故障修复完成的信息,其中,所述邻居设备依据所述第三链路状态报告完成路由计算。
13.一种流量报文转发的装置,应用于源设备,其特征在于,包括:
发送模块,用于在主链路发生故障的情况下,向邻居设备发送第一链路状态报告,其中,所述第一链路状态报告用于指示所述邻居设备依据所述第一链路状态报告进行路由计算;
更新模块,用于在预设时间内接收到所述邻居设备反馈的用于指示路由计算完成的消息,将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
14.根据权利要求13所述的装置,其特征在于,所述发送模块还用于在源设备向邻居设备发送第一链路状态报告之后,通知所述邻居设备在完成路由计算之后,向所述源设备反馈用于指示路由计算完成的消息。
15.根据权利要求13所述的装置,其特征在于,在所述源设备在预设时间内未接收到所述邻居设备反馈的用于指示路由计算完成的消息的情况下,所述装置还包括:
所述源设备接收第二链路状态报文,在确定所述第二链路状态报告为非所述源设备的主链路故障引起的情况下,执行路由计算,并将计算结果更新至路由表。
16.根据权利要求13所述的装置,其特征在于,在所述主链路故障已经修复,所述源设备未完成路由计算的情况下,所述装置还包括以下之一:
所述发送模块还用于设置所述主链路上的邻居设备的花费值为最大值,并向非主链路上的邻居设备发送第三链路状态报告,其中,所述第三链路状态报告用于指示所述邻居设备依据所述第三链路状态报告进行路由计算;在所述源设备完成路由计算之后,所述源设备设置所述主链路上的邻居设备的花费值为正常值;
所述发送模块还用于向所述邻居设备发送第三链路状态报告,其中,所述第三链路状态报告中未携带用于指示所述主链路故障修复完成的信息,其中,所述邻居设备依据所述第三链路状态报告完成路由计算。
17.一种流量报文转发的装置,应用于邻居设备,其特征在于,包括:
接收模块,用于接收源设备在主链路发生故障的情况下发送的第一链路状态报告;
反馈模块,用于在所述邻居设备依据所述第一链路状态报告完成路由计算之后,向所述源设备反馈用于指示路由计算完成的消息,其中,所述消息用于指示所述源设备将预先计算完成的路由信息更新在路由表中,其中,该路由表用于流量报文的转发。
18.根据权利要求17所述的装置,其特征在于,所述接收模块还用于在邻居设备接收源设备发送的第一链路状态报告之后,所述邻居设备判断所述第一链路报告是否为所述源设备发送,在确定所述第一链路报告为所述源设备发送的情况下,在所述邻居设备完成路由计算之后,向所述源设备发送用于指示路由计算完成的消息。
19.根据权利要求17所述的装置,其特征在于,在所述主链路故障已经修复的情况下,所述装置还包括以下之一:
所述接收模块还用于接收所述源设备发送的第三链路状态报告,所述邻居设备依据所述第三链路状态报告完成路由计算,其中,所述第三链路状态报告中指示有所述主链路上的邻居设备的花费值为最大值;
所述接收模块还用于接收所述源设备发送的第三链路状态报告,所述邻居设备依据所述第三链路状态报告完成路由计算,其中,所述第三链路状态报告中未携带用于指示所述主链路故障修复完成的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610823176.6A CN107819679B (zh) | 2016-09-13 | 2016-09-13 | 流量报文转发的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610823176.6A CN107819679B (zh) | 2016-09-13 | 2016-09-13 | 流量报文转发的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107819679A CN107819679A (zh) | 2018-03-20 |
CN107819679B true CN107819679B (zh) | 2021-04-20 |
Family
ID=61601287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610823176.6A Active CN107819679B (zh) | 2016-09-13 | 2016-09-13 | 流量报文转发的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107819679B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1602077A (zh) * | 2003-05-05 | 2005-03-30 | 三星电子株式会社 | 无线个人区域网中建立最佳路由的路由选择系统及其方法 |
CN1744567A (zh) * | 2005-08-22 | 2006-03-08 | 广东省电信有限公司研究院 | 一种实现快速路由收敛的路由器平稳重启的方法 |
CN101120552A (zh) * | 2005-02-28 | 2008-02-06 | 思科技术公司 | 利用服务标签的mpls的环路防止技术 |
CN101577954A (zh) * | 2009-04-30 | 2009-11-11 | 南京正保通信网络技术有限公司 | 无线多跳自组织网络通信方法 |
CN101599898A (zh) * | 2009-07-01 | 2009-12-09 | 北京邮电大学 | 多链路故障环境下采用lfa方式的路由器避免环路的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9264348B2 (en) * | 2012-09-14 | 2016-02-16 | Juniper Networks, Inc. | Avoiding data traffic loss in an ethernet ring multihomed, in an active-standby manner, to a virtual private LAN service transport network |
US20150016242A1 (en) * | 2013-07-12 | 2015-01-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method and Apparatus for Optimized LFA Computations by Pruning Neighbor Shortest Path Trees |
-
2016
- 2016-09-13 CN CN201610823176.6A patent/CN107819679B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1602077A (zh) * | 2003-05-05 | 2005-03-30 | 三星电子株式会社 | 无线个人区域网中建立最佳路由的路由选择系统及其方法 |
CN101120552A (zh) * | 2005-02-28 | 2008-02-06 | 思科技术公司 | 利用服务标签的mpls的环路防止技术 |
CN1744567A (zh) * | 2005-08-22 | 2006-03-08 | 广东省电信有限公司研究院 | 一种实现快速路由收敛的路由器平稳重启的方法 |
CN101577954A (zh) * | 2009-04-30 | 2009-11-11 | 南京正保通信网络技术有限公司 | 无线多跳自组织网络通信方法 |
CN101599898A (zh) * | 2009-07-01 | 2009-12-09 | 北京邮电大学 | 多链路故障环境下采用lfa方式的路由器避免环路的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107819679A (zh) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112995029B (zh) | 一种传输路径故障的处理方法、装置及系统 | |
CN101953124B (zh) | 在数据通信网络中构造绕过多条不可用链路的修复路径 | |
US7155632B2 (en) | Method and system for implementing IS-IS protocol redundancy | |
TWI586131B (zh) | 使用標籤分配協定之多重協定標籤交換技術快速重路由(ldp-frr) | |
US7042838B1 (en) | Method and apparatus for forwarding data in a data communications network | |
CN102598599B (zh) | 快速重新路由条件下的rsvp-te完美重启 | |
EP3454510B1 (en) | Message forwarding method and apparatus | |
CN110113259B (zh) | 路径状态通知方法、路径切换方法、转发设备及系统 | |
US10439880B2 (en) | Loop-free convergence in communication networks | |
EP2911341A1 (en) | Method and device for dynamically switching gateway of distributed resilient network interconnect | |
CN103391247A (zh) | 多点标签交换路径的使用无环备用下一跳的快速重路由 | |
CN108768796B (zh) | 链路故障检测方法及装置 | |
US20240121178A1 (en) | Failure protection Method and Apparatus, Storage Medium, and Electronic Device | |
US12003412B2 (en) | Method and apparatus for processing link state information | |
JP5625121B2 (ja) | ルーティング情報更新の優先順位付け | |
CN102546427B (zh) | 一种基于ospf协议的平滑重启方法和路由器 | |
CN103891220A (zh) | 使用ldp的mpls快速重新路由(ldp-frr) | |
US7885179B1 (en) | Method and apparatus for constructing a repair path around a non-available component in a data communications network | |
CN101616091B (zh) | 实现标签发布协议快速重路由的方法及标签交换路由器 | |
CN102594657B (zh) | 一种路由迭代方法及路由交换设备 | |
CN103748843A (zh) | 避免到无功能备用节点的机架间冗余切换的方法和设备 | |
CN102325080B (zh) | 一种ospf协议平滑重启方法和装置 | |
Papán et al. | Overview of IP fast reroute solutions | |
CN112104557A (zh) | 一种检测链路的方法和装置 | |
CN109802888B (zh) | 一种基于任播地址保护的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180417 Address after: 518057 Nanshan District science and technology, Guangdong Province, South Road, No. 55, No. Applicant after: ZTE Corporation Address before: 210012 Nanjing, Yuhuatai District, South Street, Bauhinia Road, No. 68 Applicant before: Nanjing Zhongxing Software Co., Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |