实现路由协议的不中断路由的方法和装置制造方法

文档序号:7981347阅读:263来源:国知局
实现路由协议的不中断路由的方法和装置制造方法
【专利摘要】本发明公开了实现路由协议的不中断路由的方法和装置,该方法包括:主路由引擎正常时,备份邻居状态信息到备路由引擎;主路由引擎故障时,备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由,将计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。本发明能够减少路由设备资源的消耗,提高路由设备的运行效率。
【专利说明】实现路由协议的不中断路由的方法和装置
【技术领域】
[0001]本申请涉及通信【技术领域】,特别涉及实现路由协议的不中断路由(Non-stopRouting, NSR)的方法和装置。
【背景技术】
[0002]NSR技术作为高端路由设备的高级特性,可以在路由设备故障时实现路由协议的不中断连接,达到业务不中断的目的,其显著特点是部署简单,只需在单台路由设备上部署,不需要在对端路由设备上做任何配置。
[0003]现有NSR实现中,需要在单台路由设备上配置主、备路由引擎,为了保证备路由引擎能够在主路由引擎故障后接管主路由引擎的工作,主路由引擎需要在正常运行过程中将路由协议的邻居状态信息和路由信息备份到备路由引擎。
[0004]然而,随着网络规模的不断扩大,路由表的规模也越来越大,需要在主、备路由引擎间同步的路由信息量也越来越多,从而使得主、备路由引擎间路由信息的同步变得越来越困难,而且,大量路由信息的同步还导致大量路由设备资源的消耗和运行效率的降低。

【发明内容】

