[发明专利]多分支Trie树的遍历方法无效

专利信息
申请号: 200710048783.0 申请日: 2007-03-30
公开(公告)号: CN101277252A 公开(公告)日: 2008-10-01
发明(设计)人: 刘宝琴 申请(专利权)人: 迈普(四川)通信技术有限公司
主分类号: H04L12/56 分类号: H04L12/56;G06F17/30
代理公司: 成都虹桥专利事务所 代理人: 李顺德
地址: 610041四川省成*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 分支 trie 遍历 方法
【说明书】:

技术领域

发明涉及网络技术,特别涉及IP地址查找方法。

背景技术

随着Internet的迅猛发展,用于主干网络互联的核心路由器的接口速率已经达到了2.5Gbit/s到10Gbit/s。这一速率要求核心路由器能够每秒钟转发几百万到上千万个以上的分组。分组转发的重要一步就是查找路由表,因此快的IP地址查找算法是实现高分组转发的关键技术。IP地址查找需要实现最长前缀匹配。传统的二进制Trie树和路径压缩Trie树的不足之处在于查找过程需要大量的存储器访问操作。近几年来,随着对路由器研究的逐步深入以及对于路由器性能要求的不断提高,人们提出了多分支Trie树查找算法,与二进制Trie树和路径压缩Trie树等传统的地址前缀查找方法相比,这个算法在查找性能方面有了很大的提高。

如果把每一次查找中需要检查的比特数称为查找步宽,那么二分支Trie树实际上就是查找步宽为1的Trie树,多分支Trie树(或称为m-trie树)是查找步宽大于1的Trie树。

多分支Trie树算法是基于前缀长度空间内的线性查找思想,但是由于多分支Trie树采用大于1的步宽,所以查找性能得到了很大的提高。假设多分支Trie树的每一步步宽均为K,当查找地址长度为W时,查找过程的算法复杂度为(W/K)。多分支Trie树的每一个中间结点都需要包含2K个分支,最差情况下每加入一个新前缀,需要在Trie树中加入W/K个中间结点,从而需要占用存储空间为(2K×W/K),所以N个前缀多分支Trie树的存储容量为(2K×N×W/K)。对多分支Trie树来说,查找速度与存储容量是一对互相矛盾的性能指标。当步宽K较大时,Trie树的深度相对较大,查找性能较差,但是存储空间的需求小。因此可以根据实际系统的软、硬件条件选择多分支Trie树的步宽K值。

由于多分支Trie树查找过程中的每一步需要检查多个比特,因此它不能支持任意长度的地址前缀。为了能够用多分支Trie树来进行前缀查找,路由表中的地址前缀需要转换成多分支Trie树查找能够允许的地址前缀才行,最直接的方法就是前缀扩展法。如:前缀1*所覆盖的地址范围既可以扩展为:10*,11*,也可以扩展为:100*,101*,110*,111*

当用m-trie树组织IP前缀表时,有时需要遍历整个m-trie树,而由于m-trie的节点是扩展过的,可能多个节点存储的信息都是同一个IP前缀,故在遍历时需要从各个节点中恢复出原来的IP前缀,针对真实的IP前缀做需要的处理,而不是针对每个节点做处理,以免针对一个IP前缀处理多次。遍历的一般的做法是记录已处理过的前缀项,与后续需要处理的节点中的前缀进行比较,这通常需要消耗大量的内存,性能也较低。另一种做法是在各个IP前缀的具体信息中增加字段,使整个表中的IP前缀链起来成为线性表,这种方法遍历性能较高,但会使本已很庞大的m-trie树占用更多内存,而且此方法存在另一个问题是,其处理前缀时没有顺序,按加入的顺序处理,当在显示前缀项时,其输出的IP前缀项是没有顺序的,这不利于检查和问题定位,若要改进其无序的问题,则会增加更新m-trie树的复杂度。

发明内容

本发明所要解决的技术问题,就是提供一种多分支Trie树的遍历方法,以提高遍历性能,并降低内存消耗。

本发明解决所述技术问题,采用的技术方案是,多分支Trie树的遍历方法,包括以下步骤:

a.从根节点开始遍历,每次遍历一个块;

b.判断节点是否为有效节点,对有效节点计算其前缀和掩码;

c.根据计算得到的前缀和掩码,判断节点对应的前缀是否已经处理过;若是,则遍历下一个节点,否则用遍历时传入的处理函数处理此前缀;

d.处理完一个节点,记录此节点对应的前缀、掩码、所在级数、节点的位置信息以及位置存储的前缀、掩码和块首指针信息。

进一步的,步骤c中,下列判断结果为是,则所述节点对应的前缀已处理过:

判断节点的前缀与上次处理过的节点的前缀是否相等或较小;

判断节点的掩码与上次处理过的节点的掩码是否相等或较小。

特别的,步骤c中,所述处理函数为输出函数,所述处理此前缀是指输出此前缀。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普(四川)通信技术有限公司,未经迈普(四川)通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200710048783.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top