CN101753454A - 路由器平滑重启方法、路由器和网络系统 - Google Patents

路由器平滑重启方法、路由器和网络系统 Download PDF

Info

Publication number
CN101753454A
CN101753454A CN200910261904A CN200910261904A CN101753454A CN 101753454 A CN101753454 A CN 101753454A CN 200910261904 A CN200910261904 A CN 200910261904A CN 200910261904 A CN200910261904 A CN 200910261904A CN 101753454 A CN101753454 A CN 101753454A
Authority
CN
China
Prior art keywords
router
state
help
declaration
rebooting status
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
Application number
CN200910261904A
Other languages
English (en)
Other versions
CN101753454B (zh
Inventor
刘远佼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2009102619049A priority Critical patent/CN101753454B/zh
Publication of CN101753454A publication Critical patent/CN101753454A/zh
Application granted granted Critical
Publication of CN101753454B publication Critical patent/CN101753454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例涉及一种路由器平滑重启方法、路由器和网络系统,其中,该方法,包括:第二路由器接收第一路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与第一路由器重新建立邻居状态;处于帮助状态的第二路由器进行平滑重启,进入重启状态;处于重启状态和帮助状态的所述第二路由器发送用于请求协助平滑重启的链路状态宣告;通过所述第一路由器或者第三方邻接路由器,第二路由器获取链路状态数据库,并根据所述链路状态数据库更新自身的数据。本发明实施例路由器在平滑重启的过程中可以同时处于帮助状态和重启状态,协助对端路由器进行平滑重启,保证平滑重启的成功,保证路由表的准确性,从而使流量可以正常传输。

Description

路由器平滑重启方法、路由器和网络系统
技术领域
本发明实施例涉及通信技术领域,特别涉及一种路由器平滑重启方法、路由器和网络系统。
背景技术
随着网络技术的发展,现代的网络业务对实时性的要求越来越高,例如VoIP、在线游戏、在线视频业务等,丢包对这些业务的影响很严重,客户对运营商提供网络可靠性、稳定性要求也越来越高。其中,内部网关协议(Interior Gateway Protocol;简称:IGP)承担着互联网协议(InternetProtocol;简称:IP)层连通的基础任务,对IGP的可靠性和稳定性提出来更高的要求。网络技术专家已经提出了从各个方面提高网络可靠性的技术方案,例如:从网络的角度,提出了对称的组网方案、环行的组网方案等;从路由器的角度,提出了控制转发分离、控制层备份等;从路由协议的角度,提出了数据备份、平滑重启(Graceful Restart;简称:GR)、不中断转发(Non-Stop Forwarding;简称:NSF),不中断路由(Non-Stop Routing;简称:NSR)、快速收敛等。
许多路由器已经实现控制和转发分离。由某些处理器控制和管理路由任务,例如:最短路径优先协议(Open Shortest Path First Routing Protocol;简称:OSPF)路由任务;同时由某些处理器进行报文转发任务。这就允许当路由器的控制任务进行重启或重新加载时,转发任务仍然可以维持路由器的报文转发的能力,称为GR或NSF。
OSPF协议提供GR功能。本端路由器通过发送重启链路状态宣告(Grace-Link State Advertise;简称:Grace-LSA)通知对端路由器进行GR,并在Grace-LSA内告知对端路由器GR的最大时间间隔;同时对端路由器查看自己是否支持GR功能,如果支持则在GR的最大时间间隔内,继续发布和本端路由器的邻接状态为同步完毕(Full)的Grace-LSA。如果GR期间发送拓扑改变,对端路由器则不再继续发布和本端路由器的邻接状态为Full的Grace-LSA,并且对端路由器发布的LSA中没有到本端路由器的链接信息(link),从而让其他第三方邻接路由器获知本端路由器处于不可达状态。其中,拓扑变化是指链路状态数据库(Link State Database;简称:LSDB)中的1-5、7类LSA发生改变。
在GR期间存在两种角色。一种为重启(Restarter)角色,指进行GR的路由器,另一种为帮助(Helper)角色,指帮助Restarter角色进行GR的路由器,该Helper角色为Restarter角色的OSPF邻居。在现有的OSPF协议中,路由器为Restarter角色时,不能担任Helper角色;路由器为Helper角色时,不能担任Restarter角色。当路由器为Restarter角色时,该路由器处于Restarter状态;当路由器为Helper角色时,该路由器处于Helper状态。
如果路由器A和路由器B为直连路由器,路由器A的第三方邻接路由器为N1、N2,当路由器A进行OSPF GR时,路由器A处于Restarter状态,路由器N1、N2、B处于Helper状态。如果路由器B进行OSPF GR,路由器B向路由器A发送Grace LSA。但由于路由器B的直连路由器A处于Restarter状态,不能担任Helper角色,将导致路由器B的GR失败。然后,路由器B重新产生Grace LSA,并且不继续维持和路由器A的full邻接状态,此时路由器B和路由器A的邻接状态仍不为Full,导致拓扑发生改变,从而路由器B不再担任路由器A的Helper角色,导致路由器A的GR失败。
发明人在实现本发明的过程中至少发现现有技术至少存在如下问题:
由于一个路由器不能同时担任Restarter角色和Helper角色,对于网络中多点直连故障,造成OSPF GR失败,路由表发生改变,并产生流量中断。
发明内容
本发明实施例提供一种路由器平滑重启方法、路由器和网络系统,用以解决现有技术由于一个路由器不能同时担任Restarter角色和Helper角色而造成的GR失败、路由表改变、流量中断等问题,保证平滑重启的成功,保证路由表的准确性和流量的正常传输。
本发明实施例提供一种路由器平滑重启方法,包括:
第二路由器接收第一路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与第一路由器重新建立邻居状态;
处于帮助状态的第二路由器进行平滑重启,进入重启状态;
处于重启状态和帮助状态的所述第二路由器发送用于请求协助平滑重启的链路状态宣告;
通过所述第一路由器或者第三方邻接路由器,第二路由器获取链路状态数据库,并根据所述链路状态数据库更新自身的数据。
本发明实施例又提供一种路由器,包括:
接收模块,用于接收对端路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与所述对端路由器重新建立邻居状态;
平滑重启模块,用于进行平滑重启,进入重启状态;
发送模块,用于在所述路由器处于重启状态和帮助状态时,发送用于请求协助平滑重启的链路状态宣告;
更新模块,用于通过所述对端路由器或者第三方邻接路由器获取链路状态数据库,并根据所述链路状态数据库更新自身的数据。
本发明实施例又提供一种网络系统,包括:
第一路由器,用于向第二路由器发送请求协助平滑重启的链路状态宣告;
第二路由器,所述第二路由器与所述第一路由器直连,用于接收第一路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与第一路由器重新建立邻居状态;进行平滑重启,进入重启状态;发送用于请求协助平滑重启的链路状态宣告;通过所述第一路由器或者第三方邻接路由器获取链路状态数据库,并根据所述链路状态数据库更新自身的数据。
本发明实施例提供的路由器平滑重启方法、路由器和网络系统,第一路由器在平滑重启的过程中可以同时处于帮助状态和重启状态,可以协助对端路由器进行平滑重启,保证平滑重启的成功,保证路由表的准确性,从而使流量可以正常传输。
附图说明
图1为本发明路由器平滑重启方法第一实施例的流程图;
图2a为本发明路由器平滑重启方法第二实施例应用场景的示意图;
图2b为本发明路由器平滑重启方法第二实施例的流程图;
图3为本发明路由器平滑重启方法第三实施例的流程图;
图4为本发明路由器平滑重启方法第四实施例应用场景的示意图;
图5为本发明路由器平滑重启方法第四实施例应用场景的示意图;
图6为本发明路由器第一实施例的示意图;
图7为本发明路由器第二实施例的示意图;
图8为本发明网络系统实施例的示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明路由器平滑重启方法第一实施例的流程图,如图1所示,该路由器平滑重启方法包括:
步骤101、第二路由器接收第一路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与第一路由器重新建立邻居状态;
步骤102、处于帮助状态的第二路由器进行平滑重启,并进入重启状态;
步骤103、处于重启状态和帮助状态的所述第二路由器发送用于请求协助平滑重启的链路状态宣告;
步骤104、通过所述第一路由器或者第三方邻接路由器,第二路由器获取链路状态数据库,并根据所述链路状态数据库更新自身的数据。
在网络中,将一台路由器设置为可以同时担任重启(Restarter)角色和帮助(Helper)角色,即该路由器可以同时处于重启状态和帮助状态。假设网络中两台直连的路由器:第一路由器和第二路由器在同一时刻进行GR时,可以同时作为各自的Restarter角色,又互相作为对端路由器的Helper角色以支持对端路由器的GR。
同时处于Restarter状态和Helper状态的两个直连路由器,可以互相感知对端路由器的GR,如果这两个直连路由器存在其他的第三方邻接路由器时,可以通过同步第三方邻接路由器的LSDB重新构建处于Restarter状态的和处于Helper状态的两个直连路由器的LSDB。同步LSDB之后可以进行路由计算,算出路由。由于LSDB和倒换之前的一致,根据SPF计算的特点路由计算结果一致。对于网络中多点直连故障,路由器同时处于Restarter状态和Helper状态,可以使OSPF GR成功以保持流量不中断。
其中,步骤103可以包括以下几种情况。
情况一、若处于重启状态和帮助状态的所述第二路由器为非叶子路由器,则根据与所述第一路由器的邻接状态,确定是否向处于重启状态的第一路由器发送链路状态宣告,所述第二路由器与所述第一路由器直连。
其中,第二路由器根据与第一路由器的邻接状态,确定是否向处于重启状态的第一路由器发送链路状态宣告的方法具体包括:
若与所述第一路由器的邻接状态为交换状态、同步状态或同步完毕状态,处于重启状态和帮助状态的所述第二路由器向所述第一路由器发送所述链路状态宣告;
否则,处于重启状态和帮助状态的所述第二路由器不向所述第一路由器发送所述链路状态宣告。
第一路由器与第二路由器的邻接状态包括无连接状态(Down)、尝试状态(Attempt)、初始化状态(Init)、双相连接状态(2-Way)、交换协商状态(Exstart)状态、交换状态(exchange)、同步状态(loading)或同步完毕状态(full)等。其中,exchange是指该第一路由器开始进行链路状态数据库(LSDB)的同步,loading是指该第一路由器正在同步LSDB,full是指LSDB同步成功。在情况一中,处于重启状态和帮助状态的第二路由器与直连的第一路由器的邻接状态为交换状态、同步状态或同步完毕状态时,该第二路由器向该第一路由器发送链路状态宣告,例如:Grace LSA,请求该第一路由器帮助该第二路由器平滑重启。
情况二、若处于重启状态和帮助状态的所述第二路由器为非叶子路由器,则向所述第三方邻接路由器发送所述链路状态宣告。
在情况二中,第二路由器不是叶子路由器,具有连接的第三方邻接路由器,可以向第三方邻接路由器发送链路状态宣告,请求第三方邻接路由器帮助该第二路由器平滑重启。
上述的情况一和情况二也可以同时出现,即第二路由器既向第一路由器发送链路状态宣告,也向第三方邻接路由器发送链路状态宣告,请求第一路由器和第三方邻接路由器帮助该第一路由器平滑重启。
情况三、若处于重启状态和帮助状态的所述第二路由器为叶子路由器,则向所述第一路由器发送所述链路状态宣告。
如果第二路由器为叶子路由器,没有第三方邻接路由器,不能请求第三方邻接路由器帮助平滑重启,因此,如果该第二路由器处于帮助状态,则可以不同时进入重启状态;但如果该第二路由器同时处于重启状态和帮助状态,则需要向第一路由器发送链路状态宣告,请求第一路由器帮助该第一路由器平滑重启。
此外,为了防止死锁,保证平滑重启的成功,该第二路由器退出平滑重启的条件可以设置为:在所述第一路由器平滑重启完毕之后,处于重启状态和帮助状态的所述第二路由器退出重启状态。
进一步地,在步骤103具体还可以包括:处于重启状态和帮助状态的所述第二路由器向处于重启状态的所述第一路由器发送用于请求协助平滑重启的链路状态宣告,使所述第一路由器在接收到处于帮助状态和重启状态的第二路由器发送的链路状态宣告后,根据所述链路状态宣告协助平滑重启,并进入帮助状态。
第一路由器在接收到第二路由器发送的请求帮助进行平滑重启的GraceLSA后,进入帮助状态,可以协助第二路由器进行平滑重启。由于平滑重启需要保证重启后的链路状态数据库与网络内相邻的路由器一致,因此,如果第二路由器具有第三方邻接路由器,即第二路由器为非叶子路由器,则可以从第三方邻接路由器获取LSDB,例如:接收第三方邻接路由器发送的携带LSDB的Grace LSA;如果第二路由器没有第三方邻接路由器,即第二路由器为叶子路由器,则可以从第一路由器获取LSDB,例如:接收第一路由器发送的携带LSDB的Grace LSA;然后根据接收到的LSDB更新自身的数据。
本实施例中第二路由器可以同时处于帮助状态和重启状态,因此在出现直连多点故障时,两台直连的第一路由器和第二路由器可以同时GR;另外,两台直连的第一路由器和第二路由器同时进行GR时,还可以通过第三方邻接路由器或对端路由器获取完整LSDB,从而可以获得完整的路由信息,进一步确保GR的成功和流量的正常传输。
图2a为本发明路由器平滑重启方法第二实施例应用场景的示意图,如图2a所示,路由器A与路由器B直连;如果以路由器A为第一路由器,则路由器B为第二路由器;如果以路由器B为第一路由器,则路由器A为第二路由器;路由器N1、路由器N2为路由器A的第三方邻接路由器,路由器N3、路由器N4为路由器B的第三方邻接路由器。
图2b为本发明路由器平滑重启方法第二实施例的流程图,如图2b所示,该路由器平滑重启方法包括:
步骤201、路由器A进行平滑重启GR,进入Restarter状态,向相邻的路由器N1、N2、B发送Grace-LSA请求路由器N1、N2、B协助进行GR。
步骤202、路由器N1、N2、B收到路由器A发送的Grace-LSA后,查看到可以协助路由器A进行GR,则进入Helper状态。例如:路由器B接收到路由器A发送的Grace-LSA后,检查一下自己的设置,其中,路由器判断自身是否满足可以进入Helper状态的条件可以包括:1)已建立的邻居状态是否是Full;2)1-5、7类LSA是否改变;3)GR是否超时;4)配置的策略是否允许为Helper状态等。
步骤203、路由器N1、N2、B各自产生的LSA例如:1-5、7类LSA保持不变,并同时和路由器A重新建立邻居状态。
步骤204、如果路由器B在处于Helper状态时进行GR,则同时进入Restarter状态,向相邻的路由器N3、N4发送Grace-LSA,请求路由器N3、N4协助进行GR。
步骤205、路由器B根据与路由器A的邻接状态决定是否向路由器A发送Grace-LSA,如果邻接状态达到Exchange或以上状态例如:loading或full等,则发送Grace-LSA给路由器A,否则,不发送Grace-LSA给路由器A,一直等到邻接状态达到Exchange或以上状态,路由器A更新了自身的LSDB后再发送。
步骤206、路由器N3、N4收到路由器B发送的Grace-LSA,查看到可以协助路由器B进行GR,进入Helper状态;如果路由器A收到路由器B发送的Grace-LSA,查看到可以协助路由器B进行GR,进入Helper状态。
此时,路由器A和路由器B同时担任GR中的Helper角色和Restarter角色,同时处于Helper状态和Restarter状态,可以通过各自的第三方邻接路由器N1、N2、N3、N4获取LSDB。其中,路由器A和路由器B为两个直连路由器,并且需要同时进行GR,如果路由器N1、N2、N3、N4不与路由器A、B同时进行GR,并且路由器N1、N2与路由器A直连,路由器N3、N4与路由器B直连,则路由器N1、N2为路由器A的第三方邻接路由器,路由器N3、N4为路由器B的第三方邻接路由器。因此,第三方邻接路由器也是一个相对概念,随着路由器状态的改变,也可能随之改变。另外,如果一个路由器除了具有一个直连路由器之外,还具有第三方邻接路由器,则该路由器为非叶子路由器;如果一个路由器只有一个直连路由器,没有第三方邻接路由器,则该路由器为叶子路由器。本实施例中的路由器A和路由器B为非叶子路由器。
如果路由器A和路由器B之间网段为广播网,该广播网存在多于两台的路由器,例如包括路由器A、路由器B和路由器C,则指定路由器(DesignatedRouter;简称:DR)选举按照路由器C发送的Hello报文进行抉择,如果该广播网只存在两台路由器:路由器A和路由器B,则DR选举可以重新进行,也可以通过查找该广播网的网络链路状态宣告(Network-LSA)发布路由器识别DR。
步骤207、处于Helper状态和Restarter状态的路由器A或路由器B确定是否退出GR的Restarter状态。
可以参照目前协议,将退出GR的Restarter状态的条件确定包括但不限于:处于Helper状态和Restarter状态的路由器与所有相邻的路由器的临界状态为Full;或者为发现邻居的路由器链路状态宣告(Router-LSA)中双向链路(link)检查失败;或者或者1-5、7类LSA发生改变,例如:检测到自身的Router-LSA与GR之前不一致;或者GR超时等。
步骤208、处于Helper状态和Restarter状态的路由器A或路由器B确定是否退出GR的Helper状态。
可以参照目前协议,将退出GR的Helper状态的条件确定为:处于Helper状态和Restarter状态的路由器接收到相邻的Helper状态的路由器的3600秒Grace-LSA;或者收到除Grace-LSA之外的其他LSA与GR之前不同;GR超时,超过设定的Helper状态的路由器的GR时间。
本实施例两台直连的路由器A和路由器B都可以同时处于帮助状态和重启状态,在出现直连多点故障时,路由器A和路由器B可以同时GR,互相担任对端路由器的Helper角色,协助对端路由器GR成功;另外,路由器A和路由器B同时进行GR时,还可以通过第三方邻接路由器获取完整LSDB,从而可以获得完整的路由信息,进一步确保GR的成功和流量的正常传输。
图3为本发明路由器平滑重启方法第三实施例的流程图,如图3所示,在本发明路由器平滑重启方法第二实施例的基础上,该路由器平滑重启方法包括:
步骤301、路由器A进行GR,进入Restarter状态,向相邻的路由器N1、N2、B发送Grace-LSA请求路由器N1、N2、B协助进行GR。
其中,本实施例的应用场景示意图可以参照图2a,路由器A与路由器B直连;如果以路由器A为第一路由器,则路由器B为第二路由器;如果以路由器B为第一路由器,则路由器A为第二路由器;路由器N1、N2为路由器A的第三方邻接路由器,路由器N3、N4为路由器B的第三方邻接路由器。
步骤302、路由器N1、N2、B收到路由器A发送的Grace-LSA后,查看到可以协助路由器A进行GR,则进入Helper状态。
步骤303、路由器N1、N2、B各自产生的LSA例如:1-5、7类LSA保持不变,并同时和路由器A重新建立邻居状态。
步骤304、如果路由器B在处于Helper状态时进行GR,则同时进入Restarter状态,向相邻的路由器N3、N4发送Grace-LSA,请求路由器N3、N4协助进行GR。
此时处于Helper状态和Restarter状态的路由器B担任路由器A的Helper角色,可以不向路由器A发送Grace-LSA。
步骤305、路由器N3、N4收到路由器B发送的Grace-LSA后,查看到可以协助路由器B进行GR,进入Helper状态。路由器A未收到路由器B发送的Grace-LSA,不进入Helper状态,继续担任Restarter角色并继续进行GR。
此时路由器B同时担任GR中的Helper角色和Restarter角色,同时处于Helper状态和Restarter状态,路由器A担任GR中的Restarter角色,处于Restarter状态。路由器A和路由器B可以从第三方邻接路由器N1、N2、N3、N4获取LSDB。
如果路由器A和路由器B之间网段为广播网,该广播网存在多于两台的路由器,例如包括路由器A、路由器B和路由器C,则DR选举按照路由器C发送的Hello报文进行抉择,如果该广播网只存在两台路由器:路由器A和路由器B,则DR选举可以重新进行,也可以通过查找该广播网的网络链路状态宣告(Network-LSA)发布路由器识别DR。
步骤306、处于Restarter状态的路由器A或处于Helper状态和Restarter状态的路由器B确定是否退出GR的Restarter状态。
步骤307、处于Helper状态和Restarter状态的路由器B确定是否退出GR的Helper状态。
在步骤306和步骤307中,确定退出Restarter状态或Helper状态的条件可以参照本发明路由器平滑重启方法第二实施例步骤207和步骤208的相关叙述。
本实施例路由器B可以同时处于帮助状态和重启状态,在出现直连多点故障时,路由器B在进行GR的同时可以协助路由器A进行GR,并从第三方邻接路由器N3、N4获取完整LSDB,从而可以获得完整的路由信息,确保GR的成功和流量的正常传输。
图4为本发明路由器平滑重启方法第四实施例应用场景的示意图,如图4所示,路由器A与路由器B直连;如果以路由器A为第一路由器,则路由器B为第二路由器;如果以路由器B为第一路由器,则路由器A为第二路由器;路由器B为叶子路由器,即路由器B有且仅有一个直连的路由器A,而路由器A还有其他相邻的第三方邻接路由器:路由器N1、路由器N2。
假设路由器A处于Restarter状态,路由器B处于Helper状态。路由器B需要进行GR,由于路由器B没有第三方邻接路由器邻居,只能通过路由器A获取LSDB,而路由器A的LSDB在路由器A的GR完成之前不能保证是完整的。因此路由器B在没有第三方邻接路由器的情况下可以选择以下处理方法:
方法一、处于Helper状态的路由器B不能同时进入Restarter状态。
方法二、处于Helper状态的路由器B可以同时进入Restarter状态,向路由器A发送请求帮助进行GR的Grace-LSA,但路由器B退出Restarter状态的则需要等待路由器A的GR完毕之后才进行。
本实施例路由器A和路由器B都可以同时处于帮助状态和重启状态,在出现直连多点故障时,可以互相协助对端路由器进行GR,并可以从对端路由器获取完整LSDB,从而可以获得完整的路由信息,确保GR的成功和流量的正常传输。
图5为本发明路由器平滑重启方法第四实施例应用场景的示意图,如图5所示,路由器A与路由器B直连;如果以路由器A为第一路由器,则路由器B为第二路由器;如果以路由器B为第一路由器,则路由器A为第二路由器;路由器A、路由器B都是叶子路由器,即路由器A和路由器B有且仅有一个相邻的路由器。
当路由器A处于Restarter状态,路由器B处于Helper状态时,如果路由器B需要进行GR,由于路由器B没有第三方邻接路由器邻居,只能从路由器A获取LSDB,而路由器A的LSDB在路由器A的GR完成之前不能保证是完整的。因此,路由器B在没有第三方邻接路由器的情况下可以选择以下处理方法:
方法一、处于Helper状态的路由器B不能同时进入Restarter状态。
方法二、处于Helper状态的路由器B可以同时进入Restarter状态,向路由器A发送请求帮助进行GR的Grace-LSA,但路由器B退出Restarter状态的则需要等待路由器A的GR完毕之后才进行。
如果路由器A收到路由器B发送的Grace-LSA,由于路由器A为叶子路由器,没有第三方邻接路由器。路由器A也可以选择以下处理方法:
方法一、处于Restarter状态的路由器A下不能同时进入Helper状态。
方法二、处于Restarter状态的路由器A可以同时进入Helper状态,但退出Restarter状态的则需要等待路由器B的GR完毕之后才进行。
本实施例路由器A和路由器B都可以同时处于帮助状态和重启状态,在出现直连多点故障时,可以互相协助对端路由器进行GR,并可以从对端路由器获取完整LSDB,从而可以获得完整的路由信息,确保GR的成功和流量的正常传输。
图6为本发明路由器第一实施例的示意图,如图6所示,该路由器包括:接收模块61、平滑重启模块62、发送模块63和更新模块64。
其中,接收模块61,用于接收对端路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与所述对端路由器重新建立邻居状态;
平滑重启模块62,用于进行平滑重启,进入重启状态;
发送模块63,用于在所述路由器处于重启状态和帮助状态时,发送用于请求协助平滑重启的链路状态宣告;
更新模块64,用于通过所述对端路由器或者第三方邻接路由器获取链路状态数据库,并根据所述链路状态数据库更新自身的数据。
具体地,在网络中,将一台路由器设置为可以同时担任重启角色和帮助角色,该路由器可以同时处于重启状态和帮助状态。本实施例中的路由器与对端路由器为两个直连路由器。当路由器的接收模块61接收对端路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与对端路由器重新建立邻居状态;平滑重启模块62对该路由器进行平滑重启,进入重启状态,此时该路由器同时处于重启状态和帮助状态。发送模块63发送用于请求协助平滑重启的链路状态宣告,该路由器的对端路由器和第三方邻接路由器都可能收到该链路状态宣告,从而向该路由器返回链路状态数据库。然后更新模块64可以根据从对端路由器或者第三方邻接路由器获取的链路状态数据库更新该路由器自身的数据。
此外,本实施中的路由器可以为上述方法实施例中的第二路由器,对端路由器可以为上述方法实施例中的第一路由器。
本实施例路由器可以同时处于帮助状态和重启状态,因此在出现直连多点故障时,两台直连路由器可以同时GR;另外,两台直连路由器同时进行GR时,还可以通过第三方邻接路由器或对端路由器获取完整LSDB,从而可以获得完整的路由信息,进一步确保GR的成功和流量的正常传输。
图7为本发明路由器第二实施例的示意图,如图7所示,在本发明路由器第一实施例的基础上,该路由器的发送模块63可以包括第一发送子模块71、第二发送子模块72和第三发送子模块73中的任意一个或者多个。
其中,第一发送子模块71,用于若处于重启状态和帮助状态的所述路由器为非叶子路由器,则根据与所述对端路由器的邻接状态,确定是否向处于重启状态的对端路由器发送链路状态宣告,所述路由器与所述对端路由器直连;
第二发送子模块72,用于若处于重启状态和帮助状态的所述路由器为非叶子路由器,则向所述第三方邻接路由器发送所述链路状态宣告;
第三发送子模块73,用于若处于重启状态和帮助状态的所述路由器为叶子路由器,则向所述对端路由器发送所述链路状态宣告。
具体地,当该路由器为非叶子路由器时,既可以通过第一发送子模块71向对端路由器发送链路状态宣告,也可以通过第二发送子模块72向第三方邻接路由器发送链路状态宣告;当该路由器为叶子路由器时,则只能通过第三发送子模块73向对端路由器发送链路状态宣告。其中,第一发送子模块71向对端路由器发送链路状态宣告的情况具体可以为:若与所述对端路由器的邻接状态为交换状态、同步状态或同步完毕状态,处于重启状态和帮助状态的所述路由器向所述对端路由器发送所述链路状态宣告;否则,处于重启状态和帮助状态的所述路由器不向所述对端路由器发送所述链路状态宣告。
再进一步地,为了防止死锁,保证平滑重启的成功,如果该路由器为叶子路由器,则该路由器还可以包括:退出模块65,用于在所述对端路由器平滑重启完毕之后,所述路由器从处于重启状态和帮助状态退出重启状态。
本实施例的路由器可以同时处于帮助状态和重启状态,在出现直连多点故障时,两台直连路由器可以同时GR;另外,两台直连路由器同时进行GR时,还可以通过第三方邻接路由器或对端路由器获取完整LSDB,从而可以获得完整的路由信息,进一步确保GR的成功和流量的正常传输。
图8为本发明网络系统实施例的示意图,如图8所示,该网络系统包括:
第一路由器81,用于向第二路由器发送请求协助平滑重启的链路状态宣告;
第二路由器82,与所述第二路由器与所述第一路由器直连,用于接收第一路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与第一路由器重新建立邻居状态;进行平滑重启,进入重启状态;发送用于请求协助平滑重启的链路状态宣告;通过所述第一路由器或者第三方邻接路由器获取链路状态数据库,并根据所述链路状态数据库更新自身的数据。
具体地,网络系统中的直连的第一路由器或第二路由器都可以同时处于帮助状态和重启状态。第二路由器接收到第一路由器发送的链路状态宣告后,进入帮助状态;当处于帮助状态的第二路由器进行平滑重启时,进入重启状态,从帮助状态改变为同时处于重启状态和帮助状态,然后向处于重启状态的第一路由器发送用于请求协助平滑重启的链路状态宣告。该第一路由器接收到第二路由器发送的链路状态宣告后,协助该第二路由器进行平滑重启,并进入帮助状态,从处于重启状态改变为同时处于重启状态和帮助状态。
进一步地,该网络系统还可以包括:
第三方邻接路由器83,用于向相邻的第二路由器82发送链路状态宣告。
如果第二路由器82具有第三方邻接路由器83,则还可以向第三方邻接路由器83发送链路状态宣告,请求第三方邻接路由器83协助进行平滑重启。
再进一步地,第二路由器82还用于,若所述第二路由器为非叶子路由器且与第一路由器81的邻接状态为交换状态、同步状态或同步完毕状态,向第一路由器81发送所述链路状态宣告,否则,不向所述第一路由器81发送所述链路状态宣告。
具体地,第二路由器82可以根据与第一路由器81的邻接状态,决定是否向第一路由器81发送链路状态宣告,如果邻接状态为交换状态、同步状态或同步完毕状态,则发送链路状态宣告,否则不发送链路状态宣告。
或者,第二路由器82还用于,若第二路由器82为叶子路由器,则向第一路由器81发送所述链路状态宣告,在第一路由器81平滑重启完毕之后,从重启状态和帮助状态退出重启状态。
当第二路由器是叶子路由器时,除了有一个直连的第一路由器之外,没有其他的相邻的第三方邻接路由器时,第二路由器只能从第一路由器获取LSDB,因此向第一路由器发送链路状态宣告,请求第一路由器协助进行平滑重启,此时为了防止死锁,可以设定第二路由器需要在第一路由器平滑重启完毕之后,从重启状态和帮助状态退出重启状态。
本实施例第二路由器可以同时处于帮助状态和重启状态,因此在出现直连多点故障时,两台直连的第一路由器和第二路由器可以同时GR;另外,两台直连的第一路由器和第二路由器同时进行GR时,还可以通过第三方邻接路由器或对端路由器获取完整LSDB,从而可以获得完整的路由信息,进一步确保GR的成功和流量的正常传输。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (14)

