路由发布方法和装置制造方法及图纸

技术编号:18662483 阅读:38 留言:0更新日期:2018-08-11 16:22
本申请提供了路由发布方法和装置,本申请中,并不局限将路由属性完全相同的BGP路由携带在同一个UPDATE报文中发布出去,还可以将属性差异不大的BGP路由携带在同一个UPDATE报文中发布出去,这能够减少UPDATE报文发包次数,更快地把大量BGP路由发布出去,提高了BGP路由发布效率,也提高了BGP的收敛性能。

Routing publishing method and device

This application provides a routing publishing method and device. In this application, not only BGP routes with identical routing attributes can be carried out in the same UPDATE message, but also BGP routes with similar attributes can be carried out in the same UPDATE message. This can reduce the number of UPDATE packets, and more. Fast release of a large number of BGP routing, improve the efficiency of BGP routing publication, but also improve the convergence performance of BGP.

【技术实现步骤摘要】
路由发布方法和装置
本申请涉及网络通信技术,特别涉及路由发布方法和装置。
技术介绍
网络设备在监测到本设备与对端设备之间的BGP(BorderGatewayProtocol,边界网关协议)邻居成功建立时通过BGP邻居发布本地最优BGP路由,之后,只发布路由属性发生变化的最优BGP路由。其中,网络设备在发布BGP路由时,会将路由属性完全相同的BGP路由携带在同一个UPDATE(更新)报文中发布出去,这可以减少UPDATE报文发包次数,更快地把大量BGP路由发送出去,提高了BGP的收敛性能。BGP路由的路由属性适用于进行路由的控制和传播,包括但不限于以下属性参数:BGP路由团体路由属性、BGP路由本地优先级、BGP路由COST(成本)等。在很多场景下不同BGP路由的路由属性会存在差异,而路由属性存在差异的不同BGP路由是无法携带到同一个UPDATE报文中进行发布,这导致BGP路由发布效率低。
技术实现思路
本申请提供了路由发布方法和装置,以提高BGP路由发布效率。本申请提供的技术方案包括:一种路由发布方法,该方法应用于网络设备,包括:在发布边界网关协议BGP路由时,检查本地待发布的至少M个BGP路由组中BGP路由数量是否均小于指定门限值,同一BGP路由组中的BGP路由具有相同路由属性,不同BGP路由组中的BGP路由具有不同路由属性;M大于1且小于或等于本地待发布的所有BGP路由组的总数量L;在检查结果为是时,从BGP路由数量小于指定门限值的所有BGP路由组中选取至少两个不同BGP路由组中的BGP路由携带在同一个UPDATE报文中发布,选取的至少两个不同BGP路由组中的BGP路由具有的路由属性差异最小;其中,所述指定门限值小于UPDATE报文允许容纳的BGP路由数量N。一种路由发布装置,该装置应用于网络设备,包括:检查单元,用于在发布边界网关协议BGP路由时,检查本地待发布的至少M个BGP路由组中BGP路由数量是否均小于指定门限值,同一BGP路由组中的BGP路由具有相同路由属性,不同BGP路由组中的BGP路由具有不同路由属性;M大于1且小于或等于本地待发布的所有BGP路由组的总数量L;路由单元,用于在所述检查单元的检查结果为是时,从BGP路由数量小于指定门限值的所有BGP路由组中选取至少两个不同BGP路由组中的BGP路由携带在同一个UPDATE报文中发布,选取的至少两个不同BGP路由组中的BGP路由具有的路由属性差异最小;其中,所述指定门限值小于UPDATE报文允许容纳的BGP路由数量N。由以上技术方案可以看出,本申请中,并不局限将路由属性完全相同的BGP路由携带在同一个UPDATE报文中发布出去,还可以将属性差异不大的BGP路由携带在同一个UPDATE报文中发布出去,这能够减少UPDATE报文发包次数,更快地把大量BGP路由发布出去,提高了BGP路由发布效率,也提高了BGP的收敛性能。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1为本申请提供的路由发布方法流程图;图2为本申请提供的选取至少两个不同BGP路由组中的BGP路由携带在同一个UPDATE报文中发布的流程图;图3为本申请提供的对端设备收到第一UPDATE报文的处理流程图;图4为本申请提供的收到对端设备发布的第二UPDATE报文的处理流程图;图5为本申请提供的BGP路由组中BGP路由数量大于或等于指定门限值时的处理流程图;图6为本申请提供的装置结构示意图。具体实施方式本申请提供的路由发布方法,并不局限将路由属性完全相同的BGP路由携带在同一个UPDATE报文中发布出去,还可以将属性差异不大的BGP路由携带在同一个UPDATE报文中发布出去,这能够减少UPDATE报文发包次数,更快地把大量BGP路由发布出去,提高了BGP路由发布效率,也提高了BGP的收敛性能。为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述:参见图1,图1为本申请提供的路由发布方法流程图。该方法应用于运行BGP的网络设备。如图1所示,该流程可包括以下步骤:步骤101,在发布BGP路由时,检查本地待发布的至少M个BGP路由组中BGP路由数量是否均小于指定门限值,如果是,执行步骤102。在本申请中,为快速、高效发布相同路由属性的BGP路由,网络设备会将待发布的BGP路由按照路由属性进行分组,相同路由属性的BGP路由处于同一BGP路由组,而不同路由属性的BGP路由处于不同BGP路由组。需要说明的是,在本申请中,这里的BGP路由组可以是链表、hash(哈希)表等各种存储结构。步骤102,从BGP路由数量小于指定门限值的所有BGP路由组中选取至少两个不同BGP路由组中的BGP路由携带在同一个UPDATE报文中发布,选取的至少两个不同BGP路由组中的BGP路由具有的路由属性差异最小。这里,指定门限值远远小于UPDATE报文允许容纳的BGP路由数量N。在应用中,UPDATE报文的最大长度为4096,而UPDATE报文中路由属性占用500个字节,基于此,N依赖于UPDATE报文中路由属性占用的字节数、以及UPDATE报文的最大长度决定。至于路由属性差异最小,下文会进行解释,这里暂不赘述。至此,完成图1所示流程。可以看出,本申请中,选取至少两个不同BGP路由组(BGP路由数量小于指定门限值)中路由属性差异最小的BGP路由携带在同一个UPDATE报文中发布,这能够减少UPDATE报文发包次数,更快地把大量BGP路由发布出去,提高了BGP路由发布效率,也提高了BGP的收敛性能。在本申请中,为了实现上述步骤102中将路由属性差异最小的BGP路由携带在同一个UPDATE报文中发布,一种实现方式是默认所有设备都支持如下路由发布能力:将路由属性不同的BGP路由携带在同一个UPDATE报文中发布的能力。作为一个实施例,另一种实现方式是:本设备与对端设备协商是否支持上述路由发布能力。只有在本设备与对端设备协商均支持上述路由发布能力时,才执行步骤102。换言之,在执行上述步骤102之前,需要本设备与对端设备先协商支持上述路由发布能力。作为一个实施例,本设备与对端设备协商支持上述路由发布能力包括:在成功建立本设备与对端设备之间的BGP邻居时,将本设备具有的上述路由发布能力通知给对端设备(相当于能力协商);接收对端设备在成功建立与本设备之间的BGP邻居时通知的上述路由发布能力。需要说明的是,若本设备或对端设备不支持上述路由发布能力,则本设备在发布路由时可按照现有路由发布方式发布路由。在一个例子中,将本设备具有的上述路由发布能力通知给对端设备可通过UPDATE报文实现。其中,为了通过UPDATE报文将本设备具有的路由发布能力通知给对端设备,则需要对UPDATE报文进行改进,具体为:在UPDATE报文中额外增加一个能力属性字段,该能力属性字段用于携带支持上述路由发布能力的标识。需要说明的是,该能力属性字段在UPDATE报文的位置本申请并不具体限定,其可设置在UPDATE报文的最后,也可设置在UPDATE报文的首部,或者指定位置等。在一个例子中,由于这里的UPDATE报文仅是用于通知路由发布能力,并非用于发本文档来自技高网...