[0005]有鉴于此,本申请的目的在于提供了一种实现路由协议的不中断路由的方法,该方法能够减少路由设备资源的消耗,提高路由设备的运行效率。
[0006]为了达到上述目的,本申请提供的技术方案为:
[0007]一种实现路由协议的不中断路由的方法,应用于配置有主路由引擎和备路由引擎的路由设备,该方法包括:
[0008]所述主路由引擎正常时,备份邻居状态信息到所述备路由引擎;
[0009]所述主路由引擎故障时,所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由,将计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
[0010]所述主路由引擎故障后,所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步包括:所述备路由引擎暂停向所有邻居路由设备发布路由,暂停下发路由到本地硬件。
[0011]所述路由协议为边界网关协议;所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述备路由引擎向所有邻居路由设备发送路由刷新报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新报文;或
[0012]所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为广播类型网络;所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法为:如果所述路由设备为指定中间系统DIS,则所述备路由引擎向所有邻居路由设备发送携带所述路由设备的本地路由摘要信息的完整序号协议数据单元CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息;如果所述路由设备为非DIS,则所述备路由引擎接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,所述未同步路由信息为:在所述路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息;或
[0013]所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为点对点P2P类型网络;所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述备路由引擎向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带该邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给该邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述CSNP报文中携带的摘要信息中未描述的路由信息;或
[0014]所述路由协议为开放式最短路径优先协议;所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述备路由引擎向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元LSU报文;或
[0015]所述路由协议为标签分发协议;所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述备路由引擎向所有邻居路由设备发送标签请求报文,所述标签请求报文中的转发等价类FEC类型值为通配符wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。
[0016]本发明还提供了另一种实现路由协议的不中断路由的方法,应用于配置有单个路由引擎的路由设备,该方法包括:
[0017]所述路由引擎正常时,存储邻居状态信息到非易使存储介质中;
[0018]所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由,将计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
[0019]所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步包括:暂停向所有邻居路由设备发布最优路由,暂停下发最优路由到本地硬件。
[0020]所述路由协议为边界网关协议;所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送路由刷新报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新报文;或
[0021]所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为广播类型网络;所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:如果所述路由设备为DIS,则所述路由引擎向所有邻居路由设备发送携带所述路由设备的本地路由摘要信息的完整序号协议数据单元CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,所述邻居路由信息为邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息,如果所述路由设备为非DIS,则所述路由引擎接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,所述未同步路由信息为:在所述路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息;或
[0022]所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为P2P类型网络;所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带该邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给该邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述CSNP报文中携带的摘要信息中未描述的路由信息;或
[0023]所述路由协议为开放式最短路径优先协议;所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元LSU报文;或
[0024]所述路由协议为标签分发协议;所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送标签请求报文,所述标签请求报文中的FEC类型值为wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。
[0025]本发明还提供了一种实现路由协议的不中断路由的装置,应用于配置有主路由引擎和备路由引擎的路由设备,该装置包括:主路由引擎模块、备路由引擎模块;
[0026]所述主路由引擎模块,包括备份单元,用于在主路由引擎正常时,备份邻居状态信息到备路由引擎模块;
[0027]所述备路由引擎模块,包括存储单元、路由获取单元、路由发布单元;其中,
[0028]所述存储单元,用于存储备份单元备份过来的邻居状态信息;
[0029]所述路由获取单元,用于在主路由引擎故障时,根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由;
[0030]所述路由发布单元,用于将路由获取单元计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
[0031]所述路由获取单元在主路由引擎故障后,根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步用于:暂停向所有邻居路由设备发布最优路由,暂停下发最优路由到本地硬件。
[0032]上述装置中,
[0033]所述路由协议为边界网关协议;所述路由获取单元在根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送路由刷新报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新报文;或[0034]所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为广播类型网络;所述路由获取单元在根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:如果所述路由设备为指定中间系统DIS,则所述路由获取单元向所有邻居路由设备发送携带所述路由设备的本地路由摘要信息的CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息;如果所述路由设备为非DIS,则所述路由获取单元接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带该PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,所述未同步路由信息为:在所述路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息;或
[0035]所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为P2P类型网络;所述路由获取单元在根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述CSNP报文中携带的摘要信息中未描述的路由信息;或
[0036]所述路由协议为开放式最短路径优先协议;所述路由获取单元在根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元LSU报文;或
[0037]所述路由协议为标签分发协议;所述路由获取单元在根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送标签请求报文,所述标签请求报文中的FEC类型值为wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。
[0038]本发明还提供了另一种实现路由协议的不中断路由的装置,应用于配置有单个路由引擎的路由设备,该装置包括:路由引擎模块;
[0039]所述路由引擎模块包括:备份单元、路由获取单元、路由发布单元;其中,
[0040]所述备份单元,用于所述路由引擎正常时,存储邻居状态信息到非易使存储介质中;
[0041]所述路由获取单元,用于在所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由;
[0042]所述路由发布单元,用于将路由获取单元计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
[0043]所述路由获取单元在所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步用于:暂停向所有邻居路由设备发布最优路由,暂停下发最优路由到本地硬件。
[0044]上述装置中,
[0045]所述路由协议为边界网关协议;所述路由获取单元在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送路由刷新报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新报文;或
[0046]所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为广播类型网络;所述路由获取单元在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:如果所述路由设备为DIS,则所述路由获取单元向所有邻居路由设备发送携带所述路由设备的本地路由摘要信息的完整序号协议数据单元CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,所述邻居路由信息为邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息,如果所述路由设备为非DIS,则所述路由获取单元接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,所述未同步路由信息为:在所述路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息;或
[0047]所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为P2P类型网络;所述路由获取单元在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述CSNP报文中携带的摘要信息中未描述的路由信息;或
[0048]所述路由协议为开放式最短路径优先协议;所述路由获取单元在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元LSU报文;或
[0049]所述路由协议为标签分发协议;所述路由获取单元在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送标签请求报文,所述标签请求报文中的FEC类型值为wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系O
[0050]综上所述,本申请可应用于配置有主、备路由引擎的路由设备中。在正常运行过程中,主、备路由引擎之间只同步邻居状态信息;当主路由引擎故障时,备路由引擎获取所有邻居路由设备的路由信息,重新计算和下发最优路由。由于在正常运行过程中主路由引擎只需要备份邻居状态信息到备路由引擎,不需要备份路由信息到备路由引擎,因此能够减少路由设备资源的消耗,进而可以提高路由设备的运行效率。
[0051]另外,本申请还可以应用于仅配置有单个路由引擎的路由设备中。在正常运行过程中,该路由引擎存储邻居状态信息到非易失存储介质中;当该路由引擎故障重启时,该路由引擎重新获取所有邻居路由设备的路由信息,重新计算和下发最优路由。可见,本申请还能够支持在仅配置有单个路由引擎的路由设备中实现路由协议的不中断路由。
【专利附图】

