首页> 中国专利> 基于优雅重启的信息恢复方法和路由器

基于优雅重启的信息恢复方法和路由器

摘要

本发明公开了一种基于优雅重启的信息恢复方法,包括:路由器发生重启时,向邻居路由器发送重启消息,所述邻居路由器包括所述路由器的上游邻居路由器和下游邻居路由器;接收邻居路由器发送的路径恢复消息,所述路径恢复消息中包含所述邻居路由器的信息;所述路由器根据所述路径恢复消息对控制信息进行恢复。本发明还公开了一种路由器。应用本发明实施例,可以结合下游邻居路由器和上游邻居路由器发送的路径恢复消息,对控制平面的ERO信息进行精确的恢复,即可以恢复路由器中所有状态块的信息,以及状态块中所有对象的信息,从而使发生重启的路由器可以获得其所需要的所有控制平面信息,提高了路由器控制平面的故障恢复能力。

著录项

  • 公开/公告号CN101616069A

    专利类型发明专利

  • 公开/公告日2009-12-30

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200810129115.5

  • 发明设计人 柯峰;

    申请日2008-06-23

  • 分类号H04L12/56(20060101);H04L29/06(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人逯长明

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 23:18:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-23

    未缴年费专利权终止 IPC(主分类):H04L12/56 授权公告日:20120404 终止日期:20190623 申请日:20080623

    专利权的终止

  • 2012-04-04

    授权

    授权

  • 2010-09-01

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20080623

    实质审查的生效

  • 2009-12-30

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,特别涉及一种基于优雅重启的信息恢复方法和路由器。

背景技术

MPLS(Multi-Protocol Label Switching,多协议标签交换)是一种基于标签交换的技术,能够承载包括IPv4、IPX、ATM等协议的数据,也可以工作在包括Ethernet(以太网)、FR、PPP等的链路协议协议上,具有良好的扩展性。RSVP(Resource Reservation Protocol,资源预留协议)是MPLS的标签分发协议之一,用于建立LSP(LabelSwitched Path,标签交换路径)隧道,提供包括标签交换业务、带宽预留请求等功能,基于RSVP的GR(Graceful Restart,优雅重启)提供了一种流量的NSF(Non-Stop Forwarding,不间断转发)机制,网络中路由设备的控制平面发生故障时,可以通过该路由设备的邻居路由设备恢复控制平面的状态信息,同时保持路由设备之间流量的不间断转发。

网络中一种路由器之间的拓扑结构示意图如图1所示:路由器A为源路由器,路由器E为目的路由器,路由器A、B、C、D、E构成传输报文的隧道。各个路由器之间的连线代表路由器之间的链路,链路两端标注的数字代表路由器的入端口和出端口。在每个路由器的PSB(Path State Block,路径状态块)中均保存了ERO(Explicit RouteObject,显示路由对象)信息,ERO信息是控制平面的重要信息,其中包含了下游路由器的入接口、出接口及路由器标识信息。以路由器C为例,其保存的ERO信息包含其下游路由器D、E的出端口和入端口(端口6、7、8)。

现有技术中假设路由器B发生了优雅重启,其控制平面的ERO信息丢失,此时可以通过其上游邻居路由器A向路由器B发送Gr path消息进行ERO信息的恢复,该消息中包含了路由器A的ERO信息(端口2、3、4、5、6、7、8),路由器B接收到Gr path消息后,根据其中的ERO消息获得其下游路由器C、D、E的端口信息,从而进行ERO信息的恢复,Gr path消息是路由器发生优雅重启时,由上游路由器发送的路径消息。但是,当路由器A和路由器B属于网络中相同的域,而与路由器C、D、E属于不同的域时,则路由器A中仅保存与其属于相同域的路由器端口信息,即路由器B的端口信息(端口2、3),此时如果由路由器B通过接收路由器A发送的Gr path消息,恢复ERO信息,则由于该Gr path消息中未携带路由器C、D、E的端口信息而导致路由器B无法完全恢复ERO信息。

发明人在实践中发现,发生重启的路由器在通过其上游邻居路由器发送的路径恢复消息对ERO信息进行恢复时,虽然该ERO信息中包含了该上游邻居路由器对应的所有下游路由器的端口信息,但是当该上游邻居路由器与发生重启的路由器的下游路由器属于不同域时,会导致发生重启的路由器无法完全恢复其所需要的控制平面信息,从而使得路由器的控制平面持续故障。

发明内容

本发明实施例提供一种信息恢复方法和路由器,以使路由器发生优雅重启时能够根据其邻居路由器发送的消息重建ERO信息,从而使路由器控制平面的故障恢复。

本发明实施例提供如下技术方案:

一种基于优雅重启的信息恢复方法,包括:

路由器发生重启时,向邻居路由器发送重启消息,所述邻居路由器包括所述路由器的上游邻居路由器和下游邻居路由器;

接收邻居路由器发送的路径恢复消息,所述路径恢复消息中包含所述邻居路由器的信息;

所述路由器根据所述路径恢复消息对控制信息进行恢复。

一种路由器,包括:

发送单元,用于路由器发生重启时,向邻居路由器发送重启消息,所述邻居路由器包括所述路由器的上游邻居路由器和下游邻居路由器;

接收单元,用于接收邻居路由器发送的路径恢复消息,所述路径恢复消息中包含所述邻居路由器的信息;

恢复单元,用于根据所述路径恢复消息对控制信息进行恢复。

一种路由器,包括:

接收单元,用于接收上游邻居路由器发送的重启消息;

发送单元,用于向所述上游邻居路由器发送包含控制信息的路径恢复消息。

由以上本发明实施例提供的技术方案可见,本发明实施例中路由器发生重启时向其邻居路由器发送重启消息,接收邻居路由器发送的路径恢复消息,该消息中包含了邻居路由器的信息,并根据所述路径恢复消息对控制信息进行恢复。应用本发明实施例,可以结合下游邻居路由器和上游邻居路由器发送的路径恢复消息,对控制平面的ERO信息进行精确的恢复,从而使发生重启的路由器可以获得其所需要的所有控制平面信息,提高了路由器控制平面的故障恢复能力。

附图说明

图1为一种路由器之间的拓扑结构示意图;

图2为本发明信息恢复方法的第一实施例流程图;

图3为本发明实施例中路由器发生重启前后的信息交互流程图;

图4为本发明信息恢复方法的第二实施例流程图;

图5为本发明信息恢复方法的第三实施例流程图;

图6为本发明信息恢复方法的第四实施例流程图;

图7为对应本发明方法实施例的路由器之间的拓扑结构示意图;

图8为本发明一种路由器的实施例框图;

图9为本发明另一种路由器的实施例框图。

具体实施方式

本发明实施例提供了一种基于优雅重启的信息恢复方法和路由器,路由器发生重启时向其邻居路由器发送重启消息,接收邻居路由器发送的路径恢复消息,并根据该路径恢复消息对控制信息进行恢复。

为了使本技术领域的人员更好地理解本发明实施例提供的技术方案,下面结合附图和具体实施方式对本发明实施例提供的技术方案作进一步的详细说明。

本发明信息恢复方法的第一实施例流程如图2所示:

步骤201:路由器发生重启时向其邻居路由器发送重启消息。

其中,该路由器的邻居路由器包括其上游邻居路由器和下游邻居路由器。

步骤202:接收邻居路由器发送的路径恢复消息。

其中,接收邻居路由器发送的路径恢复消息包括:接收上游邻居路由器发送的路径恢复消息,和/或接收下游邻居路由器发送的路径恢复消息。

其中,路径恢复消息中包含邻居路由器的信息,邻居路由器的信息包括邻居路由器的ERO信息,当邻居路由器为下游邻居路由器时,所述邻居路由器的信息至少还包括邻居路由器的入端口信息、邻居路由器的出端口信息、邻居路由器标识中的一种。

步骤203:根据路径恢复消息对控制信息进行恢复。

其中,控制信息具体为ERO信息,该ERO信息具体包括主隧道路由器的ERO信息,和/或旁路路由器的ERO信息。

为了说明路由器发生优雅重启前后与其邻居路由器的信息交互过程,以便更好地理解本发明信息恢复方法的实施例,该信息交互的流程如图3所示,其中假设路由器B具有GR能力,其邻居路由设备路由器A和路由器C具有支持路由器B的能力:

步骤301:路由器A、路由器B和路由器C之间已经通过Hello会话建立了连接。

步骤302:路由器B在转发平面正常,流量未中断的情况时控制平面产生故障,发生优雅重启。

步骤303:与路由器B建立连接的路由器A和路由器C通过Hello消息检测到路由器B发生了优雅重启,路由器B在向路由器A和路由器C发送的Hello消息中已经包含了Restart Time(重启时间)。

步骤304:路由器A和路由器C不断向路由器B发送Hello Request(请求)消息。其中,路由器A作为路由器B的上游邻居路由器,发送的Hello Request消息中包含该路由器A是否具有支持RSVP-GR能力的信息;路由器C作为路由器B的下游邻居路由器,发送的HelloRequest消息中包含该路由器C是否具有支持Recovery Path(恢复路径)能力和GR能力的信息。同时路由器A和路由器C根据Restart Time启动各自针对路由器B的Restart Timer(重启计时器)。

步骤305:路由器B分别向路由器A和路由器C发送Hello Ack消息,该消息中包含路由器B是否具有支持GR的能力,或者是否具有接收Recovery Path的能力,本发明实施例中的路由器B具有支持GR的能力。

步骤306:路由器A接收到路由器B的Hello Ack消息后,停止针对路由器B的Restart Timer,并启动针对路由器B的Recovery Timer(恢复计时器),然后向路由器B发送Gr Path消息。

步骤307:路由器C接收到路由器B的Hello Ack消息后,停止针对路由器B的Restart Timer,并启动针对路由器B的RecoveryTimer,然后向路由器B发送Recovery Path消息。

步骤307:路由器B根据Gr Path消息和Recovery Path消息对ERO消息进行恢复。

步骤308:路由器B的优雅重启完成,控制平面的故障恢复,路由器A、路由器B和路由器C分别进行老化。

本发明信息恢复方法的第二实施例流程如图4所示,该实施例示出了接收到下游邻居路由器发送的路径恢复消息时,对主隧道路由器的ERO信息进行恢复的过程:

步骤401:路由器发生优雅重启时向其邻居路由器发送重启消息。

路由器发生优雅重启时,其控制平面的ERO信息丢失,因此需要通过重启消息告知其邻居路由器当前发生重启,并触发其邻居路由器向其发送用户恢复控制信息的消息。

步骤402:接收下游邻居路由器发送的路径恢复消息。

需要说明的是,该实施例中发生优雅重启的路由器可能同时收到上游邻居路由器和下游邻居路由器发送的路径恢复消息,也可能仅收到下游邻居路由器发送的路径恢复消息,但只要接收到下游邻居路由器发送的路径恢复消息时,则仅针对该路径恢复消息对主隧道路由器的ERO信息进行恢复。

步骤403:读取该路径恢复消息中下游邻居路由器的信息。

下游邻居路由器发送的路径恢复消息中包含该下游邻居路由器中存储的ERO信息,该ERO信息中包含了主隧道上该下游邻居路由器对应的下游路由器的所有入端口信息和出端口信息;该路径恢复消息中还包含该下游邻居路由器的入端口信息、出端口信息和LSR(Lable Switch Router,标签交换路由器)标识。

其中,下游邻居路由器在向路径恢复消息中添加了自身的ERO信息后,不一定把入端口信息、出端口信息和LSR标识全部添加进路径恢复消息,即该路径恢复消息中可能携带上述三种信息中的任意信息;并且上述三种信息在路径恢复消息中的添加顺序不固定。

步骤404:将下游邻居路由器的信息写入存储主隧道路由器ERO信息的对应位置。

假设读取的路径恢复消息中除了包含下游邻居路由器的ERO信息,还包含该下游邻居路由器的入端口信息、出端口信息和LSR标识。发生重启的路由器中存储的主隧道ERO信息已经丢失,该路由器将读取到的所有信息均写入存储主隧道路由器ERO信息的对应位置,完成主隧道ERO信息的恢复。

本发明信息恢复方法的第三实施例流程如图5所示,该实施例示出了接收到下游邻居路由器发送的路径恢复消息时,根据该路径恢复消息对旁路路由器的ERO信息进行恢复的过程:

步骤501:路由器发生优雅重启时向其邻居路由器发送重启消息。

通常在主隧道传输链路上,为了保护其中的某些路由器,需要为这些路由器建立保护链路,保护链路的两个端点,即该链路上的首路由器和末端路由器,分别为主隧道链路上需要保护的若干连续路由器中的首路由器和末端路由器,本发明方法实施例中的旁路具体指主隧道链路上,保护链路的末端路由器至目的路由器的连续路由器所组成的链路,该保护链路的末端路由器即为旁路的首路由器。

本实施例中假设发生优雅重启的路由器为保护链路的首路由器,该路由器中预先保存有旁路中首路由器的标识信息。

步骤502:接收下游邻居路由器发送的路径恢复消息。

步骤503:读取路径恢复消息中下游邻居路由器的信息。

其中,下游邻居路由器发送的路径恢复消息中包含该下游邻居路由器中存储的ERO信息,该ERO信息中包含了主隧道上该下游邻居路由器对应的下游路由器的所有入端口信息和出端口信息;该路径恢复消息中还包含该下游邻居路由器的入端口信息、出端口信息和LSR标识。

步骤504:根据下游邻居路由器的信息及发生重启的路由器中存储的旁路中首路由器的标识,获取该旁路路由器的ERO信息。

由于接收的路径恢复消息中已经包含了该首路由器的所有下游路由器的入端口信息和出端口信息,因此这些信息中必然包含旁路中所有路由器的端口信息,根据已经保存的首路由器标识以及路径恢复消息中包含的旁路中路由器的端口信息即可获得该旁路路由器的所有ERO信息。

步骤505:将获取的ERO信息写入存储旁路路由器ERO信息的对应位置。

发生重启的路由器中存储的旁路路由器ERO信息已经丢失,该路由器将读取到的所有信息均写入存储旁路路由器ERO信息的对应位置,完成旁路ERO信息的恢复。

本发明信息恢复方法的第四实施例流程如图6所示,该实施例示出了仅接收到上游邻居路由器发送的路径恢复消息时,对主隧道路由器的ERO信息进行恢复的过程:

步骤601:路由器发生优雅重启时向其邻居路由器发送重启消息。

步骤602:接收上游邻居路由器发送的路径恢复消息。

需要说明的是,该实施例中发生优雅重启的路由器仅接收到上游邻居路由器发送的路径恢复消息,而未接收到下游邻居路由器发送的路径恢复消息。

步骤603:读取路径恢复消息中上游邻居路由器的ERO信息。

上游邻居路由器发送的路径恢复消息中包含该上游邻居路由器中存储的ERO信息,该ERO信息中包含了主隧道上该上游邻居路由器对应的下游路由器的所有入端口信息和出端口信息,因此这些端口信息中必然也包括发生重启的路由器的入端口信息和出端口信息。

步骤604:删除ERO信息中包含的发生重启的路由器的端口信息。

由于发生重启的路由器在恢复自身的ERO信息时,仅需要其下游路由器的端口信息,因此将接收到的路经恢复消息中包含的该发生重启的路由器的端口信息删除。

步骤605:将ERO信息中的剩余端口信息写入存储主隧道路由器ERO信息的对应位置。

发生重启的路由器中存储的主隧道ERO信息已经丢失,该路由器将仅包含发生重启的路由器的下游路由器的入端口信息和出端口信息写入存储主隧道路由器ERO信息的对应位置,完成主隧道ERO信息的恢复。

本发明实施例中当接收的路径恢复消息中仅包含上游邻居路由器发送的路径恢复消息,则根据路径恢复消息对旁路路由器的ERO信息进行恢复时,通过读取所述路径恢复消息中上游邻居路由器的ERO信息,然后根据该ERO信息和/或发生重启的路由器中存储的旁路中首路由器的标识,获取旁路路由器的ERO信息,最后将获取的ERO信息写入存储该旁路路由器ERO信息的对应位置。上述通过上游邻居路由器发送的路径恢复消息进行旁路路由器ERO信息的恢复过程与本发明方法的第三实施例类似,在此不再赘述。

下面结合一种网络中路由器之间拓扑结构的具体示例,详细描述应用本发明信息恢复方法实施例的过程,该网络中路由器之间的拓扑结构示意图如图7所示:路由器A为源路由器,路由器E为目的路由器,路由器A、B、C、D、E构成传输报文的主隧道,路由器B、F、D组成保护路由器C的保护链路,保护链路的末端路由器D与目的路由器E组成旁路ERO的信息,各个路由器之间的连线代表路由器之间的链路,链路两端标注的数字代表路由器的入端口和出端口。

假设路由器B发生了优雅重启,其控制平面的ERO信息丢失,此时路由器B接收到了由其下游邻居路由器C发送的Recovery path消息,该Recovery path消息中包含了路由器C中的ERO信息,即该路由器C的下游路由器D和路由器E的出端口信息和入端口信息(端口6、7、8);路由器C还可以将自身的入端口4、出端口5和LSR标识C写入该Recovery path消息中,当然,路由器C可以仅写入上述三种信息中的至少一种即可,这是因为上述三种信息分别对应路由器C上的三个存储地址,路由器C在向Recovery path消息中添加自身信息时,仅添加能够获取到的存储地址中的对应信息。假设路由器C添加了上述三个消息,则路由器B接收到该Recovery path消息后,读取其中包含的路由器C、路由器D和路由器E的端口信息(端口4、5、6、7、8)以及路由器C的LSR标识,并将读取到的信息写入存储主隧道ERO信息的对应位置,由此路由器B可以实现对主隧道上其下游路由器的所有ERO信息的恢复。路由器B中还预先存储了旁路中首路由器D的LSR标识,因此路由器B可以根据路由器C发送的路径恢复消息中路由器D的出端口7和路由器E的入端口8,恢复出旁路路由器的ERO信息,即包括路由器D的LSR标识、路由器E的LSR标识以及端口信息(端口7、8),由此路由器可以实现对旁路路由器的所有ERO信息的恢复。本发明实施例中通过发生重启的路由器的下游邻居路由器发送的路径恢复消息对ERO信息进行完全恢复,由于发生重启的路由器与其下游邻居路由器通常位于网络中的相同域,因此发生重启的路由器可以恢复所有发生故障的ERO信息,避免了仅由上游邻居路由器发送路径恢复消息,在跨域时无法完整恢复所有ERO信息。

在所有路由器均位于网络中相同域时,假设路由器B发生了优雅重启,其控制平面的ERO信息丢失,此时路由器B仅接收到了由其上游邻居路由器A发送的Gr path消息,该Gr path消息中包含了路由器A的ERO信息(端口2、3、4、5、6、7、8),路由器B接收到Gr path消息后,删除其中路由器B自身的入端口2和出端口3,并将剩余的下游路由器C、D、E的端口信息写入存储主隧道ERO信息的对应位置,从而通过Gr path消息实现了对路由器B的ERO信息恢复。

与本发明信息恢复方法的实施例相对应,本发明还提供了一种路由器,该路由器通常具有优雅重启的能力,并且具有接收其邻居路由器发送的路径恢复消息的能力。

本发明一种路由器的实施例框图如图8所示,该路由器包括:发送单元810、接收单元820和恢复单元830。

其中,发送单元810用于路由器发生重启时,向邻居路由器发送重启消息,所述邻居路由器包括所述路由器的上游邻居路由器和下游邻居路由器;接收单元820用于接收其邻居路由器发送的路径恢复消息,所述消息中包含所述邻居路由器的信息;恢复单元830用于根据所述路径恢复消息对控制信息进行恢复。

具体的,当接收单元820用于接收下游邻居路由器发送的路径恢复消息,恢复单元830用于对主隧道路由器的ERO信息进行恢复时,该恢复单元830具体包括:读取单元,用于读取所述路径恢复消息中下游邻居路由器的信息;写入单元,用于将所述下游邻居路由器的信息写入存储所述主隧道路由器ERO信息的对应位置。

当接收单元820用于接收下游邻居路由器发送的路径恢复消息,恢复单元830用于对旁路路由器的ERO信息进行恢复时,恢复单元830具体包括:读取单元,用于读取所述路径恢复消息中下游邻居路由器的信息;获取单元,用于根据所述下游邻居路由器的信息和/或所述发生重启的路由器中存储的所述旁路中首路由器的标识,获取所述旁路路由器的ERO信息;写入单元,用于将所述获取的ERO信息写入存储所述旁路路由器ERO信息的对应位置。

当接收单元820仅用于接收上游邻居路由器发送的路径恢复消息,恢复单元830用于对主隧道路由器的ERO信息进行恢复时,恢复单元830具体包括:读取单元,用于读取所述路径恢复消息中上游邻居路由器的ERO信息;删除单元,用于删除所述ERO信息中包含的所述发生重启的路由器的信息;写入单元,用于将删除后的所述ERO信息写入存储所述主隧道路由器ERO信息的对应位置。

当接收单元820仅用于接收上游邻居路由器发送的路径恢复消息,恢复单元830用于对旁路路由器的ERO信息进行恢复时,恢复单元830具体包括:读取单元,用于读取所述路径恢复消息中上游邻居路由器的ERO信息;获取单元,用于根据所述ERO信息和/或所述发生重启的路由器中存储的所述旁路中首路由器的标识,获取所述旁路路由器的ERO信息;写入单元,用于将所述获取的ERO信息写入存储所述旁路路由器ERO信息的对应位置。

与本发明信息恢复方法的实施例相对应,本发明还提供了另一种路由器,该路由器通常具有支持优雅重启的能力,并且在网络中该路由器通常为发生优雅重启的路由器的下游邻居路由器,用于向发生重启的路由器发送用于恢复控制信息的路径恢复消息。

本发明另一种路由器的实施例框图如图9所示,该路由器包括:接收单元910和发送单元920。其中,接收单元910用于接收上游邻居路由器发送的重启消息;发送单元920用于向所述上游邻居路由器发送包含控制信息的路径恢复消息。

进一步,发送单元920包括添加单元921,用于向所述路径恢复消息中添加ERO信息,并添加入端口信息、出端口信息、路由器标识中的至少一种信息;传输单元922,用于向所述上游邻居路由器传输所述路径恢复消息。

通过本发明实施例的描述可知,应用本发明实施例可以结合下游邻居路由器和上游邻居路由器发送的路径恢复消息,对控制平面的ERO信息进行精确的恢复,即可以恢复路由器中所有状态块的信息,以及状态块中所有对象的信息,从而使发生重启的路由器可以获得其所需要的所有控制平面信息,提高了路由器控制平面的故障恢复能力。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:路由器发生重启时,向邻居路由器发送重启消息,所述邻居路由器包括所述路由器的上游邻居路由器和下游邻居路由器;接收邻居路由器发送的路径恢复消息,所述路径恢复消息中包含所述邻居路由器的信息;所述路由器根据所述路径恢复消息对控制信息进行恢复。所述的存储介质,如:ROM/RAM、磁碟、光盘等。

虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号