IPv6地址存储和查找方法及相关设备的制作方法

文档序号:7752791阅读:239来源:国知局
专利名称:IPv6地址存储和查找方法及相关设备的制作方法
技术领域
本发明涉及下一代互联网领域,更具体地,涉及一种IPv6地址存储和查找方法及 相关设备。
背景技术
众所周知,IPv6地址长度是128比特,而IPv4地址长度是32比特。就地址长度 而言,IPv6比IPv4扩大了 4倍;就容量而言,则扩大了 296倍。由于IPv6地址容量的急剧 增长,因此需要一种高效可行的IPv6地址存储和查找方式。

发明内容
本发明提出了一种IPv6地址存储和查找方法及相关设备,可以在使用有限内存 的情况下实现IPv6地址的高速查找。根据本发明的一个方面,提供了一种IPv6地址存储方法,包括判断IPv6地址的 网络前缀的长度是否为128比特;如果是,则将IPv6地址存储在第一存储区域中;否则,将 IPv6地址存储在第二存储区域中。优选地,将IPv6地址存储在第一存储区域中的步骤包括对IPv6地址进行散列运 算并存储到第一存储区域中,第一存储区域具有由散列结构和红黑树rbtree结构形成的 混合结构。优选地,将IPv6地址存储在第二存储区域中的步骤包括将IPv6地址分为第一部 分和第二部分,并分别存储到第二存储区域的第一部分和第二部分中,第二存储区域具有 变步长多分支trie树结构。优选地,第二存储区域的第一部分和第二部分分别存储IPv6地址的前64比特和 后64比特,第二存储区域的第一部分的步长为16比特,第二存储区域的第二部分的步长为 8比特。优选地,该方法还包括在配置128比特的IPv6地址访问权限属性时,如果IPv6 地址的访问权限属性与所属网段的访问权限属性相同,则对IPv6地址进行散列运算,在对 应的红黑树rbtree结构中查找对应节点,并且如果找到该对应节点,则将其删除。根据本发明的另一方面,提供了一种IPv6地址查找方法,包括判断IPv6地址的 网络前缀的长度是否为128比特;如果是,则在第一存储区域中查找该IPv6地址;否则,在 第二存储区域中查找该IPv6地址。优选地,第一存储区域具有由散列结构和红黑树rbtree结构形成的混合结构,第 二存储区域具有变步长多分支trie树结构。更优选地,第二存储区域包括具有第一步长的第一部分和具有第二步长的第二部 分,第二存储区域的第一部分和第二部分分别存储IPv6地址的前64比特和后64比特,第 二存储区域的第一部分的步长为16比特,第二存储区域的第二部分的步长为8比特。根据本发明的又一方面,提供了一种IPv6接入控制网关,包括存储单元,用于存
3储IPv6地址,所述存储单元具有第一存储区域和第二存储区域;以及地址处理单元,判断 IPv6地址的网络前缀的长度是否为128比特,如果是,则在存储单元的第一存储区域中对 IPv6地址进行存储或查找;否则,在存储单元的第二存储区域中对IPv6地址进行存储或查 找。优选地,第一存储区域具有由散列结构和红黑树rbtree结构形成的混合结构,第 二存储区域具有变步长多分支trie树结构,第二存储区域包括具有第一步长的第一部分 和具有第二步长的第二部分,第二存储区域的第一部分和第二部分分别存储IPv6地址的 前64比特和后64比特,第二存储区域的第一部分的步长为16比特,第二存储区域的第二 部分的步长为8比特。与现有技术相比,本发明的优点主要在于可以在使用有限内存下实现地址的高 速查找。通过对IPv6地址网络前缀长度的不同进行分级存储,采用hash+rbtree以及变步 长多分支trie树存储结构,可以在有效减少存储容量的同时提高查找效率。


通过下面结合