1.一种路由器平滑重启方法,其特征在于,包括:
第二路由器接收第一路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与第一路由器重新建立邻居状态;
处于帮助状态的第二路由器进行平滑重启,进入重启状态;
处于重启状态和帮助状态的所述第二路由器发送用于请求协助平滑重启的链路状态宣告;
通过所述第一路由器或者第三方邻接路由器,第二路由器获取链路状态数据库,并根据所述链路状态数据库更新自身的数据。
2.根据权利要求1所述的路由器平滑重启方法,其特征在于,所述处于重启状态和帮助状态的所述第二路由器发送用于请求协助平滑重启的链路状态宣告,具体包括:
若处于重启状态和帮助状态的所述第二路由器为非叶子路由器,则根据与所述第一路由器的邻接状态,确定是否向处于重启状态的第一路由器发送链路状态宣告,所述第二路由器与所述第一路由器直连;和/或
若处于重启状态和帮助状态的所述第二路由器为非叶子路由器,则向所述第三方邻接路由器发送所述链路状态宣告。
3.根据权利要求2所述的路由器平滑重启方法,其特征在于,所述根据与所述第一路由器的邻接状态,确定是否向处于重启状态的第一路由器发送链路状态宣告,具体包括:
若与所述第一路由器的邻接状态为交换状态、同步状态或同步完毕状态,处于重启状态和帮助状态的所述第二路由器向所述第一路由器发送所述链路状态宣告;
否则,处于重启状态和帮助状态的所述第二路由器不向所述第一路由器发送所述链路状态宣告。
4.根据权利要求1所述的路由器平滑重启方法,其特征在于,所述处于重启状态和帮助状态的所述第二路由器发送用于请求协助平滑重启的链路状态宣告,具体包括:
若处于重启状态和帮助状态的所述第二路由器为叶子路由器,则向所述第一路由器发送所述链路状态宣告。
5.根据权利要求4所述的路由器平滑重启方法,其特征在于,还包括:
在所述第一路由器平滑重启完毕之后,处于重启状态和帮助状态的所述第二路由器退出重启状态。
6.根据权利要求1-5任一所述的路由器平滑重启方法,其特征在于,所述处于重启状态和帮助状态的所述第二路由器发送用于请求协助平滑重启的链路状态宣告,具体包括:
处于重启状态和帮助状态的所述第二路由器向处于重启状态的所述第一路由器发送用于请求协助平滑重启的链路状态宣告,使所述第一路由器在接收到处于帮助状态和重启状态的第二路由器发送的链路状态宣告后,根据所述链路状态宣告协助平滑重启,并进入帮助状态。
7.一种路由器,其特征在于,包括:
接收模块,用于接收对端路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与所述对端路由器重新建立邻居状态;
平滑重启模块,用于进行平滑重启,进入重启状态;
发送模块,用于在所述路由器处于重启状态和帮助状态时,发送用于请求协助平滑重启的链路状态宣告;
更新模块,用于通过所述对端路由器或者第三方邻接路由器获取链路状态数据库,并根据所述链路状态数据库更新自身的数据。
8.根据权利要求7所述的路由器,其特征在于,所述发送模块包括以下子模块的任意一个或者多个:
第一发送子模块,用于若处于重启状态和帮助状态的所述路由器为非叶子路由器,则根据与所述对端路由器的邻接状态,确定是否向处于重启状态的对端路由器发送链路状态宣告,所述路由器与所述对端路由器直连;
第二发送子模块,用于若处于重启状态和帮助状态的所述路由器为非叶子路由器,则向所述第三方邻接路由器发送所述链路状态宣告;
第三发送子模块,用于若处于重启状态和帮助状态的所述路由器为叶子路由器,则向所述对端路由器发送所述链路状态宣告。
9.根据权利要求8所述的路由器,其特征在于,所述第一发送子模块具体用于:若与所述对端路由器的邻接状态为交换状态、同步状态或同步完毕状态,处于重启状态和帮助状态的所述路由器向所述对端路由器发送所述链路状态宣告;否则,处于重启状态和帮助状态的所述路由器不向所述对端路由器发送所述链路状态宣告。
10.根据权利要求8所述的路由器,其特征在于,还包括:
退出模块,用于在所述对端路由器平滑重启完毕之后,所述路由器从处于重启状态和帮助状态退出重启状态。
11.一种网络系统,其特征在于,包括:
第一路由器,用于向第二路由器发送请求协助平滑重启的链路状态宣告;
第二路由器,所述第二路由器与所述第一路由器直连,用于接收第一路由器发送的用于请求协助平滑重启的链路状态宣告后,进入帮助状态,并与第一路由器重新建立邻居状态;进行平滑重启,进入重启状态;发送用于请求协助平滑重启的链路状态宣告;通过所述第一路由器或者第三方邻接路由器获取链路状态数据库,并根据所述链路状态数据库更新自身的数据。
12.根据权利要求11所述的网络系统,其特征在于,还包括:
第三方邻接路由器,用于向相邻的第二路由器发送链路状态宣告。
13.根据权利要求11所述的网络系统,其特征在于,所述第二路由器还用于,若所述第二路由器为非叶子路由器且与所述第一路由器的邻接状态为交换状态、同步状态或同步完毕状态,向所述第一路由器发送所述链路状态宣告,否则,不向所述第一路由器发送所述链路状态宣告。
14.根据权利要求11所述的网络系统,其特征在于,所述第二路由器还用于,若所述第二路由器为叶子路由器,则向所述第一路由器发送所述链路状态宣告,在所述第一路由器平滑重启完毕之后,从重启状态和帮助状态退出重启状态。
CN2009102619049A 2009-12-21 2009-12-21 路由器平滑重启方法、路由器和网络系统 Active CN101753454B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102619049A CN101753454B (zh) 2009-12-21 2009-12-21 路由器平滑重启方法、路由器和网络系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102619049A CN101753454B (zh) 2009-12-21 2009-12-21 路由器平滑重启方法、路由器和网络系统

