路由存储、查找的方法及装置制造方法及图纸

技术编号:4126107 阅读:284 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种路由存储方法,该方法包括:将一条路由在检索节点内的分支与所述路由在终结节点内的分支进行合并;将合并后的所述路由存储于超级终结节点内,所述超级终结节点预留有供三条路由存储的空间。本发明专利技术同时公开一种路由存储装置。采用本发明专利技术可以大大提升节点存储空间的有效率,在大规模路由容量下,使得存储空间大大降低。本发明专利技术还提供一种按上述路由存储方法所存储路由的查找方法、以及利用上述路由存储装置进行存储的路由的查找装置。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及路由存储、查找的方法及装置
技术介绍
随着网络规模的迅猛发展,对路由器产品的表项容量提出了越来越高的需求,路由表项的数据量越来越大,路由器的IPV4 (Internet Protocol Versio n 4,互联网协议第4版)FIB (Forwarding Information Table,路由转发表) 已经要求实现百万条的数量级。使用TCAM (ternary content addressable me mory,三态内容可寻址存储器)的方案,功耗大、单片容量小,需要很多芯 片级联来实现大容量的路由存放,工程上实现难度大,基于算法的查找则能 解决这些问题。现有技术提供多种算法以解决上述大容量路由査找的问题,例如多叉树 (multi-tree)算法就是在解决大容量路由查找问题中应用比较广泛的一种最长 匹配算法。这种算法首先把FIB表根据左0右1的二叉树规则构造成 一个二进制树(binary tree)来表示,然后按照给定的步长r来划分节点,每 r位存储在一级节点内。例如,给定步长3,每3位前缀(prefix)存储在一级 节点内。另外,同一节点的所有子节点按照顺序在内存中连续存储,同一节 点的结果索引信息也存储在连续的内存中,这样只用一个指针再加上偏移量 就可以索引到相应的子节点。检索节点(trie node)、终结节点(end node)是Multi-Trie算法中用到 的节点类型,trie node表示下挂有分支,end node指没有子节点,查找到此 结束,另外还有一种内部节点(internal node)表示trie node内部存在的前缀 信息。每种节点类型都需要占用128bit的存储空间。专利技术人在实现本专利技术的过程中,发现现有技术中存在如下不足 路由存储占用的内存空间较大,导致硬件实现难度大,例如,采用上述multi-tree算法进行最长匹配查找,按照目前IPV4的路由分布,19~24长度前缀 分布最多,25 32长度前缀也有少量分布,在最坏情况下,25-31完全随机分 布,由于路由比较稀疏,每个分支上可能只会有l条路由,此时trienode、 internal node和end node这3个128bit的节点才能存放1条路由,将浪费大 量的节点空间。
技术实现思路
本专利技术实施例提供一种路由存储方法,用以降低路由存储空间,该方法包括将一条路由在检索节点内的分支与所述路由在终结节点内的分支进行合并;将合并后的所述路由存储于超级终结节点内,所述超级终结节点预留有 供三条路由存储的空间。本专利技术实施例还提供一种按上述路由存储方法所存储路由的査找方法,用以实现按上述路由存储方法所存储路由的查找,该设备包括将当前查找报文的目的IP地址分别与超级终结节点中所存储每一条路由的IP地址进行匹配;选择最长匹配的IP地址对应路由作为查找结果返回。本专利技术实施例还提供一种路由存储装置,用以降低路由存储空间,该装 置包括合并模块,用于将一条路由在检索节点内的分支与所述路由在终结节点 内的分支进行合并;存储模块,用于将合并后的所述路由存储于超级终结节点内,所述超级 终结节点预留有供三条路由存储的空间。本专利技术实施例还提供一种利用上述路由存储装置进行存储的路由的査找 装置,用以实现利用上述路由存储装置进行存储的路由的查找,该装置包括:匹配模块,用于将当前查找报文的目的IP地址分别与超级终结节点中所 存储每一条路由的IP地址进行匹配;査找结果返回模块,用于选择最长匹配的IP地址对应路由作为查找结果 返回。本专利技术实施例中,将一条路由在检索节点内的分支与所述路由在终结节 点内的分支进行合并;将合并后的所述路由存储于超级终结节点内,所述超 级终结节点预留有供三条路由存储的空间,从而大大提升了节点存储空间的 有效率,在大规模路由容量下,使得存储空间大大降低。本专利技术实施例中,在查找超级终结节点所存储路由时,将当前査找报文 的目的IP地址分别与超级终结节点中所存储每一条路由的IP地址进行匹配; 选择最长匹配的IP地址对应路由作为查找结果返回,从而实现了超级终结节 点所存储路由的查找。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在 附图中图1为本专利技术实施例中路由存储方法的处理流程图; 图2、图4为本专利技术实施例中路由分支示意图; 图3为本专利技术实施例中路由存储方法的示意图; 图5为本专利技术实施例中合并存储路由的示意图6为本专利技术实施例中按图1所示路由存储方法所存储路由的查找方法的处理流程图7、图8为本专利技术实施例中路由査找方法的具体实例的流程图; 图9为本专利技术实施例中路由存储装置的结构示意图10为本专利技术实施例中利用图9所示路由存储装置进行存储的路由的査 找装置的结构示意图。具体实施例方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附 图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说 明用于解释本专利技术,但并不作为对本专利技术的限定。如图1所示,本专利技术实施例中,路由存储方法的处理流程可以包括 步骤101、将一条路由在检索节点内的分支与所述路由在终结节点内的分 支进行合并;步骤102、将合并后的所述路由存储于超级终结节点内,所述超级终结节 点预留有供三条路由存储的空间。由图1所示流程可以得知,将一条路由在检索节点内的分支与所述路由 在终结节点内的分支进行合并;将合并后的所述路由存储于超级终结节点内, 所述超级终结节点预留有供三条路由存储的空间,从而大大提升了节点存储 空间的有效率,在大规模路由容量下,使得存储空间大大降低。下面通过与现有技术进行对比说明图1所示流程的优势所在在现有技术中,对于1个检索节点(trie node)下面的3个分支中每个分 支存在一条路由的情况,会生成如图2所示的结构,图2中ENode表示终结 节点,TNode表示检索节点,INode表示内部节点(internal node) , RNode 表示结果数组;由于每条路由分支不同,所以无法将3条路由存储于同一个 终结节点(end node)内。而在本专利技术实施例中,如图3所示,引入超级终结 节点(super end node),该超级终结节点由于预留有供三条路由存储的空间,因而可以将一条路由在检索节点内的分支与所述路由在终结节点内的分支合 并后进行存储。一个实施例中, 一个超级终结节点可以为每条路由预留18bit的空间,在 将一条路由在检索节点内的分支以及在终结节点内的分支合并后,存储在一个18bit的空间里。这样的18bit在超级终结节点里面共有3个,所以一个超 级终结节点中至多可以存下3条路由。一个实施例中,可以将至多三条路由在前缀树中经第一级、第二级偏移 后的剩余部分存储于一个超级终结节点。当然,实施中还可以将前述路由在 前缀树中经第一级、第二级偏移后的剩余部分的长度、节点类型、父路径最 长匹配结果指针(Parent best match pointer, PBMI)、结果数本文档来自技高网
...

