[发明专利]路由表项的存储方法、查找方法、装置及系统有效
申请号: | 201210371642.3 | 申请日: | 2012-09-29 |
公开(公告)号: | CN102904812A | 公开(公告)日: | 2013-01-30 |
发明(设计)人: | 洪荣峰;易毅;郭玲波 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L12/747 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 黄厚刚 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 路由 存储 方法 查找 装置 系统 | ||
技术领域
本发明涉及计算机领域,特别涉及一种路由表项的存储方法、查找方法、装置及系统。
背景技术
在网络数据传输过程中,路由器根据路由表项的查找结果进行数据的转发。为了减少网络设备的存储,通常路由表项的直接查找结果不是转发动作,而是查找结果的索引,根据索引进行线性表查找最终获取转发动作。随着网络的迅猛发展,路由表项的数量越来越大,位宽越来越长,种类也越来越多,对路由表项的存储空间和查找速率提出了更高的要求。
现有技术中,通常使用基于二叉树的路由表项的存储、查找方法。将每个已知路由地址分解成一个下界(low point)地址和一个上界(high point)地址,按照“左大右小”的原则存入二叉树,每个节点都存储一个边界地址。在查找的时候,将查询地址(search key)从二叉树的根节点开始比较,遍历二叉树,记录最后一次向左走的节点的位置,获得查找结果的索引,使用该索引可以得到相应的转发动作。同时,当需要存储和查找的路由表项的位宽大于存储空间的位宽时,只能做硬件的改变,例如换一个更大位宽的存储介质等。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有技术中路由地址需要分解为上界和下界两个地址存储,占用存储空间大,查找速率不高。当需要对位宽大于当前存储空间位宽的路由地址做路由表项存储和查找时,存储空间要做硬件改变以适应该网络地址的位宽需要。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种路由表项的存储方法、查找方法、装置及系统。所述技术方案如下:
一方面,提供了一种路由表项的存储方法,所述方法包括:
将路由表项的每个路由地址按照预设长度划分成至少两个地址段;
为每个路由地址的首地址段分配对应的地址后缀,并将所述每个路由地址的首地址段的地址后缀作为下一地址段的地址前缀;
将所述每个路由地址的首地址段存储至第一二叉树的节点中,并存储所述每个路由地址的首地址段对应的地址后缀;
如果所述下一地址段为尾地址段,则将所述每个路由地址的尾地址段对应的地址前缀及尾地址段一并存储至第二二叉树的节点中,并存储所述每个路由地址对应的查找结果的索引,所述每个路由地址对应的查找结果的索引与所述每个路由地址的尾地址段的地址前缀及尾地址段相对应,且每个查找结果的索引对应一个查找结果。
可选地,所述将路由表项的每个路由地址按照预设长度划分成至少两个地址段之后,还包括:
为路由表项的每个路由地址中的每个类型的地址段分配对应的类型标识,以根据路由表项的每个路由地址的每个地址段所对应的类型标识确定每个地址段的类型;
其中,所述路由表项的每个路由地址的地址段的类型至少包括首地址段及尾地址段。
可选地,所述将所述每个路由地址的首地址段存储至第一二叉树的节点中,具体包括:
将所述每个路由地址的首地址段按照由大到小的顺序依次存储至所述第一二叉树的节点中。
可选地,所述将所述每个路由地址的尾地址段对应的地址前缀及尾地址段一并存储至第二二叉树的节点中,具体包括:
将所述每个路由地址的尾地址段对应的地址前缀及尾地址段按照由大到小的顺序依次存储至所述第二二叉树的节点中。
可选地,所述路由表项的每个路由地址的地址段的类型还包括中间地址段,所述将所述每个路由地址的首地址段的地址后缀作为下一地址段的地址前缀之后,还包括:
如果所述下一地址段为中间地址段,则为所述每个路由地址的中间地址段分配对应的地址后缀,并将所述地址后缀作为所述中间地址段的下一地址段的地址前缀;
将所述每个路由地址的中间地址段对应的地址前缀及中间地址段一并存储至第三二叉树的节点中,并存储所述每个路由地址的中间地址段对应的地址后缀。
可选地,所述将所述每个路由地址的中间地址段对应的地址前缀及中间地址段一并存储至第三二叉树的节点中,具体包括:
将所述每个路由地址的中间地址段对应的地址前缀及中间地址段按照由大到小的顺序依次存储至所述第三二叉树的节点中。
可选地,如果所述每个路由地址有多个中间地址段,则将所述每个路由地址的每个中间地址段对应的地址前缀及中间地址段分别存储至不同的第三二叉树的节点中,所述第三二叉树的个数与所述每个路由地址的中间地址段的个数相同。
可选地,所述为每个路由地址的首地址段分配对应的地址后缀,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210371642.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可喷水的黑板擦
- 下一篇:一种新型英语四线格划线器