一种路由迭代方法及路由交换设备的制作方法

文档序号:7786968阅读:393来源:国知局
专利名称:一种路由迭代方法及路由交换设备的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种路由迭代方法及路由交换设备。
背景技术
BGP (Border Gateway Protocol,边界网关协议)是一种用于 AS (Autonomous System,自治系统)之间的动态路由协议。BGP-4作为事实上的Internet外部路由协议标准,被广泛应用于ISP(Internet Service Provider,因特网服务提供商)之间。每条路由均要有其对应的下一跳地址,对于普通的路由来说,其下一跳地址在路由器直连的网段内。在BGP中,由于协议本身的特殊性,它产生的路由的下一跳地址可能不是当前路由器直接相连的邻居。一种常见的原因包括IBGP(内部BGP协议)之间发布路由信息时不改变下一跳。另一种导致路由项的下一跳地址不是路由器某个接口的同网段地址的情况是静态配置路由。这种情况下,为了能够将报文正确转发出去,路由器必须先找到一个直接可达的地址(查找IGP建立的路由表项),通过这个地址到达路由表中指示的下一跳。在上述过程中,去往直接可达地址的路由被称为依赖路由,路由器依赖于这些路由指导报文转发。根据下一跳地址找到依赖路由的过程就是路由迭代(recursion)。使用迭代的路由可以是静态路由、BGP路由等。路由迭代功能可以使路由表项比较灵活,不依赖于特定的接口。在可靠性比较高的应用领域,网络设备通过配置主备路由引擎,配合GR(Graceful Restart)功能来保证主路由引擎异常时流量转发不中断。在多数情况下,BGP路由的下一跳不能直接可达,需要通过迭代到IGP路由获取转发信息。BGP要等待IGP路由收敛完成后才能开始路由迭代,迭代后触发路由优选、下发优选后的路由。在网络设备软、硬件故障,发生主备切换的情况,如果IGP收敛慢(如IGP路由量比较大的情况)、IGP在主备切换过程中异常等情况,会影响BGP路由的收敛速度,甚至导致 BGP GR功能失败(如BGP的转发保持超时等原因)。

发明内容
本发明提供一种路由迭代方法及路由交换设备,用于实现在路由器的主备用主控板切换时提高BGP路由的收敛速度。本发明提供的主备切换时的路由迭代方法,包括本发明提供的路由迭代方法,应用于包含有主用主控板和备用主控板的路由交换设备,该方法包括路由交换设备的主用主控板对迭代路由进行路由迭代成功后,将迭代结果向其它邻居路由交换设备扩散以及下发到本地路由表,提取迭代路由的下一跳信息与转发信息间的迭代依赖关系信息,并将其备份到备用主控板;当所述备用主控板切换为主用主控板后接收到其它路由交换设备发送来的边界网关协议BGP路由时,所述备用主控板根据主备用状态切换前从主用主控板备份的迭代依赖关系信息对该BGP路由进行路由迭代,并在迭代成功后下发到本地路由表。本发明提供的路由交换设备,包括线卡板以及主用状态和备用状态的主控板,所述主控板包括路由迭代模块,用于在主控板为主用状态时,对迭代路由进行路由迭代;其中,在备用状态的主控板切换为主用状态后接收到其它路由交换设备发送来的BGP路由时,根据主备用状态切换前从主用主控板备份得到的迭代依赖关系信息对该BGP路由进行路由迭代;路由发布模块,用于在所述路由迭代模块迭代成功后,将迭代结果向其它邻居路由交换设备扩散以及下发到本路由交换设备线卡板的路由表;依赖关系备份模块,用于在所述路由迭代模块迭代成功后,提取迭代路由的下一跳信息与转发信息间的迭代依赖关系信息,并将其备份到备用状态的主控板。与现有技术相比,本发明具有如下技术效果本发明在具有主备用主控板的路由器进行路由迭代时,在备用主控板上记录路由迭代过程中的依赖路由,当主备用主控板切换时,备用主控板可根据之前记录的依赖路由进行路由迭代,而不必等到IGP路由收敛后才开始路由迭代,从而提高了 BGP路由的收敛速度。