【技术保护点】
一种路由存储方法,其特征在于,该方法包括: 将一条路由在检索节点内的分支与所述路由在终结节点内的分支进行合并; 将合并后的所述路由存储于超级终结节点内,所述超级终结节点预留有供三条路由存储的空间。

【技术特征摘要】
1、一种路由存储方法,其特征在于,该方法包括将一条路由在检索节点内的分支与所述路由在终结节点内的分支进行合并;将合并后的所述路由存储于超级终结节点内,所述超级终结节点预留有供三条路由存储的空间。2、 如权利要求l所述的方法,其特征在于,将合并后的所述路由存储于超级终结节点内,所述超级终结节点预留有供三条路由存储的空间,包括将合并后的所述路由存储于超级终结节点内的一个18bit的空间,所述超 级终结节点预留有供三条路由存储的三个18bit的空间。3、 如权利要求l所述的方法,其特征在于,将合并后的所述路由存储于超级终结节点内,所述超级终结节点预留有供三条路由存储的空间,包括将至多三条路由在前缀树中经第一级、第二级偏移后的剩余部分存储于 所述超级终结节点。4、 如权利要求3所述的方法,其特征在于,将合并后的所述路由存储于超级终结节点内,所述超级终结节点预留有供三条路由存储的空间,还包括将所述剩余部分的长度、节点类型、父路径最长匹配结果指针、结果数 组基地址之一或任意组合存储于所述超级终结节点。5、 如权利要求1至4任一项所述的方法,其特征在于,还包括若相邻两个超级终结节点内均存储一条路由,则将所述相邻两个超级终 结节点存储的路由合并存储于一个超级终结节点加内,所述超级终结节点加 预留有供两条路由存储的空间。6、 如权利要求5所述的方法,其特征在于,还包括将用于表示合并和/或合并方式的字段存储于所述超级终结节点加。7、 一种按权利要求l所述方法所存储路由的查找方法,其特征在于,该方法包括将当前查找报文的目的IP地址分别与超级终结节点中所存储每一条路由 的IP地址进行匹配;选择最长匹配的IP地址对应路由作为査找结果返回。8、 如权利要求7所述的方法,其特征在于,若当前查找报文的目的IP 地址与超级终结节点中所存储全部路由的IP地址均不匹配,且超级终结节点 中存储有父路径最长匹配结果指针,则在父路径最长匹配结果指针有效时, 将父路径最长...

【专利技术属性】
技术研发人员:秦增杰沈士军李猛杨波
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[]

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

1