自治系统路径片段的分片方法及装置的制作方法

文档序号:7707134阅读:125来源:国知局
专利名称:自治系统路径片段的分片方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种自治系统路径片段的分片方法及装置。
背景技术
随着因特网的高速发展,互联网协议(Internet Protocol,简称为IP)网络的规 模越来越大。作为因特网的核心路由协议边界网关协议(Border Gateway Protocol,简 称为BGP),用于在自治系统(Autonomous System,简称为AS)间传递路由信息。因为其优 秀的扩展能力以及丰富的路由控制方法,BGP正发挥着越来越重要的作用。在BGP中定义了若干种属性(Attribute),这些属性被携带在每一条路由信息 中,随路由信息在运行BGP的路由器之间传递,并成为路由器进行路由决策的依据。其中, 自治系统路径(AS_PATH)属性包含了 AS列表,用来表示路由信息在传播过程中所经过的 所有AS。列表中所列的自治系统编号(AS Number),被有序的存储在自治系统序列(AS_ SEQUENCE)类型的片段(segment)当中,或者,被无序的存储在自治系统集合(AS_SET)类型 的segment当中,每个segment最多可存储255个AS Number。目前,在关于BGP的最新标准RFC4271中,仅规定当路由器向AS_SEQUENCE类型 的segment中添加本地的AS Number时,如果发生溢出(overflow,即AS Number总数超 过255),则需要新建一个AS_SEQUENCE类型的segment并将本地的AS Number存储在新 建的segment中。但是,基于网络设计以及路由控制策略的考虑,路由器除了添加本地的 AS Number之外,通过本地配置添加由多个AS Number组成的伪前缀是被允许的。当发生 overflow时,由于BGP标准中对如何进行分片的规定不清晰,并且对当路由器收到的AS_ PATH属性中含有多个segment时如何处理没有规定,导致现有各厂商路由器的BGP模块无 法正确处理AS_PATH属性,从而引起BGP邻居关系的异常中断。因此这将影响现有网络的 稳定性,以及新建网络中不同厂商设备间的互通性。针对相关技术中BGP协议中存储AS Number的segment发生overflow时如何进 行分片的问题,目前尚未提出有效的解决方案。

