CN102201964B - 一种实现快速路径切换的方法和装置 - Google Patents

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

Info

Publication number
CN102201964B
CN102201964B CN201010131233.7A CN201010131233A CN102201964B CN 102201964 B CN102201964 B CN 102201964B CN 201010131233 A CN201010131233 A CN 201010131233A CN 102201964 B CN102201964 B CN 102201964B
Authority
CN
China
Prior art keywords
information
next hop
destination
hardware
prefix
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.)
Active
Application number
CN201010131233.7A
Other languages
English (en)
Other versions
CN102201964A (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201010131233.7A priority Critical patent/CN102201964B/zh
Publication of CN102201964A publication Critical patent/CN102201964A/zh
Application granted granted Critical
Publication of CN102201964B publication Critical patent/CN102201964B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种实现快速路径切换的方法和装置,通过形成针对目的地的虚拟下一跳(VN)表来维护互为主备路径的下一跳信息和下一跳的状态,并将转发信息库(FIB)中目的地对应的前缀信息指向该VN表,使得在下一跳信息发生变化时,由于前缀信息的指向没有发生变化,无需对FIB中的前缀信息进行逐条修改,仅需要将更新后的VN表中的下一跳信息下发给驱动,供驱动对写入硬件的下一跳信息进行更新。即便对应多条等价路由的情况,也仅需要对VN表进行一次更新和信息下发即可实现多条路径的切换,无需逐条更新FIB中的前缀信息。显然大大提高了路径切换的速度,减少了业务流量中断的时间。

Description

一种实现快速路径切换的方法和装置
技术领域
本发明涉及网络通信技术领域,特别涉及一种实现快速路径切换的方法和装置。
背景技术
为了满足极高的路由速度,目前的路由协议在快速收敛方面采用了很多新技术,然而语音、视频等新网络业务的出现对流量中断时间提出了更高的要求。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和邻接关系表的组织关系如图2a所示。其中,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的一个示意图;
图2a为现有技术中路由信息与下一跳信息的关系示意图;
图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
  路由信息   下一跳信息   下一跳的状态
  主路径对应的路由信息(目的地为E,出接口为B-D)   D   有效(Active)
  备份路径对应的路由信息(目   C   无效(Inactive)
  的地为E,出接口为B-C)
步骤402:根据上述转发表项,形成包含互为主备路径的下一跳信息以及各下一跳状态的VN表,并将该VN表的索引加入FIB中对应路由的第一前缀信息中。
本发明对FIB中的前缀信息进行了改进,在此,将改进后的前缀信息称为第一前缀信息以与后续硬件中的前缀信息相区别。对FIB中前缀信息的改进具体为:将原有的目的IP地址和出接口索引构成的前缀信息修改为目的IP地址和VN表的索引,也就是说,采用VN表的索引替代了出接口索引。
形成的VN中包含了目的IP对应的主路径和备份路径的下一跳信息以及下一跳状态,图1所示架构中,主路径对应下一跳为D,标识状态为有效(Active);备份路径对应的下一跳为C,标识状态无效(Inactive)。
步骤403:向驱动下发目的地为E的路由信息之前,根据形成的VN表确定该路由信息对应的处于有效状态的下一跳信息,将该下一跳信息下发给驱动。
需要说明的是,各路径对应的下一跳具体处于什么状态是由上层路由协议确定的,上层路由协议计算出各路径的路由后,按照各路径的优先级确定最高优先级的路径,将最高优先级路径的下一跳设置为Active状态,其它下一跳设置为Inactive状态,通常主路径的优先级比备用路径的优先级高,因此,当主路径正常时,VN表中主路径对应的下一跳的状态会处于Active状态。当主路径存在等价路径时,如果主路径与其等价路径都正常时,VN表中主路径与其等价路径对应的下一跳的状态都会处于Active状态。如果主路径发生故障,则其备份路径对应的下一跳的状态处于Active状态;如果主路径的等价路径发生故障,则该等价路径的备份路径对应的下一跳的状态处于Active状态。这部分内容为现有技术,在此不再具体赘述。
在向驱动下发目的地为E的路由信息时,在图5所示的VN中,只有下一跳D处于有效状态,即能够转发数据,则将下一跳D的信息下发给驱动。其中,下发给驱动的下一跳信息可以为下一跳的硬件index或IP地址。
控制平面可以通过填加(add)消息将下一跳信息下发给驱动
步骤404:驱动将获取的下一跳信息写入硬件,并返回将下一跳信息写入硬件的上下文信息。
本实施例中,驱动可以将下一跳信息写入硬件的等值多路径路由(ECMP)表项,此时ECMP表项的计数(Count)值为1。硬件返回的上下文信息可以是ECMP表项的索引,控制平面将该ECMP表项的索引与VN表相关联,以便后续下发更新后的下一跳信息时使用。
步骤405:将驱动返回的上下文信息与VN表相关联,将该上下文信息连同目的地E的路由信息一起下发给驱动。
从步骤403至步骤405可以看出,在本发明中,VN资源(即VN中处于Active状态的下一跳信息)是独立下发的,也就是说,在下发路由信息之前单独对VN资源进行下发的。
步骤406:驱动将目的地E的第二前缀信息写入硬件,并根据接收到的上下文信息将第二前缀信息指向写入硬件的下一跳信息。
在此,写入硬件的第二前缀信息可以包含目的IP地址和ECMP表项的index。也就是说,将ECMP表项的index替换前缀信息中的出接口index,这样,硬件中的前缀信息指向对应的ECMP表项,ECMP表项中包含对应的下一跳信息,从而实现了硬件中的前缀信息指向对应路径的下一跳信息。
通过上述过程,实际上利用ECMP表项模拟了软件的VN表,当然,本发明并不限于采用ECMP表项的方式,还可以采用诸如保护逻辑等其它方式来在硬件上模拟控制平面的VN表。
本步骤之后,就完成了硬件转发平面的转发表项建立,就可以利用硬件中的第二前缀信息以及其指向的下一跳信息进行数据转发。此时目的地为E的第二前缀信息指向的下一跳就为D,对应主路径B-D-E。
步骤407:当主路径B-D故障时,上层的路由协议确定备份路径成为当前可用路径,将VN表中备份路径对应的下一跳状态更新为Active,原主路径对应的下一跳状态更新为Inactive。
由于本发明中,FIB中的前缀信息包含的是对应VN的index,由于目的地E指向的VN没有发生变化,因此,无需对FIB中的前缀信息进行刷新,仅需要根据上层路由协议进行的主备路径切换,更新VN表中下一跳的状态,此时的VN表如图6所示。
步骤408:根据VN表确定故障路径的路由信息对应的处于有效状态的下一跳信息,将该下一跳信息连同与VN表关联的上下文信息一起下发给驱动。
此时,查找VN表后确定处于有效状态的下一跳为C,说明当前C能够完成目的地为E的报文转发。
对于路由器来说,可能存在对应不同目的地的路由,也就可能存在多个VN表,在这种情况下,为了使驱动能够获知需要更新哪一条第二前缀信息对应的下一跳,可以将与更新后的VN表相关联的硬件上下文,例如ECMP表项的索引,连同下一跳信息下发给驱动,以便驱动能够利用接收到的硬件上下文更新硬件中的下一跳信息。例如,利用ECMP表项的索引,更新相应ECMP表项中的下一跳信息。
本步骤中,控制平面可以通过修改(modify)消息或更新(Update)消息将该下一跳信息下发给驱动。
步骤409:驱动利用接收到的下一跳信息写入硬件,更新上述上下文信息对应的下一跳信息,即第二前缀信息所指向的下一跳信息。
当采用ECMP表项时,驱动可以利用该下一跳信息更新目的地为E的路由信息所指向的ECMP表项。由于实际写入硬件的第二前缀信息中,包含的不再是出接口index,而是ECMP表项的index,通过修改ECMP表项中的下一跳信息不会引起ECMP表项的index发生变化,因此,无需重复对硬件下发路由信息。
至此,完成了主备路径的切换,此时写入硬件的第二前缀信息对应备份路径B-C-D-E,即目的IP为E的IP地址时,对应的出接口为接口B-C,下一跳为C。硬件便能够将目的地为E的报文通过备份路径B-C-D-E进行转发。
实施例二、
以图7所示架构为例,在该架构中,路由设备B学习到的路由中,存在路径B-D的另外两条等价路径,即路径B-F-D和路径B-G-D,且路径B-C-D可以为上述三条等价路径的备份路径。
对于图7所示架构,在步骤401中针对目的地E计算出路由后,由于此时的路由包含各等价路径以及与各等价路径的备份路径,因此,形成的转发表项中包含各等价路径的路由信息、下一跳信息和下一跳的状态。其中,路由信息中包含目的IP地址和出接口index。在图7所示的架构中,形成的转发表项可以如表2所示。
表2
  路由信息   下一跳信息   下一跳的状态
  主路径对应的路由信息(目的地为E,出接口为B-D)   D   有效(Active)
  备份路径对应的路由信息(目的地为E,出接口为B-C)   C   无效(Inactive)
  等价路径1对应的路由信息(目的地为E,出接口为B-F)   F   有效(Active)
  等价路径2对应的路由信息(目的地为E,出接口为B-G)   G   有效(Active)
在步骤402形成的VN表中,包含了目的地为E的路由中所有互为主备路径的下一跳信息和下一跳的状态。图7所示的架构中,路径B-D对应的下一跳为D,标识为Active,其备份路径B-C-D对应的下一跳为C,标识为Inactive。等价路径B-F-D对应的下一跳为F,标识为Active,其备份路径B-C-D对应的下一跳为C,标识为Inactive。等价路径B-G-D对应的下一跳为G,标识为Active,其备份路径B-C-D对应的下一跳为C,标识为Inactive。如图8所示。
在步骤403中,针对图7的架构下发路由信息之前,如果各路径正常,则下发的是各等价路径对应的路由信息,根据形成的VN表确定处于有效状态的下一跳为D、F、G,将这些下一跳信息和下一跳的状态下发给驱动。
在步骤404中,驱动将接收到的下一跳D、F、G的信息写入硬件。ECMP表项中包含下一跳D的信息、下一跳F的信息和下一跳G的信息,此时ECMP表项的计数值为3。驱动将ECMP表项的索引返回给控制平面。
在步骤405中,控制平面将ECMP表项的索引与VN表项相关联,在路由信息下发时,将该ECMP表项的索引信息连同路由信息一起下发。
在步骤406中,驱动根据路由信息将目的地E的第二前缀信息写入硬件如果采用ECMP表项,则此时目的地为E的第二前缀信息中包含ECMP表项的index,该第二前缀信息所指向的下一跳信息为ECMP表项中包含的下一跳信息。硬件中第二前缀信息和ECMP表项的组织关系如图9所示。
假设路径B-D和路径B-F-D都故障,上层的路由协议确定故障路径对应的备份路径,将VN表中故障路径对应的备份路径的下一跳状态更新为Active,故障路径对应的下一跳状态更新为Inactive。
同样由于FIB中VN表的index并没有发生变化,无需对FIB中的第一前缀信息进行刷新,在上层路由协议进行主备路径切换时,更新VN表中对应路径的下一跳状态信息,此时VN表如图10所示。
在步骤408中,在VN表更新下一跳状态信息后,将VN表中所有处于Active中的下一跳信息按顺序下发给驱动,下发更新后的下一跳信息的同时将与该VN表相关联的ECMP表项的index也下发给驱动,驱动将接收到的下一跳信息按顺序更新硬件中对应的ECMP表项。这样,目的地为E的第一前缀信息指向的ECMP表项中包含的下一跳信息即分别为:下一跳C、下一跳C和下一跳G,如图11所示。
至此,完成了主备路径的切换,此时写入硬件的第二前缀信息对应的路径分别为:B-C-D-E、B-C-D-E和B-G-D-E。
该实施例二中以其中两条等价路径发生故障为例,当其中一条等价路径发生故障或者三条等价路径都发生故障时,方法相同,根据VN表确定上层路由协议更新VN表中下一跳的状态后,将更新后处于Active状态的下一跳按顺序下发给驱动,由驱动更新硬件中的ECMP表项即可。
通过该实施例二中的方法,在存在一条或多条等价路径发生故障时,无需对FIB中各等价路径对应的第一前缀信息进行逐条修改,也无需对硬件中的第二前缀信息进行修改,仅需要对VN进行统一修改后,通过一次信息下发完成所有路径的主备切换。
以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的装置进行详细描述,如图12所示,该装置可以包括:VN表维护单元120、VN表关联单元121、信息下发单元122、路由下发单元123和驱动处理单元124。
VN表维护单元120,用于根据路由协议针对目的地生成的转发表项,形成针对目的地的VN表;根据目的地对应的路径变化更新VN表中的下一跳状态;其中,VN表中包含互为主备路径的下一跳信息和下一跳状态。
VN表关联单元121,用于将FIB中目的地对应的第一前缀信息指向VN表;获取驱动处理单元124返回的上下文信息,将该上下文信息与VN表相关联。
信息下发单元122,用于根据VN表确定目的地对应的处于有效状态的下一跳信息,并将确定的下一跳信息下发给驱动处理单元124;当VN表中的下一跳状态发生更新时,将更新后的VN表中处于有效状态的下一跳信息连同与VN表关联的上下文信息下发给驱动处理单元124。
路由下发单元123,用于将上述上下文信息连同目的地的路由信息一起下发给驱动处理单元124。
驱动处理单元124,用于将信息下发单元122发送的下一跳信息写入硬件,并返回将下一跳信息写入硬件的上下文信息;获取到上述上下文信息连同目的地的路由信息后,将目的地的第二前缀信息写入硬件,并根据上下文信息将第二前缀信息指向写入硬件的下一跳信息;利用更新后的VN表中处于有效状态的下一跳信息,更新硬件中该上下文信息对应的下一跳信息。
其中,VN表关联单元121可以具体利用VN表的索引替换FIB中目的地对应的第一前缀信息中的出接口索引,以执行将FIB中目的地对应的第一前缀信息指向VN表的操作。
更优地,在VN表中涉及的互为主备路径可以包括:一条以上的等价路径以及各等价路径的备份路径。也就是说,VN表中的下一跳信息可以是一条以上的登记路径以及各等价路径的备份路径的下一跳信息。
相应地,信息下发单元122在向驱动处理单元124下发路由信息之前,根据VN表具体确定各等价路径对应的处于有效状态的下一跳信息,并按照VN表中各等价路径对应的下一跳顺序,执行将确定的下一跳信息下发给驱动的操作;当VN表中的下一跳状态发生更新时,按照VN表中各等价路径对应的下一跳顺序,执行将确定的下一跳信息连同上下文信息一起下发给所述驱动处理单元124。
具体地,驱动处理单元124可以将接收到的下一跳信息写入硬件中的ECMP表项,并返回ECMP表项的索引。将ECMP表项的索引替换写入硬件的第二前缀信息中的出接口索引,以执行将第二前缀信息指向写入硬件的下一跳信息的操作。
上述信息下发单元122可以通过Add消息将确定的下一跳信息下发给驱动处理单元124;通过Update消息或Modify消息将更新后的VN表中处于有效状态的下一跳信息和上下文信息下发给驱动处理单元124。
由以上描述可以看出,本发明提供的方法和装置具备以下有点:
1)本发明中,通过形成针对目的地的VN表来维护互为主备路径的下一跳信息和下一跳的状态,并将FIB中目的地对应的前缀信息指向该VN表,使得在下一跳信息发生变化时,由于前缀信息的指向没有发生变化,无需对FIB中的前缀信息进行逐条修改,仅需要将更新后的VN表中的下一跳信息下发给驱动,供驱动对写入硬件的下一跳信息进行更新。即便对应多条等价路由的情况,也仅需要对VN表进行一次更新和信息下发即可实现多条路径的切换,无需逐条更新FIB中的前缀信息。显然大大缩短了路径切换的速度,减少了业务流量中断的时间。
2)本发明采用ECMP表项对控制平面的VN表进行模拟,同时将ECMP表项的索引替代写入硬件的前缀信息中的出接口索引,使得硬件中的该前缀信息指向ECMP表项。这样,在VN表发生更新后,更新后的下一跳信息下发后,由于硬件中前缀信息的指向没有发生变化,无需逐条更新硬件中的前缀信息,仅需要对ECMP表项中的内容进行更新。更进一步提高了路径切换的速度,缩短了业务流量中断的时间,在存在多条等价路径的情况下,优点更加明显。
3)本发明不仅可以应用于存在一条主备路径的情况,对存在多条等价路径和其备份路径的情况下同样使用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (6)

