BGP路由自治域路径AS-PATH配置方法及装置与流程

文档序号:12623326阅读:3070来源:国知局
BGP路由自治域路径AS-PATH配置方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种BGP路由自治域路径AS-PATH配置方法及装置。



背景技术:

边界网关协议(Border Gateway Protocol,简称为BGP)路由自治域路径(Autonomous System Path,简称为AS-PATH)是BGP的一种公认必遵属性,此属性用AS号的顺序记录BGP自治系统间的路径。当BGP speaker发起一条路由,它将自己的AS号添加到AS_PATH中,也就是说,这条路由每经过一个自治系统,就会将自己的AS号添加到AS_PATH中。AS_PATH可以描述所有经过的自治系统,AS号叠加的越多,说明经过的自治系统越多,AS号少,说明经过的自治系统较少。

AS-PATH可以有效防止BGP环路。如果某个BGP speaker从其他外部对等体收到的某条路由的AS-PATH中包括自己的AS号,那么该路由器认为该路由环路,会丢弃。同样的,如果BGP speaker从其他外部对等体收到的路由AS_PATH,不包括对等体的AS号,会断链。

AS-PATH是根据AS号的来判断路由的优先级,AS-PATH越短路由越优先。传统的AS-PATH策略,是通过增加AS号的长度,即AS-PATH prepend来改变路由优先级以实现选路。AS-PATH prepend功能是在现有的AS号前增加设置的AS号,AS-PATH会越来越长。即使通过as weight来改变AS-PATH的优先级,这也是一个相对复杂的策略应用方式。

针对相关技术中,只能通过增加AS号的长度来改变路由优先级实现选路的问题,还未提出有效的解决方案。



技术实现要素:

本发明提供了一种BGP路由自治域路径AS-PATH配置方法及装置,以至少解决相关技术中只能通过增加AS号的长度来改变路由优先级实现选路的问题。

根据本发明的一个方面,提供了一种边界网关协议BGP路由自治域路径AS-PATH配置方法,包括:获取BGP路由对应的AS-PATH中包括的一个或者多个AS号;其中,所述一个或者多个AS号与所述BGP路由经过的一个或者多个BGP自治系统相对应;使用一个或者多个指定AS号替换所述一个或者多个AS号,改变所述AS-PATH对应的所述BGP路由的优先级。

可选地,使用一个或者多个指定AS号替换所述一个或者多个AS号,改变所述AS-PATH的对应的所述BGP路由优先级包括:使用所述一个或者多个指定AS号替换所述一个或者多个AS号之后,所述AS-PATH中包括的AS号数量减少,使得所述AS-PATH对应的所述BGP路由的优先级提高;或者,使用所述一个或者多个指定AS号替换所述一个或者多个AS号之后,所述AS-PATH中包括的AS号数量增多,使得所述AS-PATH对应的所述BGP路由的优先级降低。

可选地,提高的所述AS-PATH的对应的所述BGP路由优先级的级别高于指定AS-PATH对应的BGP路由的优先级。

可选地,使用一个或者多个指定AS号替换所述一个或者多个AS号包括:在所述AS-PATH中不包括所述一个或者多个BGP自治系统的对等体的AS号。

可选地,使用一个或者多个指定AS号替换所述一个或者多个AS号,改变所述AS-PATH的对应的所述BGP路由优先级之后包括:通过预先配置的指令,根据所述AS-PATH包括的所述一个或者多个指定AS号识别所述BGP路由。

根据本发明的另一个方面,还提供了一种边界网关协议BGP路由自治域路径AS-PATH配置装置,所述装置包括:获取模块,用于获取BGP路由对应的AS-PATH中包括的一个或者多个AS号;其中,所述一个或者多个AS号与所述BGP路由经过的一个或者多个BGP自治系统相对应;替换模块,用于使用一个或者多个指定AS号替换所述一个或者多个AS号,改变所述AS-PATH对应的所述BGP路由的优先级。

可选地,所述替换模块还包括:第一替换单元,用于使用所述一个或者多个指定AS号替换所述一个或者多个AS号之后,所述AS-PATH中包括的AS号数量减少,使得所述AS-PATH的对应的BGP路由优先级提高;或者,第二替换单元,用于使用所述一个或者多个指定AS号替换所述一个或者多个AS号之后,所述AS-PATH中包括的AS号数量增多,使得所述AS-PATH对应的BGP路由的优先级降低。

可选地,提高的所述AS-PATH对应的所述BGP路由的优先级的级别高于指定AS-PATH的对应的BGP路由优先级。