发明内容
针对相关技术中BGP协议中存储AS Number的segment发生overflow时如何进 行分片的问题而提出本发明,为此,本发明的主要目的在于提供一种改进的自治系统路径 片段的分片方案,以解决上述问题。为了实现上述目的,根据本发明的一个方面,提供了一种自治系统路径片段的分 片方法。根据本发明的自治系统路径片段的分片方法,用于对自治系统路径属性中的片段 进行分片,上述方法包括边界网关协议模块接收自治系统路径;边界网关协议模块根据 自治系统路径判断自治系统路径的已有片段中的可用空间是否小于边界网关协议模块中 待填入的自治系统编号的空间;如果判断结果为是,则新建用于存储自治系统编号的片段,
3并将新建的片段设置于已有片段之前。优选地,在边界网关协议模块根据自治系统路径判断可用空间是否小于空间之 后,上述方法还包括如果判断结果为否,则边界网关协议模块将自治系统编号填入自治系 统路径的已有片段中。优选地,在新建片段之前,上述方法还包括边界网关协议模块用自治系统编码将 自治系统路径的已有片段的可用空间填满。优选地,在新建片段之后,上述方法还包括边界网关协议模块对新建的片段的 空间进行判断,如果新建的片段的空间小于当前剩余的待填入的自治系统编号所需要的空 间,则边界网关协议模块确定需要继续新建另一个片段,并将另一个片段设置于自治系统 路径中所有片段之前。为了实现上述目的,根据本发明的另一方面,提供了一种自治系统路径片段的分 片装置。根据本发明的自治系统路径片段的分片装置包括接收模块,用于接收自治系统 路径;判断模块,用于根据接收模块接收的自治系统路径判断自治系统路径的已有片段中 的可用空间是否小于边界网关协议模块中待填入的自治系统编号的空间;新建模块,用于 在判断模块的判断结果为是的情况下,新建用于存储自治系统编号的片段;设置模块,用于 将新建模块新建的片段设置于已有片段之前。优选地,上述装置还包括填入模块,用于在判断模块的判断结果为否的情况下, 将自治系统编号填入自治系统路径的已有片段中。优选地,上述装置还包括处理模块,用于用自治系统编码将自治系统路径的已有 片段的可用空间填满。通过本发明,采用当segment溢出时,新建一个segment并将其放在所有segment 的前面,解决了相关技术中BGP协议中存储AS Number的segment发生overflow时无法进 行分片问题,进而完善了自治系统路径片段的分片功能。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的AS_PATH的分片方法的流程图;图2是根据本发明实施例的AS_PATH的分片方法的详细流程图;图3是根据本发明实施例的AS_PATH的分片装置的结构框图;图4是根据本发明实施例的AS_PATH的分片装置的优选结构框图。
具体实施例方式功能概述考虑到相关技术中BGP协议中存储AS Number的segment发生overflow时无 法进行分片问题,本发明实施例提供了一种改进的自治系统路径片段的分片方案,采用当 segment溢出时,新建一个segment并将其放在所有segment的前面,完善了自治系统路径 片段的分片功能。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。方法实施例根据本发明的实施例,提供了一种自治系统路径片段的分片方法,用于对AS_PATH 属性中的片段进行分片,图1是根据本发明实施例的AS_PATH的分片方法的流程图,如图1 所示,该方法包括如下的步骤S102至步骤S106 步骤S102,BGP 模块接收 AS_PATH;步骤S104,BGP模块根据AS_PATH判断AS_PATH的已有segment中的可用空间是 否小于BGP模块中待填入的AS Number的空间;步骤S106,如果判断结果为是,则新建用于存储AS Number的segment,并将新建 的segment设置于已有segment之前。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不 同于此处的顺序执行所示出或描述的步骤。下面对本发明实施例的实现过程进行详细描述。该过程包括如下的步骤A到步骤 E 步骤A,路由器的BGP模块接收待修改的AS_PATH属性。步骤B,BGP模块根据接收到的AS_PATH,判断该AS_PATH的已有Segment中的可 用空间是否小于BGP模块中待填入的ASNumber的空间;如果判断结果为否,则BGP模块将 AS Number填入AS_PATH的已有Segment中,S卩,如果Segment中的可用空间足够容纳本地 配置需要填入的AS Number,则将待填入的ASNumber按照配置所要求的顺序填入segment 以完成对AS_PATH属性的修改,否则执行步骤C。步骤C,在判断结果为是的情况下,BGP模块首先用自治系统编码将AS_PATH的已 有Segment的可用空间填满,即,按照配置所要求顺序将最前面的segment填满。步骤D,然后,新建用于存储AS Number的Segment,并将新建的Segment设置于已 有Segment之前。即,新建一个segment并将其放在所有segment的最前面。步骤E,BGP模块对新建的Segment的空间进行判断,如果新建的Segment的空 间小于当前剩余的待填入的AS Number所需要的空间,则BGP模块确定需要继续新建另一 个Segment,并将另一个Segment设置于AS_PATH中所有Segment之前。即,如果新建的 Segment中的空间足够容纳剩余待填入的AS Number,则将待填入的AS Number按照配置所 要求的顺序填入segment以完成对AS_PATH属性的修改,否则执行步骤C。下面将结合实例对本发明实施例的实现过程进行详细描述。图2是根据本发明实施例的AS_PATH处理方法的流程图,如图2所示,该流程包括 如下的步骤202至步骤214 步骤202 待修改的AS_PATH属性进入路由器的BGP模块,路由器的BGP模块接收 到待修改的AS_PATH属性,按照标准格式读取属性中的一个或多个segment,包括segment 类型、AS列表长度以及AS列表中AS Number值。步骤204 计算最前面一个segment中的可用空间(255减去已经填入的AS Number的数量),与通过本地配置需要填入的ASNumber数量比较,即,判断最前面的
5segment中的可用空间是否足够容纳待填的AS Number,在判断结果为是的情况下,进行到 步骤212,在判断结果为否的情况下,进行到步骤206。 步骤206,按照配置所要求的顺序将最前面的segment填满,并将AS列表长度相应 的修改为255。同时,计算剩余待填入的ASNumber数量。步骤208 新建一个segment,并将其置于最前面的位置。步骤210 将新建的segment中可用空间的数量与剩余待填入的AS Number数量 比较,即,判断新建的segment中的空间是否足够容纳剩余待填入的AS Number,在判断结 果为是的情况下,进行到步骤212,在判断结果为否的情况下,返回到步骤206。步骤212,此时,可用空间足够容纳待填入的(或剩余待填入的)AS Number数量, 将待填入的AS Number按照配置所要求的顺序填入segment,并将AS列表长度修改为已填 入的AS Number总数。步骤214,AS_PATH属性修改完成,流程结束。装置实施例根据本发明的实施例,提供了一种自治系统路径片段的分片装置,可以用于实现 上述的自治系统路径片段的分片方法。图3是根据本发明实施例的AS_PATH的分片装置的 结构框图,如图3所示,该装置包括接收模块2、判断模块4、新建模块6、设置模块8,下面 对上述结构进行描述。接收模块2,用于接收自治系统路径;判断模块4,连接至接收模块2,用于根据所 述接收模块2接收的所述自治系统路径判断所述自治系统路径的已有片段中的可用空间 是否小于边界网关协议模块中待填入的自治系统编号的空间;新建模块6,连接至判断模 块4,用于在所述判断模块4的判断结果为是的情况下,新建用于存储自治系统编号的片 段;设置模块8,连接至新建模块6,用于将所述新建模块6新建的所述片段设置于所述已有 片段之前。图4是根据本发明实施例的AS_PATH的分片装置的优选结构框图,如图4所示,该 装置还包括填入模块42和处理模块44,下面对上述结构进行描述。填入模块42,用于在所述判断模块4的判断结果为否的情况下,将所述自治系统 编号填入所述自治系统路径的已有片段中。处理模块44,连接至判断模块4和新建模块6,用于在判断模块4的判断结果为是 的情况下,在新建模块6新建片段之前,用所述自治系统编码将所述自治系统路径的所述 已有片段的可用空间填满。综上所述,通过本发明的上述实施例,提供了一种用于边界网关协议中,高效、 健壮的AS_PATH片段分片的方法,当路由器的BGP模块修改AS_PATH属性时,如果发生 overflow,可以正确的对segment进行高率的分片处理,从而增强了网络设计和部署的健 壮性,保障不同厂商设备间的互通性。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的
6硬件和软件结合。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种自治系统路径片段的分片方法,用于对自治系统路径属性中的片段进行分片,其特征在于,所述方法包括边界网关协议模块接收自治系统路径;所述边界网关协议模块根据所述自治系统路径判断所述自治系统路径的已有片段中的可用空间是否小于所述边界网关协议模块中待填入的自治系统编号的空间;如果判断结果为是,则新建用于存储自治系统编号的片段,并将新建的所述片段设置于所述已有片段之前。
2.根据权利要求1所述的方法,其特征在于,在所述边界网关协议模块根据所述自治 系统路径判断所述可用空间是否小于所述空间之后,所述方法还包括如果判断结果为否,则所述边界网关协议模块将所述自治系统编号填入所述自治系统 路径的已有片段中。
3.根据权利要求1所述的方法,其特征在于,在新建所述片段之前,所述方法还包括 所述边界网关协议模块用所述自治系统编码将所述自治系统路径的所述已有片段的可用空间填满。
4.根据权利要求3所述的方法,其特征在于,在新建所述片段之后,所述方法还包括 所述边界网关协议模块对所述新建的片段的空间进行判断,如果所述新建的片段的空间小于当前剩余的待填入的自治系统编号所需要的空间,则所述边界网关协议模块确定需 要继续新建另一个片段,并将所述另一个片段设置于所述自治系统路径中所有片段之前。
5.一种自治系统路径片段的分片装置,其特征在于,包括 接收模块,用于接收自治系统路径;判断模块,用于根据所述接收模块接收的所述自治系统路径判断所述自治系统路径的 已有片段中的可用空间是否小于边界网关协议模块中待填入的自治系统编号的空间;新建模块,用于在所述判断模块的判断结果为是的情况下,新建用于存储自治系统编 号的片段;设置模块,用于将所述新建模块新建的所述片段设置于所述已有片段之前。
6.根据权利要求5所述的装置,其特征在于,还包括填入模块,用于在所述判断模块的判断结果为否的情况下,将所述自治系统编号填入 所述自治系统路径的已有片段中。
7.根据权利要求5所述的装置,其特征在于,还包括处理模块,用于用所述自治系统编码将所述自治系统路径的所述已有片段的可用空间填?两。
全文摘要
本发明公开了一种AS_PATH片段的分片方法及装置,用于对AS_PATH属性中的片段进行分片,该方法包括BGP模块接收AS_PATH;BGP模块根据AS_PATH判断AS_PATH的已有片段中的可用空间是否小于BGP模块中待填入的AS_Number的空间;如果判断结果为是,则新建用于存储AS_Number的片段,并将新建的片段设置于已有片段之前。本发明完善了AS_PATH片段的分片功能。
文档编号H04L12/56GK101873300SQ20091013449
公开日2010年10月27日 申请日期2009年4月21日 优先权日2009年4月21日
发明者秦超 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1