一种路由表压缩方法、路由器及存储介质技术

技术编号:27824200 阅读:34 留言:0更新日期:2021-03-30 10:58
本发明专利技术公开了一种路由表压缩方法、路由器及存储介质,方法包括:根据预设的全球路由表中网络前缀之前包含关系,构建对应的域间多叉树;后序遍历各个域间节点,并根据域间子节点对应的域内多下一跳路由表,确定当前遍历的域间子节点对应的初始单一下一跳路由器;根据预设的筛选规则,确定初始单一下一跳路由器中域间根节点对应的初始单一下一跳路由器;先序遍历域间多叉树中各个域间节点,并对当前遍历的域间节点对应的初始单一下一跳路由器进行调整,直至遍历结束,将遍历结束后各个域间节点对应的初始单一下一跳路由器作为对应的目标单一下一跳路由器。本发明专利技术能够提高路由表的压缩效率。缩效率。缩效率。

【技术实现步骤摘要】
一种路由表压缩方法、路由器及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种路由表压缩方法、路由器及存储介质。

技术介绍

[0002]全球路由表大小在近年来一直保持着高速增长。2020年8月的最新数据显示,IPv4网络的路由表条目数量已经达到了873,896条,部署范围很小的IPv6网络的路由表条目数量也已经达到了94,439条。随着2019年11月26日IPv4地址正式耗尽,越来越多的IPv4地址区块从边缘网络流入骨干网络,加速了全球IPv4路由表的增长。同时,随着全球IPv6网络部署的逐步推进,全球IPv6路由表也在急剧增加,且增速远高于IPv4路由表。全球路由表决定了路由器中转发表的大小,为了满足高速的网络转发需求,转发表一般存储在昂贵且很难动态扩容的线卡内存中。因此,网络运营商必须定期升级路由器以适应不断增长的全球路由表。但随着全球路由表增速越来越快,路由器的升级速度越来越难跟上路由表的增长速度,运营商急需能减少转发表大小的策略和技术。
[0003]有很多方案被提出来解决该问题,一些方案中由于涉及到对现有网络协议的更改或者新网络协议的部署,并不能立刻缓解运营商的压力,它们都需要较长的时间来逐步部署生效。还有一类方案被称为路由表压缩,此类方案通过挖掘不同网络前缀之间的可聚合性来将多个网络前缀聚合成一个,以此达到减少路由表大小的目的,此类方案不需要对当前网络协议做任何改动,既可单点部署也可多点部署,并且在部署后能立刻生效,能立即缓解运营商压力,是当前最为可行的解决方案。目前,已经有很多基于单下一跳路由表的压缩方案,在兼顾性能的前提下,这些方案普遍能将路由表压缩至原大小的50%左右。虽然压缩后的路由表大小完全在现代高性能路由器的可承受范围内,但网络中依然存在一些没有升级的老旧路由器,即使是压缩后的路由表,某些老旧路由器也难以承受,因此需要压缩率更高的方案。

技术实现思路

