[发明专利]基于优先级Trie树的动态IP匹配模型的建立方法有效

专利信息
申请号: 201510324464.2 申请日: 2015-06-12
公开(公告)号: CN105025013B 公开(公告)日: 2018-04-10
发明(设计)人: 卫冰洁;杨武;王巍;曹首峰;苘大鹏;玄世昌;贺龙涛;贺欣;袁媛;于贺威;王啸;李城龙 申请(专利权)人: 国家计算机网络与信息安全管理中心
主分类号: H04L29/06 分类号: H04L29/06;H04L29/12;H04L12/741
代理公司: 北京理工大学专利中心11120 代理人: 张瑜,仇蕾安
地址: 100029*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供一种基于优先级Trie树的动态IP匹配模型,其包括BIPT匹配模型的构建过程;BIPT树的前缀插入操作;BIPT树的前缀删除操作;BIPT树的IP匹配操作。与现有的方法相比,本发明提出了基于优先级Trie树的动态IP匹配模型,利用优先级Trie树在IP查找方面的优越性,提高它在更新方面的性能。利用B*树保证在更快定位到优先级Trie树分支,同时能以更小的概率分配索引结点。本发明提出的算法与已有的优先级Trie树相比,不仅减少了前缀更新时的开销,同时也保持了较高的查找效率。
搜索关键词: 基于 优先级 trie 动态 ip 匹配 模型
【主权项】:
一种基于优先级Trie树的动态IP匹配模型的建立方法,其特征在于,包括以下步骤:步骤1:BIPT匹配模型的构建过程,具体包括:步骤11,划分前缀;设前缀P的长度为l,则该前缀P表示为P=P0P1...Pl‑1*;以长度k(k<l)对前缀P进行划分,分为长度大于划分点k的第一前缀集合和长度小于划分点k的第二前缀集合,赋予第一前缀集合内每个前缀一个索引值,赋予第二前缀集合内每个前缀一个索引后缀,且所有的索引后缀相同;以Prek(P)来表示有索引值的前缀,则Prek(P)=(P0P1...Pk‑1)2;以Park(P)表示有索引后缀的前缀,则Park(P)=PkPk+1...Pl‑1*;步骤12,构建B*索引树;将第一前缀集合内的前缀P根据索引值挂载到B*索引树上相应的B*结点中,并用BIPT[i]表示,且0≤i≤2k‑1;将第二前缀集合内的所有前缀挂载到B*索引树上的一个共同的B*结点中,并用BIPT[‑1]表示;步骤2:BIPT树的前缀插入操作;步骤21:对每一个前缀P,先求前缀P的长度,如果其长度大于划分点k,则设置起始查找结点为根结点并进行步骤22;否则将前缀插入BIPT[‑1]对应的优先级Trie树中并终止前缀插入操作;步骤22:在B*索引树的给定结点中进行查找,直到叶子结点;在索引结点中若Pre(p)<k1,则选择索引结点的第1个分支进行查找,并执行步骤23;若ki≤Pre(p)≤ki+1,则选择索引结点的第i个分支进行查找,并执行步骤23;若kn(x)<Pre(p),则选择索引结点的第n(x)个分支进行查找,并执行步骤23;并记录查找路径中所搜索的给定结点以及给定结点中分支的选择;其中规定ki(x)是结点x的第i个索引值,cj(x)是结点x的第j个孩子指针,其中i和j满足1≤i≤n(x)并且1≤j≤n(x), 在结点中的索引值存在如下关系:k1(x)<k2(x)<...<kn(x)(x)步骤23:查找索引结点中是否有与B*索引树的给定结点的索引值相同的关键字,如果有,则直接在该B*索引树的给定结点优先级Trie树中插入索引后缀,并结束插入操作;否则执行步骤24;步骤24:判断B*索引树的给定结点中索引值数目是否已满,如果给定结点已满,则进行索引结点分裂,在新结点中的优先级Trie树中插入索引后缀;如果结点未满,则在该B*索引树的给定结点中插入索引值,并在优先级Trie树中插入索引后缀;步骤3:BIPT树的前缀删除操作;步骤31:对每一个前缀P,先求前缀P的长度,如果其长度小于划分点,则在BIPT[‑1]形成的优先级Trie树中删除前缀P,并终止前缀删除操作;否则进行步骤32;步骤32:在B*索引树的索引结点中进行查找,直到叶子结点;使得索引值在索引结点两个关键字之间,索引结点分别为左区间和右区间;步骤33,在左区间对应的优先级Trie树中移除索引后缀,释放相应的数据结点;然后记录搜索路径各结点指针以及左区间的位置;步骤34:释放数据结点后,若左区间对应的优先级Trie树为空,则在B*索引树中删除对应的索引值,并判断索引结点中的结点数小于执行步骤34,否则结束删除操作;步骤35若结点数小于则进行结点合并操作,否则结束删除操作;合并操作如下:步骤351:若索引结点为根结点,则结束合并操作,否则执行步骤352;步骤352:判断兄弟结点中的结点数是否小于若小于则结束合并操作,若大于则将兄弟结点中的结点移至该索引结点中,并更新父结点对这两个分支的索引值;若兄弟结点中的结点数等于则将这三个结点合并为两个结点,同时更新并删除父结点中对这两个分支的索引值,如果父结点中元素不足则结束合并操作;步骤4:BIPT树的IP匹配操作;根据给定的IP地址,将其前缀分为索引值以及索引后缀,根据索引值在B*索引树中定位到对应的优先级Trie树分支并进行查找,得到的结果为最长前缀;若未找到对应分支,或在优先级Trie树中未找到匹配结果,则在BIPT[‑1]中继续进行最长前缀匹配,直到找到最长前缀,结束BIPT最长前缀匹配过程。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心,未经国家计算机网络与信息安全管理中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510324464.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top