Publications (2)

Publication Number Publication Date
CN101753454A true CN101753454A (zh) 2010-06-23
CN101753454B CN101753454B (zh) 2013-01-30

Family

ID=42479879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102619049A Active CN101753454B (zh) 2009-12-21 2009-12-21 路由器平滑重启方法、路由器和网络系统

Country Status (1)

Country Link
CN (1) CN101753454B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325080A (zh) * 2011-07-12 2012-01-18 杭州华三通信技术有限公司 一种ospf协议平滑重启方法和装置
CN102761492A (zh) * 2012-07-25 2012-10-31 杭州华三通信技术有限公司 一种基于ospf协议的路由重学方法和设备
WO2013097662A1 (en) * 2011-12-28 2013-07-04 Hangzhou H3C Technologies Co., Ltd. Graceful restart (gr) methods and devices
CN103636174A (zh) * 2011-04-28 2014-03-12 瑞典爱立信有限公司 加速平滑ospf重启
CN103973562A (zh) * 2014-05-20 2014-08-06 杭州华三通信技术有限公司 一种避免平滑重启时业务中断的方法及设备
CN106533936A (zh) * 2015-09-15 2017-03-22 中兴通讯股份有限公司 路由器平滑重启的管理方法和装置
CN106603272A (zh) * 2016-11-17 2017-04-26 上海斐讯数据通信技术有限公司 一种基于平滑重启的控制器保护方法和系统
CN107147573A (zh) * 2016-03-01 2017-09-08 中兴通讯股份有限公司 平滑重启处理方法及装置
CN113300950A (zh) * 2020-04-01 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及计算机可读介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100553234C (zh) * 2007-07-06 2009-10-21 杭州华三通信技术有限公司 一种路由设备及其平滑重启方法
CN101488863B (zh) * 2009-02-19 2011-06-22 华为技术有限公司 消除邻居重建中路由震荡的方法、装置及系统

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103636174A (zh) * 2011-04-28 2014-03-12 瑞典爱立信有限公司 加速平滑ospf重启
CN102325080B (zh) * 2011-07-12 2015-01-14 杭州华三通信技术有限公司 一种ospf协议平滑重启方法和装置
CN102325080A (zh) * 2011-07-12 2012-01-18 杭州华三通信技术有限公司 一种ospf协议平滑重启方法和装置
WO2013097662A1 (en) * 2011-12-28 2013-07-04 Hangzhou H3C Technologies Co., Ltd. Graceful restart (gr) methods and devices
US9225590B2 (en) 2011-12-28 2015-12-29 Hangzhou H3C Technologies Co., Ltd. Graceful restart (GR) methods and devices
CN102761492A (zh) * 2012-07-25 2012-10-31 杭州华三通信技术有限公司 一种基于ospf协议的路由重学方法和设备
CN102761492B (zh) * 2012-07-25 2014-12-17 杭州华三通信技术有限公司 一种基于ospf协议的路由重学方法和设备
CN103973562B (zh) * 2014-05-20 2017-11-10 新华三技术有限公司 一种避免平滑重启时业务中断的方法及设备
CN103973562A (zh) * 2014-05-20 2014-08-06 杭州华三通信技术有限公司 一种避免平滑重启时业务中断的方法及设备
CN106533936A (zh) * 2015-09-15 2017-03-22 中兴通讯股份有限公司 路由器平滑重启的管理方法和装置
WO2017045431A1 (zh) * 2015-09-15 2017-03-23 中兴通讯股份有限公司 路由器平滑重启的管理方法和装置
CN106533936B (zh) * 2015-09-15 2019-06-18 中兴通讯股份有限公司 路由器平滑重启的管理方法和装置
CN107147573A (zh) * 2016-03-01 2017-09-08 中兴通讯股份有限公司 平滑重启处理方法及装置
WO2017148097A1 (zh) * 2016-03-01 2017-09-08 中兴通讯股份有限公司 平滑重启处理的方法及装置
CN106603272A (zh) * 2016-11-17 2017-04-26 上海斐讯数据通信技术有限公司 一种基于平滑重启的控制器保护方法和系统
CN113300950A (zh) * 2020-04-01 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及计算机可读介质

