[发明专利]一种快速查找IPV6路由的系统及方法有效
申请号: | 201310009618.X | 申请日: | 2013-01-10 |
公开(公告)号: | CN103107945A | 公开(公告)日: | 2013-05-15 |
发明(设计)人: | 云晓春;张永铮;杜飞;郝志宇;庹宇鹏 | 申请(专利权)人: | 中国科学院信息工程研究所;国家计算机网络与信息安全管理中心 |
主分类号: | H04L12/741 | 分类号: | H04L12/741 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 查找 ipv6 路由 系统 方法 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种快速查找IPV6路由的方法。
背景技术
近年来,随着计算机网络规模的不断扩大,互联网络的迅猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备之一。它的处理速度是网络通信的主要瓶颈之一,其性能则直接影响着网络互联的质量。高效的路由表查找算法是影响路由器转发效率的重要因素。随着Internet网络规模的扩大,路由表的大小与日俱增,随着无分类域间路由(Classless Inter Domain Routing,CIDR)的引入,IP地址查找从一个精确匹配的问题转变成为一个最优匹配的问题,必须采用最长前缀匹配(Longest Prefix Match,LPM)算法解决,从而大大增加了IP地址查找的复杂性。特别是IPv6协议带来了巨大的地址空间和更长的地址格式,这些都对提高路由表查找算法效率提出了挑战。因此,必须研究适合IPv6的路由查找算法。目前,针对IPv6的路由查找方法主要有基于trie树的方法、基于多分支trie树的方法、基于前缀长度的二分查找(binary Search onPrefix Lengths)以及基于TCMA的算法等。
(1)基于Trie树的方法,用二进制Trie结构来表示地址前缀是一个常用的方法。Trie采用一种基于树的数据结构,通过前缀中每一位的值来决定树的分支用二进制Trie结构表示的地址前缀表,树中每个节点最多有两个孩子节点。在Trie树中,处于第L层的节点代表了一个地址前L比特均相同的地址空间,并且这L个比特串就是由从根节点到这个节点路径上的L比特组成。该方法的缺点是存储空间浪费较多,Trie树中间结点可以进行压缩和优化,因此有路径压缩的Trie树方法。
(2)多分支Trie树设计的关键是步宽的选择。较大的步宽产生深度较浅的Trie树,但需要消耗较多的表项存储空间,前缀更新涉及的节点也比较多,因此步宽的选择也就是在算法查找速度、存储空间和更新复杂度之间的折衷。
(3)按前缀长度进行二分查找(binary Search on Prefix Lengths)的算法,该算法将最长前缀匹配按前缀长度分解成一系列的精确匹配,并将前缀按长度分别存储在不同Hash表中,地址查找时,按前缀长度对所有的Hash表进行二分查找。该算法查找的平均次数为O(log2W),存储空间复杂度为O(Nlog2W)。该算法具有良好的扩展性,但引入了大量的标记来进行二分查找以避免回溯,因此增加了存储的复杂度。
(4)TCAM是一种基于硬件的方法,TCAM中每一个表项以<地址,掩码>序偶的形式保存。假设地址的长度范围从1到W,则地址和掩码分别占用W比特。若某个地址前缀的长度为Y,则其掩码的前Y个比特为1,其它比特为0,而地址的后W-Y个比特可为1或0。查找时TCAM判断查找关键字的前Y比特是否与目的地址的前Y比特相等,若相等则表示关键字与该表项匹配,否则不匹配。
基于TCAM的查找方案的最大优点是速度快,实现简单。完成一次查找只需三步操作:查找TCAM、查找下一跳(next-hop)索引表和查找next-hop映射表。若应用流水线技术,可以进一步提高查找速度。缺点是TCAM容量小,代价高,功耗大,更新复杂。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种查找速度快、效率高、稳定性好的快速查找IPV6路由的系统及方法。
本发明解决上述技术问题的技术方案如下:一种快速查找IPV6路由的系统,包括一个路由存储表,所述路由存储表包括一个一级线性索引表和一个以上的存储模块;
所述一级线性索引表用于存储一个以上的索引值,每个索引值对应一个存储模块;其中,每个索引值为一个路由前缀的第4-16比特的值;
所述存储模块用于存储17比特之后的路由前缀。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述存储模块包括一个或一个以上的存储单元,存储单元包括一个单独的多比特树或一个以上的无冲突哈希表,每个无冲突哈希表附带若干个多比特树。
进一步,所述无冲突哈希表的种类包括hash32、hash40和hash48表。
进一步,所述每个无冲突哈希表包括一个一级哈希表和若干个二级哈希表;
一级哈希表包含若干个表项,每个表项包含三个单元,第一单元存储二级哈希表可存储元素个数m,第二单元存储调节参数a的值,第三单元存储指向二级哈希表的数组指针p;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所;国家计算机网络与信息安全管理中心,未经中国科学院信息工程研究所;国家计算机网络与信息安全管理中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310009618.X/2.html,转载请声明来源钻瓜专利网。