构造保护隧道路由的方法

文档序号:7702136阅读:172来源:国知局
专利名称:构造保护隧道路由的方法
技术领域
本发明 一般地涉及互联网技术领域,尤其涉及构造保护隧道路由的技术。
背景技术
很多新的网络实时应用要求互联网通信不能发生较长时间的中断。然 而,当互联网中发生故障的时候,目前的域内路由协议需要几秒的时间来 重新建立路由,导致互联网通信发生几秒的中断。为了缩短通信的中断时 间,需要引入一种新技术,使得当互联网发生故障时,在域内路由协议重 新建立路由的时间内,将数据分组在事先计算好的备用路径中进行传输。
隧道技术是一种通过使用互联网的基础设施在网络之间传递数据的方 式,具有隐藏原有地址、将数据流强制送到特定的地址、提供数据安全支 持等特性。目前,快速重路由已有一些研究成果,已经建立相应的国际标
准,例如RFC3卯6、 RFC5286等。然而RFC3卯6仅提出了快速重路由的框 架和一些指导性的原则,RFC5286提出了一种快速重路由算法,但没有采 用隧道4支术。

发明内容
因此,目前需要一种构造保护隧道路由的方法。
为了解决上述问题之一,本发明提出了 一种构造保护隧道路由的方法, 该方法包括以下步骤获取以第一路由器节点为根路由器节点的第一路径 树;以所述第 一路径树中的第二路由器节点为根路由器节点构造第二路径 树,并在所述第二路径树中对所述第一路由器节点及其下游路由器节点做 标记;根据所述第一路径树与所述标记确定所述第二路由器节点的隧道中 转点;以及根据所述隧道中转点构造所述第二路由器节点的保护隧道路由。根据本发明的实施例,该方法还包括在获取所述第一路径树之后, 启动备用路径计算计时器;如果所述计时器超时前网络的拓朴结构发生了 变化,则重新获取所述第一路径树;以及如果所述计时器超时,则启动所 述第二路径树的构造。
根据本发明的实施例,所述第一路径树和/或所述第二路径树通过开放 最短路径优先协议构造。
根据本发明的实施例,根据所述隧道中转点构造保护隧道路由的步骤 包括使用开放最短路径优先协议根据所述隧道中转点构造保护隧道路由。
根据本发明的实施例,构造所述第二路径树的步骤还包括判断所述 第一路径树中是否有尚未计算的路由器节点,如果有尚未计算的路由器节 点,则选择所述尚未计算的路由器节点中的 一个作为所述第二路由器节点。
根据本发明的实施例,所述方法还包括在构造所述第二路由器节点 的隧道保护路由之后,继续判断所述第 一 路径树中是否有尚未计算的路由 器节点。
根据本发明的实施例,确定所述隧道中转点的步骤包括查找所述第 一路径树中与所述第二路由器节点不在同 一分支上的路由器节点,将其中 未做标记且路由权值最小的路由器节点作为所述隧道中转点。
根据本发明的实施例,确定所述隧道中转点的步骤包括将隧道中转 点赋值为空值;判断所述第一路径树中是否有未检查的路由器节点;如果 有未检查的路由器节点,则在所述未检查的路由器节点与所述第二路由器 节点不在同 一分支,所述未检查的路由器节点在所述第二路径树中未作标 记,并且所述隧道中转点为空值或所述未检查的路由器节点的路由权值小 于所述隧道中转点的路由权值时,将所述未检查的路由器节点赋值给所述 隧道中转点,否则,继续判断所述根路由器节点路径树中是否有未检查的 路由器节点;如果没有未检查的路由器节点,则判断所述隧道中转点是否 为空值,如果不为空值,则查找所述第一路由器节点与所述隧道中转点相 连的接口地址,将所述第二路由器节点公告的前缀的隧道中转点设置为所 述接口地址,构造保护隧道路由;如果所述隧道中转点为空值,则不构造 保护隧道^^由。
5本发明所提出的计算隧道保护路由的方法具有实现简单、计算开销小 的特点。
此外,本发明的计算隧道保护路由的方法能够快速地为每个能够利用 隧道方式保护目的地的IP地址前缀计算出保护隧道的中转点、并构造保护 隧道路由,推动了自治系统内部快速重路由的技术,并有效提高了网络的 抗故障能力。