[0004]本专利技术的主要目的在于提供一种路由表压缩方法、路由器及存储介质,旨在解决现有技术中路由表压缩率低的问题。
[0005]为实现上述目的,本专利技术提供一种路由表压缩方法,所述路由表压缩方法包括如下步骤:
[0006]根据预设的全球路由表中网络前缀之前包含关系,以目标网络前缀为域间根节点,以所述目标网络前缀对应的子网络前缀为域间子节点,构建对应的域间多叉树,其中,所述域间多叉树包括各个域间节点对应的属性值,所述域间节点包括所述域间根节点和所述域间子节点;
[0007]以所述域间多叉树的叶子节点为起点,以所述域间根节点为终点,遍历各个所述域间节点,并根据所述域间子节点对应的域内多下一跳路由表,确定当前遍历的域间子节点对应的初始单一下一跳路由器;
[0008]根据预设的筛选规则,确定所述初始单一下一跳路由器中所述域间根节点对应的初始单一下一跳路由器;
[0009]以所述域间根节点为起点,以所述域间多叉树的叶子节点为终点,遍历所述域间多叉树中各个域间节点,并对当前遍历的域间节点对应的初始单一下一跳路由器进行调整,直至遍历结束,将遍历结束后各个域间节点对应的初始单一下一跳路由器作为对应的目标单一下一跳路由器。
[0010]可选地,所述的路由表压缩方法,其中,所述属性值包括路由表值和路径拉伸值,其中,所述路由表值为G
x
(t),所述路径拉伸值为S
x
(t),t为所述域间节点,x为域间节点t对应的多下一跳集合中的路由器,G
x
(t)等于当t选择x作为对应的下一跳时路由器时路由表压缩后的数值,S
x
(t)等于当t选择x作为对应的下一跳网络传输权重的数值。
[0011]可选地,所述的路由表压缩方法,其中,所述根据所述域间子节点对应的域内多下一跳路由表,确定当前遍历的域间子节点对应的初始单一下一跳路由器,具体包括:
[0012]针对每一个域间子节点,根据该域间子节点对应的域内多下一跳路由表,确定该域间子节点对应的下一跳路由器为比对路由器;
[0013]据预设的更新规则,对各个所述比对路由器的初始路由表值和初始路径拉伸值更新,生成各个所述比对路由器对应目标路由表值和目标路径拉伸值,其中,所述初始路由表值为当t为当前遍历的域间子节点时对应的路由表值,所述初始路径拉伸值为当t为当前遍历的域间子节点时对应的路径拉伸值;
[0014]比较各个目标路由表值的大小,并将所述目标路由表值中的最小值对应的比对路由器作为所述域间子节点对应的初始单一下一跳路由器。
[0015]可选地,所述的路由表压缩方法,其中,所述根据预设的更新规则,对各个所述比对路由器的初始路由表值和初始路径拉伸值更新,生成各个所述比对路由器对应目标路由表值和目标路径拉伸值,具体包括:
[0016]针对每一个比对路由器,遍历各个相对子节点,其中,所述相对子节点为所述域间多叉树中相对于当前遍历的域内子节点为子节点的域间节点;
[0017]根据当前遍历的相对子节点对应的域内多下一跳路由表,以及该相对子节点与该比对路由器之间的路由表值,确定该域内子节点对应路由值更新公式和路径拉伸值更新公式;
[0018]根据所述路由值更新公式和所述路径拉伸值更新公式,对该域内子节点对应的初始路由表值和初始路径拉伸值更新,生成该比对路由器对应目标路由表值和目标路径拉伸值。
[0019]可选地,所述的路由表压缩方法,其中,所述筛选规则为:
[0020]若某一个初始单一下一跳路由器对应的目标路由表值小于预设的路由表阈值,且该初始单一下一跳路由器对应的目标路径拉伸值为所述初始单一下一跳路由器对应的目标路径拉伸值中的最小值,则确定该初始单一下一跳路由器为所述域间根节点对应的初始单一下一跳路由器。
[0021]可选地,所述的路由表压缩方法,其中,所述对当前遍历的域间节点对应的初始单一下一跳路由器进行调整,具体包括:
[0022]当当前遍历的域间子节点对应的初始单一下一跳路由器与相对父节点对应的初
始单一下一跳路由器不相等,且所述相对父节点对应的初始单一下一跳路由器为该域间子节点对应的下一跳路由器时,将所述相对父节点对应的初始单一下一跳路由器替换该域间子节点对应的初始单一下一跳路由器,其中,所述相对父节点为所述域间多叉树中相对于当前遍历的域内子节点的父节点。
[0023]可选地,所述的路由表压缩方法,其中,所述以所述域间多叉树的叶子节点为起点,以所述域间根节点为终点,遍历各个所述域间节点,并根据所述域间子节点对应的域内多下一跳路由表,确定当前遍历的域间子节点对应的初始单一下一跳路由器之前,还包括:
[0024]根据源路由器对应的域内下一跳路由表中各个路由器之间的连接关系,以所述源路由器为域内根节点,以各个所述路由器为域内子节点,创建对应的初始域内多叉树,其中,所述初始域内多叉树中的域内节点包括所述域内根节点和所述域内子节点;
[0025]对所述初始域内多叉树进行路径聚合,生成各个域内子节点对应的域内多下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种路由表压缩方法,其特征在于,所述路由表压缩方法包括:根据预设的全球路由表中网络前缀之前包含关系,以目标网络前缀为域间根节点,以所述目标网络前缀对应的子网络前缀为域间子节点,构建对应的域间多叉树,其中,所述域间多叉树包括各个域间节点对应的属性值,所述域间节点包括所述域间根节点和所述域间子节点;以所述域间多叉树的叶子节点为起点,以所述域间根节点为终点,遍历各个所述域间节点,并根据所述域间子节点对应的域内多下一跳路由表,确定当前遍历的域间子节点对应的初始单一下一跳路由器;根据预设的筛选规则,确定所述初始单一下一跳路由器中所述域间根节点对应的初始单一下一跳路由器;以所述域间根节点为起点,以所述域间多叉树的叶子节点为终点,遍历所述域间多叉树中各个域间节点,并对当前遍历的域间节点对应的初始单一下一跳路由器进行调整,直至遍历结束,将遍历结束后各个域间节点对应的初始单一下一跳路由器作为对应的目标单一下一跳路由器。2.根据权利要求1所述的路由表压缩方法,其特征在于,所述属性值包括路由表值和路径拉伸值,其中,所述路由表值为G
x
(t),所述路径拉伸值为S
x
(t),t为所述域间节点,x为域间节点t对应的多下一跳集合中的路由器,G
x
(t)等于当t选择x作为对应的下一跳时路由器时路由表压缩后的数值,S
x
(t)等于当t选择x作为对应的下一跳网络传输权重的数值。3.根据权利要求2所述的路由表压缩方法,其特征在于,所述根据所述域间子节点对应的域内多下一跳路由表,确定当前遍历的域间子节点对应的初始单一下一跳路由器,具体包括:针对每一个域间子节点,根据该域间子节点对应的域内多下一跳路由表,确定该域间子节点对应的下一跳路由器为比对路由器;据预设的更新规则,对各个所述比对路由器的初始路由表值和初始路径拉伸值更新,生成各个所述比对路由器对应目标路由表值和目标路径拉伸值,其中,所述初始路由表值为当t为当前遍历的域间子节点时对应的路由表值,所述初始路径拉伸值为当t为当前遍历的域间子节点时对应的路径拉伸值;比较各个目标路由表值的大小,并将所述目标路由表值中的最小值对应的比对路由器作为所述域间子节点对应的初始单一下一跳路由器。4.根据权利要求3所述的路由表压缩方法,其特征在于,所述根据预设的更新规则,对各个所述比对路由器的初始路由表值和初始路径拉伸值更新,生成各个所述比对路由器对应目标路由表值和目标路径拉伸值,具体包括:针对每一个比对路由器,遍历各个相对子节点,其中,所述相对子节点为所述域间多叉树中相对于当前遍历的域内子节点为子节点的域间节点;根据当前遍历的相对子节点对应的域内多下一跳路由表,以及该相对子节点与该比对路由器之间的路由表值,确定该域内子节点对应路由值更新公式和路径拉伸值更新公式;根据所述路由值更新公式和所述路径拉伸值更新公式,对该域内子节点对应的初始路由表值和初始路径拉伸值更新,生成该比对路由器对应目标路由表值和目标路径拉伸值。5.根据权利要求2所述的路由表压缩方法,其特征在于,所述筛选规则为:
若某一个初始单一下一跳路由器对应的目标路由表值小于预设的路由表阈值,且该初始单一下一跳路由器对应的目标路径拉伸值为所述初始单一下一跳路由器对应的目标路径拉伸值中的最小值,则确定该初始单一下一跳路由器为所述域间根节点对应的初始单一下一跳路由器。6.根据权利要求1所述的路由表压缩方法,其特征在于,所述对当前遍历的域间节点对应的初始单一下一跳路由器进行调整,具体包括:当当前遍历的域间子节点对应的初始单一下一跳路由器与相对父节点对应的初始单一下一跳路由器不相等,...

【专利技术属性】
技术研发人员:李清吴毅超江勇李伟超
申请(专利权)人:清华大学深圳国际研究生院南方科技大学
类型:发明
国别省市:

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

1