一种实现快速路径切换的方法和装置的制作方法

文档序号:7744340阅读:171来源:国知局
专利名称:一种实现快速路径切换的方法和装置的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种实现快速路径切换的方法和装置。
背景技术
为了满足极高的路由速度,目前的路由协议在快速收敛方面采用了很多新技术, 然而语音、视频等新网络业务的出现对流量中断时间提出了更高的要求。IP快速重路由 (FRR)的基本原理是提前计算备份路径,一旦探测到故障立即启用备份路径指导转发,使得流量中断时间缩短为探测邻接故障的时间和采用备份路径替换失效路由的时间之和,解决了路由计算、转发表项板间同步等时间,大大缩短了流量中断时间。图1为IP FRR的一个示意图,在路由设备B上,到达路由设备E的路由存在两条路径一条为路径B-D,下一跳为D ;另一条为路径B-C-D,下一跳为C。假设B-D对应的路径为主路径,B-C-D对应的路径为备份路径。假设B和D之间的路径出现故障,主路径不可用,路由设备B迅速启用备份路径,切换到路径B-C-D上。上述路由设备B中,目的地为路由设备E的路径包括指向的下一跳D的主路径,以及指向的下一跳C的备份路径,将路由表中的转发信息镜像到转发信息库(FIB)中后,FIB 和邻接关系表的组织关系如图加所示。其中,FIB是基于IP前缀的交换决策,是路由表中转发信息的镜像。当主路径可用时,FIB中对应的前缀信息包含的出接口索引(index)指向邻接关系表中的下一跳为D ;当主路径不可用时,对应的下一跳发生变化,需要将备份路径对应的前缀信息替换FIB中主路径对应的前缀信息,即更新出接口 index指向邻接关系表中的下一跳为C。可以看出,当路径切换是基于下一跳的主备切换时,需要对控制平面的 FIB进行刷新,响应较慢,切换耗时较长,特别在主路径存在多条等价路径的情况下,如图 2b所示,需要逐条更新FIB中多条等价路径对应的前缀信息,缺陷更加明显。

发明内容
有鉴于此,本发明提供了一种实现快速路径切换的方法和装置,以便于提高路径切换的速度,减少业务流量中断的时间。一种实现快速路径切换的方法,该方法包括A、根据路由协议针对目的地生成的转发表项,形成针对所述目的地的虚拟下一跳 VN表,并将转发信息库FIB中所述目的地对应的第一前缀信息指向所述VN表;其中,所述 VN表中包含互为主备路径的下一跳信息和下一跳状态;B、根据所述VN表确定所述目的地对应的处于有效状态的下一跳信息,并将确定的下一跳信息下发给驱动,以便驱动将获取的下一跳信息写入硬件;C、获取驱动返回的将下一跳信息写入硬件的上下文信息,将该上下文信息连同所述目的地的路由信息一起下发给驱动,以便驱动将该目的地的第二前缀信息写入硬件,并根据所述上下文信息将该第二前缀信息指向写入硬件的所述下一跳信息;D、当所述目的地对应的路径变化引起所述VN表中的下一跳状态发生更新时,将更新后的VN表中处于有效状态的下一跳信息和所述上下文信息下发给驱动,以便驱动利用接收到的下一跳信息,更新硬件中所述上下文信息对应的下一跳信息。一种实现快速路径切换的装置,该装置包括VN表维护单元、VN表关联单元、信息下发单元、路由下发单元和驱动处理单元;所述VN表维护单元,用于根据路由协议针对目的地生成的转发表项,形成针对所述目的地的VN表;根据所述目的地对应的路径变化更新所述VN表中的下一跳状态;其中, 所述VN表中包含互为主备路径的下一跳信息和下一跳状态;所述VN表关联单元,用于将FIB中所述目的地对应的第一前缀信息指向所述VN 表;获取所述驱动处理单元返回的上下文信息,将该上下文信息与VN表相关联;所述信息下发单元,用于根据所述VN表确定所述目的地对应的处于有效状态的下一跳信息,并将确定的下一跳信息下发给所述驱动处理单元;当所述VN表中的下一跳状态发生更新时,将更新后的VN表中处于有效状态的下一跳信息连同与所述VN表关联的上下文信息下发给所述驱动处理单元;所述路由下发单元,用于将所述上下文信息连同所述目的地的路由信息一起下发给所述驱动处理单元;所述驱动处理单元,用于将所述信息下发单元发送的下一跳信息写入硬件,并返回将下一跳信息写入硬件的上下文信息;获取所述上下文信息连同所述目的地的路由信息后,将目的地的第二前缀信息写入硬件,并根据所述上下文信息将所述第二前缀信息指向写入硬件的所述下一跳信息;利用所述更新后的VN表中处于有效状态的下一跳信息,更新硬件中所述上下文信息对应的下一跳信息。由以上描述可以看出,本发明通过形成针对目的地的VN表来维护互为主备路径的下一跳信息和下一跳的状态,并将FIB中目的地对应的前缀信息指向该VN表,使得在下一跳信息发生变化时,由于前缀信息的指向没有发生变化,无需对FIB中的前缀信息进行逐条修改,仅需要将更新后的VN表中的下一跳信息下发给驱动,供驱动对写入硬件的下一跳信息进行更新。即便对应多条等价路由的情况,也仅需要对VN表进行一次更新和信息下发即可实现多条路径的切换,无需逐条更新FIB中的前缀信息。显然大大缩短了路径切换的速度,减少了业务流量中断的时间。