Also Published As

Publication number Publication date
CN101753454B (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
CN101753454B (zh) 路由器平滑重启方法、路由器和网络系统
US7859992B2 (en) Router redundancy in data communication networks
US7406030B1 (en) Dynamic renegotiation of graceful restart time to avoid double-failure traffic loss
US9306804B2 (en) Method and system for multichassis link aggregation in-service software update
US9705782B2 (en) Method and system for efficient graceful restart in an open shortest path first (OSPF) network
US7506194B2 (en) Routing system and method for transparently rocovering routing states after a failover or during a software upgrade
AU2004306913B2 (en) Redundant routing capabilities for a network node cluster
US6910148B1 (en) Router and routing protocol redundancy
US7362700B2 (en) Methods and systems for hitless restart of layer 3 packet forwarding
CN102624635B (zh) 一种平滑重启实现方法及设备
US20030123457A1 (en) Apparatus and method for distributed software implementation of OSPF protocol
RU2521092C2 (ru) Синхронизация ldp и igp для широковещательных сетей
US20140153924A1 (en) Method and Apparatus for Connectivity Control in a Data Center Network
CN102484612A (zh) 用于广播网络的ldp igp同步
US8824275B2 (en) Route calculating after switching occurs from a primary main control board to a standby main control board
EP2571208A1 (en) Open shortest path first (OSPF) nonstop routing (NSR) with link derivation
US9948722B2 (en) Path computation element communication protocol session establishment method and device
CN102546427B (zh) 一种基于ospf协议的平滑重启方法和路由器
CN105340226B (zh) 动态路由设备的主备系统切换的方法及其装置
US8045545B2 (en) Intelligent database exchange for OSPF
EP2575306B1 (en) Ospf nonstop routing synchronization nack
CN102769571B (zh) 一种平滑重启实现方法及设备
WO2017148097A1 (zh) 平滑重启处理的方法及装置
US9350621B2 (en) Synchronization after restart of a FC switch
CN109039921A (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
C14 Grant of patent or utility model
GR01 Patent grant