本发明的实施例,将使本发明的上述及其它目的、特征和 优点更加清楚,其中图1示出了本发明中的IPv6地址存储方法中的A存储区域的示意图;图2示出了本发明中的IPv6地址存储方法中的B存储区域的示意图;图3示出了根据本发明的IPv6地址存储方法的流程图;图4示出了图3中所示的IPv6地址存储方法中在A存储区域中进行存储的方法 的详细流程图;以及图5示出了根据本发明一个实施例的IPv6接入控制网关的框图。
具体实施例方式为了清楚详细的阐述本发明的实现过程,下面给出了一些本发明的具体实施例。 参照附图对本发明的实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要 的细节和功能,以防止对本发明的理解造成混淆。本说明书中所涉及的技术术语的定义A存储区域——存储区域代号,指采用散列(hash)和红黑树rbtree存储方式的存储区。主要存 储用户IPv6地址及访问权限属性等信息。如图1所示,IPv6地址网络前缀长度为128比 特的IPv6地址经过hash运算(桶深为65536)后存储在rbtree中的相应位置。B存储区域——存储区域代号,指采用变步长多分支trie树存储方式的存储区。主要存储IPv6 地址段访问权限属性。例如,在本发明的一个实施例中,IPv6地址的网络前缀的前64比特 以步长为16存储,后64比特以步长为8存储。(如图2所示)。访问权限属性一一对地址访问权限进行控制的属性。参见专利号为200910089531. 1、发明名称为 "IPv6/IPv4地址分级访问权限控制方法和访问控制网关”的在先中国专利申请,其全体内容在此一并引入作为参考。在本发明中,IPv6地址存储方法优先保证查找的速度,这是因为插入、删除的操作 频率和查找的操作频率大概相差了 5个数量级。在本发明中,综合考虑查找效率和内存使用两者,以获得总体上最优的效率。下面 的表1以网络地址前缀为32和72两种情况为例,列举了在不同存储方式下所实现的内存 占用和查找次数之间的关系。
权利要求
一种IPv6地址存储方法,包括判断IPv6地址的网络前缀的长度是否为128比特;如果是,则将IPv6地址存储在第一存储区域中;否则,将IPv6地址存储在第二存储区域中。
2.如权利要求1所述的IPv6地址存储方法,其中,将IPv6地址存储在第一存储区域中 的步骤包括对IPv6地址进行散列运算并存储到第一存储区域中,第一存储区域具有由散 列结构和红黑树rbtree结构形成的混合结构。
3.如权利要求1所述的IPv6地址存储方法,其中,将IPv6地址存储在第二存储区域中 的步骤包括将IPv6地址分为第一部分和第二部分,并分别存储到第二存储区域的第一部 分和第二部分中,第二存储区域具有变步长多分支trie树结构。
4.如权利要求3所述的IPv6地址存储方法,其中,第二存储区域的第一部分和第二部 分分别存储IPv6地址的前64比特和后64比特,第二存储区域的第一部分的步长为16比 特,第二存储区域的第二部分的步长为8比特。
5.如权利要求2所述的IPv6地址存储方法,还包括在配置128比特的IPv6地址访 问权限属性时,如果IPv6地址的访问权限属性与所属网段的访问权限属性相同,则对IPv6 地址进行散列运算,在对应的红黑树rbtree结构中查找对应节点,并且如果找到该对应节 点,则将其删除。
6.一种IPv6地址查找方法,包括判断IPv6地址的网络前缀的长度是否为128比特;如果是,则在第一存储区域中查找该IPv6地址;否则,在第二存储区域中查找该IPv6地址。
7.如权利要求6所述的IPv6地址查找方法,其中,第一存储区域具有由散列结构和红 黑树rbtree结构形成的混合结构,第二存储区域具有变步长多分支trie树结构。
8.如权利要求7所述的IPv6地址查找方法,其中,第二存储区域包括具有第一步长的 第一部分和具有第二步长的第二部分,第二存储区域的第一部分和第二部分分别存储IPv6 地址的前64比特和后64比特,第二存储区域的第一部分的步长为16比特,第二存储区域 的第二部分的步长为8比特。
9.一种IPv6接入控制网关,包括存储单元,用于存储IPv6地址,所述存储单元具有第一存储区域和第二存储区域;以及地址处理单元,判断IPv6地址的网络前缀的长度是否为128比特,如果是,则在存储单 元的第一存储区域中对IPv6地址进行存储或查找;否则,在存储单元的第二存储区域中对 IPv6地址进行存储或查找。
10.如权利要求9所述的IPv6接入控制网关,其中,第一存储区域具有由散列结构和红 黑树rbtree结构形成的混合结构,第二存储区域具有变步长多分支trie树结构,第二存储 区域包括具有第一步长的第一部分和具有第二步长的第二部分,第二存储区域的第一部分 和第二部分分别存储IPv6地址的前64比特和后64比特,第二存储区域的第一部分的步长 为16比特,第二存储区域的第二部分的步长为8比特。
全文摘要
本发明提出了一种IPv6地址存储和查找方法,通过对IPv6地址网络前缀长度的判断来进行分区存储。此外,本发明还提出了一种IPv6接入控制网关,使用上述IPv6地址存储方法,在IPv6网络通信系统中实现对用户的接入权限控制。本发明在有效减少存储容量的同时提高了查找效率。
文档编号H04L29/12GK101945139SQ20101021294
公开日2011年1月12日 申请日期2010年6月30日 优先权日2010年6月30日
发明者吴建平, 李星, 胡松, 郭志强, 黄友俊 申请人:赛尔网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1