可选地,所述替换模块还用于在所述AS-PATH中不包括所述一个或者多个BGP自治系统的对等体的AS号。

可选地,所述装置还包括:识别模块,用于通过预先配置的指令,根据所述AS-PATH包括的所述一个或者多个指定AS号识别所述BGP路由。

通过本发明,采用获取BGP路由对应的AS-PATH中包括的一个或者多个AS号;其中,一个或者多个AS号与BGP路由经过的一个或者多个BGP自治系统相对应;使用一个或者多个指定AS号替换该一个或者多个AS号,改变AS-PATH对应的BGP路由的优先级。解决了相关技术中只能通过增加AS号的长度来改变路由优先级实现选路 的问题,进而实现了通过多种方式改变路由优先级进行选路的目的。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的BGP路由自治域路径AS-PATH配置方法的流程图;

图2是根据本发明实施例的BGP路由自治域路径AS-PATH配置装置的结构框图;

图3是根据本发明实施例的BGP路由自治域路径AS-PATH配置装置的结构框图(一);

图4是根据本发明实施例的BGP路由自治域路径AS-PATH配置装置的结构框图(二);

图5是没有应用AS-PATH策略的应用场景示意图;

图6是应用AS-PATH prepend的应用场景示意图;

图7是本发明应用AS-PATH replace的场景示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种BGP路由自治域路径AS-PATH配置方法方法,图1是根据本发明实施例的BGP路由自治域路径AS-PATH配置方法的流程图,如图1所示,该流程包括如下步骤:

步骤S102,获取BGP路由对应的AS-PATH中包括的一个或者多个AS号;其中,一个或者多个AS号与BGP路由经过的一个或者多个BGP自治系统相对应;

步骤S104,使用一个或者多个指定AS号替换一个或者多个AS号,改变该AS-PATH对应的BGP路由的优先级。

通过上述步骤,通过使用一个或者多个指定AS号替换AS-PATH中包括的一个或者多个AS号,即,经过AS号替换之后的AS-PATH中包括的指定AS号的个数与AS-PATH原来包括的AS号的个数不同,从而可以改变AS-PATH对应的BGP路由的优先级,相比于相关技术中,AS-PATH策略,是通过增加AS号的长度,即AS-PATH prepend 来改变路由优先级以实现选路,AS-PATH会越来越长,上述步骤解决了相关技术中只能通过增加AS号的长度来改变路由优先级实现选路的问题,进而实现了通过多种方式改变路由优先级进行选路的目的。

上述步骤S104中涉及到使用一个或者多个指定AS号替换一个或者多个AS号,改变该AS-PATH对应的BGP路由的优先级,在一个可选实施例中,使用一个或者多个指定AS号替换一个或者多个AS号之后,该AS-PATH中包括的AS号数量减少,使得该AS-PATH对应的BGP路由的优先级提高。在另一个可选实施例中,使用一个或者多个指定AS号替换一个或者多个AS号之后,该AS-PATH中包括的AS号数量增多,使得该AS-PATH对应的BGP路由的优先级降低。从而通过使用指定AS号对AS-PATH中的AS号进行替换实现了动态调整AS-PATH对应的BGP路由的优先级的目的。

改变上述AS-PATH对应的BGP路由的优先级的目的在于进行选路。在一个可选实施例中,提高的上述AS-PATH对应的BGP路由的优先级的级别高于指定AS-PATH对应的BGP路由的优先级。从而实现了选择AS-PATH对应的路由,而不是之前级别较高的指定AS-PATH对应的路由。

上述步骤S104中涉及到使用一个或者多个指定AS号替换一个或者多个AS号,需要说明的是,可以通过多种方式使用一个或者多个指定AS号替换一个或者多个AS号,下面对此进行举例说明。在一个可选实施例中,在该AS-PATH中不包括一个或者多个BGP自治系统的对等体的AS号。

在一个可选实施例中,使用一个或者多个指定AS号替换一个或者多个AS号,改变该AS-PATH对应的BGP路由的优先级之后,通过预先配置的指令,根据该AS-PATH包括的该一个或者多个指定AS号识别该指定BGP路由。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例该的方法。

在本实施例中还提供了一种BGP路由自治域路径AS-PATH配置装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图2是根据本发明实施例的BGP路由自治域路径AS-PATH配置装置的结构框图,如图2所示,该装置包括:获取模块22,用于获取BGP路由对应的AS-PATH中包括的一个或者多个AS号;其中,该一个或者多个AS号与该BGP路由经过的一个或者多个 BGP自治系统相对应;替换模块24,用于使用一个或者多个指定AS号替换该一个或者多个AS号,改变该AS-PATH对应的BGP路由的优先级。