【技术保护点】
1.一种路由发布方法,其特征在于,该方法应用于网络设备,包括:在发布边界网关协议BGP路由时,检查本地待发布的至少M个BGP路由组中BGP路由数量是否均小于指定门限值,同一BGP路由组中的BGP路由具有相同路由属性,不同BGP路由组中的BGP路由具有不同路由属性;M大于1且小于或等于本地待发布的所有BGP路由组的总数量L;在检查结果为是时,从BGP路由数量小于指定门限值的所有BGP路由组中选取至少两个不同BGP路由组中的BGP路由携带在同一个UPDATE报文中发布,选取的至少两个不同BGP路由组中的BGP路由具有的路由属性差异最小;其中,所述指定门限值小于UPDATE报文允许容纳的BGP路由数量N。

【技术特征摘要】
1.一种路由发布方法,其特征在于,该方法应用于网络设备,包括:在发布边界网关协议BGP路由时,检查本地待发布的至少M个BGP路由组中BGP路由数量是否均小于指定门限值,同一BGP路由组中的BGP路由具有相同路由属性,不同BGP路由组中的BGP路由具有不同路由属性;M大于1且小于或等于本地待发布的所有BGP路由组的总数量L;在检查结果为是时,从BGP路由数量小于指定门限值的所有BGP路由组中选取至少两个不同BGP路由组中的BGP路由携带在同一个UPDATE报文中发布,选取的至少两个不同BGP路由组中的BGP路由具有的路由属性差异最小;其中,所述指定门限值小于UPDATE报文允许容纳的BGP路由数量N。2.根据权利要求1所述的方法,其特征在于,在检查结果为否时,该方法进一步包括:针对BGP路由数量大于或等于指定门限值的每一BGP路由组,比较该BGP路由组中BGP路由数量与N;若该BGP路由组中BGP路由数量小于或等于所述N,则将该BGP路由组中各BGP路由携带在同一个UPDATE报文中发布,并删除该BGP路由组;若该BGP路由组中BGP路由数量大于所述N,则将该BGP路由组中N条BGP路由携带在同一个UPDATE报文中发布,并从该BGP路由组中删除发布的该N条BGP路由,判断该BGP路由组剩余BGP路由的BGP路由数量是否小于指定门限值,若是,返回检查本地待发布的至少M个BGP路由组中BGP路由数量是否均小于指定门限值,若否,返回比较该BGP路由组中BGP路由数量与N。3.根据权利要求1所述的方法,其特征在于,在所述从BGP路由数量小于指定门限值的所有BGP路由组中选取至少两个不同BGP路由组中的BGP路由携带在同一个UPDATE报文中发布之前,该方法进一步包括:在成功建立本设备与对端设备之间的BGP邻居时,将本设备具有的路由发布能力通知给所述对端设备,所述路由发布能力是指将路由属性不同的BGP路由携带在同一个UPDATE报文中发布的能力;接收对端设备在成功建立与本设备之间的BGP邻居时通知的所述路由发布能力。4.根据权利要求1至3任一所述的方法,其特征在于,所述从BGP路由数量小于指定门限值的所有BGP路由组中选取至少两个不同BGP路由组中的BGP路由携带在同一个UPDATE报文中发布包括:将待发布的第一BGP路由组中BGP路由的第一路由属性、以及路由前缀信息携带在第一UPDATE报文的标准路由信息字段,第一BGP路由组为BGP路由数量小于指定门限值的任一BGP路由组;删除第一BGP路由组;从待发布的BGP路由数量小于指定门限值的各BGP路由组中查找第二BGP路由组,第二BGP路由组中BGP路由具有的第二路由属性与第一路由属性差异最小;在第一UPDATE报文扩展与第二BGP路由组对应的扩展路由信息字段;若第一UPDATE报文足以容纳第二BGP路由组中的所有BGP路由,则将第三路由属性、以及第二BGP路由组中BGP路由的路由前缀信息携带在与第二BGP路由组对应的扩展路由信息字段,删除第二BGP路由组;检查第一UPDATE报文是否已满,若否,返回查找第二BGP路由组的操作,若是,发布第一UPDATE报文;所述第三路由属性包括:所述第二路由属性中与所述第一路由属性不同的属性参数值;若第一UPDATE报文仅容纳第二BGP路由组中的L条BGP路由,则将第二路由属性、以及第二BGP路由组中L条BGP路由的路由前缀信息携带在与第二BGP路由组对应的扩展路由信息字段,发布第一UPDATE报文。5.根据权利要求4所述的方法,其特征在于,该方法进一步包括:接收对端设备发布的第二UPDATE报文;从第二UPDATE报文的标准路由信息字段中解析出第四路由属性;针对第二UPDATE报文的每一扩展路由信息字段,从该扩展路由信息字段中解析出第五路由属性;依据所述第五路由属性、获取的属性参数、以及该扩展路由信息字段中的路由前缀信息生成BGP路由。6.一种路由发布装置,其特征在于,该装置应用于...

【专利技术属性】
技术研发人员:朱超鹏
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1