[发明专利]路由表存储与查找方法有效
申请号: | 201510081214.0 | 申请日: | 2015-02-15 |
公开(公告)号: | CN104679854B | 公开(公告)日: | 2018-01-26 |
发明(设计)人: | 杨仝;谢高岗 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京泛华伟业知识产权代理有限公司11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 路由 存储 查找 方法 | ||
1.一种路由表存储方法,包括:
将路由表trie树第0到n层的用于判断前缀长度的数据结构放在片内内存;
将第0到m层的用于查找下一跳的数据结构放在片外内存;以及
将第n+1到m层的用于判断前缀长度的数据结构放在片外内存;其中,m+1为路由表trie树层数,n<m,n与m为正整数。
2.根据权利要求1所述的方法,其中,对于IPv4路由表trie树,n=24。
3.根据权利要求1或2所述的方法,其中,路由表trie树第0到n层的用于判断前缀长度的数据结构为n+1个位图,每个位图与路由表trie树的其中一层相对应;以及,路由表trie树第0到n层的用于查找下一跳的数据结构为n+1个数组,每个数组与路由表trie树的其中一层相对应;
其中,与路由表trie树第0到n层中的每层对应的位图指示路由表trie树中该层对应的前缀信息,并且指示该前缀信息对应的下一跳信息在该层对应的数组中的位置。
4.根据权利要求3所述的方法,其中,与第i层对应的位图和数组分别有2i位,且i=0,…,n,在第i层对应的位图中,每个1的位置分别指示路由表trie树中该层的每个前缀信息,其余位置为0;在第i层对应的数组中,与第i层对应的位图中指示前缀信息的位置相同的位置指示该前缀信息对应的下一跳端口号。
5.根据权利要求3所述的方法,还包括根据以下步骤对第n层的内部节点进行关键层层推:
对于路由表trie树中第n层的具有下一跳信息的内部节点,如果其只有一个孩子节点,则生成其在第n+1层的另一个孩子节点,并将该内部节点的下一跳信息作为生成的孩子节点的下一跳信息;如果其有两个孩子节点,则将任何一个下一跳为空的孩子结点的下一跳信息赋值为该内部节点的下一跳信息;将该内部节点的下一跳置空;
对于路由表trie树中第n层的没有下一跳信息的内部节点,得到其具有下一跳信息的最近祖先节点的下一跳信息,如果其只有一个孩子节点,则生成其在第n+1层的另一个孩子节点,并将该祖先节点的下一跳信息作为生成的孩子节点的下一跳信息;如果其有两个孩子节点,则将任何一个下一跳为空的孩子结点的下一跳信息赋值为该祖先节点的下一跳信息。
6.根据权利要求5所述的方法,其中,对于在关键层层推之后路由表trie树中第n层的内部节点或叶子节点,第n层对应的位图中的对应位置为1,其他位置为0;对于第n层的内部节点指示的前缀信息,将第n层对应的数组中的对应位置设置为0,该层对应的数组中的其他位置与关键层层推之前相同。
7.根据权利要求3所述的方法,其中,对于IPv4路由表trie树,将该trie树推到第6、12、18、24和32层;以及
对第24层的内部节点进行关键层层推。
8.根据权利要求3所述的方法,其中,对于IPv4路由表trie树,将该trie树推到第16和24层,并进行叶推。
9.根据权利要求3所述的方法,其中,对于多个IPv4路由表trie树,合并该多个路由表trie树并进行叶推,得到叠加trie树;以及
将叠加trie树推到第16和24层,并进行叶推。
10.根据权利要求1或2所述的方法,其中,第n+1到m层的用于判断前缀长度以及用于查找下一跳的数据结构为哈希表格或者偏移数组。
11.一种基于如权利要求1-10所述的路由表存储方法的路由表查找方法,包括:
步骤1)、从第n层对应的位图开始,根据IP的前n位定位位图中的位置,如果该位置为0,则令n=n-1并重复该定位过程,直到定位的位图中的位置为1,根据该位置查找当前层对应的数组以获得下一跳端口号;如果该位置为1则执行步骤2);
步骤2)根据该位置查找第n层对应的数组,如果对应位置为非零则获得下一跳端口号;否则,查找片外偏移数组或哈希表格以获得下一跳端口号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510081214.0/1.html,转载请声明来源钻瓜专利网。