1.一种实现快速路径切换的方法,其特征在于,该方法包括:
A、根据路由协议针对目的地生成的转发表项,形成针对所述目的地的虚拟下一跳VN表,并将转发信息库FIB中所述目的地对应的第一前缀信息指向所述VN表;其中,所述VN表中包含互为主备路径的下一跳信息和下一跳状态;
B、根据所述VN表确定所述目的地对应的处于有效状态的下一跳信息,并将确定的下一跳信息下发给驱动,以便驱动将获取的下一跳信息写入硬件;
C、获取驱动返回的将下一跳信息写入硬件的上下文信息,将该上下文信息连同所述目的地的路由信息一起下发给驱动,以便驱动将该目的地的第二前缀信息写入硬件,并根据所述上下文信息将该第二前缀信息指向写入硬件的所述下一跳信息;
D、当所述目的地对应的路径变化引起所述VN表中的下一跳状态发生更新时,将更新后的VN表中处于有效状态的下一跳信息和所述上下文信息下发给驱动,以便驱动利用接收到的下一跳信息,更新硬件中所述上下文信息对应的下一跳信息;
其中,步骤B中,所述驱动将获取的下一跳信息写入硬件具体为:驱动将接收到的下一跳信息写入硬件中的等值多路径路由ECMP表项;所述上下文信息为所述ECMP表项的索引;步骤C中,根据所述上下文信息将该第二前缀信息指向写入硬件的所述下一跳信息具体为:将所述ECMP表项的索引替换写入硬件的所述第二前缀信息中的出接口索引;
步骤A中,将转发信息库FIB中所述目的地对应的第一前缀信息指向所述VN表具体为:利用所述VN表的索引替换FIB中所述目的地对应的第一前缀信息中的出接口索引。
2.根据权利要求1所述的方法,其特征在于,所述互为主备路径包括:一条以上的等价路径以及各等价路径的备份路径;
步骤B中确定的所述目的地对应的处于有效状态的下一跳信息为所述各等价路径对应的处于有效状态的下一跳信息;
按照VN表中各等价路径对应的下一跳顺序,执行所述将确定的下一跳信息下发给驱动;
步骤D中,按照VN表中各等价路径对应的下一跳顺序,执行所述将更新后的VN表中处于有效状态的下一跳信息和所述上下文信息下发给驱动。
3.根据权利要求1或2所述的方法,其特征在于,在步骤B中,通过添加Add消息执行所述将确定的下一跳信息下发给驱动;
在步骤D中,通过更新Update消息或修改Modify消息执行所述将更新后的VN表中处于有效状态的下一跳信息和所述上下文信息下发给驱动。
4.一种实现快速路径切换的装置,其特征在于,该装置包括:虚拟下一跳VN表维护单元、VN表关联单元、信息下发单元、路由下发单元和驱动处理单元;
所述VN表维护单元,用于根据路由协议针对目的地生成的转发表项,形成针对所述目的地的VN表;根据所述目的地对应的路径变化更新所述VN表中的下一跳状态;其中,所述VN表中包含互为主备路径的下一跳信息和下一跳状态;
所述VN表关联单元,用于将FIB中所述目的地对应的第一前缀信息指向所述VN表;获取所述驱动处理单元返回的上下文信息,将该上下文信息与VN表相关联;
所述信息下发单元,用于根据所述VN表确定所述目的地对应的处于有效状态的下一跳信息,并将确定的下一跳信息下发给所述驱动处理单元;当所述VN表中的下一跳状态发生更新时,将更新后的VN表中处于有效状态的下一跳信息连同与所述VN表关联的上下文信息下发给所述驱动处理单元;
所述路由下发单元,用于将所述目的地的路由信息连同所述上下文信息一起下发给所述驱动处理单元;
所述驱动处理单元,用于将所述信息下发单元发送的下一跳信息写入硬件,并返回将下一跳信息写入硬件的上下文信息;获取所述目的地的路由信息连同所述上下文信息后,将目的地的第二前缀信息写入硬件,并根据所述上下文信息将所述第二前缀信息指向写入硬件的所述下一跳信息;利用所述更新后的VN表中处于有效状态的下一跳信息,更新硬件中所述上下文信息对应的下一跳信息;
其中,所述驱动处理单元具体将接收到的下一跳信息写入硬件中的ECMP表项,并返回所述ECMP表项的索引;将所述ECMP表项的索引替换写入硬件的所述第二前缀信息中的出接口索引,以执行将所述第二前缀信息指向写入硬件的所述下一跳信息的操作;
所述VN表关联单元具体利用所述VN表的索引替换FIB中所述目的地对应的第一前缀信息中的出接口索引,以执行所述将FIB中所述目的地对应的第一前缀信息指向所述VN表的操作。
5.根据权利要求4所述的装置,其特征在于,所述互为主备路径包括:一条以上的等价路径以及各等价路径的备份路径;
所述信息下发单元根据所述VN表具体确定所述各等价路径对应的处于有效状态的下一跳信息,并按照VN表中各等价路径对应的下一跳顺序,执行所述将确定的下一跳信息下发给驱动的操作;当所述VN表中的下一跳状态发生更新时,按照VN表中各等价路径对应的下一跳顺序,执行所述将确定的下一跳信息连同所述上下文信息一起下发给所述驱动处理单元。
6.根据权利要求4或5所述的装置,其特征在于,所述信息下发单元通过Add消息将确定的下一跳信息下发给所述驱动处理单元;通过Update消息或Modify消息将更新后的VN表中处于有效状态的下一跳信息和所述上下文信息下发给所述驱动处理单元。
CN201010131233.7A 2010-03-22 2010-03-22 一种实现快速路径切换的方法和装置 Active CN102201964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010131233.7A CN102201964B (zh) 2010-03-22 2010-03-22 一种实现快速路径切换的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010131233.7A CN102201964B (zh) 2010-03-22 2010-03-22 一种实现快速路径切换的方法和装置

