边界网关协议BGP路由的处理方法和装置与流程

文档序号:24189450发布日期:2021-03-09 14:40阅读:134来源:国知局
边界网关协议BGP路由的处理方法和装置与流程
边界网关协议bgp路由的处理方法和装置
技术领域
1.本发明涉及网络通信技术领域,特别涉及边界网关协议bgp路由的处理方法和装置。


背景技术:

2.边界网关协议(border gateway protocol,bgp)是一种用于自治系统之间的动态网络路由协议,而自治系统之间往往需要通过bgp协议转发大量的路由,尤其是网络规模比较大的时候,路由数目也会变得十分庞大,相应地,存储路由就需要占用大量的内存资源,传输和处理路由也需要占用大量的带宽和处理器资源。
3.目前,在对bgp路由进行处理时,通常根据bgp路径属性对bgp路由进行聚合来创建bgp路由组,然后根据bgp路由组创建bgp绑定流。然而,虽然该方式采用了bgp路由聚合的方式,但实际只是对具有相同bgp路径属性的bgp路由进行了分类,bgp路由的数目并没有减少。


技术实现要素:

4.本发明实施例提供了一种边界网关协议bgp路由的处理方法和装置,能够减少bgp路由的数量。
5.第一方面,本发明实施例提供了一种边界网关协议bgp路由的处理方法,该方法包括:
6.获取至少两个待处理的bgp路由单元;其中,每一个所述bgp路由单元携带一个唯一的ip地址;
7.根据所述至少两个待处理的bgp路由单元,确定至少两个待聚合的原始bgp路由;
8.将至少两个待聚合的原始bgp路由划分在至少一个bgp路由集合中;其中,每一个所述bgp路由集合中的至少两个原始bgp路由的ip地址连续;
9.针对每一个所述bgp路由集合,将该bgp路由集合中的各个所述原始bgp路由进行聚合处理。
10.在一种可能的实现方式中,所述针对每一个所述bgp路由集合,将该bgp路由集合中的各个所述bgp路由进行聚合处理,包括:
11.将所述bgp路由集合中的m个原始bgp路由按照ip地址从小到大的顺序进行排序;
12.从排序后的m个原始bgp路由中选取依次相邻的n个原始bgp路由;n不大于m,且n等于2的n次方;其中,所述m、n和n均为正整数;
13.将选取的依次相邻的n个原始bgp路由进行ip地址的聚合计算,得到聚合ip地址;
14.生成对应于该bgp路由集合的聚合路由;所述聚合路由的ip地址为所述聚合ip地址。
15.在一种可能的实现方式中,所述进行ip地址的聚合计算得到聚合ip地址,包括:
16.将所述n个原始bgp路由的ip地址转换为二进制形式的ip地址;
17.将n个所述二进制形式的ip地址对比,确定所述聚合ip地址的第一标识位;其中,所述第一标识位为n个所述二进制形式的ip地址中共有的部分所对应的十进制部分;
18.确定所述二进制形式的ip地址的原始地址长度;
19.将所述原始地址长度与所述n作差值,得到所述聚合ip地址的第二标识位;其中,所述第二标识位用于表征二进制形式的所述聚合ip地址的地址长度;
20.按照所述第一标识位、第三标识位和所述第二标识位的顺序合并得到所述聚合ip地址;其中,所述第三标识位为0。
21.在一种可能的实现方式中,所述至少两个待处理的bgp路由单元中的每一个bgp路由单元均为:未被聚合过的所述原始bgp路由;则
22.所述根据所述至少两个待处理的bgp路由单元确定至少两个待聚合的原始bgp路由,包括:将所述至少两个待处理的原始bgp路由,确定为所述至少两个待聚合的原始bgp路由。
23.在一种可能的实现方式中,所述至少两个待处理的bgp路由单元中的至少一个bgp路由单元为未被聚合过的所述原始bgp路由,所述至少两个待处理的bgp路由单元中的至少一个bgp路由单元为已被聚合处理过的聚合路由;
24.所述根据所述至少两个待处理的bgp路由单元确定至少两个待聚合的原始bgp路由,包括:
25.针对每一个已被聚合处理过的聚合路由,对该聚合路由包括的聚合ip地址进行解聚合处理,得到至少两个原始bgp路由的连续的ip地址;
26.将未被聚合过的所述原始bgp路由以及所述得到的连续的ip地址对应的原始bgp路由,确定至少两个待聚合的原始bgp路由。
27.在一种可能的实现方式中,所述对该聚合路由包括的聚合ip地址进行解聚合处理包括:
28.根据如下公式,计算对所述聚合路由的聚合ip地址进行解聚合后得到的原始bgp路由的ip地址数量:
29.n1=2
32-l
30.其中,n1用于表征聚合ip地址进行解聚合后得到的原始bgp路由的ip地址数量,l用于表征所述聚合ip地址的地址长度;
31.以所述聚合ip地址作为初始地址,将所述聚合ip地址生成n1个地址连续的ip地址。
32.第二方面,本发明实施例还提供了一种边界网关协议bgp路由的处理装置,包括:获取模块、确定模块、划分模块和聚合模块;
33.所述获取模块,用于获取至少两个待处理的bgp路由单元;其中,每一个所述bgp路由单元携带一个唯一的ip地址;
34.所述确定模块,用于根据所述获取模块获取到的所述至少两个待处理的bgp路由单元,确定至少两个待聚合的原始bgp路由;
35.所述划分模块,用于将所述确定模块确定出的至少两个待聚合的原始bgp路由划分在至少一个bgp路由集合中;其中,每一个所述bgp路由集合中的至少两个原始bgp路由的ip地址连续;
36.所述聚合模块,用于针对所述划分模块划分出的每一个所述bgp路由集合,将该bgp路由集合中的各个所述原始bgp路由进行聚合处理。
37.在一种可能的实现方式中,所述聚合模块,用于执行如下操作:
38.将所述bgp路由集合中的m个原始bgp路由按照ip地址从小到大的顺序进行排序;
39.从排序后的m个原始bgp路由中选取依次相邻的n个原始bgp路由;n不大于m,且n等于2的n次方;其中,所述m、n和n均为正整数;
40.将选取的依次相邻的n个原始bgp路由进行ip地址的聚合计算,得到聚合ip地址;
41.生成对应于该bgp路由集合的聚合路由;所述聚合路由的ip地址为所述聚合ip地址。
42.在一种可能的实现方式中,所述聚合模块,用于执行如下操作:
43.将所述n个原始bgp路由的ip地址转换为二进制形式的ip地址;
44.将n个所述二进制形式的ip地址对比,确定所述聚合ip地址的第一标识位;其中,所述第一标识位为n个所述二进制形式的ip地址中共有的部分所对应的十进制部分;
45.确定所述二进制形式的ip地址的原始地址长度;
46.将所述原始地址长度与所述n作差值,得到所述聚合ip地址的第二标识位;其中,所述第二标识位用于表征二进制形式的所述聚合ip地址的地址长度;
47.按照所述第一标识位、第三标识位和所述第二标识位的顺序合并得到所述聚合ip地址;其中,所述第三标识位为0。
48.在一种可能的实现方式中,所述至少两个待处理的bgp路由单元中的每一个bgp路由单元均为:未被聚合过的所述原始bgp路由;则
49.所述确定模块,用于将所述至少两个待处理的原始bgp路由,确定为所述至少两个待聚合的原始bgp路由。
50.由上述技术方案可知,当待处理的bgp路由单元中存在至少两个ip地址连续的原始bgp路由时,可以将该ip地址连续的原始bgp路由划分到一个bgp路由集合中,然后对每一个bgp路由集合中的各个原始bgp路由进行聚合。如此,可以将ip地址连续的多个原始bgp路由聚合为一个bgp路由,从而实现降低bgp路由数量的目的。
附图说明
51.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
52.图1是本发明一个实施例提供的一种边界网关协议bgp路由的处理方法的流程图;
53.图2是本发明一个实施例提供的一种边界网关协议bgp路由的处理装置的结构示意图。
具体实施方式
54.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.如图1所示,本发明实施例提供了一种边界网关协议bgp路由的处理方法,该方法可以包括:
56.步骤101:获取至少两个待处理的bgp路由单元;其中,每一个bgp路由单元携带一个唯一的ip地址;
57.步骤102:根据至少两个待处理的bgp路由单元,确定至少两个待聚合的原始bgp路由;
58.步骤103:将至少两个待聚合的原始bgp路由划分在至少一个bgp路由集合中;其中,每一个bgp路由集合中的至少两个原始bgp路由的ip地址连续;
59.步骤104:针对每一个bgp路由集合,将该bgp路由集合中的各个原始bgp路由进行聚合处理。
60.在本发明实施例中,当待处理的bgp路由单元中存在至少两个ip地址连续的原始bgp路由时,可以将该ip地址连续的原始bgp路由划分到一个bgp路由集合中,然后对每一个bgp路由集合中的各个原始bgp路由进行聚合。如此,可以将ip地址连续的多个原始bgp路由聚合为一个bgp路由,从而实现降低bgp路由数量的目的。
61.在一种可能的实现方式中,当针对每一个bgp路由集合,将该bgp路由集合中的各个bgp路由进行聚合处理时,具体可以包括:
62.将bgp路由集合中的m个原始bgp路由按照ip地址从小到大的顺序进行排序;
63.从排序后的m个原始bgp路由中选取依次相邻的n个原始bgp路由;n不大于m,且n等于2的n次方;其中,m、n和n均为正整数;
64.将选取的依次相邻的n个原始bgp路由进行ip地址的聚合计算,得到聚合ip地址;
65.生成对应于该bgp路由集合的聚合路由;聚合路由的ip地址为聚合ip地址。
66.在本发明实施例中,通过将bgp路由集合中的各个原始bgp路由按照ip地址进行排序,然后可以从排序后的原始bgp路由中确定出数量满足2的n次方的原始bgp路由。进一步,将得到的该数量满足2的n次方的原始bgp路由进行ip地址的聚合计算,从而根据该聚合后的聚合ip地址可以得到对应于该bgp路由集合的聚合路由。由此可见,本方案通过将ip地址连续的,且数量满足2的n次方的原始bgp路由进行聚合,不仅能够实现将这些原始bgp路由的数量降低。而且,以数量满足2的n次方为必要条件,能够保证生成的聚合ip地址与这些原始bgp路由唯一对应。
67.在一种可能的实现方式中,在对ip地址进行聚合计算得到聚合ip地址时,具体可以包括:
68.将n个原始bgp路由的ip地址转换为二进制形式的ip地址;
69.将n个二进制形式的ip地址对比,确定聚合ip地址的第一标识位;其中,第一标识位为n个二进制形式的ip地址中共有的部分所对应的十进制;
70.确定二进制形式的ip地址的原始地址长度;
71.将原始地址长度与n作差值,得到聚合ip地址的第二标识位;其中,第二标识位用于表征二进制形式的聚合ip地址的地址长度;
72.按照第一标识位、第三标识位和第二标识位的顺序合并得到聚合ip地址;其中,第
三标识位为0。
73.在本发明实施例中,在对ip地址进行聚合时,通过将各待聚合的bgp路由所对应的ip地址进行比较,将二进制形式的ip地址中共有的部分所对应的十进制确定为第一标识位,根据ip地址的原始长度与上述n值的差确定出用于表征聚合ip地址长度的第二标识位,然后将各个标识位按照顺序确定出聚合ip地址。由此可见,本方案通过利用聚合ip地址的地址长度来标识该聚合ip地址是由几个原始bgp路由的ip地址聚合而成的。然后通过利用各原始bgp路由中所共有的部分来标识该聚合ip地址。因此,通过此方式能够根据该待聚合的bgp路由的ip地址,唯一得到bgp聚合路由的聚合ip地址,从而可以保证对bgp路由进行处理时的准确性。
74.在一种可能的实现方式中,至少两个待处理的bgp路由单元中的每一个bgp路由单元均为:未被聚合过的原始bgp路由;则
75.根据至少两个待处理的bgp路由单元确定至少两个待聚合的原始bgp路由,包括:将至少两个待处理的原始bgp路由,确定为至少两个待聚合的原始bgp路由。
76.在本发明实施例中,当至少两个待处理的bgp路由单元中均为未被聚合过的原始bgp路由时,也就是说,通过该未被聚合的原始bgp路由可以清楚的确定出其与其它原始bgp路由之间的连续关系,从而可以完成相应的聚合计算。因此,可直接将该原始bgp路由确定为待聚合的原始bgp路由。
77.在一种可能的设计中,当至少两个待处理的bgp路由单元中的至少一个bgp路由单元为未被聚合过的原始bgp路由,且至少两个待处理的bgp路由单元中的至少一个bgp路由单元为已被聚合处理过的聚合路由。那么,在根据至少两个待处理的bgp路由单元确定至少两个待聚合的原始bgp路由是时,具体可以包括如下步骤:
78.针对每一个已被聚合处理过的聚合路由,对该聚合路由包括的聚合ip地址进行解聚合处理,得到至少两个原始bgp路由的连续的ip地址;
79.将未被聚合过的原始bgp路由以及得到的连续的ip地址对应的原始bgp路由,确定至少两个待聚合的原始bgp路由。
80.在本发明实施例中,如果待处理的bgp路由单元中存在已被聚合处理过的聚合路由时,需要将该聚合路由进行解聚合,然后再根据解聚合后的各个原始bgp路由与未被聚合过的原始bgp路由确定待聚合的原始bgp路由。通过此方式,可以对已经被聚合过,且满足再次被聚合条件的bgp路由进行划分,从而可以实现对bgp聚合路由进行进一步的聚合。如此,能够使bgp路由的数量得到进一步的减少,从而大大解除了bgp路由所占用的存储资源和带宽。
81.在一种可能的实现方式中,在对聚合路由包括的聚合ip地址进行解聚合处理时,具体可以包括如下步骤:
82.根据如下公式,计算对聚合路由的聚合ip地址进行解聚合后得到的原始bgp路由的ip地址数量:
83.n1=2
32-l
84.其中,n1用于表征聚合ip地址进行解聚合后得到的原始bgp路由的ip地址数量,l用于表征聚合ip地址的地址长度;
85.以聚合ip地址作为初始地址,将聚合ip地址生成n1个地址连续的ip地址。
86.在本发明实施例中,如果待处理的bgp路由单元中包括已经被聚合处理过的bgp聚合路由,在从待处理的bgp路由单元中确定待聚合的原始bgp路由时,需要对该bgp聚合路由进行解聚合。具体地,通过确定该bgp聚合路由解聚合后所能得到的ip地址数量,然后根据该数量并结合聚合ip地址即可以确定各个解聚合后的ip地址。因此,该方案能够适用于已经聚合过的bgp路由,通过对已经聚合过的bgp路由再次在满足聚合条件的情况下进行聚合,能够进一步扩大聚合量,以使更多的原始bgp路由被聚合,从而显著的减少bgp的数量。
87.本发明各个实施例所提供的bgp路由的处理方法主要包括两种情况:
88.第一、对未被聚合过的各个bgp路由进行聚合;
89.第二、在被处理的bgp路由中存在已经被聚合过的bgp路由。
90.下面对本发明实施例所提供的边界网关协议bgp路由的处理方法所包括的上述两种情况作进一步详细的说明。
91.第一种情况:对未被聚合过的各个bgp路由进行聚合。
92.s11:获取至少两个待处理的bgp路由单元,并将该至少两个待处理的bgp路由单元确定为待聚合的原始bgp路由。
93.由于获取到的待处理的bgp路由单元均为未被聚合过的,因此,该待处理的bgp路由单元所对应的各个ip地址应包含完整的地址长度。例如四个bgp路由所对应的ip地址分别为168.192.1.0/32,168.192.1.1/32,168.192.1.2/32,168.192.1.3/32,即其具有共同的地址长度32位。而当bgp路由被聚合后,其ip地址的地址长度将小于32。如将上述四个ip地址聚合后的ip地址为168.192.1.0/30。因此,在本实例中即可将上述四个bgp路由确定为待聚合的原始路由。
94.s12:确定bgp路由集合。
95.在本步骤中,当确定出待聚合的原始bgp路由时,需要对这些待聚合的原始bgp路由进行划分,即需要确定对哪些原始bgp路由确定聚合为一个bgp聚合路由,当然还需要保证的是,这些要被聚合为一个bgp聚合路由的原始bgp路由的ip地址是连续的。
96.例如,如168.192.1.0/32,168.192.1.1/32,168.192.1.2/32,168.192.1.3/32,168.192.1.6/32和168.192.1.8/32这6个原始bgp路由的ip地址,可以任意将不少于两个ip地址连续的原始bgp路由确定为一个bgp路由集合。比如,可以将上述168.192.1.0/32和168.192.1.1/32划分为一个bgp路由集合,当然,还可以考虑将上述168.192.1.0/32,168.192.1.1/32、168.192.1.2/32和168.192.1.3/32四个bgp路由集合划分为一个bgp路由集合。具体可以根据实际情况进行算法设计,当然在上述例中,将四个原始bgp路由划分为一个bgp路由集合,在后续进行bgp路由聚合时,所能聚合的bgp数量也就更多,从而减少的bgp路由的数量也就更多。
97.s13:对bgp路由集合中的各个原始bgp路由进行排序。
98.由于获取到的bgp路由的顺序不定,因此存在bgp路由并不是有顺序的排列的,即获取到的各个bgp路由的ip地址是无序的。而后续由于需要获取ip地址连续的原始bgp路由,从而此步骤对各个原始bgp路由按照地址大小进行排序。例如,某一个bgp集合中有6条原始bgp路由a至f,其对应的ip地址分别为168.192.1.2/32,168.192.1.0/32,168.192.1.8/32,168.192.1.5/32,168.192.1.1/32和168.192.1.3/32,按照ip地址进行排序后的顺序为168.192.1.0/32,168.192.1.1/32,168.192.1.2/32,168.192.1.3/32,
168.192.1.5/32和168.192.1.8/32。
99.s14:从排序后的各个原始bgp路由中确定依次相邻的n个原始bgp路由。
100.由于本发明实施例实现bgp路由聚合的构思主要是通过降低ip地址的地址长度来实现,二进制形式的ip地址由四个字节构成,而每个字节由8位,每一位可以表示2的n次方个值。因此,所要进行聚合的原始bgp路由的数量n应该要满足2的n次方,如2、4、8、16等。如此才能保证聚合后的ip地址与其所对应的各个原始bgp路由的ip地址唯一对应。
101.如接上述例,即可以将168.192.1.0/32,168.192.1.1/32,168.192.1.2/32,168.192.1.3/32这四个ip地址相邻的bgp路由确定为需要被聚合的原始bgp路由。
102.s15:对选取的依次相邻的n个原始bgp路由的ip地址进行聚合计算。
103.在本发明实施例中,所提到的ip地址包括三个部分,第一标识位,第二标识位和第三标识位。其中第一标识位即为要聚合的n个原始bgp路由对应的ip地址中所共有的部分,如上述例中的168.192.1.0/32,168.192.1.1/32,168.192.1.2/32,168.192.1.3/32这四个相邻ip地址中共有的部分168.192.1.这三个字节即为第一标识位。而第二标识位是表征该ip地址长度的字节,如上述例中的/32即表征该原始bgp路由所对应的ip地址长度为32位。第三标识位为各原始bgp路由所不同的字节,如上述例中的0、1、2和3。
104.在确定聚合后的bgp聚合路由的聚合ip地址时,首先需要通过对比共有位确定第一标识位,即确定前三个字节。然后确定聚合后的聚合ip地址的长度,而聚合ip地址的长度由聚合前的各原始bgp路由的数量来决定,即由上述的n来决定。n决定了n的值,通过原始bgp路由的原始地址长度与n作差值即为聚合ip地址的长度。因为在聚合后需要将ip地址降低,并将第三标识位置为0来获得聚合ip地址,而第三标识位占用一个字节,也就是8位,其对应着从0到255。例如当有两个ip地址聚合,分别为168.192.1.0/32,168.192.1.1/32,那么在二进制形式下,其所对应的这8位中的最后一位分别为0和1,那么此时通过聚合,将ip地址聚合为168.192.1.0/31。如此,标识该ip地址为31位,其第32位包括0和1两种情况,即实现了对这两个连续地址的聚合。再比如,当有四个连续的ip地址聚合时,分别为168.192.1.0/32,168.192.1.1/32,168.192.1.2/32和168.192.1.3/32,由聚合的bgp路由的数量与减少的ip地址位数之间的关系满足2的n次方可知,此四个ip地址聚合,ip地址需要减少两位,而这四个ip地址的末两位分别对应00、01、10和11,此时通过聚合后得到的bgp聚合路由的聚合ip地址为168.192.1.0/30。如此ip地址为30位,也就是说,剩余的第31位和第32位可以任意取值,即有上述的00、01、10和11四种情况。因此,通过第一标识位、第二标识位和第三标识位可以确定出聚合后的ip地址,从而完成对原始bgp路由的聚合。
105.第二种情况:在被处理的bgp路由中存在已经被聚合过的bgp路由。
106.当至少两个待处理的bgp路由单元中的至少一个bgp路由单元为未被聚合过的原始bgp路由,且至少两个待处理的bgp路由单元中的至少一个bgp路由单元为已被聚合过的聚合路由。那么,在根据至少两个待处理的bgp路由单元确定至少两个待聚合的原始bgp路由时(即对应上述第一种情况中的步骤s11),需要针对每一个已被聚合处理过的聚合路由,对该聚合路由包括的聚合ip地址进行解聚合,得到至少两个bgp路由的连续的ip地址,然后将未被聚合过的原始bgp路由以及解聚合得到的连续的ip地址对应的原始bgp路由,确定出至少两个待聚合的原始bgp路由。
107.例如当待处理的bgp路由单元分别为168.192.1.0/31,168.192.1.2/32和
168.192.1.3/32,其中由地址长度可知,168.192.1.0/31为经过聚合处理过的bgp聚合路由,而168.192.1.2/32和168.192.1.3/32为没有经过聚合处理的。此时可以将该168.192.1.0/31 ip地址解聚合为168.192.1.0/32和168.192.1.1/32,那么,168.192.1.0/32、168.192.1.1/32、168.192.1.2/32和168.192.1.3/32依然为连续的ip地址,且满足聚合的条件,因此可以将该四个ip地址确定为待聚合的原始bgp路由。如此,在进行聚合时,可以实现将该四个bgp路由聚合为一个bgp聚合路由,相比之前的将两个bgp路由聚合为一个bgp聚合路由更加能减少bgp路由的数量。
108.此处需要说明的是,第二种情况与第一种情况的不同之处由上述第二种情况所描述,其它的步骤和细节与第一种情况一致,详见第一种情况,此处不再赘述。
109.如图2所示,本发明实施例还提供了一种边界网关协议bgp路由的处理装置,包括:获取模块201、确定模块202、划分模块203和聚合模块204;
110.获取模块201,用于获取至少两个待处理的bgp路由单元;其中,每一个bgp路由单元携带一个唯一的ip地址;
111.确定模块202,用于根据获取模块201获取到的至少两个待处理的bgp路由单元,确定至少两个待聚合的原始bgp路由;
112.划分模块203,用于将确定模块202确定出的至少两个待聚合的原始bgp路由划分在至少一个bgp路由集合中;其中,每一个bgp路由集合中的至少两个原始bgp路由的ip地址连续;
113.聚合模块204,用于针对划分模块203划分出的每一个bgp路由集合,将该bgp路由集合中的各个原始bgp路由进行聚合处理。
114.如图2所示的边界网关协议bgp路由的处理装置,在一种可能的设计中,聚合模块204,用于执行如下操作:
115.将bgp路由集合中的m个原始bgp路由按照ip地址从小到大的顺序进行排序;
116.从排序后的m个原始bgp路由中选取依次相邻的n个原始bgp路由;n不大于m,且n等于2的n次方;其中,m、n和n均为正整数;
117.将选取的依次相邻的n个原始bgp路由进行ip地址的聚合计算,得到聚合ip地址;
118.生成对应于该bgp路由集合的聚合路由;聚合路由的ip地址为聚合ip地址。
119.如图2所示的边界网关协议bgp路由的处理装置,在一种可能的设计中,聚合模块204,用于执行如下操作:
120.将n个原始bgp路由的ip地址转换为二进制形式的ip地址;
121.将n个二进制形式的ip地址对比,确定聚合ip地址的第一标识位;其中,第一标识位为n个二进制形式的ip地址中共有的部分所对应的十进制;
122.确定二进制形式的ip地址的原始地址长度;
123.将原始地址长度与n作差值,得到聚合ip地址的第二标识位;其中,第二标识位用于表征二进制形式的聚合ip地址的地址长度;
124.按照第一标识位、第三标识位和第二标识位的顺序合并得到聚合ip地址;其中,第三标识位为0。
125.如图2所示的边界网关协议bgp路由的处理装置,在一种可能的设计中,至少两个待处理的bgp路由单元中的每一个bgp路由单元均为:未被聚合过的原始bgp路由;则
126.确定模块202,用于将至少两个待处理的原始bgp路由,确定为至少两个待聚合的原始bgp路由。
127.如图2所示的边界网关协议bgp路由的处理装置,在一种可能的设计中,至少两个待处理的bgp路由单元中的至少一个bgp路由单元为未被聚合过的原始bgp路由,至少两个待处理的bgp路由单元中的至少一个bgp路由单元为已被聚合处理过的聚合路由;
128.确定模块202,用于执行如下操作:
129.针对每一个已被聚合处理过的聚合路由,对该聚合路由包括的聚合ip地址进行解聚合处理,得到至少两个原始bgp路由的连续的ip地址;
130.将未被聚合过的原始bgp路由以及得到的连续的ip地址对应的原始bgp路由,确定为至少两个待聚合的原始bgp路由。
131.如图2所示的边界网关协议bgp路由的处理装置,在一种可能的设计中,确定模块202,用于执行如下操作:
132.根据如下公式,计算对聚合路由的聚合ip地址进行解聚合后得到的原始bgp路由的ip地址数量:
133.n1=2
32-l
134.其中,n1用于表征聚合ip地址进行解聚合后得到的原始bgp路由的ip地址数量,l用于表征聚合ip地址的地址长度;
135.以聚合ip地址作为初始地址,将聚合ip地址生成n1个地址连续的ip地址。
136.本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
137.本说明书还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现说明书中任一个实施例中的方法。
138.可以理解的是,本发明实施例示意的结构并不构成对边界网关协议bgp路由的处理装置的具体限定。在本发明的另一些实施例中,边界网关协议bgp路由的处理装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
139.上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
140.需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
141.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
142.最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1