图3是根据本发明实施例的BGP路由自治域路径AS-PATH配置装置的结构框图(一),如图3所示,替换模块24还包括:第一替换单元242,用于使用该一个或者多个指定AS号替换该一个或者多个AS号之后,该AS-PATH中包括的AS号数量减少,使得该AS-PATH对应的BGP路由的优先级提高;或者,第二替换单元244,用于使用该一个或者多个指定AS号替换该一个或者多个AS号之后,该AS-PATH中包括的AS号数量增多,使得该AS-PATH对应的BGP路由的优先级降低。

可选地,提高的该AS-PATH对应的BGP路由的优先级的级别高于指定AS-PATH对应的BGP路由的优先级。

可选地,替换模块24还用于在该AS-PATH中不包括该一个或者多个BGP自治系统的对等体的AS号。

图4是根据本发明实施例的BGP路由自治域路径AS-PATH配置装置的结构框图(二),如图4所示,该装置还包括:识别模块42,用于通过预先配置的指令,根据该AS-PATH包括的该一个或者多个指定AS号识别该指定BGP路由。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

S1,获取BGP路由对应的AS-PATH中包括的一个或者多个AS号;其中,一个或者多个AS号与BGP路由经过的一个或者多个BGP自治系统相对应;

S2,使用一个或者多个指定AS号替换一个或者多个AS号,改变该AS-PATH对应的BGP路由的优先级。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述步骤S1和S2。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

本发明可选实施例提供了一种新的BGP路由自治域路径的替换方法,使AS-PATH 可以灵活设置,可以变长也可以变短,可以包括原来的AS-PATH,也可以不包括,策略运用更加灵活。

ROUTE-MAP策略提供一种新的AS-PATH配置方法。set as-path增加可选参数replace,命令格式变更为set as-path{prepend|replace}<1-65535>/<1-65535>.<0-65535>,replace配置和原有的AS-PATH prepend互斥,replace为兼容变更,不影响原来命令配置。

在向外部BGP speaker通告的时候基于ROUTE-MAP配置的AS-PATH replace策略设置AS-PATH,BGP增加特殊的处理,在AS_PATH中不包括自己对等体的AS号。

对端对等体从外部BGP speaker接收的时候,检查AS-PATH,如果没有对等体的AS号,会断链,此处增加新的设置no bgp enforce-first-as,有此设置不检查对等体的AS号,为了兼容之前配置,默认检查对等体AS号。

在从外部BGP speaker接收的时候,基于ROUTE-MAP配置的AS-PATH replace策略替换从外部BGP speaker接收的AS_PATH,要避免断链,配置同2,增加no bgp enforce-first-as。

图5是没有应用AS-PATH策略的应用场景示意图,在图5对应的BGP组网中,设备R1和设备R2为EBGP邻居,设备R2和设备R3、R4为EBGP邻居,设备R3和设备R4为EBGP邻居,在图5中,设备R4收到的路由有两个AS-PATH,从R3收到的AS-PATH路径为{300200100},从R2收到的AS-PATH路径为{200100},按照AS-PATH短的路径优选,会优选从R2-R4的路径。

在真实的网络环境中,AS-PATH路径短的链路不一定质量就越高。这时候可以运用AS-PATH prepend策略,在R2的出方向或者R4的入方向实施AS-PATH prepend策略来增加AS号的长度,从而实现选路的功能。图6是应用AS-PATH prepend的应用场景示意图,如图6组网,在R2的出方向增加AS号500600,再加上自己的AS号200,这样R4从R2收到的AS-PATH为{200500600100},按照AS-PATH的长短进行选路,会优选从R2-R3-R4的路径。这种方式可以实现策略,但是会造成AS_PATH长度越来越长,后面的自治系统要通过AS_PATH长度来改变路由优先级,只能设置更长的AS_PATH,不利于策略的灵活应用。

图7是本发明应用AS-PATH replace的场景示意图,在图7对应的组网中,BGP路由自治域路径替换的功能是可以替换现有的AS-PATH路径,也不会附加自己的AS号。例如在R3的出方向设置AS-PATH replace策略,R3通告出去的AS-PATH就会变为500,这样不仅没有增加AS-PATH的长度,还实现了选路,策略更加灵活了。此种应用策略的方式,需要在R4上配置no bgp enforce-first-as。

综上所述,通过本发明提供的一种BGP路由自治域路径替换(AS-PATH replace) 的方法,可以根据策略指定的BGP路径,对BGP路由的路径进行替换,AS-PATH设置多样化,选路更加灵活。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1