首页> 中国专利> 互联网路由中的稳定路由选择方法

互联网路由中的稳定路由选择方法

摘要

本发明提供了一种互联网路由中的稳定路由选择方法,包括以下步骤:接受邻居通告的路由,并判断所述通告的路由是否是由于故障引起的,且是否需要撤销或更改当前路由;如果判断所述通告的路由是由于故障引起的,且需要撤销或更改当前路由,则启动启发式域间路由协议sBGP重新选择路由;根据所述sBGP选择可选的最稳定路由作为当前路由。在本发明中,当路由器收到由故障触发的路由通告后,采用启发式的路由选择算法选择目前可选的最稳定路由作为最佳路由,通过稳定路由选择,路由器可以选择有效的稳定路由,以避免无效的路由搜索以及路由不断更新引入的路由器处理开销。

著录项

  • 公开/公告号CN101651617A

    专利类型发明专利

  • 公开/公告日2010-02-17

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN200910093209.6

  • 发明设计人 徐明伟;李琦;杜德慧;江学智;

    申请日2009-09-15

  • 分类号H04L12/56;

  • 代理机构北京市立方律师事务所;

  • 代理人张磊

  • 地址 100084 北京市100084-82信箱

  • 入库时间 2023-12-17 23:27:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-01-04

    授权

    授权

  • 2010-04-21

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20090915

    实质审查的生效

  • 2010-02-17

    公开

    公开

说明书

技术领域

本发明涉及互联网技术领域,尤其是涉及互联网路由中的稳定路由选择方法,解决边界网关协议(Border Gateway Protocol,BGP)的收敛性和稳定性问题。

背景技术

在互联网中,网络故障频繁,而现有的域间路由协议(Border GatewayProtocol,BGP)并不能很好地适应网络故障的解决方案。在现有技术中,域间路由协议将经历一个较长的无效路由搜索过程,这导致了在互联网中发生大量的数据包丢包现象。

为了缓解或者解决BGP路由慢收敛问题,现有技术还提出了很多改进的BGP方案。但这些方案由于本身设计的缺点并不能有效地提高BGP的性能。例如,RCN和EPIC通过在BGP通告消息中增加路由变化的根源信息加快路由的收敛,但它们的改进性能很大程度上依赖于网络的拓扑结构,而且这些方案并不支持增量部署;CA方案通过检测路由通告中的无效路由加快路由收敛,但这个方案给路由器增加了很大的计算负载;Ghost Flushing方案通过在通告新路由前撤销旧路由加快路由收敛,但无法避免路由的无效搜索过程,此外,Ghost Flushing还增加了很多BGP通告消息,而且这个方案会恶化failover时的收敛性能。

此外,随着互联网技术的发展,新的互联网应用以及互联网用户数量的增长均对互联网网络的收敛速度和通信负荷能力提出了更高的要求,这进一步增加了现有的BGP的负荷问题。

发明内容

本发明的目的是解决上述缺陷之一,特别是解决BGP的路径搜索时间长、路由的传播时间长以及路由策略导致的路由不收敛问题,从而有效提高BGP的性能。

为解决上述问题,本发明一方面提出一种互联网路由中的稳定路由选择方法,包括以下步骤:接受邻居通告的路由,并判断所述通告的路由是否是由于故障引起的,且是否需要撤销或更改当前路由;如果判断所述通告的路由是由于故障引起的,且需要撤销或更改当前路由,则启动启发式域间路由协议sBGP重新选择路由;根据所述sBGP选择可选的最稳定路由作为当前路由。

作为本发明的一个实施例,根据所述sBGP选择可选的最稳定路由作为当前路由包括:判断当前所选的最佳路由的AS路径是否包含有路由更新中的故障信息AS;如果包含有路由更新中的故障信息AS,则在输入路由信息库RIB-IN中选择存在时间最长的路由;判断所述存在时间最长的路由的存在时间是否大于阈值;如果所述存在时间最长的路由的存在时间是否大于阈值,则进一步判断所述存在时间最长的路由是否包含故障链路;如果不包含故障链路,则将所述存在时间最长的路由作为当前路由。

作为本发明的一个实施例,还包括:如果所述存在时间最长的路由的存在时间小于阈值,则从所述RIB-IN中选择最近通告的路由作为当前路由。

作为本发明的一个实施例,还包括:如果所述存在时间最长的路由包含故障链路,则在所述RIB-IN中删除所述存在时间最长的路由,并重新选择最稳定路由。

