一种提高路由压缩率设计方法
文献发布时间:2023-06-19 18:37:28
技术领域
本发明涉及通信技术领域,尤其涉及一种提高路由压缩率设计方法。
背景技术
在网络节点不断增加且节点不断移动的条件下,网络拓扑也在随之变化,路由表的增速越来越快,路由转发时间就会变长,为路由转发设备带来巨大的开销,导致路由信息同步速度减慢。
发明内容
本发明的目的在于提供一种提高路由压缩率设计方法,旨在解决现有的路由压缩率较低的问题。
为实现上述目的,本发明提供了一种提高路由压缩率设计方法,包括以下步骤:
基于多叉树生成多个域间子节点对应的域内多个下一跳路由表;
基于所述域间子节点对应的域内多个所述下一跳路由表信息,确定域间子节点对应的初始单一下一跳节点;
基于所述域间子节点对应的初始单一下一跳节点使用偏序规则对对每个域内子节点对应的域内下一跳节点路由表进行更新。
其中,所述基于多叉树生成多个域间子节点对应的域内多个下一跳路由表,包括:
基于路由表中网络构建对应的多叉树;
对所述多叉树进行路由聚合,生成多个域间子节点对应的域内多个下一跳路由表。
其中,所述基于域间子节点对应的域内多个所述下一跳路由表信息,确定当前域间子节点对应的初始单一下一跳节点,包括:
采用后序遍历方法遍历域间所述多叉树的各个子节点,得到多个下一跳路由表信息;
基于域间子节点对应的域内多个下一跳路由表信息,确定当前域间子节点对应的初始单一下一跳节点。
其中,所述基于域间子节点对应的初始单一下一跳节点使用偏序规则对对每个域内子节点对应的域内下一跳节点路由表进行更新,包括:
根据调整规则对每个比对节点的初始路由表值和路径拉伸值更新,生成对应的目标路由表值和路径拉伸值;
基于所述域间子节点对应的初始单一下一跳节点、所述目标路由表值和所述路径拉伸值使用筛选规则确定所述域间根节点对应的初始单一下一跳节点;
基于所述域间根节点对应的初始单一下一跳节点使用偏序规则对每个域内子节点对应的域内下一节点路由表进行更新。
其中,所述筛选规则为:预先设置好路由表阈值,如果某个初始单个下一跳节点的路由表值小于该阈值,并且该初始单个下一跳的路径拉伸值为其余下一跳路径拉伸值的最小值,则将该初始单个下一跳节点作为根节点初始单个下一跳节点。
其中,所述调整规则为:如果当前节点的初始单个下一跳节点与父节点对应的初始单个下一跳节点不一样,且所述父节点对应的所述初始单个下一跳节点为当前节点的下一跳时,将所述父节点对应的初始单个下一跳节点更换为当前节点对应的初始单个下一跳节点。
其中,所述父节点为当前遍历子节点的父节点。
本发明的一种提高路由压缩率设计方法,基于多叉树生成多个域间子节点对应的域内多个下一跳路由表,基于所述域间子节点对应的域内多个所述下一跳路由表信息,确定域间子节点对应的初始单一下一跳节点,基于所述域间子节点对应的初始单一下一跳节点使用偏序规则对对每个域内子节点对应的域内下一跳节点路由表进行更新,本发明构建多叉树,并通过筛选规则和调整规则更新多叉树节点信息,从而更新路由表实现路由压缩,该方法受网络环境影响较小,不仅可以实现路由优选,还大大缩减了路由表信息,从而解决现有的路由压缩率较低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种提高路由压缩率设计方法的流程图。
图2是本发明的实施流程图。
图3是本发明的多叉树示意图。
图4是本发明的生成初始路径拉伸值示意图。
图5是本发明的路由表更新示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
请参阅图1至图5,本发明提供一种提高路由压缩率设计方法,包括以下步骤:
S1基于多叉树生成多个域间子节点对应的域内多个下一跳路由表;
具体方式为:
S11基于路由表中网络构建对应的多叉树;
具体的,根据路由表中网络前缀之间的包含关系构建对应的多叉树及属性值。以目标网络前缀为域间根节点,以目标网络前缀对应的子网前缀作为域间子节点。其中,路由表值为Rx(n),路径拉伸值为Wx(n),其中n为当前节点,x为当前节点对应的多个下一跳节点的集合,Rx(n)为当前节点n选择x作为下一跳时路由表压缩后的值,Wx(n)为当前节点n选择x作为下一跳网络传输权重的数值。
S12对所述多叉树进行路由聚合,生成多个域间子节点对应的域内多个下一跳路由表。
具体的,对多叉树进行路由聚合,生成各个域间子节点对应的域内多个下一跳路由表。
S2基于所述域间子节点对应的域内多个所述下一跳路由表信息,确定域间子节点对应的初始单一下一跳节点;
具体方式为:
S21采用后序遍历方法遍历域间所述多叉树的各个子节点,得到多个下一跳路由表信息;
具体的,采用后序遍历方法遍历域间多叉树的各个子节点。
S22基于域间子节点对应的域内多个下一跳路由表信息,确定当前域间子节点对应的初始单一下一跳节点。
具体的,根据域间子节点对应的域内多个下一跳路由表信息,确定当前域间子节点对应的初始单一下一跳节点。
S3基于所述域间子节点对应的初始单一下一跳节点使用偏序规则对对每个域内子节点对应的域内下一跳节点路由表进行更新。
具体方式为:
S31根据调整规则对每个比对节点的初始路由表值和路径拉伸值更新,生成对应的目标路由表值和路径拉伸值;
具体的,根据调整规则对每个比对节点的初始路由表值和路径拉伸值更新,生成对应的目标路由表值和路径拉伸值。其中,初始路由表值为n作为当前域间子节点时的路由表值,初始路径拉伸值为n作为当前域间子节点时的路径拉伸值。
S32基于所述域间子节点对应的初始单一下一跳节点使用筛选规则确定所述域间根节点对应的初始单一下一跳节点;
具体的,预先设置好路由表阈值,如果某个初始单个下一跳节点的路由表值小于该阈值,并且该初始单个下一跳的路径拉伸值为其余下一跳路径拉伸值的最小值,则将该初始单个下一跳节点作为根节点初始单个下一跳节点。
S33基于所述域间根节点对应的初始单一下一跳节点使用偏序规则对每个域内子节点对应的域内下一跳节点路由表进行更新。
具体的,偏序规则:确定各个候选节点与邻居节点对应的中间下一跳节点,其中,候选节点为域内根节点之间的跳数和预设的跳数阈值相等的域内子节点,邻居节点为当前域内节点的相邻节点,中间下一跳节点为邻居节点对应的下一跳节点。当确定中间下一跳节点不是邻居节点对应的下一跳节点时,将中间下一跳路由器添加到域内子节点对应的域内下一跳路由表中。
路径拉伸值公式:
其中g(Rn)为Wx(Rn)的初始化路径拉伸值,Rs为源节点,Rd为目的节点,Ro为最优下一跳,Rn为非最优下一跳。
偏序公式:cost(R,Rk)+P 有益效果: 本发明提供一种提高路由压缩率设计方法,该方法构建多叉树,并通过筛选规则和调整规则更新多叉树节点信息,从而更新路由表实现路由压缩,该方法受网络环境影响较小,不仅可以实现路由优选,还大大缩减了路由表信息。 以上所揭露的仅为本发明一种提高路由压缩率设计方法较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。