Publications (2)

Publication Number Publication Date
CN102201964A CN102201964A (zh) 2011-09-28
CN102201964B true CN102201964B (zh) 2014-02-05

Family

ID=44662369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010131233.7A Active CN102201964B (zh) 2010-03-22 2010-03-22 一种实现快速路径切换的方法和装置

Country Status (1)

Country Link
CN (1) CN102201964B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801614B (zh) * 2012-07-17 2016-04-27 杭州华三通信技术有限公司 一种等价路由的收敛方法和网络设备
CN106161247B (zh) * 2015-04-01 2019-08-20 华为技术有限公司 一种路由收敛方法、控制装置、转发装置以及系统
CN106302181B (zh) * 2015-05-19 2020-06-26 中兴通讯股份有限公司 通信设备的报文转发配置方法、装置及报文转发方法
CN106470157B (zh) * 2015-08-21 2020-06-30 中兴通讯股份有限公司 隧道的优先级设置方法及装置
CN105939277B (zh) * 2015-08-25 2019-05-07 杭州迪普科技股份有限公司 一种等价路由资源备份方法及装置
CN106059924B (zh) 2016-08-19 2020-04-03 华为技术有限公司 一种管理信息的方法,装置及系统
CN106603401B (zh) * 2017-02-16 2019-09-13 迈普通信技术股份有限公司 快速重路由方法和装置
TWI676378B (zh) * 2018-08-03 2019-11-01 思銳科技股份有限公司 網路自動鏈結備援方法與網路系統
TWI813743B (zh) * 2018-08-23 2023-09-01 美商阿爾克斯股份有限公司 在網路路由環境中的獨立資料儲存空間
CN110430131B (zh) * 2019-07-25 2021-12-24 新华三技术有限公司合肥分公司 一种报文转发方法及装置
CN110535761A (zh) * 2019-09-30 2019-12-03 北京华三通信技术有限公司 报文转发方法及装置
CN111130871B (zh) * 2019-12-18 2022-06-10 新华三半导体技术有限公司 保护切换方法、装置和网络设备
CN111698142B (zh) * 2020-05-26 2023-03-31 新华三信息安全技术有限公司 一种报文转发方法、装置、电子设备及存储介质
CN113315699B (zh) * 2021-05-17 2022-05-17 Ut斯达康通讯有限公司 一种区分优先级的多主多备快速重路由系统及方法
CN115550247A (zh) * 2021-06-29 2022-12-30 中兴通讯股份有限公司 等价路由管理方法、交换机、交换机系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658569A (zh) * 2004-02-21 2005-08-24 华为技术有限公司 抑制虚拟私有网络中多协议标签交换隧道振荡的方法
CN101043428A (zh) * 2006-05-30 2007-09-26 华为技术有限公司 一种路由转发的方法和系统
CN101075937A (zh) * 2007-07-20 2007-11-21 华为技术有限公司 三层虚拟专用网转发报文的方法、系统和设备
CN101442494A (zh) * 2008-12-16 2009-05-27 中兴通讯股份有限公司 一种实现快速重路由的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100765320B1 (ko) * 2005-09-14 2007-10-09 삼성전자주식회사 Mpls 네트워크 및 mpls 네트워크에서의 모바일ip 적용 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658569A (zh) * 2004-02-21 2005-08-24 华为技术有限公司 抑制虚拟私有网络中多协议标签交换隧道振荡的方法
CN101043428A (zh) * 2006-05-30 2007-09-26 华为技术有限公司 一种路由转发的方法和系统
CN101075937A (zh) * 2007-07-20 2007-11-21 华为技术有限公司 三层虚拟专用网转发报文的方法、系统和设备
CN101442494A (zh) * 2008-12-16 2009-05-27 中兴通讯股份有限公司 一种实现快速重路由的方法