作为本发明的一个实施例,所述路由通告中包含有标识路由变化事件源的属性。

作为本发明的一个实施例,在所述RIB-IN中标识每条路由学习到的时间。

作为本发明的一个实施例,还包括:判断稳定路由选择计时器超时时间内路由是否发生变化;如果稳定路由选择计时器超时时间内路由没有发生变化,则选择传统的路由选择算法选择路由。

作为本发明的一个实施例,还包括:如果稳定路由选择计时器超时时间内路由发生了变化,则重启所述稳定路由选择计时器。

本发明提出了一个稳定的域间路由选择算法sBGP(Stable BGP),在本发明的sBGP中,当路由器收到由故障触发的路由通告后,则采用启发式的路由选择算法选择目前可选的最稳定路由作为最佳路由。通过稳定路由选择,路由器可以选择有效的稳定路由,以避免无效的路由搜索以及路由不断更新引入的路由器处理开销。通过分析和模拟实验表明sBGP不仅能够有效提高BGP的收敛的性能,而且可以减少收敛过程中的通讯开销。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的互联网路由中的稳定路由选择的决策过程示意图;

图2为本发明实施例的sBGP路由选择算法;

图3为本发明实施例的互联网路由中的稳定路由选择方法流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本发明提出的启发式BGP路由选择算法(Stable BGP(sBGP))目标是本地化处理路由选择,尽量使路由变化在小范围内发生,通过选择稳定路由,极大地减少了路由变化次数,提供了路由的稳定性。且sBGP选择稳定的路由确保消除了路由收敛过程中无效的路由搜索过程,解决了路由计算时间长的问题。另外,由于路由重计算仅在所选路由受故障影响的路由器中进行,所以路由故障信息将在有限结点中传播,解决了路由传播时间过程的问题,同时由于在Adj-RIB-IN中不存在两个具有相同稳定性的路由,所以sBGP还解决了路由故障以后的不收敛问题。本发明为了实现稳定路由选择,sBGP在标准BGP路由通告中增加了一个属性以标识路由变化的事件源,并在BGP的Adj-RIB-IN(输入路由信息库)中标识每条路由学习到的时间。当路由器收到一个路由通告消息中带有故障信息,则路由器将启用sBGP的稳定路由选择算法。本发明还在sBGP决策过程中增加了额外的两个路由选择,即选择目前可用路由和选择运行时间最长的路由。首先路由器选择稳定路由的第一个步骤是优先选择目前可用的路由以避免了不必要的路由重计算过程。如果当前所选路由受故障链路影响,则sBGP将在Adj-RIB-IN中选择运行时间最长的路由最为自己的最佳路由并通告给邻居,从而完成稳定路由选择过程。

如图1所示,为本发明实施例的互联网路由中的稳定路由选择的决策过程示意图。首先,本发明优先选择目前可用的路由作为当前路由(步骤1),在本发明实施例中,sBGP可通过识别路由变化的故障源,避免了路由器收到撤销消息后搜索无效的路由,所以避免了漫长的路由搜索时间。并且,sBGP路由器只有在当前路由无效的时候才会进行路由的重新决策,因此sBGP路由器每次声明出来的路由总是当前路由中最稳定,有效避免了路由的反复声明而引起的路由抑制。类似地,由于sBGP路由器只有在当前路由不可用时进行路由重新决策,而决策过程中仅选择自己可选的最稳定路由,因此sBGP不会出现由于路由策略问题而导致的路由不收敛问题。另外,在sBGP路由决策步骤2中,如果最少运行的路由小于τ,则采用新申明的路由。本发明通过τ来进行稳定路由选择的判断。具体算法如图3所示,本发明首先选择路由运行时间最长的路由,而且该路由的有效时间超过了τ。如果目前所有路由的有效时间都没有超过τ,则选择收到的新声明的路由,这时候所选择的路由也是稳定的路由。因为sBGP有以下的定理:在sBGP中,由于新申明的路由是邻居路由器采用的最长时间的可用路由,所以当本地无可用稳定路由时选择新申明路由也是一种稳定路由的选择策略;这个原则也是BGP的稳定路由的选择策略。其中,图1中的步骤1和步骤2分别是实现sBGP稳定路由选择的核心,解决了目前BGP路由的问题,在此图1中的其他步骤不再一一描述。具体来说,通过路由决策过程中的这两个步骤通过识别路由变化的故障源以及所有不稳定的路由进行路由选择的决策。

