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

文档序号:7702950阅读:230来源:国知局

专利名称::互联网路由中的稳定路由选择方法
技术领域
:本发明涉及互联网
技术领域
,尤其是涉及互联网路由中的稳定路由选择方法,解决边界网关协议(BorderGatewayProtocol,BGP)的收敛性和稳定性问题。
背景技术
:在互联网中,网络故障频繁,而现有的域间路由协议(BorderGatewayProtocol,BGP)并不能很好地适应网络故障的解决方案。在现有技术中,域间路由协议将经历一个较长的无效路由搜索过程,这导致了在互联网中发生大量的数据包丢包现象。为了缓解或者解决BGP路由慢收敛问题,现有技术还提出了很多改进的BGP方案。但这些方案由于本身设计的缺点并不能有效地提高BGP的性能。例如,RCN和EPIC通过在BGP通告消息中增加路由变化的根源信息加快路由的收敛,但它们的改进性能很大程度上依赖于网络的拓朴结构,而且这些方案并不支持增量部署;CA方案通过检测路由通告中的无效路由加快路由收敛,但这个方案给路由器增加了很大的计算负载;GhostFlushing方案通过在通告新路由前撤销旧路由加快路由收敛,但无法避免路由的无效搜索过程,此外,GhostFlushing还增加了很多BGP通告消息,而且这个方案会恶化failover时的收敛性能。此外,随着互联网技术的发展,新的互联网应用以及互联网用户数量的增长均对互联网网络的收敛速度和通信负荷能力提出了更高的要求,这进一步增加了现有的BGP的负荷问题。
发明内容本发明的目的是解决上述缺陷之一,特别是解决BGP的路径搜索时间长、路由的传播时间长以及路由策略导致的路由不收敛问题,从而有效提高BGP的性能。为解决上述问题,本发明一方面提出一种互联网路由中的稳定路由选择方法,包括以下步骤接受邻居通告的路由,并判断所述通告的路由是否是由于故障引起的,且是否需要撤销或更改当前路由;如果判断所述通告的路由是由于故障引起的,且需要撤销或更改当前路由,则启动启发式域间路由协议sBGP重新选择路由;根据所述sBGP选择可选的最稳定路由作为当前路由。作为本发明的一个实施例,根据所述sBGP选择可选的最稳定路由作为当前路由包括判断当前所选的最佳路由的AS路径是否包含有路由更新中的故障信息AS;如果包含有路由更新中的故障信息AS,则在输入路由信息库RIB-IN中选择存在时间最长的路由;判断所述存在时间最长的路由的存在时间是否大于阈值;如果所述存在时间最长的路由的存在时间是否大于阈值,则进一步判断所述存在时间最长的路由是否包含故障链路;如果不包含故障链路,则将所述存在时间最长的路由作为当前路由。作为本发明的一个实施例,还包括如果所述存在时间最长的路由的存在时间小于阈值,则从所述RIB-IN中选择最近通告的路由作为当前路由。作为本发明的一个实施例,还包括如果所述存在时间最长的路由包含故障链5^,则在所述RIB-IN中删除所述存在时间最长的路由,并重新选才奪最稳定^各由。作为本发明的一个实施例,所述路由通告中包含有标识路由变化事件源的属性。作为本发明的一个实施例,在所述RIB-IN中标识每条路由学习到的时间。作为本发明的一个实施例,还包括判断稳定路由选择计时器超时时5间内路由是否发生变化;如果稳定路由选择计时器超时时间内路由没有发生变化,则选择传统的路由选择算法选择路由。作为本发明的一个实施例,还包括如果稳定路由选择计时器超时时间内路由发生了变化,则重启所述稳定路由选择计时器。本发明提出了一个稳定的域间路由选择算法sBGP(StableBGP),在本发明的sBGP中,当路由器收到由故障触发的^^由通告后,则采用启发式的路由选择算法选择目前可选的最稳定路由作为最佳路由。通过稳定路由选择,路由器可以选择有效的稳定路由,以避免无效的路由搜索以及路由不断更新引入的路由器处理开销。通过分析和模拟实验表明sBGP不仅能够有效提高BGP的收敛的性能,而且可以减少收敛过程中的通讯开销。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。本发明的上述和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中图1为本发明实施例的互联网路由中的稳定路由选择的决策过程示意图2为本发明实施例的sBGP路由选择算法;图3为本发明实施例的互联网路由中的稳定路由选择方法流程图。具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本发明提出的启发式BGP路由选择算法(StableBGP(sBGP))目标是本地化处理路由选择,尽量使路由变化在小范围内发生,通过选择稳定路由,极大地减少了路由变化次数,提供了路由的稳定性。且sBGP选择稳定的路由确保消除了路由收敛过程中无效的路由搜索过程,解决了路由计算时间长的问题。另外,由于路由重计算仅在所选路由受故障影响的路由器中进行,所以路由故障信息将在有限结点中传播,解决了路由传播时间过程的问题,同时由于在Adj-RIB-IN中不存在两个具有相同稳定性的路由,所以sBGP还解决了路由故障以后的不收敛问题。本发明为了实现稳定路由选择,sBGP在标准BGP路由通告中增加了一个属性以标识路由变化的事件源,并在BGP的Adj-RIB-IN(输入路由信息库)中标识每条路由学习到的时间。当路由器收到一个路由通告消息中带有故障信息,则路由器将启用sBGP的稳定路由选择算法。本发明还在sBGP决策过程中增加了额外的两个路由选择,即选择目前可用路由和选择运行时间最长的路由。首先路由器选择稳定路由的第一个步骤是优先选择目前可用的路由以避免了不必要的路由重计算过程。如果当前所选路由受故障链路影响,则sBGP将在Adj-RIB-IN中选择运行时间最长的路由最为自己的最佳路由并通告给邻居,^v而完成稳定5^由选^奪过程。如图l所示,为本发明实施例的互联网路由中的稳定路由选择的决策过程示意图。首先,本发明优先选择目前可用的路由作为当前路由(步骤1),在本发明实施例中,sBGP可通过识别路由变化的故障源,避免了路由器收到撤销消息后搜索无效的路由,所以避免了漫长的路由搜索时间。并且,sBGP路由器只有在当前路由无效的时候才会进行路由的重新决策,因此sBGP路由器每次声明出来的路由总是当前路由中最稳定,有效避免了路由的反复声明而引起的路由抑制。类似地,由于sBGP路由器只有在当前路由不可用时进行路由重新决策,而决策过程中仅选择自己可选的最题。另外,在sBGP路由决策步骤2中,如果最少运行的路由小于t,则采用新申明的路由。本发明通过t来进行稳定路由选择的判断。具体算法如图3所示,本发明首先选择路由运行时间最长的路由,而且该路由的有效时间超过了t。如果目前所有路由的有效时间都没有超过t,则选择收到的新声明的路由,这时候所选择的路由也是稳定的路由。因为sBGP有以下的定理:在sBGP中,由于新申明的路由是邻居路由器采用的最长时间的可用路由,所以当本地无可用稳定路由时选择新申明路由也是一种稳定路由的选择策略;这个原则也是BGP的稳定路由的选择策略。其中,图1中的步骤1和步骤2分别是实现sBGP稳定路由选择的核心,解决了目前BGP路由的问题,在此图1中的其他步骤不再——描述。具体来说,通过路由决策过程中的这两个步骤通过识别路由变化的故障源以及所有不稳定的路由进行路由选择的决策。如图3所示,为本发明实施例的互联网路由中的稳定路由选择方法流程图,包括以下步骤步骤S301,接受邻居通告的路由,并判断所述通告的路由是否是由于故障引起的,且是否需要撤销或更改当前路由。如果判断通告的路由是由于故障引起的,且需要撤销或更改当前路由r*,则启动sBGP重新选择路由。例如,如果收到一个带有故障标识的路由更新,则BGP启用稳定路由选择算法重新选择路由。步骤S302,判断当前路由产是否包含故障链路,即在本发明的一个实施例中判断当前所选的最佳路由的AS路径是否包含有路由更新中的故障信息AS。如果当前路由1**不包含故障链路,则无需重新选择路由。步骤S303,如果当前路由卢包含故障链路,即如果当前所选的最佳路由的AS路径包含有路由更新中的故障信息AS,则在RIB-IN(输入路由信息库)中选择存在时间最长的路由r。步骤S304,判断存在时间最长的路由r的存在时间是否大于阔值t。步骤S305,如果存在时间最长的路由r的存在时间是否大于阈值t,则进一步判断存在时间最长的路由r是否包含故障链路。步骤S306,如果存在时间最长的路由r不包含故障链路,则将存在时间最长的路由r作为当前路由。步骤S307,如果存在时间最长的路由r的存在时间小于阈值t,则从RIB-IN中选择最近通告的路由作为当前路由。步骤S308,如果存在时间最长的路由r包含故障链路,则在RIB-IN中删除存在时间最长的路由r,并重新选择最稳定路由。由于本发明所提出的sBGP所选择的是稳定路由,因此sBGP极大的减少了路由变化次数提供了路由的稳定性。并且sBGP选铜t、定的路由确保消除了路由收敛过程中无效的路由搜索过程,解决了路由计算时间过长的问题;由于路由重计算仅在所选路由受故障影响的路由器中进行,所以路由故障信息将在有限结点中传播,解决了路由传播时间过程的问题;由于在Adj-RIB-IN中不存在两个具有相同稳定性的路由,所以sBGP解决了路由故障以后的不收敛问题。另夕卜,sBGP可能会选择一些ISP(InternetServiceProvider,互联网服务提供商)中设置低优先级的路由。从保证全局路由稳定的情况的角度来看,损失ISP的一部分利益是个4艮好的折衷,特别当故障发生后出现路由不收敛。在sBGP中,本发明也实现了恢复正常路由选择。在sBGP中,本发明实现了稳定路由选择计时器,即当每个路由一旦启用了稳定路由选择,sBGP中将启用一个计时器。只有当路由在计时器超时时间内路由不发生变化,则当计时器超时后,路由器将重新启用传统的路由选择算法。但是,在计时器超时过程中路由发生了变化,则计时器将重新计时。由于计时器超时后的路由选择不会有漫长的路由收敛过程,而sBGP的路由重选择仅发生在小范围内,所以路由的收敛时间非常短。本发明所提出的路由稳定选择方案(sBGP)改善BGP路由收敛。首先检测算法路由的有效性.只有当目前所选路由受故障影响,sBGP才会重新选择路由。不同于现有的BGP,sBGP选择可选的最稳定路由最为最佳选路由更新消息数量。由此可见,本发明能够达到预期的目的。任何提及"一个实施例"、"实施例"、"示意性实施例"等意指结合该实施例描述的具体构件、结构或者特点包含于本发明的至少一个实施例中。在本说明书各处的该示意性表述不一定指的是相同的实施例。而且,当结合任何实施例描述具体构件、结构或者特点时,所主张的是,结合其他的9实施例实现这样的构件、结构或者特点均落在本领域技术人员的范围之内。尽管参照本发明的多个示意性实施例对本发明的具体实施方式进行了详细的描述,但是必须理解,本领域技术人员可以设计出多种其他的改进和实施例,这些改进和实施例将落在本发明原理的精神和范围之内。具体而言,在前述公开、附图以及权利要求的范围之内,可以在零部件和/或者从属组合布局的布置方面作出合理的变型和改进,而不会脱离本发明的精神。除了零部件和/或布局方面的变型和改进,其范围由所附权利要求及其等同物限定。权利要求1、一种互联网路由中的稳定路由选择方法,其特征在于,包括以下步骤接受邻居通告的路由,并判断所述通告的路由是否是由于故障引起的,且是否需要撤销或更改当前路由;如果判断所述通告的路由是由于故障引起的,且需要撤销或更改当前路由,则启动启发式域间路由协议sBGP重新选择路由;根据所述sBGP选择可选的最稳定路由作为当前路由。2、如权利要求1所述的互联网路由中的稳定路由选择方法,其特征在于,根据所述sBGP选择可选的最稳定路由作为当前路由包括判断当前所选的最佳路由的AS路径是否包含有路由更新中的故障信息AS;如果包含有路由更新中的故障信息AS,则在输入路由信息库RIB-IN中选择存在时间最长的路由;判断所述存在时间最长的路由的存在时间是否大于阈值;如果所述存在时间最长的路由的存在时间是否大于阈值,则进一步判断所述存在时间最长的路由是否包含故障链路;如果不包含故障链路,则将所述存在时间最长的路由作为当前路由。3、如权利要求2所述的互联网路由中的稳定路由选择方法,其特征在于,还包括如果所述存在时间最长的路由的存在时间小于阈值,则从所述RIB-IN中选择最近通告的路由作为当前路由。4、如权利要求2所述的互联网路由中的稳定路由选择方法,其特征在于,还包括如果所述存在时间最长的路由包含故障链路,则在所述RIB-IN中删除所述存在时间最长的路由,并重新选择最稳定路由。5、如权利要求1所述的互联网路由中的稳定路由选择方法,其特征在于,所述路由通告中包含有标识路由变化事件源的属性。6、如权利要求1所述的互联网路由中的稳定路由选择方法,其特征在于,在所述RIB-IN中标识每条^各由学习到的时间。7、如权利要求1所述的互联网路由中的稳定路由选择方法,其特征在于,还包括判断稳定路由选择计时器超时时间内路由是否发生变化;如果稳定路由选择计时器超时时间内路由没有发生变化,则选择传统的路由选择算法选择路由。8、如权利要求7所述的互联网路由中的稳定路由选择方法,其特征在于,还包括如果稳定路由选择计时器超时时间内路由发生了变化,则重启所述稳定路由选择计时器。全文摘要本发明提供了一种互联网路由中的稳定路由选择方法,包括以下步骤接受邻居通告的路由,并判断所述通告的路由是否是由于故障引起的,且是否需要撤销或更改当前路由;如果判断所述通告的路由是由于故障引起的,且需要撤销或更改当前路由,则启动启发式域间路由协议sBGP重新选择路由;根据所述sBGP选择可选的最稳定路由作为当前路由。在本发明中,当路由器收到由故障触发的路由通告后,采用启发式的路由选择算法选择目前可选的最稳定路由作为最佳路由,通过稳定路由选择,路由器可以选择有效的稳定路由,以避免无效的路由搜索以及路由不断更新引入的路由器处理开销。文档编号H04L12/56GK101651617SQ200910093209公开日2010年2月17日申请日期2009年9月15日优先权日2009年9月15日发明者徐明伟,琦李,杜德慧,江学智申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1