[发明专利]一种名字路由快速匹配查找方法与装置有效

专利信息
申请号: 201410059219.9 申请日: 2014-02-21
公开(公告)号: CN103873371B 公开(公告)日: 2017-11-28
发明(设计)人: 关建峰;许长桥;张宏科;权伟;韩冰洁;张萌;李杰;石春秋 申请(专利权)人: 北京邮电大学
主分类号: H04L12/743 分类号: H04L12/743;H04L12/753;H04L29/08;G06F17/30
代理公司: 暂无信息 代理人: 暂无信息
地址: 100876 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 名字 路由 快速 匹配 查找 方法 装置
【说明书】:

技术领域

发明属于计算机网络技术领域,可用于基于名字路由的新型网络体系中路由前缀的存储、匹配和更新。

背景技术

随着互联网的发展,人们越来越关注数据本身,而不关心数据存储在哪里。在这种背景下,命名数据网络(Named Data Networking,NDN)应运而生。相比传统的基于IP(Internet Protocol)的网络体系,NDN有很多优点,比如本身就支持多播和移动性、能够保证提供的内容本身是安全的、能够降低服务器端的负载等等。然而,由于NDN通过内容名字来定位数据资源,它的每个数据包头中携带的是请求内容的名字,路由器转发表中存储的也是若干内容名字前缀,这一特点给NDN进行大规模部署带来了前所未有的挑战。首先,与现有基于IP固定地址长度的路由转发表不同,NDN路由表中每个内容名字前缀是分层的,长度是可变的,传统的最长前缀匹配(Longest Prefix Matching,LPM)并不适用于此时的名字前缀匹配;其次,NDN转发表可能远远大于当今IP转发表,IP转发表约有百万级的IP前缀,而NDN中前缀数量可能在万亿级。为了打破该瓶颈,急需一种占用内存小,匹配时间少,更新速度快,能很好适应NDN的名字路由前缀匹配算法。

目前,对名字查找的研究主要有以下三个方向:基于单词查找树(Trie)的算法,基于布隆滤波器(Bloom Filter)的算法和基于硬件的算法。

Trie是一种基本的、快速的实现LPM的方法。因为Trie是树形结构,所以基于Trie的方法能够很好地解决名字聚合问题。树位图(Tree Bitmap),是一种多比特扩展Trie,是目前该类方法中效率最高的算法之一。

树位图对每个节点采用两个位图进行编码,内部位图用于显示内部存储的前缀,外部位图用于指示是否存在孩子节点。另外,该算法中所有孩子节点连续存储,这样只需用一个指针就可获得所有孩子节点的地址,大大降低了存储空间。该算法还具有查询快、更新快的优点。

尽管基于Trie的算法简单有效,但它们的性能随树深度的增长线性下降。在NDN中,由于内容名字前缀不仅长而且多,树的深度会非常大,如果用该类方法实现前缀匹配,Trie的长度得不到控制,将会消耗很大内存。

布隆滤波器是一种二进制向量数据结构,具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一员。布隆滤波器将一个元素通过k个哈希函数映射到一个m长度的阵列上的几个点,如果所有点都是1的话,认为元素在集合内,如果有0的话,则元素不在集合内。布隆滤波器的优点是它插入和查询时间都是常数,而且查询时不保存元素,有良好的安全性。计数布隆滤波器(Counting Bloom Filter)通过在数据结构中增加一个计数器来解决标准布隆滤波器不允许元素删除的问题。

然而,不论哪种方法,都必须要注意到布隆滤波器因为哈希碰撞的存在会产生误判。误判率很大程度上依赖于插入到滤波器中的元素数量。那么当数量巨大的NDN名字插入到布隆滤波器中时,误判率就会很高。

利用硬件并行、高速的特点,一些研究致力于用硬件实现一个高端内容路由器,同时希望通过GPU强大的并行处理能力实现线速名字查找。这些基于硬件的技术虽然可以带来可观的性能提升,但是,它们是以高成本、高能源消耗和低适应性为代价的,十分不利于NDN的大规模部署。

由此可见,现有的基于Trie、基于布隆滤波器的传统路由寻址策略不能适应未来以数据为中心的网络体系中对路由寻址高效率性及高准确性的需求,而完全由硬件实现的方法代价昂贵。近日来,虽然结合多种方法对NDN名字前缀进行查找的算法不断涌现,例如在NDN中使用两级布隆滤波器,将布隆滤波器和数据预取或Trie相结合,构建Name Prefix-Trie等,但是这些方法也都是差强人意。

发明内容

本发明的目的是为了解决NDN中路由名字高效查找问题,而提出的一种结合树位图和布隆滤波器对NDN名字前缀进行存储、匹配及路由更新方法与装置。

本发明的目的是通过下述技术方案实现的:

一种名字路由快速匹配查找方法采用的存储方式,其特征在于,路由前缀分解成二元组,分别存储于树位图单元和布隆滤波器单元,其初始化过程包括:

A、将名字前缀分解为T段(T-segment)和B段(B-segment)。其中,SL(Split Level)称为名字前缀的分解水平,T段为名字前缀的前SL层,,B段为名字前缀的剩余部分。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410059219.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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