如图3所示,为本发明实施例的互联网路由中的稳定路由选择方法流程图,包括以下步骤:

步骤S301,接受邻居通告的路由,并判断所述通告的路由是否是由于故障引起的,且是否需要撤销或更改当前路由。如果判断通告的路由是由于故障引起的,且需要撤销或更改当前路由r*,则启动sBGP重新选择路由。例如,如果收到一个带有故障标识的路由更新,则BGP启用稳定路由选择算法重新选择路由。

步骤S302,判断当前路由r*是否包含故障链路,即在本发明的一个实施例中判断当前所选的最佳路由的AS路径是否包含有路由更新中的故障信息AS。如果当前路由r*不包含故障链路,则无需重新选择路由。

步骤S303,如果当前路由r*包含故障链路,即如果当前所选的最佳路由的AS路径包含有路由更新中的故障信息AS,则在RIB-IN(输入路由信息库)中选择存在时间最长的路由r。

步骤S304,判断存在时间最长的路由r的存在时间是否大于阈值τ。

步骤S305,如果存在时间最长的路由r的存在时间是否大于阈值τ,则进一步判断存在时间最长的路由r是否包含故障链路。

步骤S306,如果存在时间最长的路由r不包含故障链路,则将存在时间最长的路由r作为当前路由。

步骤S307,如果存在时间最长的路由r的存在时间小于阈值τ,则从RIB-IN中选择最近通告的路由作为当前路由。

步骤S308,如果存在时间最长的路由r包含故障链路,则在RIB-IN中删除存在时间最长的路由r,并重新选择最稳定路由。

由于本发明所提出的sBGP所选择的是稳定路由,因此sBGP极大的减少了路由变化次数提供了路由的稳定性。并且sBGP选择稳定的路由确保消除了路由收敛过程中无效的路由搜索过程,解决了路由计算时间过长的问题;由于路由重计算仅在所选路由受故障影响的路由器中进行,所以路由故障信息将在有限结点中传播,解决了路由传播时间过程的问题;由于在Adj-RIB-IN中不存在两个具有相同稳定性的路由,所以sBGP解决了路由故障以后的不收敛问题。

另外,sBGP可能会选择一些ISP(Internet Service Provider,互联网服务提供商)中设置低优先级的路由。从保证全局路由稳定的情况的角度来看,损失ISP的一部分利益是个很好的折衷,特别当故障发生后出现路由不收敛。在sBGP中,本发明也实现了恢复正常路由选择。在sBGP中,本发明实现了稳定路由选择计时器,即当每个路由一旦启用了稳定路由选择,sBGP中将启用一个计时器。只有当路由在计时器超时时间内路由不发生变化,则当计时器超时后,路由器将重新启用传统的路由选择算法。但是,在计时器超时过程中路由发生了变化,则计时器将重新计时。由于计时器超时后的路由选择不会有漫长的路由收敛过程,而sBGP的路由重选择仅发生在小范围内,所以路由的收敛时间非常短。

本发明所提出的路由稳定选择方案(sBGP)改善BGP路由收敛。首先检测算法路由的有效性.只有当目前所选路由受故障影响,sBGP才会重新选择路由。不同于现有的BGP,sBGP选择可选的最稳定路由最为最佳选择,这样能够大大缩短BGP路由收敛时间并且有效减少收敛过程中的BGP路由更新消息数量。由此可见,本发明能够达到预期的目的。

任何提及“一个实施例”、“实施例”、“示意性实施例”等意指结合该实施例描述的具体构件、结构或者特点包含于本发明的至少一个实施例中。在本说明书各处的该示意性表述不一定指的是相同的实施例。而且,当结合任何实施例描述具体构件、结构或者特点时,所主张的是,结合其他的实施例实现这样的构件、结构或者特点均落在本领域技术人员的范围之内。

尽管参照本发明的多个示意性实施例对本发明的具体实施方式进行了详细的描述,但是必须理解,本领域技术人员可以设计出多种其他的改进和实施例,这些改进和实施例将落在本发明原理的精神和范围之内。具体而言,在前述公开、附图以及权利要求的范围之内,可以在零部件和/或者从属组合布局的布置方面作出合理的变型和改进,而不会脱离本发明的精神。除了零部件和/或布局方面的变型和改进,其范围由所附权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号