图I为本发明实施例中的网络设备的结构示意图;图2为本发明实施例提供的路由迭代流程示意图;图3为本发明实施例提供的路由器的结构示意图。
具体实施例方式本发明实施例应用于具有主控板和线卡板的路由器或三层交换机,其中,主控板上配置有RIB表,用于路由表项管理,线卡板上配置有FIB表,用于报文转发。主控板可包括主用主控板和备用主控板,备用主控板可以是一个或多个。在正常情况下,主用主控板处于工作状态(或称主用状态),备用主控板处于备用状态,路由器中的故障检测功能可实时检测主备用主控板,当检测到主用主控板故障时,将备用主控板切换为工作状态,以代替发生故障的主控板工作。图I示出了一种路由器的结构,其中包括主控板I、主控板2,线卡板I n,主控板I为主用状态,主控板2为备用状态。主控板I和2上配置有RIB表,线卡板I η上配置有FIB表。在主用主控板状态正常的情况下,当路由器接收到BGP路由后,由于BGP路由的下一跳地址不能直接可达,从而触发对该BGP路由的路由迭代过程。在现有技术中,路由迭代过程由当前主用状态的主控板根据其上配置的IGP路由进行,并在得到迭代结果后,将该 BGP路由和迭代结果配置到各线卡板的FIB路由表中,以便当线卡板接收到报文后,根据该 FIB表指导报文转发。当主用主控板故障时,备用主控板切换为主用状态,当切换为主用状态的主控板接收到其它路由器发送来的BGP路由后,需要等待IGP路由收敛后才能根据IGP路由进行对BGP路由进行迭代,导致BGP路由收敛速度较慢。针对该问题,本发明实施例在主用主控板进行路由迭代过程中,将迭代到的依赖路由备份到备用主控板上,这样,当备用主控板切换为主用状态时,可根据切换前所备份的依赖路由对接收到的BGP路由进行路由迭代,而无需等待IGP路由收敛。下面结合图I所示的路由器结构,对本发明实施例的实现过程进行详细描述。参见图2,为本发明实施例提供的路由迭代流程示意图,该流程可包括步骤201,路由器接收到其它路由器发送来的BGP路由后,主控板I启动路由迭代过程。根据BGP协议,BGP协议邻居建立后,会定期向邻居发送路由,以实现路由同步。当 BPG路由器收到从邻居发送过来的路由后,如其中包含有下一跳不能直接可达的BGP路由, 则会触发路由迭代。本流程中,触发路由迭代后,当前为主用状态的主控板I根据其上配置的RIB表中的IGP路由执行路由迭代过程,在该过程中,主控板I根据BGP路由的下一跳地址找到依赖路由,从而得到该路由直接可达的下一跳,该路由迭代过程可采用现有技术,在此不再赘述。步骤202,主控板I在迭代成功后,一方面,继续往邻居路由器扩散、下发本地转发表(如下发给线卡I η的FIB表中),以指导报文转发,另一方面,提取迭代依赖关系,并将提取到的迭代依赖关系保存到主控板2的RIB表项中。这里的迭代依赖关系是指路由的下一跳信息与它所对应的转发信息的对应关系。 其中,下一跳信息是指路由的下一跳、下一跳类型、下一跳策略等信息的集合,转发信息包括路由的出接口、隧道等信息。依赖关系中的转发信息一般来自于IGP路由或标签协议创建的标签转发路径。步骤203,当主控板I故障或因其它原因不再是主用状态时,主控板2切换为主用状态。根据BGP协议,当主控板进行主备用状态切换时,BGP协议从邻居重新学习路由。步骤204,当主控板2接收到对端路由器发送来的BGP路由后,根据其在备用状态时从主控板I备份得到的迭代依赖关系对BGP路由进行路由迭代,并在迭代完成后下发本地路由表(如下发给线卡I η的FIB表中),以及进一步向其它路由交换设备进行扩散。例如,以下路由RTl 是BGP路由,路由 RT2 是0SPF(0pen Shortest Path First,开放式最短路径优先)路由RTl (BGP) :1. 2. 3. 4/32 10. I. I. IRT2 (OSPF) :10. I. I. 0/24 ethO 20. I. I. I主控板I在对RTl进行迭代时,将RTl迭代到RT2,产生迭代依赖关系10. I. I. I— > 10. I. I. 0/24 ethO 20. I. I. I主控板I将该迭代依赖关系备份到主控板2的RIB表中。当主控板2切换为主用状态时,如果此时学习到BGP路由I. I. I. 1/3210. I. I. 1,则可以根据之前保存的迭代依赖关系,直接得到路由I. I. I. 1/32的出接口和下一跳,而不用再到RIB表中查询。本步骤中优选的,在根据迭代依赖关系进行路由迭代之后还需要进行优选,然后根据优选结果下发本地路由表。这里的优选操作可包括对于具有相同目的地址、掩码的多条路由,根据路由属性,如weight、local_preference等,进行路由优选。如后续BGP路由的迭代依赖关系发生了变化(如BGP路由所依赖的路由前缀发生了变化,如路由前缀等价路由数目变化、出接口变化等),则主控板I还可以实时将变化后的迭代依赖关系同步给主控板2。通过以上流程可以看出,主控板2在切换为主用状态后所进行的路由迭代过程中依据的是在切换前从主控板I备份来的迭代依赖关系,而与IGP协议、标签协议等都没有关联,从而加快了 BGP路由的收敛。一般情况下,路由器故障及恢复的过程中,网络的拓扑信息不会变化,即迭代依赖关系不会变化,因此完成上述处理后,BGP路由收敛就已经完成。特殊情况下,如果故障前后迭代依赖关系发生了变化,则主控板2在感知到该变化后,可及时删除迭代依赖关系,等IGP路由稳定后,重新进行路由迭代以及优选过程,完成BGP路由收敛,以保证最终结果不会出错。具体的,依赖的IGP路由重新下到主控板I的 RIB后,主控板I将变化的IGP路由前缀告知主控板2,以触发主控板2的BGP路由重新迭代。例如故障前RIB中存在路由RTl (BGP) 1. 2. 3. 4/32 10. I. I. IRT2 (OSPF) 10. I. I. 0/24 ethO 20. I. I. IRTl 迭代到 RT2。故障后,RT2的出接口、下一跳发生了变化,变成RT2 (OSPF) 10. I. I. 0/24 ethl 30. I. I. I故障倒换后,等RT2重新下到RIB后,RIB会重新上报给BGP,BGP重新进行迭代和优选,完成路由收敛。基于相同的技术构思,本发明实施例还提供了一种路由交换设备,可应用于上述流程。如图3所示,该路由器可包括线卡板以及主用状态和备用状态的主控板,线卡板上配置有FIB表,主控板上配置了 RIB表。其中,主控板可包括路由迭代模块301,用于在主控板为主用状态时,对迭代路由进行路由迭代,具体可依据该主控板上的RIB表中的路由进行迭代;其中,在备用状态的主控板切换为主用状态后接收到其它路由交换设备发送来的BGP路由时,根据主备用状态切换前从主用主控板备份得到的迭代依赖关系信息对该BGP路由进行路由迭代;路由发布模块302,用于在路由迭代模块301迭代成功后,将迭代结果向其它邻居路由交换设备扩散以及下发到本路由交换设备线卡板的路由表(如FIB);依赖关系备份模块303,用于在路由迭代模块301迭代成功后,提取迭代路由的下一跳信息与转发信息间的迭代依赖关系信息,并将其备份到备用状态的主控板,具体可备份到备用状态主控板的RIB中。其中,所述下一跳信息可包括路由的下一跳、下一跳类型、 下一跳策略之一或任意组合;所述转发信息可包括路由的出接口标识或隧道标识。进一步的,依赖关系备份模块303还用于在主控板为主用状态时,在迭代依赖关系信息变化后,将变化后的迭代依赖关系信息发送给备用主控板进行更新。进一步的,路由迭代模块301还用于在主控板切换为主用状态后,接收到前缀发生变化的IGP路由时,删除相应迭代依赖关系,并在IGP路由收敛后根据IGP路由进行路由迭代;所述前缀发生变化的路由为迭代路由的依赖路由。综上所述,本发明实施例通过提取路由下一跳信息与转发信息间的依赖关系,并提供备份功能,在网络设备故障时加快BGP路由的收敛速度、加速网络稳定。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1.一种路由迭代方法,应用于包含有主用主控板和备用主控板的路由交换设备,其特征在于,该方法包括路由交换设备的主用主控板对迭代路由进行路由迭代成功后,将迭代结果向其它邻居路由交换设备扩散以及下发到本地路由表,提取迭代路由的下一跳信息与转发信息间的迭代依赖关系信息,并将其备份到备用主控板;当所述备用主控板切换为主用主控板后接收到其它路由交换设备发送来的边界网关协议BGP路由时,所述备用主控板根据主备用状态切换前从主用主控板备份的迭代依赖关系信息对该BGP路由进行路由迭代,并在迭代成功后下发到本地路由表。
2.如权利要求I所述的方法,其特征在于,该方法还包括当迭代依赖关系信息变化时,主用主控板将变化后的迭代依赖关系信息发送给备用主控板进行更新。
3.如权利要求I所述的方法,其特征在于,该方法还包括切换为主用状态的主控板在接收到前缀发生变化的IGP路由后,删除相应迭代依赖关系,并在IGP路由收敛后根据IGP路由进行路由迭代;所述前缀发生变化的路由为迭代路由的依赖路由。
4.如权利要求1-3之一所述的方法,其特征在于,所述下一跳信息包括路由的下一跳、 下一跳类型、下一跳策略之一或任意组合;所述转发信息包括路由的出接口标识或隧道标识。
5.一种路由交换设备,包括线卡板以及主用状态和备用状态的主控板,其特征在于,所述主控板包括路由迭代模块,用于在主控板为主用状态时,对迭代路由进行路由迭代;其中,在备用状态的主控板切换为主用状态后接收到其它路由交换设备发送来的BGP路由时,根据主备用状态切换前从主用主控板备份得到的迭代依赖关系信息对该BGP路由进行路由迭代;路由发布模块,用于在所述路由迭代模块迭代成功后,将迭代结果向其它邻居路由交换设备扩散以及下发到本路由交换设备线卡板的路由表;依赖关系备份模块,用于在所述路由迭代模块迭代成功后,提取迭代路由的下一跳信息与转发信息间的迭代依赖关系信息,并将其备份到备用状态的主控板。
6.如权利要求5所述的路由交换设备,其特征在于,所述依赖关系备份模块还用于,在主控板为主用状态时,在迭代依赖关系信息变化后,将变化后的迭代依赖关系信息发送给备用主控板进行更新。
7.如权利要求5所述的路由交换设备,其特征在于,所述路由迭代模块还用于,在主控板切换为主用状态后,接收到前缀发生变化的IGP路由时,删除相应迭代依赖关系,并在 IGP路由收敛后根据IGP路由进行路由迭代;所述前缀发生变化的路由为迭代路由的依赖路由。
8.如权利要求5-7之一所述的路由交换设备,其特征在于,所述下一跳信息包括路由的下一跳、下一跳类型、下一跳策略之一或任意组合;所述转发信息包括路由的出接口标识或隧道标识。
全文摘要
本发明公开了一种路由迭代方法及路由交换设备,应用于包含有主用主控板和备用主控板的路由交换设备,该方法包括路由交换设备的主用主控板对迭代路由进行路由迭代成功后,将迭代结果向其它邻居路由交换设备扩散以及下发到本地路由表,提取迭代路由的下一跳信息与转发信息间的迭代依赖关系信息,并将其备份到备用主控板;当所述备用主控板切换为主用主控板后接收到其它路由交换设备发送来的边界网关协议BGP路由时,所述备用主控板根据主备用状态切换前从主用主控板备份的迭代依赖关系信息对该BGP路由进行路由迭代,并在迭代成功后下发到本地路由表。本发明可实现在路由器的主备用主控板切换时提高BGP路由的收敛速度。
文档编号H04L12/56GK102594656SQ20111042936
公开日2012年7月18日 申请日期2011年12月20日 优先权日2011年12月20日
发明者章海锋 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1