CN101488863A - 消除邻居重建中路由震荡的方法、装置及系统 - Google Patents
消除邻居重建中路由震荡的方法、装置及系统 Download PDFInfo
- Publication number
- CN101488863A CN101488863A CNA2009100781679A CN200910078167A CN101488863A CN 101488863 A CN101488863 A CN 101488863A CN A2009100781679 A CNA2009100781679 A CN A2009100781679A CN 200910078167 A CN200910078167 A CN 200910078167A CN 101488863 A CN101488863 A CN 101488863A
- Authority
- CN
- China
- Prior art keywords
- router
- link
- state information
- neighbor
- route
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种消除邻居重建中路由震荡的方法、装置及系统。涉及通信技术领域,以提高路由的可靠性和稳定性。该系统包括第一路由器和第二路由器,第一路由器保存有第二路由器邻居重建前生成的链路状态信息一。当第二路由器与第一路由器发生邻居重建,当第二路由器根据第一路由器发送的链路状态信息一的摘要判断在邻居重建过程中生成的链路状态信息二没有链路状态信息一新或没有生成链路状态信息二,抑止与第一路由器同步LSDB;当第二路由器生成确保第一路由器判断比链路状态信息一新的链路状态信息三并将其发送给第二路由器,恢复与第一路由器同步LSDB。本发明实施例提供的技术方案可以广泛应用于通信和计算机网络中。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种消除邻居重建中路由震荡的方法、装置及系统。
背景技术
随着网络技术的发展,客户对IGP(Interior Gateway Protocol,内部网关协议)的可靠性和稳定性问题提出了越来越高的要求。
IGP协议包括OSPF(Open Shortest-Path First,开放式最短路径优先协议)协议和ISIS(Intermediate-System to Intermediate-System,中间系统到中间系统)协议。其中,OSPF协议将邻居信息以LSA(Link State Advertise,链路状态宣告)、ISIS协议将邻居信息以LSP(Link state packet,链路状态报文)发布给全网以进行路由计算和连通IP层。为描述方便,将LSA和LSP等信息统称为链路状态信息。
在路由系统中,路由器可能发生故障(例如:接口不可用)或重启。恢复故障或重启后的路由器重新加入该路由系统。在该路由器重新加入该路由系统的过程中,该路由器与邻居路由器发生邻居重建。邻居重建的过程即该路由器与邻居路由器同步LSDB的过程。为描述方便,下述将由于故障或重启等原因导致邻居重建的路由器称为第二路由器,而将该路由系统中与该第二路由器发生邻居重建的单个或多个邻居路由器称为第一路由器。
在第一路由器与第二路由器发生邻居重建之前,第一路由器保存有第二路由器出现故障或重启前的链路状态信息。该链路状态信息称为链路状态信息一。本申请文件所描述的链路状态信息,包括该链路状态信息一、以及后续提到的链路状态信息二和链路状态信息三,均指第二路由器生成了或正在生成的同一条链路在不同时间的状态信息,后续不再赘述。
在第二路由器重新加入该路由系统的过程中,由于重新加入该路由系统的第二路由器需要一定的时间才能完全收敛,在第二路由器完全收敛之前,第二路由器与第一路由器之间的路由是不稳定的,为了避免第一路由器在此时选择第二路由器转发流量,第二路由器通常会生成并发布携带最大Metric(开销/花费)或Overload-Bit(过载比特)等信息新的链路状态信息,该链路状态信息称为链路状态信息二。
在邻居重建的过程中,第一路由器通过DD(Datebase Description,链路状态数据库描述)报文向第二路由器通报链路状态信息一的摘要;如果第二路由器生成了链路状态信息二,则第二路由器也通过DD报文向第一路由器通报链路状态信息二的摘要。在DD报文的交换过程中,第一路由器和第二路由器根据DD报文中的摘要判断链路状态信息一是否比链路状态信息二新,如果判断链路状态信息一比链路状态信息二新,则根据链路状态信息一同步LSDB(Link-StateDatebase Description,链路状态数据库);如果判断链路状态信息一比链路状态信息二旧,则根据链路状态信息二同步LSDB。
在DD报文的交换过程中,当第二路由器没有生成链路状态信息二或由于重新生成的链路状态信息二的序列号小于链路状态信息一的序列号等原因造成第二路由器判断链路状态信息二比链路状态信息一旧时,第二路由器向第一路由器请求链路状态信息一,并重新生成与链路状态信息一和链路状态信息二同一链路的更新的状态信息,该状态信息称为链路状态信息三,然后向第一路由器发送链路状态信息三。链路状态信息三的序列号比旧的链路状态信息的序列号大,以确保第一路由器判断得出链路状态信息三比链路状态信息一要新;并携带最大Metric或Overload-Bit、或者老化当前LSA或LSP等信息。
当第一路由器将链路状态信息一发送给第二路由器后,默认第二路由器会根据链路状态信息一同步LSDB。如果第一路由器没有及时的接收到链路状态信息三,则第一路由器与第二路由器根据链路状态信息一完成同步LSDB。当第一路由器与第二路由器根据链路状态信息一完成同步LSDB后,由于链路状态信息一是第二路由器发生邻居重建前正常状态的链路状态信息,因此第一路由器认为连接第二路由器的路由是稳定的可达路由,并向第二路由器转发流量。
发明人发现现有技术至少存在以下缺点:
在第二路由器未完全收敛之前,当第一路由器根据链路状态信息一与第二路由器同步LSDB并向第二路由器转发流量时,第二路由器正在重新生成链路状态信息三,此时,第二路由器与第一路由器之间的路由实际上仍是不稳定的不可达路由。一段时间后,第二路由器通常会生成链路状态信息三并将链路状态信息三发送给第一路由器。当第一路由器接收到链路状态信息三时,第一路由器暂停或停止向第二路由器转发流量,从而在该过程中,产生了一次多余的路由震荡,该路由震荡会导致流量的丢失,影响了路由系统的可靠性和稳定性。
发明内容
本发明实施例提供一种消除邻居重建中路由震荡的方法、装置及系统,以提高路由系统的可靠性和稳定性。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,提供一种消除邻居重建中路由震荡的方法,应用于路由系统中,所述路由系统包括第一路由器和第二路由器,所述第一路由器与所述第二路由器互为邻居,所述第一路由器保存有所述第二路由器邻居重建前生成的链路状态信息一,当所述第二路由器与所述第一路由器发生邻居重建,该方法包括:
所述第二路由器接收所述第一路由器发送的链路状态信息一的摘要;
当所述第二路由器根据所述摘要判断在邻居重建过程中生成的链路状态信息二没有所述链路状态信息一新或者还没有生成所述链路状态信息二,抑止与所述第一路由器同步链路数据库;
当所述第二路由器生成确保所述第一路由器判断比所述链路状态信息一新的链路状态信息三并将所述链路状态信息三发送给所述第二路由器,恢复与所述第一路由器同步链路数据库。
一方面,提供一种路由器,所述路由器与邻居路由器重建邻居,所述邻居路由器保存有该路由器重建邻居前生成的链路状态信息一,该路由器包括:
第一判断模块,用于在邻居重建过程中,接收所述第一路由器发送的链路状态信息一的摘要,根据所述摘要判断本地是否生成链路状态信息二,当本地生成所述链路状态信息二时,进一步判断链路状态信息一是否比所述链路状态信息二新;
第二判断模块,用于在所述第一判断模块判断本地没有生成所述链路状态信息二或者链路状态信息一比生成的链路状态信息二新后,判断是否生成确保所述第一路由器判断比所述链路状态信息一新的链路状态信息三并将该链路状态信息三发送给邻居路由器;
同步管理模块,用于在所述第一判断模块判断本地没有生成所述链路状态信息二或者链路状态信息一比生成的所述链路状态信息二新时,开始抑止与所述邻居路由器同步链路数据库;并在所述第二判断模块判断生成所述链路状态信息三并将所述链路状态信息三发送给所述邻居路由器时,恢复与所述邻居路由器同步链路数据库。
一方面,提供一种路由系统,包括:第一路由器和第二路由器,所述第一路由器与所述第二路由器互为邻居;所述第一路由器保存有所述第二路由器邻居重建前生成的链路状态信息一,当所述第二路由器与所述第一路由器发生邻居重建;其中
所述第二路由器,用于接收所述第一路由器发送的链路状态信息一的摘要,当所述第二路由器根据所述摘要判断在邻居重建过程中生成的链路状态信息二没有所述链路状态信息一新或者还没有生成所述链路状态信息二,抑止与所述第一路由器同步链路数据库,当所述第二路由器生成确保所述第一路由器判断比所述链路状态信息一新的链路状态信息三并将所述链路状态信息三发送给所述第二路由器,恢复与所述第一路由器同步链路数据库。
一方面,提供一种消除邻居重建中路由震荡的方法,应用于路由系统中,所述路由系统包括第一路由器和第二路由器,所述第一路由器与所述第二路由器互为邻居,所述第一路由器保存有所述第二路由器邻居重建前生成的链路状态信息一,当所述第二路由器与所述第一路由器发生邻居重建,该方法包括:
所述第一路由器向所述第二路由器发送链路状态信息一;
所述第一路由器在与所述第二路由器完成同步链路数据库时,判断是否接收到比所述链路状态信息一新的链路状态信息三,如果没有,开始抑止所述第二路由器参与路由计算;
所述第一路由器接收到所述链路状态信息三,允许所述第二路由器参与路由计算。
一方面,提供一种路由器,所述路由器与邻居路由器重建邻居,该路由器保存有该邻居路由器重建邻居前生成的链路状态信息一,该路由器包括:
发送模块,用于在邻居重建过程中,根据所述邻居路由器的请求向所述邻居路由器发送链路状态信息一;
第三判断模块,用于在所述发送模块向所述邻居路由器发送所述链路状态信息一后,判断是否接收到比所述链路状态信息一新的链路状态信息三;
路由计算管理模块,用于与所述邻居路由器完成同步链路数据库时,触发所述第三判断模块判断是否接收到所述链路状态信息三,如果所述第三判断模块判断没有接收到所述链路状态信息三,开始抑止所述邻居路由器参与路由计算;当所述第三判断模块判断接收到所述链路状态信息三时,允许所述邻居路由器参与路由计算。
一方面,提供一种路由系统,包括:第一路由器和第二路由器,所述第一路由器与所述第二路由器互为邻居;所述第一路由器保存有所述第二路由器邻居重建前生成的链路状态信息一,当所述第二路由器与所述第一路由器发生邻居重建;其中
所述第一路由器,用于在向所述第二路由器发送所述链路状态信息一后,在与所述第二路由器完成同步链路数据库时,判断是否接收到比所述链路状态信息一新的链路状态信息三,如果没有,开始抑止所述第二路由器参与路由计算;当接收到所述链路状态信息三时,允许所述第二路由器参与路由计算。
本发明实施例提供的消除邻居重建中路由震荡的方法、装置及系统,第二路由器在判断链路状态信息一比链路状态信息二新或者本地没有生成所述链路状态信息二后,通过在将链路状态信息三发送给第一路由器之前抑止同步链路数据库,确保第一路由器根据链路状态信息三完成同步链路数据库,从而也就消除了第一路由器根据链路状态信息一同步链路数据库所导致的路由震荡。或者通过第一路由器根据是否接收到链路状态信息三来管理第二路由器是否可参与路由计算,在没有接收到链路状态信息三之前,即使第一路由器根据链路状态信息一完成同步链路数据库,也抑止第二路由器参与路由计算,通过抑止路由计算来避免向第二路由器转发流量,从而也就消除了第一路由器根据链路状态信息一同步链路数据库所导致的路由震荡。通过消除路由震荡,提高了路由系统的可靠性和稳定性。
附图说明
图1为本发明实施例一中消除邻居重建中路由震荡的方法流程图;
图2为本发明实施例二中消除邻居重建中路由震荡的方法流程图;
图3为本发明实施例四中一种路由系统的结构图;
图4为本发明实施例四中一种路由器的结构图;
图5为本发明实施例五中一种路由系统的结构图;
图6为本发明实施例五中一种路由器的结构图。
具体实施方式
本发明实施例中,第一路由器与第二路由器互为邻居,第二路由器由于故障或重启等原因与第一路由器发生邻居重建。在发生邻居重建前,第一路由器保存有第二路由器邻居重建前生成的链路状态信息一。在发生邻居重建的过程中,第二路由器可能重新生成链路状态信息二和链路状态信息三。其中、第一路由器、第二路由器、链路状态信息一、链路状态信息二以及链路状态信息三的定义与背景技术中的定义一致,后续不再赘述。
下面结合附图对本发明实施例消除邻居重建中路由震荡的方法、装置及系统进行详细描述。
实施例一
本实施例提供一种消除邻居重建中路由震荡的方法,该方法应用于路由系统中,该路由系统包括第一路由器和第二路由器,第一路由器与第二路由器互为邻居。其中,第一路由器保存有第二路由器邻居重建前生成的链路状态信息一。当第二路由器与第一路由器发生邻居重建,如图1所示,该方法包括:
S101,在邻居重建过程中,第二路由器接收第一路由器发送的链路状态信息一的摘要,根据该摘要判断本地有没有生成链路状态信息二,如果有,进一步判断链路状态信息一是否比链路状态信息二新?如果第二路由器判断链路状态信息一比链路状态信息二新或者本地没有生成所述链路状态信息二,转步骤S102;否则,按现有的流程进行处理,即:
第一路由器向第二路由器请求链路状态信息二,根据链路状态信息二同步LSDB。当DD报文交换结束,第一路由接收到所有要请求的链路状态信息时,就达到FULL状态,FULL状态表明完成同步LSDB。其中,该链路状态信息二携带最大Metric或Overload-Bit等信息,当第一路由器根据链路状态信息二进行路由计算时会得出与第二路由器之间的路由为不稳定的不可达路由,从而不向第一路由器转发流量,避免产生多余的链路震荡。
在上述判断过程中,判断的是第二路由器产生的类型(type)相同且链路标识(LSA-ID或LSP-ID)相同的同一条链路(LSA或LSP)在不同时间的两条状态信息。现有协议判断该链路的两条状态信息的新旧的方法如下所述:
S101.1,当第二路由器接收到第一路由器的DD报文时,根据DD报文中链路状态信息二的摘要判断本地是否生成链路状态信息二。如果有,转S102.2;否则,直接转S102。
S101.2,第二路由器根据接收的DD报文中链路状态信息一的序列号、age(存活时间)、checksum(校验和)等信息与本地链路状态信息二的序列号、age、checksum等信息进行比较,根据比较结果判断链路状态信息一是否比链路状态信息二新。按优先级:先比较序列号、然后再比较age,最后再比较checksum,当根据序列号能得出判断结果时,不再比较age和checksum;同理,当根据age能得出判断结果时,不再比较checksum。例如:当DD报文中链路状态信息一的序列号小于链路状态信息二的序列号时,直接判定链路状态信息一比链路状态信息二新。当链路状态信息一和链路状态信息二的序列号相等时,再根据age和/或checksum做进一步的判断。
例如:判断链路状态信息二没有链路状态信息一新包括:
链路状态信息一的序号小于链路状态信息二的序号;或者
当链路状态信息一的序号等于链路状态信息二的序号时,链路状态信息一的存活时间小于链路状态信息二的存活时间;或者
当链路状态信息一的序号和存活时间分别与链路状态信息二的序号和存活时间相等时,链路状态信息一的校验和小于链路状态信息二的校验和。
本实施例中,由于第二路由器重新从最小的序列号对生成的链路状态信息进行编号,从而可能导致链路状态信息二的序列号小于链路状态信息一的序列号等原因导致第二路由器判断链路状态信息一比链路状态信息二要新。其中,在DD报文交换过程中,当第二路由器生成了链路状态信息二时,第二路由器和第一路由器都会根据现有协议判断该链路的两条状态信息的新旧,并得出相同的结论。在DD报文交换过程中,当第二路由器没有生成链路状态信息二时,第二路由器发送的DD报文中无法携带链路状态信息二的摘要,第一路由器不执行S101.1和S101.2的判断处理,而是等待第二路由器来请求链路状态信息一,第一路由器可以依此判断第二路由器还没有生成链路状态信息一。
S102,当判断链路状态信息一比链路状态信息二新或者本地没有生成链路状态信息二时,开始抑止与第一路由器同步LSDB。
由于同步LSDB包括DD报文交换,且结束DD报文交换是完成同步LSDB的必要条件,因此,第二路由器可以通过抑止向第一路由器发送DD报文同步完毕的信息来抑止与第一路由器同步LSDB。其中,第一路由器可以通过向第二路由器发送重复的DD报文,或者在向第二路由器发送的DD报文中设置抑止信息(例如:M-bit),或者暂停向第二路由器发送其余的DD报文来抑止与第一路由器同步LSDB。
第二路由器在抑止与第一路由器同步LSDB的过程中,向第二路由器请求链路状态信息一,然后再生成链路状态信息三。
S103,判断是否生成确保第一路由器判断比链路状态信息一新的链路状态信息三并将该链路状态三信息发送给第二路由器?如果没有生成链路状态信息三或没有将该链路状态信息三发送给邻居路由器,则转步骤S102,继续抑止与第一路由器同步LSDB;否则,转S104。
第二路由器可以根据本地的发送记录判断是否发送了链路状态信息三。也可以通过触发机制来自动判断是否生成并发送了链路状态信息三,即:第二路由器在判断链路状态信息一比链路状态信息二新或没有生成链路状态信息二时,开始抑止发送DD报文同步完毕的消息;而当本地生成了链路状态信息三时,自动触发DD报文同步完毕的消息的发送,并同时向第一路由器发送链路状态信息三,链路状态信息三不再携带抑止信息。
S104,当第二路由器生成链路状态信息三并将该链路状态信息三发送给第一路由器时,恢复与第一路由器同步LSDB。
本实施例中,恢复与第一路由器同步LSDB之前必然生成链路状态信息三,并确保第一路由器能判断该链路状态信息三比链路状态信息一要新。
重新生成链路状态信息三可以是:刷新链路状态信息一,将链路状态信息一的序列号增1,age归零,并在链路状态信息二中携带最大Metric或0verload-Bit、或者老化当前LSA或LSP等信息。
其中,第二路由器可以在从第一路由器请求到链路状态信息一后,再根据链路状态信息一重新生成链路状态信息三。也可以在DD报文交换过程中判断出链路状态信息一比链路状态信息二新或本地没有生成该链路状态信息二后,立即根据DD报文中链路状态信息一的摘要开始生成链路状态信息三,从而更早的生成链路状态信息三,以缩短第二路由器抑止与该第一路由器同步LSDB的时间。
本实施例提供的消除邻居重建中路由震荡的方法,第二路由器在判断链路状态信息一比链路状态信息二新或者本地没有生成所述链路状态信息二后,通过在将链路状态信息三发送给第一路由器之前抑止同步LSDB,确保第一路由器根据链路状态信息三完成同步LSDB,从而也就消除了第一路由器根据链路状态信息一同步LSDB所导致的路由震荡。通过消除路由震荡,提高了路由系统的可靠性和稳定性。
实施例二
一种消除邻居重建中路由震荡的方法,应用于路由系统中,该路由系统包括第一路由器和第二路由器,第一路由器与第二路由器互为邻居,第一路由器保存有第二路由器邻居重建前生成的链路状态信息一,当第二路由器与第一路由器发生邻居重建,该方法包括:
S200,第一路由器向第二路由器发送链路状态信息一。该过程包括:
第二路由器先根据链路状态信息一的摘要判断本地没有生成链路状态信息二或生成的链路状态信息二没有链路状态信息一新,然后,第二路由器向第一路由器请求链路状态信息一,第一路由器根据第二路由器的请求向第二路由器发送链路状态信息二。
S201,第一路由器在向第二路由器发送链路状态信息一后,在与该第二路由器完成同步LSDB时,判断是否接收到比所述链路状态信息一新的链路状态信息三。如果没有接收到链路状态信息三,则转步骤S202;否则,转S203。
在该步骤之前还可能包括:
在DD报文交换过程中,当第二路由器生成了链路状态信息二时,第一路由器接收到链路状态信息二的摘要,根据该摘要判断本地链路状态信息一比链路状态信息二还要新。判断过程同S101.2,不再赘述。当第二路由器没有生成链路状态信息二,第一路由器在DD报文交换的过程中,不执行S101.2。
且在该步骤之前还可能包括:第一路由器接收到第二路由器邻居重建过程中生成的链路状态信息二,但判断该链路状态信息二没有状态信息一新,从而对链路状态信息二不予处理。
另一方面,在DD报文交换过程中,当第二路由器还没有生成链路状态信息二时,第二路由器通常会向第一路由器请求链路状态信息一,第二路由器可以依次判断第二路由器没有生成链路状态信息二。
因此,当第一路由器根据第二路由器的请求将链路状态信息一发送给第二路由器后,第一路由器会依此判断该第二路由器是由于故障或重启等原因导致发生邻居重建的路由器,并等待接收第二路由器发送的链路状态信息三,该链路状态信息三与链路状态信息一和链路状态信息二都是由该第二路由器产生、且类型和链路标识相同的同一条链路不同时间的状态信息。
S202,抑止第二路由器参与路由计算。同时,转S201,继续判断是否接收到链路状态信息三。
第一路由器可以根据本地的接收记录判断是否接收到链路状态信息三。或者将接收的第二路由器的链路状态信息与本地的链路状态信息一进行比较,如果新接收的链路状态信息比链路状态信息一新,则判断接收到链路状态信息三,自动触发第一路由器允许第二路由器参与路由计算。
判断链路状态信息三比链路状态信息一新包括:
链路状态信息三的序号大于链路状态信息一的序号;或者
当链路状态信息三的序号等于链路状态信息一的序号时,链路状态信息三的存活时间小于链路状态信息一的存活时间;或者
当链路状态信息三的序号和存活时间分别与链路状态信息一的序号和存活时间相等时,链路状态信息三的校验和小于链路状态信息一的校验和。
S203,允许第二路由器参与路由计算。
本实施例在邻居重建的过程中,第一路由器在向第二路由器发送链路状态信息一后,再进一步根据是否接收到链路状态信息三来管理第二路由器是否可参与路由计算,在没有接收到链路状态信息三之前,即使第一路由器根据链路状态信息一完成同步LSDB,也抑止第二路由器参与路由计算,通过抑止路由计算来避免向第二路由器转发流量,从而也就消除了第一路由器根据链路状态信息一同步LSDB所导致的路由震荡。通过消除路由震荡,提高了路由系统的可靠性和稳定性。
实施例三
上述实施例一由第二路由器通过抑止与第一路由器同步LSDB来消除路由震荡;而实施例二则在第二路由器按现有的方式处理时,通过第一路由器对第二路由器是否能参与路由计算进行管理以消除路由故障。
本实施例在实施例二的基础上,第二路由器根据实施例一的方法提前生成链路状态信息三,从而缩短该第一路由器抑止第二路由器参与路由计算的时间。其它处理过程与实施例二类似,不再赘述。
实施例四
本实施例提供一种路由系统及路由器,以消除邻居重建中路由震荡。
如图3所示,该系统包括:第一路由器1和第二路由器3;其中,第一路由器1与第二路由器3互为邻居;第二路由器3由于故障或重启等原因与第一路由器1发生邻居重建。其中,第一路由器1保存有第二路由器3邻居重建前生成的链路状态信息一。
第二路由器3,用于在与第一路由器1发生邻居重建过程中,接收第一路由器1发送的链路状态信息一的摘要,当根据该摘要判断在邻居重建过程中生成的链路状态信息二没有所述链路状态信息一新或者还没有生成链路状态信息二,开始抑止与第一路由器1同步LSDB;当本地生成确保第一路由器1判断比链路状态信息一新的链路状态信息三并将链路状态信息三发送给第一路由器1时,恢复与第一路由器1同步LSDB。
本实施例提供的消除邻居重建中的路由震荡的装置为一种路由器,该路由其包括图3所示系统中的第二路由器3。
如图4所示,该路由器与邻居路由器(包括图3所示的第一路由器1)重建邻居,该邻居路由器保存有该路由器重建邻居前生成的链路状态信息一,该路由器包括:
第一判断模块31,用于在邻居重建过程中,接收邻居路由器发送的链路状态信息一的摘要,根据该摘要判断本地是否生成链路状态信息二,当本地生成链路状态信息二时,进一步判断链路状态信息一是否比链路状态信息二新;
第二判断模块33,用于在第一判断模块31判断本地没有生成链路状态信息二或者链路状态信息一比生成的链路状态信息二新后,判断是否生成确保邻居路由器判断比链路状态信息一新的链路状态信息三并将该链路状态信息三发送给邻居路由器;
同步管理模块35,用于在第一判断模块31判断本地没有生成链路状态信息二或者链路状态信息一比生成的链路状态信息二新时,开始抑止与该邻居路由器同步LSDB;并在第二判断模块33判断生成链路状态信息三并将链路状态信息三发送给该邻居路由器时,恢复与该邻居路由器同步LSDB。
同步管理模块35包括:抑止单元351和恢复单元353。
抑止单元351,用于在第一判断模块31判断本地没有生成链路状态信息二或者链路状态信息一比生成的链路状态信息二新时,开始抑止向该邻居路由器发送DD报文同步完毕的信息。在抑止过程中,该抑止单元还可以向该邻居路由器发送重复的DD报文;或者在向该邻居路由器发送的DD报文中设置抑止信息;或者暂停向该邻居路由器发送DD报文。
恢复单元353,用于在第二判断模块33判断生成链路状态信息三并将链路状态信息三发送给该邻居路由器时,恢复向该邻居路由器发送DD报文同步完毕的信息。
其中,该路由器还包括:
链路状态信息模块37,用于当第一判断模块31判断该邻居路由器保存的链路状态信息一比链路状态信息二新或者本地没有生成所述链路状态信息二时,开始根据链路状态信息一的摘要生成链路状态信息三。
本实施例提供的消除邻居重建中路由震荡的系统及装置,第二路由器在判断链路状态信息一比链路状态信息二新或者本地没有生成所述链路状态信息二后,通过在将链路状态信息三发送给第一路由器之前抑止同步链路数据库,确保第一路由器根据链路状态信息三完成同步链路数据库,从而也就消除了第一路由器根据链路状态信息一同步LSDB所导致的路由震荡。通过消除路由震荡,提高了路由系统的可靠性和稳定性。
实施例五
本实施例提供一种路由系统及路由器,以消除邻居重建中路由震荡。
如图5所示,该系统包括:第一路由器5和第二路由器7,第一路由器5与第二路由器7互为邻居;第二路由器7由于故障或重启等原因与第一路由器5发生邻居重建。其中,第一路由器5保存有第二路由器7邻居重建前生成的链路状态信息一。
第一路由器5,用于在向第二路由器7发送链路状态信息一后,在与第二路由器7完成同步LSDB时,判断是否接收到比链路状态信息一新的链路状态信息三,如果没有,开始抑止第二路由器7参与路由计算;当接收到链路状态信息三时,允许第二路由器参与路由计算。
其中,在邻居重建过程中,第二路由器7还可以接收在接收到第一路由器发送的链路状态信息一的摘要且根据该摘要判断在邻居重建过程中生成的链路状态信息二没有链路状态信息一新或者还没有生成所述链路状态信息二,根据链路状态信息一的摘要提前生成链路状态信息三。
本实施例提供的消除邻居重建中的路由震荡的装置为一种路由器,该路由其包括图5所示的第一路由器5。
如图6所示,该路由器与邻居路由器(对应图5所示的第二路由器7)重建邻居,该路由器保存有邻居路由器重建邻居前生成的链路状态信息一,该路由器包括:
发送模块50,用于在邻居重建过程中,根据邻居路由器的请求向该邻居路由器发送链路状态信息一;
第三判断模块51,用于在所述发送模块50向邻居路由器发送链路状态信息一后,判断是否接收到比链路状态信息一新的链路状态信息三;
路由计算管理模块,用于与该邻居路由器完成同步LSDB时,触发第三判断模块51判断是否接收到链路状态信息三,如果第三判断模块53判断没有接收到链路状态信息三,开始抑止该邻居路由器参与路由计算;当第三判断模块53判断接收到链路状态信息三时,允许该邻居路由器参与路由计算。
本实施例在邻居重建的过程中,第一路由器在向第二路由器发送链路状态信息一后,再进一步根据是否接收到链路状态信息三来管理第二路由器(该路由器可以提前生成链路状态信息三)是否可参与路由计算,在没有接收到链路状态信息三之前,即使第一路由器根据链路状态信息一完成同步LSDB,也抑止第二路由器参与路由计算,通过抑止路由计算来避免向第二路由器转发流量,从而也就消除了第一路由器根据链路状态信息一同步LSDB所导致的路由震荡。通过消除路由震荡,提高了路由系统的可靠性和稳定性。
综上所述,本发明实施例提供的技术方案可以广泛应用于通信和计算机网络中,用于消除通信和计算机网络中邻居重建中的路由震荡。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (16)
1、一种消除邻居重建中路由震荡的方法,应用于路由系统中,其特征在于,所述路由系统包括第一路由器和第二路由器,所述第一路由器与所述第二路由器互为邻居,所述第一路由器保存有所述第二路由器邻居重建前生成的链路状态信息一,当所述第二路由器与所述第一路由器发生邻居重建,该方法包括:
所述第二路由器接收所述第一路由器发送的链路状态信息一的摘要;
当所述第二路由器根据所述摘要判断在邻居重建过程中生成的链路状态信息二没有所述链路状态信息一新或者还没有生成所述链路状态信息二,抑止与所述第一路由器同步链路数据库;
当所述第二路由器生成确保所述第一路由器判断比所述链路状态信息一新的链路状态信息三并将所述链路状态信息三发送给所述第二路由器,恢复与所述第一路由器同步链路数据库。
2、根据权利要求1所述消除邻居重建中路由震荡的方法,其特征在于,所述抑止与第一路由器同步链路数据库包括:
抑止向所述第一路由器发送链路状态信息描述报文同步完毕的信息。
3、根据权利要求2所述消除邻居重建中路由震荡的方法,其特征在于,所述抑止向所述第一路由器发送链路状态信息描述报文同步完毕的信息时还包括:
向所述第一路由器发送重复的链路状态数据库描述报文;或者
在向所述第一路由器发送的链路状态数据库描述报文中设置抑止信息;或者
暂停向所述第一路由器发送链路状态数据库描述报文。
4、根据权利要求1至3任一所述消除邻居重建中路由震荡的方法,其特征在于,所述恢复与所述第一路由器同步链路数据库之前还包括:
当判断第一路由器保存的链路状态信息一比链路状态信息二新或者本地没有生成所述链路状态信息二时,开始根据所述链路状态信息一的摘要生成所述链路状态信息三。
5、根据权利要求1至4任一所述消除邻居重建中路由震荡的方法,其特征在于,判断所述链路状态信息二没有所述链路状态信息一新包括:
所述链路状态信息一的序号小于所述链路状态信息二的序号;或者
当所述链路状态信息一的序号等于所述链路状态信息二的序号时,所述链路状态信息一的存活时间小于所述链路状态信息二的存活时间;或者
当所述链路状态信息一的序号和存活时间分别与所述链路状态信息二的序号和存活时间相等时,所述链路状态信息一的校验和小于所述链路状态信息二的校验和。
6、一种路由器,其特征在于,所述路由器与邻居路由器重建邻居,所述邻居路由器保存有该路由器重建邻居前生成的链路状态信息一,该路由器包括:
第一判断模块,用于在邻居重建过程中,接收所述第一路由器发送的链路状态信息一的摘要,根据所述摘要判断本地是否生成链路状态信息二,当本地生成所述链路状态信息二时,进一步判断链路状态信息一是否比所述链路状态信息二新;
第二判断模块,用于在所述第一判断模块判断本地没有生成所述链路状态信息二或者链路状态信息一比生成的链路状态信息二新后,判断是否生成确保所述第一路由器判断比所述链路状态信息一新的链路状态信息三并将该链路状态信息三发送给邻居路由器;
同步管理模块,用于在所述第一判断模块判断本地没有生成所述链路状态信息二或者链路状态信息一比生成的所述链路状态信息二新时,开始抑止与所述邻居路由器同步链路数据库;并在所述第二判断模块判断生成所述链路状态信息三并将所述链路状态信息三发送给所述邻居路由器时,恢复与所述邻居路由器同步链路数据库。
7、根据权利要求6所述路由器,其特征在于,所述同步管理模块包括:
抑止单元,用于在所述第一判断模块判断本地没有生成所述链路状态信息二或者链路状态信息一比生成的所述链路状态信息二新时,开始抑止向所述邻居路由器发送链路状态信息描述报文同步完毕的信息;
恢复单元,用于在所述第二判断模块判断生成所述链路状态信息三并将所述链路状态信息三发送给所述邻居路由器时,恢复向所述邻居路由器发送链路状态信息描述报文同步完毕的信息。
8、根据权利要求7所述路由器,其特征在于,
所述抑止单元,还用于向所述邻居路由器发送重复的链路状态数据库描述报文;或者在向所述邻居路由器发送的链路状态数据库描述报文中设置抑止信息;或者暂停向所述邻居路由器发送链路状态数据库描述报文。
9、根据权利要求6至8任一所述路由器,其特征在于,还包括:
链路状态信息模块,用于当所述第一判断模块判断邻居路由器保存的链路状态信息一比链路状态信息二新或者本地没有生成所述链路状态信息二时,开始根据所述链路状态信息一的摘要生成所述链路状态信息三。
10、一种路由系统,其特征在于,该系统包括第一路由器和第二路由器,所述第一路由器与所述第二路由器互为邻居;所述第一路由器保存有所述第二路由器邻居重建前生成的链路状态信息一,当所述第二路由器与所述第一路由器发生邻居重建;其中
所述第二路由器。用于接收所述第一路由器发送的链路状态信息一的摘要,当所述第二路由器根据所述摘要判断在邻居重建过程中生成的链路状态信息二没有所述链路状态信息一新或者还没有生成所述链路状态信息二,抑止与所述第一路由器同步链路数据库,当所述第二路由器生成确保所述第一路由器判断比所述链路状态信息一新的链路状态信息三并将所述链路状态信息三发送给所述第二路由器,恢复与所述第一路由器同步链路数据库。
11、一种消除邻居重建中路由震荡的方法,应用于路由系统中,其特征在于,所述路由系统包括第一路由器和第二路由器,所述第一路由器与所述第二路由器互为邻居,所述第一路由器保存有所述第二路由器邻居重建前生成的链路状态信息一,当所述第二路由器与所述第一路由器发生邻居重建,该方法包括:
所述第一路由器向所述第二路由器发送链路状态信息一;
所述第一路由器在与所述第二路由器完成同步链路数据库时,判断是否接收到比所述链路状态信息一新的链路状态信息三,如果没有,开始抑止所述第二路由器参与路由计算;
所述第一路由器接收到所述链路状态信息三,允许所述第二路由器参与路由计算。
12、根据权利要求11所述消除邻居重建中路由震荡的方法,其特征在于,判断所述链路状态信息三比所述链路状态信息一新包括:
所述链路状态信息三的序号大于所述链路状态信息一的序号;或者
当所述链路状态信息三的序号等于所述链路状态信息一的序号时,所述链路状态信息三的存活时间小于所述链路状态信息一的存活时间;或者
当所述链路状态信息三的序号和存活时间分别与所述链路状态信息一的序号和存活时间相等时,所述链路状态信息三的校验和小于所述链路状态信息一的校验和。
13、根据权利要求11或12所述消除邻居重建中路由震荡的方法,其特征在于,所述第一路由器接收到所述链路状态信息三之前还包括:
所述第一路由器根据所述链路状态信息一的摘要提前生成所述链路状态信息三。
14、一种路由器,其特征在于,所述路由器与邻居路由器重建邻居,该路由器保存有该邻居路由器重建邻居前生成的链路状态信息一,该路由器包括:
发送模块,用于在邻居重建过程中,根据所述邻居路由器的请求向所述邻居路由器发送链路状态信息一;
第三判断模块,用于在所述发送模块向所述邻居路由器发送所述链路状态信息一后,判断是否接收到比所述链路状态信息一新的链路状态信息三;
路由计算管理模块,用于与所述邻居路由器完成同步链路数据库时,触发所述第三判断模块判断是否接收到所述链路状态信息三,如果所述第三判断模块判断没有接收到所述链路状态信息三,开始抑止所述邻居路由器参与路由计算;当所述第三判断模块判断接收到所述链路状态信息三时,允许所述邻居路由器参与路由计算。
15、一种路由系统,其特征在于,该系统包括第一路由器和第二路由器,所述第一路由器与所述第二路由器互为邻居;所述第一路由器保存有所述第二路由器邻居重建前生成的链路状态信息一,当所述第二路由器与所述第一路由器发生邻居重建;其中
所述第一路由器,用于在向所述第二路由器发送所述链路状态信息一后,在与所述第二路由器完成同步链路数据库时,判断是否接收到比所述链路状态信息一新的链路状态信息三,如果没有,开始抑止所述第二路由器参与路由计算;当接收到所述链路状态信息三时,允许所述第二路由器参与路由计算。
16、根据权利要求15所述路由系统,其特征在于,
所述第二路由器,还用于接收所述第一路由器发送的链路状态信息一的摘要;当根据所述摘要判断在邻居重建过程中生成的链路状态信息二没有所述链路状态信息一新或者还没有生成所述链路状态信息二,根据所述链路状态信息一的摘要生成所述链路状态信息三。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100781679A CN101488863B (zh) | 2009-02-19 | 2009-02-19 | 消除邻居重建中路由震荡的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100781679A CN101488863B (zh) | 2009-02-19 | 2009-02-19 | 消除邻居重建中路由震荡的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101488863A true CN101488863A (zh) | 2009-07-22 |
CN101488863B CN101488863B (zh) | 2011-06-22 |
Family
ID=40891554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100781679A Expired - Fee Related CN101488863B (zh) | 2009-02-19 | 2009-02-19 | 消除邻居重建中路由震荡的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101488863B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011144111A2 (zh) * | 2011-05-27 | 2011-11-24 | 华为技术有限公司 | 链路状态数据库同步检测方法及路由设备 |
CN102387065A (zh) * | 2010-08-19 | 2012-03-21 | 丛林网络公司 | 具有数据库削减以及控制速率的状态恢复的基于泛洪的路由协议 |
CN101741725B (zh) * | 2009-12-30 | 2012-06-06 | 中兴通讯股份有限公司 | 路由器设备和路由器更新方法 |
CN102647473A (zh) * | 2012-04-11 | 2012-08-22 | 北京星网锐捷网络技术有限公司 | 信息同步方法、装置和通讯设备 |
CN102761492A (zh) * | 2012-07-25 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种基于ospf协议的路由重学方法和设备 |
CN101753454B (zh) * | 2009-12-21 | 2013-01-30 | 华为技术有限公司 | 路由器平滑重启方法、路由器和网络系统 |
CN103986649A (zh) * | 2014-05-28 | 2014-08-13 | 杭州华三通信技术有限公司 | 一种边界网关协议平滑重启方法及路由设备 |
CN105991451A (zh) * | 2015-03-09 | 2016-10-05 | 杭州迪普科技有限公司 | 基于ospf的lsa删除方法及装置 |
CN109525496A (zh) * | 2018-12-24 | 2019-03-26 | 杭州迪普科技股份有限公司 | 一种链路状态信息的更新方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6985959B1 (en) * | 2000-11-01 | 2006-01-10 | Nortel Networks Limited | Constraint route dissemination using distributed route exchanges |
CA2572940C (en) * | 2004-07-23 | 2011-05-24 | Cisco Technology, Inc. | System and method for preserving multicast data forwarding during control failures in a router |
CN100591049C (zh) * | 2007-05-11 | 2010-02-17 | 华为技术有限公司 | 网络中邻接关系的建立方法及装置 |
CN100553234C (zh) * | 2007-07-06 | 2009-10-21 | 杭州华三通信技术有限公司 | 一种路由设备及其平滑重启方法 |
CN101340369B (zh) * | 2008-08-14 | 2011-01-19 | 杭州华三通信技术有限公司 | 实现虚连接支持优雅重启的方法和路由器 |
-
2009
- 2009-02-19 CN CN2009100781679A patent/CN101488863B/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753454B (zh) * | 2009-12-21 | 2013-01-30 | 华为技术有限公司 | 路由器平滑重启方法、路由器和网络系统 |
CN101741725B (zh) * | 2009-12-30 | 2012-06-06 | 中兴通讯股份有限公司 | 路由器设备和路由器更新方法 |
CN102387065B (zh) * | 2010-08-19 | 2015-09-30 | 丛林网络公司 | 使用基于泛洪的路由协议保持链路状态数据的方法和设备 |
CN102387065A (zh) * | 2010-08-19 | 2012-03-21 | 丛林网络公司 | 具有数据库削减以及控制速率的状态恢复的基于泛洪的路由协议 |
CN102292936A (zh) * | 2011-05-27 | 2011-12-21 | 华为技术有限公司 | 链路状态数据库同步检测方法及路由设备 |
WO2011144111A3 (zh) * | 2011-05-27 | 2012-04-26 | 华为技术有限公司 | 链路状态数据库同步检测方法及路由设备 |
WO2011144111A2 (zh) * | 2011-05-27 | 2011-11-24 | 华为技术有限公司 | 链路状态数据库同步检测方法及路由设备 |
CN102647473A (zh) * | 2012-04-11 | 2012-08-22 | 北京星网锐捷网络技术有限公司 | 信息同步方法、装置和通讯设备 |
CN102761492A (zh) * | 2012-07-25 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种基于ospf协议的路由重学方法和设备 |
CN102761492B (zh) * | 2012-07-25 | 2014-12-17 | 杭州华三通信技术有限公司 | 一种基于ospf协议的路由重学方法和设备 |
CN103986649A (zh) * | 2014-05-28 | 2014-08-13 | 杭州华三通信技术有限公司 | 一种边界网关协议平滑重启方法及路由设备 |
CN103986649B (zh) * | 2014-05-28 | 2017-08-11 | 新华三技术有限公司 | 一种边界网关协议平滑重启方法及路由设备 |
CN105991451A (zh) * | 2015-03-09 | 2016-10-05 | 杭州迪普科技有限公司 | 基于ospf的lsa删除方法及装置 |
CN105991451B (zh) * | 2015-03-09 | 2018-12-25 | 杭州迪普科技股份有限公司 | 基于ospf的lsa删除方法及装置 |
CN109525496A (zh) * | 2018-12-24 | 2019-03-26 | 杭州迪普科技股份有限公司 | 一种链路状态信息的更新方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101488863B (zh) | 2011-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101488863B (zh) | 消除邻居重建中路由震荡的方法、装置及系统 | |
US7286468B2 (en) | Routing system and method for synchronizing a routing system with peers after failover | |
US7961601B2 (en) | Lesser disruptive open shortest path first handling of bidirectional forwarding detection state changes | |
US7760652B2 (en) | Methods and apparatus for improved failure recovery of intermediate systems | |
CN100558055C (zh) | 减少错误平滑重启状态持续时长的方法及路由器 | |
US9755962B2 (en) | Reducing link state protocol traffic during graceful restart | |
WO2014083445A1 (en) | Method and apparatus for protocol data unit recovery in an is-is system | |
US9954735B2 (en) | Realizing graceful restart in IS-IS network | |
US20100172237A1 (en) | Building backup tunnels for fast reroute in communications networks | |
CN111683006B (zh) | 处理报文的方法及其网络设备 | |
CN103152261B (zh) | 一种链路状态协议数据单元分片报文生成发布方法和设备 | |
CN110086711A (zh) | 流量回切方法、装置、电子设备及可读存储介质 | |
CN104935481A (zh) | 一种分布式存储下基于冗余机制的数据恢复方法 | |
CN102754383B (zh) | 用于通信系统路由组件级高度可用性的系统和方法 | |
CN113615132A (zh) | 快速泛洪拓扑保护 | |
EP2109969B1 (en) | Intelligent database exchange for ospf | |
CN102143032B (zh) | 清除残留链路状态协议数据单元分片的方法及路由设备 | |
CN104243304A (zh) | 非全连通拓扑结构的数据处理方法、设备和系统 | |
EP3251303B1 (en) | Method for running a computer network and computer network | |
US9565107B2 (en) | Packet relay system, packet relay method, and packet relay device | |
CN101841428B (zh) | 系统热备处理方法、管理板和通讯设备 | |
CN107342902B (zh) | 一种四控服务器的链路重组方法及系统 | |
CN110138636B (zh) | 动态线性保护方法及装置 | |
JP2017184076A (ja) | 通信ネットワークの制御装置及び経路計算方法 | |
JP5576837B2 (ja) | 経路情報更新システム、及び経路情報更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110622 Termination date: 20180219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |