首页 / 专利库 / 专利权 / 申请 / 一种路由处理方法及装置

一种路由处理方法及装置

阅读:77发布:2023-02-27

专利汇可以提供一种路由处理方法及装置专利检索,专利查询,专利分析的服务。并且本 申请 提供一种路由处理方法及装置,该方法包括:路由接收设备在接收到的路由中获取携带 迭代 标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为 接口 地址时添加的;通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;禁止所述两条路由指导转发。因此本申请可以避免产生环路的情况,减少对循环迭代的判断次数。,下面是一种路由处理方法及装置专利的具体信息内容。

1.一种路由处理方法,其特征在于,所述方法应用于路由接收设备,所述方法包括:
在接收到的路由中获取携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的;
通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;
禁止所述两条路由指导转发。
2.根据权利要求1所述的方法,其特征在于,
所述迭代标识,包括标志字段和身份字段,其中所述标志字段包含循环迭代检测标识;
所述身份字段包含路由发布设备对应的标识。
3.根据权利要求2所述的方法,其特征在于,所述通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由,具体包括:
在所述路由中获取迭代标识中身份字段相同的路由;
在所述身份字段相同的路由中获取第一路由;
判断在所述身份字段相同的路由中是否存在与第一路由的目的路由及下一跳互逆的第二路由,若是,则确定所述第一路由和第二路由是互为下一跳及目的路由的两条路由,若否,则将所述第一路由添加到路由表项中。
4.一种路由处理方法,其特征在于,所述方法应用于路由发布设备,所述方法包括:
当确定第一路由的目的路由和下一跳均为接口地址时,在所述第一路由中添加迭代标识;
发布携带所述迭代标识的第一路由,以使路由接收设备收到该第一路由时,通过所述第一路由携带的迭代标识查找出与该第一路由互为下一跳及目的路由的第二路由,并禁止所述第一路由和第二路由指导转发。
5.根据权利要求4所述的方法,其特征在于,所述在所述第一路由中添加迭代标识,具体为:
在所述第一路由中添加迭代标识,所述迭代标识包括标志字段和身份字段,其中所述标志字段包含循环迭代检测标识;所述身份字段包含路由发布设备对应的标识。
6.一种路由处理装置,其特征在于,所述装置应用于路由接收设备,所述装置包括:
路由获取单元,用于在接收到的路由中获取携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的;
路由查找单元,用于通过路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;
路由处理单元,用于禁止所述两条路由指导转发。
7.根据权利要求6所述的装置,其特征在于,所述路由获取单元获取的路由中携带的迭代标识,包括标志字段和身份字段,其中所述标志字段包含循环迭代检测标识;所述身份字段包含路由发布设备对应的标识。
8.根据权利要求7所述的装置,其特征在于,
所述路由查找单元,具体用于在所述路由中获取迭代标识中身份字段相同的路由;在所述身份字段相同的路由中获取第一路由;判断在所述身份字段相同的路由中是否存在与第一路由的目的路由及下一跳互逆的第二路由,若是,则确定所述第一路由和第二路由是互为下一跳及目的路由的两条路由,若否,则将所述第一路由添加到路由表项中。
9.一种路由处理装置,其特征在于,所述装置应用于路由发布设备,所述装置包括:
标识添加单元,用于当确定第一路由的目的路由和下一跳均为接口地址时,在所述第一路由中添加迭代标识;
路由发布单元,用于发布携带所述迭代标识的第一路由,以使路由接收设备收到该第一路由时,通过所述第一路由携带的迭代标识查找出与该第一路由互为下一跳及目的路由的第二路由,并禁止所述所述第一路由和第二路由指导转发。
10.根据权利要求9所述的装置,其特征在于,
所述标识添加单元,具体用于在所述第一路由中添加迭代标识,所述迭代标识包括标志字段和身份字段,其中所述标志字段包含循环迭代检测标识;所述身份字段包含路由发布设备对应的标识。

说明书全文

一种路由处理方法及装置

技术领域

[0001] 本申请涉及通信技术领域,尤其涉及一种路由处理方法及装置。

背景技术

[0002] 路由协议计算中存在循环迭代的情况,所谓循环迭代是指分别以对方作为下一跳的两条路由,比如一条路由目的地址是A,下一跳地址B,而另外一条路由,目的地址B,下一跳地址A,那么两条路由就会出现相互之间反复迭代的情况。循环迭代会造成CPU长时间处理路由计算的状态,消耗内存。
[0003] 申请内容
[0004] 有鉴于此,本申请提供一种路由处理方法及装置来解决现有技术中循环迭代的问题。
[0005] 具体地,本申请是通过如下技术方案实现的:
[0006] 本申请提供一种路由处理方法,所述方法应用于路由接收设备,所述方法包括:
[0007] 在接收到的路由中获取携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的;
[0008] 通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;
[0009] 禁止所述两条路由指导转发。
[0010] 本申请还提供一种路由处理方法,所述方法应用于路由发布设备,所述方法包括:
[0011] 当确定第一路由的目的路由和下一跳均为接口地址时,在所述第一路由中添加迭代标识;
[0012] 发布携带所述迭代标识的第一路由,以使路由接收设备收到该第一路由时,通过所述第一路由携带的迭代标识查找出与该第一路由互为下一跳及目的路由的第二路由,并禁止所述所述第一路由和第二路由指导转发。
[0013] 基于相同的构思,本申请还提供一种路由处理装置,所述装置应用于路由接收设备,所述装置包括:
[0014] 路由获取单元,用于在接收到的路由中获取携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的;
[0015] 路由查找单元,用于通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;
[0016] 路由处理单元,用于禁止所述两条路由指导转发。
[0017] 本申请还提供一种路由处理装置,所述装置应用于路由发布设备,所述装置包括:
[0018] 标识添加单元,用于当确定第一路由的目的路由和下一跳均为接口地址时,在所述第一路由中添加迭代标识;
[0019] 路由发布单元,用于发布携带所述迭代标识的第一路由,以使路由接收设备收到该第一路由时,通过所述第一路由携带的迭代标识查找出与该第一路由互为下一跳及目的路由的第二路由,并禁止所述所述第一路由和第二路由指导转发。
[0020] 由此可见,本申请可以通过路由接收设备在接收到的路由中获取携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的;通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;禁止所述两条路由指导转发。因此本申请可以避免产生环路的情况,减少对循环迭代的判断次数。附图说明
[0021] 图1是本申请一种示例性实施方式中的BGP组网示意图;
[0022] 图2是本申请一种示例性实施方式中的一种路由处理方法的处理流程图
[0023] 图3是本申请一种示例性实施方式中的另一种路由处理方法的处理流程图;
[0024] 图4a本申请一种示例性实施方式中的路由处理装置所在的路由接收设备的硬件结构图;
[0025] 图4b本申请一种示例性实施方式中的一种路由处理装置的逻辑结构图;
[0026] 图5a本申请一种示例性实施方式中的路由处理装置所在的路由发送设备的硬件结构图;
[0027] 图5b本申请一种示例性实施方式中的另一种路由处理装置的逻辑结构图。

具体实施方式

[0028] 循环迭代的情况一般会出现在BGP(Border Gateway Protocol,边界网关协议)或者静态路由协议中,其中针对静态路由协议的情况,可以通过避免配置分别以对方作为下一跳的路由,即可解决;然而由于BGP和网络相关,无法直观的通过配置来规避,因此在BGP中无法避免循环迭代的问题。
[0029] 现有技术通常都是通过迭代的次数作为判断的条件,当迭代达到一定的次数后,会抑制迭代,那么最终就会抑制掉一条路由,使得循环迭代无法继续下去,从而消除循环迭代的状态。但是对于BGP的一些组网,上述方法可能会出现路由环路的问题。
[0030] 如图1所示组网中,5台DUT设备组成一个BGP组网,假设DUT1和DUT2为出现循环迭代的设备,DUT1学习到2条路由,分别是A下一跳是B,B下一跳是A,当B下一跳是A的路由被抑制时,那么对于一般抑制方案来说,对于下一跳是A的路由都被抑制了,那么从DUT5发给DUT1的路由,下一跳都是B的激活了;同时在DUT2下一跳是A的路由都被抑制时,DUT5发给DUT2的路由下一跳都是A的激活了,那么就会存在环路,从DUT1发送到DUT5来的路由就会在DUT1和DUT2之间循环,出现路由环路的问题。环路的情况下,循环迭代计算时需要反复多次判断,导致处理效率比较低。
[0031] 为了解决现有技术存在的问题,本申请实施例提供一种路由处理方法及装置,可以通过路由接收设备在接收到的路由中获取携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的;通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;禁止所述两条路由指导转发。因此本申请实施例可以避免产生环路的情况,减少对循环迭代的判断次数。
[0032] 请参考图2,是本申请一种示例性实施方式中的另一种路由处理方法的处理流程图,所述方法应用于路由发布设备,在本实施例中该方法包括:
[0033] 步骤201、当确定第一路由的目的路由和下一跳均为接口地址时,在所述第一路由中添加迭代标识;
[0034] 在本实施例中,BGP组网中的转发设备可以根据对路由不同的处理方式划分为路由发布设备和路由接收设备,其中路由发布设备即发布路由的转发设备,路由接收设备即接收路由的转发设备,路由发布设备和路由接收设备可以部署在同一个转发设备中,也可以部署在不同的转发设备中。
[0035] 路由发布设备可以在发布第一路由时判断路由中的目的路由和下一跳是否均为同一设备的接口地址,所谓的接口地址通常为物理接口的地址;若确定第一路由的目的路由和下一跳均为同一设备接口地址时,可以在所述第一路由中添加迭代标识。具体来讲,路由发布设备可以在所述第一路由中添加迭代标识,所谓的迭代标识可以是一段字符串,其具体可以包括标志字段和身份字段,其中该标志字段包含用于告知路由接收设备进行循环迭代判断的循环迭代检测标识,在其中一个实施例中,不同路由的迭代标识中的所述标志字段可以相同;
[0036] 该身份字段包含路由发布设备对应的标识,用于路由接收设备查找到循环迭代路由。在其中一个实施例中,该迭代标识可以是个特殊的属性community值,该community值的前部分为标志字段,其可以使用固定字符串来标识,例如使用固定的4bit内容为1111作为标志字段,当路由接收设备确定路由中携带该标志字段,则说明该路由需要进行循环迭代的判断;该community值的后部分为身份字段,其可以通过能够唯一表示路由发布设备的信息计算得出,例如基于路由发布设备的MAC地址以通过MD5校验计算出一个值作为身份字段,由于计算身份字段的信息具有唯一性,因此可以使community值与路由发布设备一一对应。
[0037] 步骤202、发布携带所述迭代标识的第一路由,以使路由接收设备收到该第一路由时,通过所述第一路由携带的迭代标识查找出与该第一路由互为下一跳及目的路由的第二路由,并禁止所述所述第一路由和第二路由指导转发。
[0038] 路由发布设备进一步发布该携带迭代标识的第一路由,以使路由接收设备收到该第一路由时,通过所述第一路由携带的迭代标识查找出与该第一路由互为下一跳及目的路由的第二路由,并禁止所述所述第一路由和第二路由指导转发。
[0039] 由此可见,本申请可以通过路由发布设备在确定第一路由的目的路由和下一跳均为接口地址时,在所述第一路由中添加迭代标识;并发布携带所述迭代标识的第一路由,以使路由接收设备收到该第一路由时,通过所述第一路由携带的迭代标识查找出与该第一路由互为下一跳及目的路由的第二路由,并禁止所述所述第一路由和第二路由指导转发。因此本申请可以避免产生环路的情况,减少对循环迭代的判断次数。
[0040] 请参考图3,是本申请一种示例性实施方式中的一种路由处理方法的处理流程图,所述方法应用于路由接收设备,在本实施例中该方法包括:
[0041] 步骤301、在接收到的路由中获取携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的;
[0042] 针对路由接收设备而言,在收到路由时,可以在接收到的路由中查找携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的。因此路由接收设备可以获取携带迭代标识的路由来进一步筛选具有触发循环迭代条件的路由。
[0043] 步骤302、通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;
[0044] 所述路由接收设备获取携带迭代标识的路由后,可以进一步通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由。具体来讲,由于上述迭代标识中的身份字段与路由发布设备对应,因此路由接收设备可以通过在所述路由中获取迭代标识中身份字段相同的路由,来筛选出属于同一路由发布设备发布的路由;然后在所述身份字段相同的路由中可以任意获取第一路由,并在所述身份字段相同的路由中判断是否存在目的路由及下一跳与所述第一路由互逆的第二路由,所谓的互逆是指第一路由的下一跳与第二路由的目的路由相同,第一路由的目的路由与第二路由的下一跳相同。若存在,则确定所述第一路由和第二路由是互为下一跳及目的路由的两条路由,换言之,说明该第一路由和第二路由具备循环迭代的触发条件;若否,则说明该第一路由不具备循环迭代的触发条件,因此可以将该第一路由添加到路由表项中。
[0045] 需要说明的是,由于MAC地址一般为48bit,若身份字段也为48bit,则可以使身份标识具有唯一性,从而可以通过查找身份字段相同的路由来获取属于同一路由发布设备的路由;而若身份字段为16bit时,由于要将48bit的MAC地址换算成16bit的身份字段,所以会存在多个MAC地址计算成同一个16bit值的情况,也就是说通过查找身份字段相同的路由可能获取属于多个路由发布设备的路由,虽然这种换算方式在计算的过程中会导致计算次数会增加,但是这些路由中由于路由发布设备的不同,其产生的路由肯定是存在差异,所以在所述身份字段相同的路由中判断是否存在目的路由及下一跳与所述第一路由互逆的第二路由时,即可区分出来,因此上述换算方法不会影响针对互为下一跳和目的路由的路由查找结果的准确性,而这样做的好处在于,可以节省迭代标识中的身份字段的长度,从而减少带宽的占用。
[0046] 步骤303、禁止所述两条路由指导转发。
[0047] 当确定所述第一路由和第二路由是互为下一跳及目的路由的两条路由,即确定所述两条路由具有循环迭代触发条件时,可以禁止所述两条路由指导转发。在其中一个实施例中,路由接收设备可以通过降低这两条路由的优先级,使这两条路由的优先级低于现有路由中的最高优先级,从而避免将这两条路由添加到路由表项中指导转发,以实现禁止指导转发。因此本申请可以通过对具有循环迭代触发条件的路由进行禁止指导转发的处理,从而降低循环迭代的判断次数,避免路由环路的问题。
[0048] 由此可见,本申请可以通过路由接收设备在接收到的路由中获取携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的;通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;禁止所述两条路由指导转发。因此本申请可以避免产生环路的情况,减少对循环迭代的判断次数。
[0049] 为使本申请的目的、技术方案及优点更加清楚明白,下面结合图1对本申请的方案作进一步地详细说明。
[0050] 基于图1中的BGP组网,若假设DUT5与DUT3通过接口A建立BGP邻居时,那么在发布接口B网段路由(即第一路由)的时候,下一跳即为接口A,目的路由为接口B;同理,若DUT5与DUT4之间通过接口B建立BGP邻居,那么在发布接口A网段路由(即第二路由)的时候,下一跳即为接口B,目的路由为接口A;由于上述第一路由的下一跳和目的路由目的分别对应第二路由的目的路由和下一跳,因此第一路由和第二路由具有触发循环迭代的条件。
[0051] 针对这种情况,DUT5在发布路由的时候,可以先判断该路由的目的路由和下一跳是否均为同一设备上的接口地址,若是,则说明这条路由满足循环迭代触发的条件,从而为该路由添加迭代标识,例如community值,该community值前4bit为标识字段,可以固定使用1111来标识,说明该路由用于循环迭代的判断,后面16bit为身份字段,使用DUT5的MAC地址换算得出,例如可以通过MD5校验计算出一个16bit的值。因此DUT5发布上述第一路由和第二路由的时候,由于第一路由和第二路由的目的路由和下一跳均为设备上的接口地址,则为第一路由和第二路由分别添加community值,其中第一路由的community值的标识字段为
1111,身份字段通过DUT5的MAC地址换算得出;第二路由的community值的标识字段为1111,身份字段通过DUT5的MAC地址换算得出,所以第一路由和第二路由的community值相同。然后DUT5将携带community值的第一路由和第二路由发布到BGP组网中。
[0052] 假设DUT1收到第一路由和第二路由时,可以通过第一路由和第二路由携带的community值中的标识字段,确定所述第一路由和第二路由需要进行循环迭代判断;然后进一步判断第一路由和第二路由的身份字段是否相同,若相同,则说明第一路由和第二路由来自同一台路由发布设备;在此基础上,判断第一路由和第二路由是否为互为下一跳及目的路由的两条路由,若是,则说明第一路由和第二路由具有循环迭代的触发条件,因此可以将第一路由和第二路由的优先级降低,从而避免将这两条路由添加到DUT1的路由表项中,从而避免这两条路由被高优先级选中。上述过程中,如果判断结果为否,则说明第一路由和第二路由不具有循环迭代的触发条件,因此可以加入路由表项,按照一般路由进行处理。
[0053] 因此本申请可以通过为迭代标识筛选出具有循环迭代触发条件的路由,从而大幅减少路由的对比次数,提高路由计算的效率。
[0054] 综上所述,可以看出,本申请可以很大程度上减少循环迭代判断次数,提高CPU利用率,并且解决BGP迭代中出现的路由环路问题。
[0055] 基于相同的构思,本申请还提供一种路由处理装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本申请的路由处理整装置作为一个逻辑意义上的装置,是通过其所在装置的CPU将存储器中对应的计算机程序指令读取后运行而成。
[0056] 请参考图4a,是本申请一种示例性实施方式中的一种路由处理装置400,所述装置应用于路由接收设备,该装置基本运行环境包括CPU,存储器以及其他硬件,从逻辑层面上来看,该装置400的逻辑结构如图4b所示,其中包括:
[0057] 路由获取单元401,用于在接收到的路由中获取携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的;
[0058] 路由查找单元402,用于通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;
[0059] 路由处理单元403,用于禁止所述两条路由指导转发。
[0060] 在其中一个实施例中,所述路由获取单元获取的路由中的迭代标识包括标志字段和身份字段,其中所述标志字段包含循环迭代检测标识;所述身份字段包含路由发布设备对应的标识。
[0061] 在其中一个实施例中,所述路由查找单元402,具体用于在所述路由中获取迭代标识中身份字段相同的路由;在所述身份字段相同的路由中获取第一路由;判断在所述身份字段相同的路由中是否存在与第一路由的目的路由及下一跳互逆的第二路由,若是,则确定所述第一路由和第二路由是互为下一跳及目的路由的两条路由,若否,则将所述第一路由添加到路由表项中。
[0062] 请参考图5a,是本申请一种示例性实施方式中的另一种路由处理装置500,所述装置应用于路由发布设备,该装置基本运行环境包括CPU,存储器以及其他硬件,从逻辑层面上来看,该装置500的逻辑结构如图5b所示,其中包括:
[0063] 标识添加单元501,用于当确定第一路由的目的路由和下一跳均为接口地址时,在所述第一路由中添加迭代标识;
[0064] 路由发布单元502,用于发布携带所述迭代标识的第一路由,以使路由接收设备收到该第一路由时,通过所述第一路由携带的迭代标识查找出与该第一路由互为下一跳及目的路由的第二路由,并禁止所述所述第一路由和第二路由指导转发。
[0065] 可选的,所述标识添加单元501,具体用于在所述第一路由中添加迭代标识,所述迭代标识包括标志字段和身份字段,其中所述标志字段包含循环迭代检测标识;所述身份字段包含路由发布设备对应的标识。
[0066] 由此可见,本申请可以通过路由接收设备在接收到的路由中获取携带迭代标识的路由,所述迭代标识是路由发布设备在确定路由的目的路由和下一跳均为接口地址时添加的;通过所述路由携带的迭代标识查找出互为下一跳及目的路由的两条路由;禁止所述两条路由指导转发。因此本申请可以避免产生环路的情况,减少对循环迭代的判断次数。
[0067] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0068] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0069] 以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