【附图说明】
[0052]图1是本发明实施例一种实现路由协议的不中断路由的方法流程图;
[0053]图2是本发明实施例另一种实现路由协议的不中断路由的方法流程图;
[0054]图3是本发明实施例一种实现路由协议的不中断路由的装置的结构示意图;
[0055]图4是本发明实施例另一种实现路由协议的不中断路由的装置的结构示意图。
【具体实施方式】
[0056]为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
[0057]参见图1,图1是本发明实施例一种实现路由协议的不中断路由的方法流程图,该方法应用于配置有主路由引擎和备路由引擎的路由设备,主要包括以下步骤:
[0058]步骤101、主路由引擎正常时,备份邻居状态信息到备路由引擎。
[0059]这里的邻居状态信息包括邻居设备标识、邻居接口地址等信息。
[0060]步骤102、主路由引擎故障时,备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由,将计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
[0061]这里,主路由引擎故障后,备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,备路由引擎还可以暂停向所有邻居路由设备发布最优路由,暂停下发最优路由到本地硬件。
[0062]图1所示本发明实施例中,备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法根据路由协议的不同而不同,下面分别针对路由协议是边界网关协议(Border Gateway Protocol, BGP)、中间系统到中间系统的路由选择协议(Intermediate System-1ntermediate System, IS-1S)、开放式最短路径优先协议(OpenShortest Path First, 0SPF)、以及标签分发协议(Label Distribution Protocol, LDP)的情况分别进行说明。
[0063](I)路由协议是BGP协议的情况:
[0064]在现有实现中,BGP协议支持在保持邻居关系时,通过发送特定的协议报文:路由刷新报文(Refresh Message),并接收邻居路由设备返回的携带邻居路由信息的路由更新报文(Update Message)的方式来获取邻居路由信息。
[0065]本实施例中,在正常运行过程中,主路由引擎只备份邻居状态信息到备路由引擎,而未备份路由信息到备路由引擎。在主路由引擎故障后,备路由引擎可以利用上述路由刷新报文和路由更新报文来实现从邻居路由设备获取路由信息。
[0066]因此,所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法具体可以为:所述备路由引擎向所有邻居路由设备发送路由刷新报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新报文。[0067](2 )路由协议为IS-1S协议的情况:
[0068]在现有实现中,IS-1S协议支持序号协议数据单元(Serial Number PDU, SNP)报文,包括:完整序号协议数据单元(Complete Serial Number H)U,CSNP)报文和部分序号协议数据单元(Partial Sequence Numbers F1DU, PSNP)报文。根据网络类型的不同,CSNP报文的发送时间也不相同。在广播类型网络中,路由设备会周期性发送CSNP报文,而在点对点(P2P)类型网络中,路由设备会在与邻居路由设备初次建立邻居关系时发送CSNP报文。
[0069]在广播类型组网中,路由设备分为中间系统(Designated Intermedia System,DIS)和非DIS,在同一网段中,只有一个DIS,其它均为非DIS。其中,DIS会周期性发送携带的本地路由的摘要信息的CSNP报文,接收到该CSNP报文的路由设备会确定CSNP报文携带的本地路由的摘要信息中描述的路由信息,返回链路状态协议数据单元(Link StatePacket, LSP)报文,链路状态协议数据单元报文中携带发送该链路状态协议数据单元报文的路由设备中存在的且在该路由设备接收到的CSNP报文携带的本地路由的摘要信息中未描述的路由信息。非DIS会接收到DIS周期性发送的CSNP报文,如果检测到本地不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息,则会向DIS发送PSNP报文,PSNP报文中携带本地不存在的且在接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息的摘要信息,DIS接收到该PSNP报文后,会将PSNP报文中携带的本地路由的摘要信息中描述的路由信息携带在链路状态协议数据单元报文中返回给非DIS,这样,非DIS就可以获得所有邻居路由信息。这里,本地路由的摘要信息是根据本地连路状态数据库(Link State DataBase, LSDB)生成。
[0070]在点对点(P2P)类型组网中,路由设备则是通过向邻居路由设备发送CSNP报文来获取邻居路由设备的路由信息。
[0071]本实施例中,在正常运行过程中,主路由引擎只备份邻居状态信息到备路由引擎,而未备份路由信息到备路由引擎。在主路由引擎故障后,备路由引擎可以利用上述CSNP报文和PSNP报文来实现从邻居路由设备获取路由信息。
[0072]当本路由设备(这里的本路由设备是指所述主、备路由引擎所在的路由设备)位于广播类型网络时,所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法具体可以为:如果本路由设备为DIS,则所述备路由引擎向所有邻居路由设备发送携带本路由设备的本地路由的摘要信息的CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息;如果本路由设备为非DIS,则所述备路由引擎接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,其中,所述未同步路由信息为:在本路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息。
[0073]当本路由设备(这里的本路由设备是指所述主、备路由引擎所在的路由设备)位于P2P类型网络时,需要在主路由引擎故障、备路由引擎开始工作后主动向邻居路由设备发送一次CSNP报文。所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法具体可以为:所述备路由引擎向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述CSNP报文中携带的摘要信息中未描述的路由信息;返回PSNP报文给邻居路由设备是对接收到的该邻居路由设备的链路状态协议数据单元报文的确认。
[0074](3)路由协议是OSPF协议的情况;
[0075]在现有实现中,OSPF协议不具备类似BGP协议中通过发送路由刷新报文和接收路由更新报文来获取邻居路由设备的路由信息的机制,也不具备IS-1S协议中通过发送CSNP报文和接收PSNP报文来获取邻居路由设备的路由信息的机制。
[0076]本实施例中,在正常运行过程中,主路由引擎只备份邻居状态信息到备路由引擎,而未备份路由信息到备路由引擎。为了实现主路由引擎故障、备路由引擎开始工作后能够从邻居路由设备获取路由信息,可以扩展现有的OSPF协议,新增加一种OSPF协议报文:路由信息同步请求报文。当路由设备需要从邻居路由设备获取路由信息时,可以向邻居路由设备发送路由信息同步请求报文,接收到路由信息同步请求报文的邻居路由设备可以返回携带该邻居路由设备的路由信息的路由更新数据单元(LSU)报文给路由设备,从而使路由设备获取得到邻居路由设备的路由信息。
[0077]为此,所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法具体可以为:所述备路由引擎向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元报文。
[0078](4 )路由协议是LDP协议的情况:
[0079]在多协议标签交换(Mult1-Protocol Label Switching, MPLS)网络中,对于属于同一转发等价类(Forwarding Equivalence Class, FEC)的两个相邻标签交换路由器(Label Switching Router, LSR)来说,位于下游的LSR需要为位于上游的LSR分配关联于该FEC的标签,实现方式为:上游LSR向下游LSR发送携带该FEC信息的标签请求报文,下游LSR接收到标签请求报文后,为上游LSR分配关联于该FEC的标签,并将该FEC和该标签的映射关系携带在标签映射报文中返回给上游LSR,上游LSR可以根据FEC和标签的映射关系建立标签映射表,根据标签映射表转发报文。上述标签请求报文中包括FEC TLV(Type-Length-Value,类型-长度-值)字段。
[0080]在实际应用中,两个相邻LSR (假设分别为LSRl和LSR2)可能同属于多个FEC (假设多个FEC包括:FEC1、FEC2、FEC3),在其中的一部分FEC (例如FECl和FEC2)中,LSRl位于上游,LSR2位于下游,而在另一部分FEC (例如FEC3)中,LSRl位于下游,而LSR2位于上游。当上游LSR发送的标签请求报文中的FEC TLV字段中FEC类型(FEC Element TYPE)的值为通配符(wildcard)时,下游LSR会针对所有FEC为上游LSR分配标签,例如,LSRl向LSR2发送标签请求报文,标签请求报文的FEC TLV中的FEC类型值为wildcard,则LSR2接收到该标签请求报文后,会为LSRl分配关联于FECl的标签和关联于FEC2的标签,并通过标签映射报文返回给LSRl。
[0081 ] 本发明中,可以利用上述标签请求报文和标签映射报文来实现获取所有邻居路由信息的目的。需要说明的是,当路由协议为LDP协议时,路由设备即是MPLS网络中的LSR,路由息也即是FEC和标签的映射关系。
[0082]为此,所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法具体可以为:所述备路由引擎向所有邻居路由设备发送标签请求报文,所述标签请求报文的FEC-TLV中FEC类型值为wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。备路由引擎根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系之后,还需要将恢复后本地FEC和标签的映射关系通告给所有邻居路由设备。
[0083]本发明还提供了另一种实现路由协议的不中断路由的方法,应用于配置有单个路由引擎的路由设备,下面结合图2进行说明。
[0084]图2是本发明实施例另一种实现路由协议的不中断路由的方法流程图,该方法应用于配置有单个路由引擎的路由设备,该方法主要包括以下步骤:
[0085]步骤201、路由引擎正常时,存储邻居状态信息到非易使存储介质中。
[0086]步骤202、路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由,将计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
[0087]这里,所述路由引擎故障重启后,需要根据非易失存储介质中存储的邻居状态信息保持邻居关系不中断。
[0088]其中,所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步包括:暂停向所有邻居路由设备发布最优路由,暂停下发最优路由到本地硬件。
[0089]图2所示本发明实施例中,
[0090]当所述路由协议是BGP协议时,所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法具体为:所述路由引擎向所有邻居路由设备发送刷新报文,接收各邻居路由设备返回的携带邻居路由信息的应答报文。原理与图1所示本发明实施例相同。
[0091]当所述路由协议为IS-1S协议时,根据路由设备所在的网络类型的不同,获取邻居路由信息的方法也不相同。
[0092]当本路由设备(这里的本路由设备是指所述路由引擎所在的路由设备)位于广播类型网络时,所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:如果本路由设备为DIS,则所述路由引擎向所有邻居路由设备发送携带本路由设备的本地路由摘要信息的完整序号协议数据单元CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,所述邻居路由信息为邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息,如果本路由设备为非DIS,则所述路由引擎接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,其中,所述未同步路由信息为:在本路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息。
[0093]当本路由设备(这里的本路由设备是指所述路由引擎所在的路由设备)位于P2P类型网络时,所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带该邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给该邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息。
[0094]当所述路由协议为OSPF协议时,所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元(LSU)报文。
[0095]当所述路由协议为LDP协议时,所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送标签请求报文,所述标签请求报文中的FEC类型值为wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。
[0096]以上对本发明实施例实现路由协议的不中断路由的方法进行了详细说明,本发明还提供了两种实现路由协议的不中断路由的装置,下面分别结合图3、图4进行说明。
[0097]图3是本发明实施例一种实现路由协议的不中断路由的装置的结构示意图,该装置应用于配置有主路由引擎和备路由引擎的路由设备,该装置包括:主路由引擎模块310、备路由引擎模块320;其中,
[0098]主路由引擎模块310,包括备份单元311,用于在主路由引擎正常时,备份邻居状态信息到备路由引擎模块320 ;
[0099]备路由引擎模块320,包括存储单元321、路由获取单元322、路由发布单元323 ;其中,
[0100]所述存储单元321,用于存储备份单元311备份过来的邻居状态信息;
[0101]所述路由获取单元322,用于在主路由引擎故障时,根据存储单元321中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由;
[0102]所述路由发布单元323,用于将路由获取单元322计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
[0103]所述路由获取单元322在主路由引擎故障后,根据存储单元321中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步用于:暂停向所有邻居路由设备发布最优路由,暂停下发最优路由到本地硬件。
[0104]当所述路由协议为边界网关协议时,所述路由获取单元322在根据存储单元321中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:向所有邻居路由设备发送刷新报文,接收各邻居路由设备返回的携带邻居路由信息的应答报文。
[0105]当所述路由协议为中间系统到中间系统的路由选择协议,所述路由设备所在的网络为广播类型网络时,所述路由获取单元322在根据存储单元321中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:如果所述路由设备为指定中间系统(DIS),则所述路由获取单元322向所有邻居路由设备发送携带所述路由设备的本地路由摘要信息的CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息;如果所述路由设备为非DIS,则所述路由获取单元322接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,所述未同步路由信息为:在所述路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息。
[0106]当所述路由协议为中间系统到中间系统的路由选择协议,所述路由设备所在的网络为P2P类型网络时,所述路由获取单元322在根据存储单元321中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元322向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述CSNP报文携带的本地路由的摘要信息中未描述的路由信息。
[0107]当所述路由协议为开放式最短路径优先协议时,所述路由获取单元322在根据存储单元321中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元322向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元报文。
[0108]当所述路由协议为标签分发协议时,所述路由获取单元322在根据存储单元321中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元322向所有邻居路由设备发送标签请求报文,所述标签请求报文中的FEC类型值为wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。
[0109]由图3所示本发明实施例可知,路由设备中配置有主、备路由引擎的情况下,当主路由引擎正常时,只备份邻居状态信息到备路由引擎;当主路由引擎故障时,备路由引擎可以根据备份的邻居状态信息重新获取所有邻居路由信息,从而可以实现路由协议的不中断。
[0110]图4是本发明实施例另一种实现路由协议的不中断路由的装置的结构示意图,该装置应用于配置有单个路由引擎的路由设备,该装置包括:路由引擎模块410;
[0111]路由引擎模块包括:备份单元411、路由获取单元412、路由发布单元413 ;其中,
[0112]所述备份单元411,用于在所述路由引擎正常时,存储邻居状态信息到非易使存储介质中;
[0113]所述路由获取单元412,用于在所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由;
[0114]所述路由发布单元,用于将路由获取单元计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
[0115]所述路由获取单元412在所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步用于:暂停向所有邻居路由设备发布最优路由,暂停下发最优路由到本地硬件。
[0116]当所述路由协议为边界网关协议时,所述路由获取单元412在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元412向所有邻居路由设备发送刷新报文,接收各邻居路由设备返回的携带邻居路由信息的应答报文。
[0117]当所述路由协议为中间系统到中间系统的路由选择协议,所述路由设备所在的网络为广播类型网络时,所述路由获取单元412在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:如果所述路由设备为DIS,则所述路由获取单元412向所有邻居路由设备发送携带所述路由设备的本地路由摘要信息的完整序号协议数据单元CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,所述邻居路由信息为邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息,如果所述路由设备为非DIS,则所述路由获取单元412接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,,接收DIS返回的携带PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,所述未同步路由信息为:在所述路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信肩、O
[0118]当所述路由协议为中间系统到中间系统的路由选择协议,所述路由设备所在的网络为P2P类型网络时,所述路由获取单元412在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元412向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息。
[0119]当所述路由协议为开放式最短路径优先协议时,所述路由获取单元412在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元412向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元报文。
[0120]当所述路由协议为标签分发协议时,所述路由获取单元412在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元412向所有邻居路由设备发送标签请求报文,所述标签请求报文中的FEC类型值为wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。
[0121]由图3所示本发明实施例可知,路由设备中配置有单个路由引擎的情况下,当该路由引擎正常时,只备份邻居状态信息到非易失存储介质中;当该路由引擎故障重启后,该路由引擎可以根据非易失存储介质中备份的邻居状态信息重新获取所有邻居路由信息,从而可以实现路由协议的不中断。
[0122]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种实现路由协议的不中断路由的方法,应用于配置有主路由引擎和备路由引擎的路由设备,其特征在于,该方法包括: 所述主路由引擎正常时,备份邻居状态信息到所述备路由引擎; 所述主路由引擎故障时,所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由,将计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
2.根据权利要求1所述的实现路由协议的不中断路由的方法,其特征在于, 所述主路由引擎故障后,所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步包括:所述备路由引擎暂停向所有邻居路由设备发布路由,暂停下发路由到本地硬件。
3.根据权利要求1或2所述的实现路由协议的不中断路由的方法,其特征在于, 所述路由协议为边界网关协议;所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述备路由引擎向所有邻居路由设备发送路由刷新报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新报文;或 所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为广播类型网络;所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法为:如果所述路由设备为指定中间系统DIS,则所述备路由引擎向所有邻居路由设备发送携带所述路由设备的本地路由摘要信息的完整序号协议数据单元CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息;如果所述路由设备为非DIS,则所述备路由引擎接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,所述未同步路由信息为:在所述路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息;或 所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为点对点P2P类型网络;所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述备路由引擎向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带该邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给该邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述CSNP报文中携带的摘要信息中未描述的路由信息;或 所述路由协议为开放式最短路径优先协议;所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述备路由引擎向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元LSU报文;或 所述路由协议为标签分发协议;所述备路由引擎根据备份的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述备路由引擎向所有邻居路由设备发送标签请求报文,所述标签请求报文中的转发等价类FEC类型值为通配符wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。
4.一种实现路由协议的不中断路由的方法,应用于配置有单个路由引擎的路由设备,其特征在于,该方法包括: 所述路由引擎正常时,存储邻居状态信息到非易使存储介质中; 所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由,将计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
5.根据权利要求4所述的实现路由协议的不中断路由的方法,其特征在于, 所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步包括:暂停向所有邻居路由设备发布最优路由,暂停下发最优路由到本地硬件。
6.根据权利要求4或5所述的实现路由协议的不中断路由的方法,其特征在于, 所述路由协议为边界网关协议;所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送路由刷新报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新报文;或 所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为广播类型网络;所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:如果所述路由设备为DIS,则所述路由引擎向所有邻居路由设备发送携带所述路由设备的本地路由摘要信息的完整序号协议数据单元CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,所述邻居路由信息为邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息,如果所述路由设备为非DIS,则所述路由引擎接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,所述未同步路由信息为:在所述路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息;或 所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为P2P类型网络;所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带该邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给该邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述CSNP报文中携带的摘要信息中未描述的路由信息;或 所述路由协议为开放式最短路径优先协议;所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元LSU报文;或 所述路由协议为标签分发协议;所述根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息的方法为:所述路由引擎向所有邻居路由设备发送标签请求报文,所述标签请求报文中的FEC类型值为wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。
7.一种实现路由协议的不中断路由的装置,应用于配置有主路由引擎和备路由引擎的路由设备,其特征在于,该装置包括:主路由引擎模块、备路由引擎模块; 所述主路由引擎模块,包括备份单元,用于在主路由引擎正常时,备份邻居状态信息到备路由引擎模块; 所述备路由引擎模块,包括存储单元、路由获取单元、路由发布单元;其中, 所述存储单元,用于存储备份单元备份过来的邻居状态信息; 所述路由获取单元,用于在主路由引擎故障时,根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由; 所述路由发布单元,用于将路由获取单元计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
8.根据权利要求7所述的实现路由协议的不中断路由的装置,其特征在于, 所述路由获取单元在主路由引擎故障后,根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步用于:暂停向所有邻居路由设备发布最优路由,暂停下发最优路由到本地硬件。
9.根据权利要求7或8所述的实现路由协议的不中断路由的装置,其特征在于, 所述路由协议为边界网关协议;所述路由获取单元在根据存储单元中存储的邻居状态信息获取所有邻居路由设备·的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送路由刷新报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新报文;或 所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为广播类型网络;所述路由获取单元在根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:如果所述路由设备为指定中间系统DIS,则所述路由获取单元向所有邻居路由设备发送携带所述路由设备的本地路由摘要信息的CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息;如果所述路由设备为非DIS,则所述路由获取单元接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带该PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,所述未同步路由信息为:在所述路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息;或 所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为P2P类型网络;所述路由获取单元在根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述CSNP报文中携带的摘要信息中未描述的路由信息;或所述路由协议为开放式最短路径优先协议;所述路由获取单元在根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元LSU报文;或 所述路由协议为标签分发协议;所述路由获取单元在根据存储单元中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送标签请求报文,所述标签请求报文中的FEC类型值为wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。
10.一种实现路由协议的不中断路由的装置,应用于配置有单个路由引擎的路由设备,其特征在于,该装置包括:路由引擎模块; 所述路由引擎模块包括:备份单元、路由获取单元、路由发布单元;其中, 所述备份单元,用于所述路由引擎正常时,存储邻居状态信息到非易使存储介质中;所述路由获取单元,用于在所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由,计算最优路由;所述路由发布单元,用于将路由获取单元计算得到的最优路由发布到所有邻居路由设备,并将计算得到的最优路由下发到本地硬件。
11.根据权利要求10所述的实现路由协议的不中断路由的装置,其特征在于, 所述路由获取单元在所述路由引擎故障重启后,根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息并重新生成本地路由之前,进一步用于:暂停向所有邻居路由设备发布最优路由,暂 停下发最优路由到本地硬件。
12.根据权利要求10或11所述的实现路由协议的不中断路由的装置,其特征在于, 所述路由协议为边界网关协议;所述路由获取单元在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送路由刷新报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新报文;或 所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为广播类型网络;所述路由获取单元在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:如果所述路由设备为DIS,则所述路由获取单元向所有邻居路由设备发送携带所述路由设备的本地路由摘要信息的完整序号协议数据单元CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文,其中,所述邻居路由信息为邻居路由设备中存在的且所述本地路由摘要信息中未描述的路由信息,如果所述路由设备为非DIS,则所述路由获取单元接收DIS发送的CSNP报文,确定未同步路由信息,向DIS发送携带未同步路由信息的摘要信息的部分序号协议数据单元PSNP报文,接收DIS返回的携带PSNP报文中携带的未同步路由信息的摘要信息中描述的路由信息的链路状态协议数据单元报文,所述未同步路由信息为:在所述路由设备中不存在的且接收到的CSNP报文中携带的本地路由的摘要信息中描述的路由信息;或 所述路由协议为中间系统到中间系统的路由选择协议;所述路由设备所在的网络为P2P类型网络;所述路由获取单元在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送CSNP报文,接收各邻居路由设备返回的携带邻居路由信息的链路状态协议数据单元报文并返回PSNP报文给邻居路由设备,其中,该链路状态协议数据单元报文中携带的邻居路由信息为该邻居路由设备中存在的且所述CSNP报文中携带的摘要信息中未描述的路由信息;或所述路由协议为开放式最短路径优先协议;所述路由获取单元在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送路由信息同步请求报文,接收各邻居路由设备返回的携带邻居路由信息的路由更新数据单元LSU报文;或 所述路由协议为标签分发协议;所述路由获取单元在根据非易失存储介质中存储的邻居状态信息获取所有邻居路由设备的路由信息时,用于:所述路由获取单元向所有邻居路由设备发送标签请求报文,所述标签请求报文中的FEC类型值为wildcard,接收各邻居路由设备返回的携带FEC和标签的映射关系的标签映射报文,根据接收的各邻居路由设备返回的标签映射报文中携带的FEC和标签的映射关系恢复本地的FEC和标签的映射关系。
【文档编号】H04L12/723GK103581013SQ201210259526
【公开日】2014年2月12日 申请日期:2012年7月25日 优先权日:2012年7月25日
【发明者】章海锋 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1