Also Published As

Publication number Publication date
CN102201964A (zh) 2011-09-28

Similar Documents

Publication Publication Date Title
CN102201964B (zh) 一种实现快速路径切换的方法和装置
CN102611628B (zh) 用于实现传输路径切换的方法和装置
US20150026507A1 (en) Transport control server, network system and transport control method
US7155632B2 (en) Method and system for implementing IS-IS protocol redundancy
CN100450039C (zh) 快速收敛端到端业务的方法和装置
CN110535772A (zh) 分段路由流量工程策略的发送及接收方法、装置和网元
US9705704B2 (en) Method and system of forming a mobile virtual network
CN108833283B (zh) 一种软件定义的跨域多路径路由规划方法
CN102137017A (zh) 用于虚拟网络单元的工作方法及装置
CN102404189B (zh) 支持多拓扑路由的设备进行主备倒换的方法及主控板
CN103685035B (zh) 路由更新方法、交换机及系统
US9065757B2 (en) Network device and method of routing traffic
CN104012051A (zh) 提供全面保护的ip快速重路由机制
CN109361596B (zh) 路由计算方法、装置及电子设备
CN103532840B (zh) 一种链路切换方法和装置
CN102195844A (zh) 转发表项的管理方法和设备
CN101022417B (zh) 一种选择负载分担链路的方法和路由器
CN101616091A (zh) 实现标签发布协议快速重路由的方法及标签交换路由器
CN102754383B (zh) 用于通信系统路由组件级高度可用性的系统和方法
CN102916893B (zh) 三层交换机中设置ip组播转发端口的装置和方法
CN102172048A (zh) 在层级基于移动性标签网络中的切换
CN103297338A (zh) 一种vpn路由通告方法和设备
CN101984596A (zh) 一种避免路由黑洞的方法、装置及路由设备
CN103139040A (zh) 一种扩展的vpn frr实现方法和设备
US8423668B2 (en) Link state protocol routing message containment

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
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address