本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描
述中将变得明显和容易理解,其中
图1为根据本发明的一个实施例的构造保护隧道路由的方法的流程
图2为根据本发明的一个实施例的构造保护隧道路由的方法的流程 图;以及
图3为根据本发明的一个实施例的构造保护隧道路由的方法的示意图。
具体实施例方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出。下 面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解 释为对本发明的限制。
需要注意的是,本发明所提出的构造保护隧道路由的方法可以应用于 多种路由协议中,为了清楚和简单的目的,本发明的实施例仅以开放最短 路径优先协议作为示例进行说明。
作为本发明的 一个实施例,构造保护隧道路由的方法包括以下步骤
获取以第一路由器节点为根路由器节点的第一路径树;
以第 一路径树中的第二路由器节点为根路由器节点构造第二路径树, 并在第二路径树中对第 一 路由器节点及其下游路由器节点做标记,其中某
路由器节点A的下游路由器节点是指这样的节点根路由器节点到该下游路由器节点的最短路径必然经过该路由器节点A;
根据第 一路径树与所述标记确定第二路由器节点的隧道中转点;以及 根据隧道中转点构造第二路由器节点的保护隧道路由。 如图1所示为根据本发明的一个实施例的构造保护隧道路由的方法的 流程图。作为本发明的一个实施例,该方法运行开》文最短5^径伊乙先协*议的 路由器S完成路由计算后保存以S为根路由器节点的最短路径树SPT(S); 对于SPT(S)中的每个路由器节点D计算一棵最短路径树,并在其中标记S 和S的下游路由器节点;访问SPT(S)中与D不在同一分支上的节点,寻找 其中未做标记且路由权值最小的节点作为隧道中转点,并基于隧道中转点 的地址构造保护隧道路由。作为本发明的一个实施例,SPT(S)中与D在同 一分支上的节点是指这样的节点节点S到该节点的最短路径上的第一个 节点与节点S到节点D的最短路径上的第 一个节点相同。作为本发明的一 个实施例,路由权值是指该路由上所有链路权值之和,链路权^直可以包括 大于0且小于65535的整数,标识着使用此链路发送数据分组时的开销。
作为本发明的一个实施例,运行开放最短路径优先协议的^各由器S完 成路由计算后,启动计时器来控制备用路径的计算。如果计时器超时前网 络的拓朴结构发生了变化,则开放最短路径优先协议重新计算路由,否则 开始下述的计算备用路径的过程。
如图1所示,该方法包括以下步骤
运行开放最短路径优先协议的路由器S完成路由计算后,保存以S为 根节点的最短路径树SPT(S),并启动备用路径计算计时器;
如果计时器超时,则对于SPT(S)中的每个路由器节点D做如下操作
计算以D为根节点的最短路径树SPT(D),并在SPT(D)中将S和S的 下游路由器节点做标记;
检查SPT(S)中与D不在同一分支上的路由器节点的标记和路由权值, 记录下这样的路由器节点T: T在SPT(D)中没有被做标记且T的路由权值 最小,判断是否存在没有做标记的节点;
如果存在没有做标记的节点,则将D公告的前缀作为目的地址,T的 地址作为这些目的地址的隧道中转节点的地址,按照此方法构造保护隧道路由;
如果不存在没有做标记的节点,则不构造到D的保护隧道^各由。
以上选择未做标记且路由权值最小的路由器节点作为隧道中转点仅是
本发明的一个实施例,在具体实施过程中,也可以考虑其他条件,如节点
功耗等等。
如图2所示为根据本发明的一个实施例的构造保护隧道^各由的方法的 流程图。该方法包括以下步骤
使用开放最短路径优先协议的路由器计算完路由后,保存以本路由器 S为根节点的最短路径树SPT(S),并启动计时器;
判断SPT(S)中是否有尚未计算的路由器节点如果SPT(S)中有尚未计 算的路由器节点D,则计算以D为根节点的最短路径树SPT(D),然后在 SPT(D)中将S和S的下游路由器节点做标记;接着将T赋值为空值,开始 判断SPT(S)中是否有未检查的路由器节点;
如果SPT(S)中有未检查的路由器节点A,则当A与D在S中不属于同 一分支,并且A在SPT(D)中未4故标记,并且T为空值或A的^各由权值小 于T的路由权值时,将A赋值给T,然后继续判断SPT(S)中是否有未检查 的路由器节点。否则继续判断SPT(S)中是否有未检查的路由器节点;
如果SPT(S)中没有未检查的路由器节点,则判断T是否为空值。如果 T不为空值,则查找S到T的最短路径与T相连的接口地址Addr—T,然后 将D公告的所有前缀的隧道中转点设置为Addr—T,构造保护隧道路由,然 后继续判断SPT(S)中是否有尚未计算的路由器节点;
如果SPT(S)中没有尚未计算的路由器节点,则计算过程结束。
如图3所示为根据本发明的一个实施例的构造保护隧道^各由的方法的 示意图。如图3所示,路由器10.0.0.1在开放最短路径优先协i义计算完路 由后保存以10.0.0.1为根节点的最短路径树SPT(10.0.0.1)并启动计时器。当 计时器超时的时候开始计算备用路径。
对于路由器节点10.0.0.3,计算以10.0.0.3为根节点的最短路径树 SPT(10.0.0.3),并将节点10.0.0.1做标记。然后检查SPT(10.0.0.1)中的节点,找到与10.0.0.3不在同一分支且在SPT(10.0.0.3)中没有做标记的节点 10.0.0.2。接着查找10.0.0.1到10.0.0.2的最短路径与10.0.0.2相连的接口地 址192.168.1.2,然后将10.0.0.3公告的前缀192.168.5.0/24的隧道中转点设 置为192.168.1.2,构造出一条保护隧道路由。
10.0.0.1对于路由器节点10.0.0.2的计算过程与上述过程类似。网络中 另外两个路由器节点10.0.0.2与10.0.0.3构造保护隧道路由的过程与 10.0.0.1类似。计算完的保护隧道路由为发生故障时快速使用备用路径传送 输数据分组打下了基础。当192.168.2.1与192.168.2.2之间的链3各发生故障 时,路由器10.0.0.1便可以立即将从主机192.168.4.1发往192.168.5.1的分 组通过P遂道发送到192.168.1.2,利用10.0.0.2将分组送达目的地,而不使 用通常的转发接口 192.168.2.1,从而避免了数据分组经过发生古丈障的链路。
算开销小的特点,能够在采用基于IP隧道的保护技术的路由器上快速地良 好地运行,并且能够良好运用在各种拓朴结构下的路由保护情况。本发明 的实施例能够快速地为每个能够利用隧道方式保护目的地的IP;l也址前缀计 算出保护隧道的中转点并构造保护隧道路由,推动了自治系统内部快速重 路由的技术发展,有效提高了网络的抗故障能力。本发明的实施例所提出 的构造保护隧道路由的方法可以运用在目前存在的各种路由器中,也可应 用于下一代网络建设。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员 而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例 进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等 同限定。
9
权利要求
1、一种构造保护隧道路由的方法,该方法包括以下步骤获取以第一路由器节点为根路由器节点的第一路径树;以所述第一路径树中的第二路由器节点为根路由器节点构造第二路径树,并在所述第二路径树中对所述第一路由器节点及其下游路由器节点做标记;根据所述第一路径树与所述标记确定所述第二路由器节点的隧道中转点;以及根据所述隧道中转点构造所述第二路由器节点的保护隧道路由。
2、 根据权利要求1所述的构造保护隧道路由的方法,其特征在于,还 包括在获取所述第一路径树之后,启动备用路径计算计时器; 如果所述计时器超时前网络的拓朴结构发生了变化,则重新获取所述 第一路径树;以及如果所述计时器超时,则启动所述第二路径树的构造。
3、 根据权利要求1所述的构造保护隧道路由的方法,其特征在于,所 述第一路径树和/或所述第二路径树通过开放最短路径优先协议构造。
4、 根据权利要求1所述的构造保护隧道路由的方法,其特征在于,根 据所述隧道中转点构造保护隧道路由的步骤包括使用开放最短路径优先协议根据所述隧道中转点构造保护隧道路由。
5、 根据权利要求1所述的构造保护隧道路由的方法,其特征在于,构 造所述第二路径树的步骤还包括判断所述第一路径树中是否有尚未计算的路由器节点,如果有尚未计 算的路由器节点,则选择所述尚未计算的路由器节点中的一个作为所述第 二路由器节点。
6、 根据权利要求5所述的构造保护隧道路由的方法,其特征在于,所 述方法还包括在构造所述第二路由器节点的隧道保护路由之后,继续判断所述第一路径树中是否有尚未计算的路由器节点。
7、 根据权利要求1所述的构造保护隧道路由的方法,其特征在于,确 定所述隧道中转点的步骤包括查找所述第一路径树中与所述第二路由器节点不在同一分支上的路由 器节点,将其中未做标记且路由权值最小的路由器节点作为所述隧道中转点。
8、 根据权利要求7所述的构造保护隧道路由的方法,其特征在于,确 定所述隧道中转点的步骤包括将隧道中转点赋值为空值;判断所述第 一路径树中是否有未检查的路由器节点; 如果有未检查的路由器节点,则在所述未检查的路由器节点与所述第 二路由器节点不在同一分支,所述未检查的路由器节点在所述第二路径树 中未作标记,并且所述隧道中转点为空值或所述未检查的路由器节点的路 由权值小于所述隧道中转点的路由权值时,将所述未检查的路由器节点赋 值给所述隧道中转点,否则,继续判断所述根路由器节点路径树中是否有 未检查的路由器节点;如果没有未检查的路由器节点,则判断所述隧道中转点是否为空值, 如果不为空值,则查找所述第一路由器节点与所述隧道中转点相连的接口 地址,将所述第二路由器节点公告的前缀的隧道中转点设置为所述接口地 址,构造保护隧道路由;如果所述隧道中转点为空值,则不构造保护隧道 路由。
全文摘要
本发明公开了一种构造保护隧道路由的方法,包括以下步骤获取以第一路由器节点为根路由器节点的第一路径树;以所述第一路径树中的第二路由器节点为根路由器节点构造第二路径树,并在所述第二路径树中对所述第一路由器节点及其下游路由器节点做标记;根据所述第一路径树与所述标记确定所述第二路由器节点的隧道中转点;以及根据所述隧道中转点构造所述第二路由器节点的保护隧道路由。本发明所提出的构造保护隧道路由的方法实现简单,开销小。
文档编号H04L12/56GK101621468SQ200910090918
公开日2010年1月6日 申请日期2009年8月14日 优先权日2009年8月14日
发明者徐明伟, 琦 李, 芫 杨 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1