图1为IP FRR的一个示意图;图加为现有技术中路由信息与下一跳信息的关系示意图;图2b为现有技术中存在等价路径情况下前缀信息与下一跳信息的关系示意图;图3为本发明提供的主要方法流程图;图4为本发明实施例提供的方法流程图;图5为本发明实施例一提供的主路径正常时的VN示意图;图6为本发明实施例一提供的主路径故障后的VN示意图;图7为本发明实施例二的组网架构图;图8为本发明实施例二提供的主路径正常时的VN示意图;图9为本发明实施例二提供的主路径正常时硬件中的转发表项示意图10为本发明实施例二提供的路径故障后的VN示意图;图11为本发明实施例二提供的路径切换后硬件中的转发表项示意图;图12为本发明提供的装置结构示意图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明提供的主要方法如图3所示,可以包括以下步骤步骤301 根据路由协议针对目的地生成的转发表项,形成针对该目的地的虚拟下一跳(VN)表,并将FIB中该目的地对应的第一前缀信息指向该VN表;其中,VN表中包含互为主备路径的下一跳信息和下一跳状态。步骤302 根据该VN表确定该目的地对应的处于有效状态的下一跳信息,并将确定的下一跳信息下发给驱动,以便驱动将获取的下一跳信息写入硬件。步骤303 获取驱动返回的将下一跳信息写入硬件的上下文信息,将该上下文信息连同目的地的路由信息一起下发给驱动,以便驱动将该目的地的第二前缀信息写入硬件,并根据该上下文信息将第二前缀信息指向写入硬件的下一跳信息。硬件便可以根据该目的地的第二前缀信息和对应的下一跳信息进行数据转发。其中,第二前缀信息中可以包含目的地的IP地址和指向下一跳的信息。步骤304 当上述目的地对应的路径故障引起该VN表的下一跳状态发生更新时, 将更新后的VN表中处于有效状态的下一跳信息和上下文信息下发给驱动,以便驱动利用接收到的下一跳信息,更新硬件中该上下文信息对应的下一跳信息。下面通过具体的实施例对本发明提供的上述方法进行详细描述。实施例一、仍以图1所示架构为例,图4为该架构下本发明提供的详细方法流程图,如图4所示,在路由设备B中实现的方法可以包括以下步骤步骤401 将针对目的地E计算出路由后,形成路由对应的转发表项。通常根据在路由设备上设置的路由策略,能够确定各接口上学习到的路由对应各路径之间的主备关系,也就是说,本发明中关于主备路径的计算和指定是预先进行的。在本步骤中,针对目的地为E计算出的路由可以包含主路径的路由信息和备份路径的路由信息,还可以进一步包含主路径的等价路径,关于等价路径的情况将在后续实施例二中描述。本步骤中形成的转发表项可以包含目的地为E的路由信息、下一跳信息和下一跳的状态,其中,路由信息中包含目的IP地址和出接口 index。在图1所示的架构中,形成的转发表项可以如表1所示。表 权利要求
1.一种实现快速路径切换的方法,其特征在于,该方法包括A、根据路由协议针对目的地生成的转发表项,形成针对所述目的地的虚拟下一跳VN 表,并将转发信息库FIB中所述目的地对应的第一前缀信息指向所述VN表;其中,所述VN 表中包含互为主备路径的下一跳信息和下一跳状态;B、根据所述VN表确定所述目的地对应的处于有效状态的下一跳信息,并将确定的下一跳信息下发给驱动,以便驱动将获取的下一跳信息写入硬件;C、获取驱动返回的将下一跳信息写入硬件的上下文信息,将该上下文信息连同所述目的地的路由信息一起下发给驱动,以便驱动将该目的地的第二前缀信息写入硬件,并根据所述上下文信息将该第二前缀信息指向写入硬件的所述下一跳信息;D、当所述目的地对应的路径变化引起所述VN表中的下一跳状态发生更新时,将更新后的VN表中处于有效状态的下一跳信息和所述上下文信息下发给驱动,以便驱动利用接收到的下一跳信息,更新硬件中所述上下文信息对应的下一跳信息。
2.根据权利要求1所述的方法,其特征在于,步骤A中,将转发信息库FIB中所述目的地对应的第一前缀信息指向所述VN表具体为利用所述VN表的索引替换FIB中所述目的地对应的第一前缀信息中的出接口索引。
3.根据权利要求1所述的方法,其特征在于,所述互为主备路径包括一条以上的等价路径以及各等价路径的备份路径;步骤B中确定的所述目的地对应的处于有效状态的下一跳信息为所述各等价路径对应的处于有效状态的下一跳信息;按照VN表中各等价路径对应的下一跳顺序,执行所述将确定的下一跳信息下发给驱动;步骤D中,按照VN表中各等价路径对应的下一跳顺序,执行所述将更新后的VN表中处于有效状态的下一跳信息和所述上下文信息下发给驱动。
4.根据权利要求1、2或3所述的方法,其特征在于,步骤B中,所述驱动将获取的下一跳信息写入硬件具体为驱动将接收到的下一跳信息写入硬件中的等值多路径路由ECMP 表项;所述上下文信息为所述ECMP表项的索引;步骤C中,根据所述上下文信息将该第二前缀信息指向写入硬件的所述下一跳信息具体为将所述ECMP表项的索引替换写入硬件的所述第二前缀信息中的出接口索引。
5.根据权利要求1、2或3所述的方法,其特征在于,在步骤B中,通过添加Add消息执行所述将确定的下一跳信息下发给驱动;在步骤D中,通过更新Update消息或修改Modify消息执行所述将更新后的VN表中处于有效状态的下一跳信息和所述上下文信息下发给驱动。
6.一种实现快速路径切换的装置,其特征在于,该装置包括VN表维护单元、VN表关联单元、信息下发单元、路由下发单元和驱动处理单元;所述VN表维护单元,用于根据路由协议针对目的地生成的转发表项,形成针对所述目的地的VN表;根据所述目的地对应的路径变化更新所述VN表中的下一跳状态;其中,所述 VN表中包含互为主备路径的下一跳信息和下一跳状态;所述VN表关联单元,用于将FIB中所述目的地对应的第一前缀信息指向所述VN表;获取所述驱动处理单元返回的上下文信息,将该上下文信息与VN表相关联;所述信息下发单元,用于根据所述VN表确定所述目的地对应的处于有效状态的下一跳信息,并将确定的下一跳信息下发给所述驱动处理单元;当所述VN表中的下一跳状态发生更新时,将更新后的VN表中处于有效状态的下一跳信息连同与所述VN表关联的上下文信息下发给所述驱动处理单元;所述路由下发单元,用于将所述目的地的路由信息连同所述上下文信息一起下发给所述驱动处理单元;所述驱动处理单元,用于将所述信息下发单元发送的下一跳信息写入硬件,并返回将下一跳信息写入硬件的上下文信息;获取所述目的地的路由信息连同所述上下文信息后, 将目的地的第二前缀信息写入硬件,并根据所述上下文信息将所述第二前缀信息指向写入硬件的所述下一跳信息;利用所述更新后的VN表中处于有效状态的下一跳信息,更新硬件中所述上下文信息对应的下一跳信息。
7.根据权利要求6所述的装置,其特征在于,所述VN表关联单元具体利用所述VN表的索引替换FIB中所述目的地对应的第一前缀信息中的出接口索引,以执行所述将FIB中所述目的地对应的第一前缀信息指向所述VN表的操作。
8.根据权利要求6所述的装置,其特征在于,所述互为主备路径包括一条以上的等价路径以及各等价路径的备份路径;所述信息下发单元根据所述VN表具体确定所述各等价路径对应的处于有效状态的下一跳信息,并按照VN表中各等价路径对应的下一跳顺序,执行所述将确定的下一跳信息下发给驱动的操作;当所述VN表中的下一跳状态发生更新时,按照VN表中各等价路径对应的下一跳顺序,执行所述将确定的下一跳信息连同所述上下文信息一起下发给所述驱动处理单元。
9.根据权利要求6、7或8所述的装置,其特征在于,所述驱动处理单元具体将接收到的下一跳信息写入硬件中的ECMP表项,并返回所述ECMP表项的索引;将所述ECMP表项的索引替换写入硬件的所述第二前缀信息中的出接口索引,以执行将所述第二前缀信息指向写入硬件的所述下一跳信息的操作。
10.根据权利要求6、7或8所述的装置,其特征在于,所述信息下发单元通过Add消息将确定的下一跳信息下发给所述驱动处理单元;通过Update消息或Modify消息将更新后的VN表中处于有效状态的下一跳信息和所述上下文信息下发给所述驱动处理单元。
全文摘要
本发明提供了一种实现快速路径切换的方法和装置,通过形成针对目的地的虚拟下一跳(VN)表来维护互为主备路径的下一跳信息和下一跳的状态,并将转发信息库(FIB)中目的地对应的前缀信息指向该VN表,使得在下一跳信息发生变化时,由于前缀信息的指向没有发生变化,无需对FIB中的前缀信息进行逐条修改,仅需要将更新后的VN表中的下一跳信息下发给驱动,供驱动对写入硬件的下一跳信息进行更新。即便对应多条等价路由的情况,也仅需要对VN表进行一次更新和信息下发即可实现多条路径的切换,无需逐条更新FIB中的前缀信息。显然大大提高了路径切换的速度,减少了业务流量中断的时间。
文档编号H04L29/06GK102201964SQ20101013123
公开日2011年9月28日 申请日期2010年3月22日 优先权日2010年3月22日
发明者韩立峰 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1