CN103873371B - 一种名字路由快速匹配查找方法与装置 - Google Patents
一种名字路由快速匹配查找方法与装置 Download PDFInfo
- Publication number
- CN103873371B CN103873371B CN201410059219.9A CN201410059219A CN103873371B CN 103873371 B CN103873371 B CN 103873371B CN 201410059219 A CN201410059219 A CN 201410059219A CN 103873371 B CN103873371 B CN 103873371B
- Authority
- CN
- China
- Prior art keywords
- sections
- cloth
- prefix
- wave filter
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种名字路由快速匹配查找方法与装置,主要由树位图和布隆滤波器组成。其中,树位图存储名字路由前缀的前m层,并对到达路由器的请求内容名字的前m层做快速最长前缀匹配;布隆滤波器,用于存储名字路由前缀的剩余部分,对到达路由器的请求内容名字的剩余部分做最长前缀匹配。根据要更新的名字路由前缀长度的不同,本发明可对树位图、布隆滤波器分别更新或二者同时更新。本发明利用树位图快速查找、所需存储小以及布隆滤波器时间、空间高效的特点,能够解决新型网络体系中基于内容名字的路由寻址问题,可满足未来网络路由占用内存少、匹配速度快、更新速度快的需求。
Description
技术领域
本发明属于计算机网络技术领域,可用于基于名字路由的新型网络体系中路由前缀的存储、匹配和更新。
背景技术
随着互联网的发展,人们越来越关注数据本身,而不关心数据存储在哪里。在这种背景下,命名数据网络(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段为名字前缀的剩余部分。
B、将T段插入树位图中,将B段插入相应的T段树(T-segment Tree)节点指向的第m号计数布隆滤波器(Counting Bloom filter)中。
所述方法中,拥有相同层数的B段对应一个计数布隆滤波器,例如,第3号计数布隆滤波器存储的名字前缀的B段层数为3。
特征B中将T段插入到树位图,是指将所有名字前缀的T段存储在一个树位图中,形成一个T段树;将B段插入到布隆滤波器,是指将所有名字前缀的B段分别插入到所属T段所在节点指向的具有相同层数的计数布隆滤波器中。例如,存在三个前缀
a./cn/com/sina/movie/Hollywood
b./cn/com/sina/movie/Hollywood/hottest/M1
c./cn/edu/course/spring
取SL=3,则cn、com、sina、edu、course存储在树位图中,course、sina这两个节点分别指向自己的计数布隆滤波器。则前缀c的B段为/spring要插入到course指向的第1号计数布隆滤波器中,因为/spring只有一层;而前缀a、b的B段分别为/movie/Hollywood和/movie/Hollywood/hottest/M1,要插入到sina指向的第2号计数布隆滤波器和第4号计数布隆滤波器中。
一种名字路由快速匹配查找方法,所述方法包括:
步骤A、将请求内容的名字分解成T段和B段;在T段树中查找T段的最长匹配前缀,如果T段最长匹配前缀不存在,执行步骤D;如果T段最长匹配前缀的层数小于SL,取得T段最长匹配前缀对应的转发端口号ethx,执行步骤E;否则,执行步骤B;
步骤B、对B段的前1层,前2层,前3层…前n层(假设B段共有n层)并行地在第1号计数布隆滤波器、第2号计数布隆滤波器、第3号计数布隆滤波器…第n号计数布隆滤波器中进行成员关系查找,输入查找结果栈S,执行步骤C;
步骤C、取栈S顶元素SF,将T段的最长匹配前缀和B段前SF层的内容连接起来,得到请求内容名字的最长匹配前缀,通过对该前缀进行哈希计算取得转发端口号ethx,执行步骤E;
步骤D、将请求包从路由器的默认端口转发;
步骤E、将请求包从路由器的ethx口转发;
所述步骤A中返回的路由器默认端口,是指没有任何名字前缀与请求内容的名字匹配,则该请求包会从某个固定端口转发。
所述步骤B中输出查找结果栈S,是指将查询结果为真的计数布隆滤波器号码按从小到大的顺序存入空栈S中;例如,B段,com/goole/music/,如果“com/”存在于1号计数布隆滤波器中,“com/goole/”存在于2号计数布隆滤波器中,“com/goole/music/”存在于3号计数布隆滤波器中,则栈S中从底到顶存储的是:1,2,3,其中3为栈顶元素SF。
一种名字路由快速匹配查找方法采用的更新方法,所述方法包括:
(1)对树位图和布隆滤波器进行插入操作,操作包括:要插入的名字路由前缀,不妨称为X,
步骤A、X的层数小于或等于SL,若X在T段树中存在最长匹配前缀,不进行任何操作;若不存在,则更新T段树,将内部位图相应的位置修改为1,插入操作结束;否则,执行步骤B。
步骤B、X的层数大于SL,若T段树中不存在X的最长匹配前缀,执行步骤C;否则,将与X的B段层数相对应的计数布隆滤波器中相应的计数器都加1或者新建一个计数布隆滤波器,插入操作结束。
步骤C、重写T段树的内部位图和外部位图,并构建相应计数布隆滤波器,插入操作结束。
(2)对树位图和布隆滤波器进行删除操作,操作包括:要删除的名字,不妨称为Y,
步骤A、若层数小于或等于SL,执行步骤B。若层数大于SL,查找是否存在与Y相对应的计数布隆滤波器,如果不存在,说明Y不在路由表中,不进行任何操作。如果存在,将该计数布隆滤波器中相应的计数器都减1,如果计数器减1后,该组所有计数布隆滤波器变为空,执行步骤C;否则,删除操作结束。
步骤B、如果T段树中不存在Y的最长匹配前缀,不进行任何操作;否则,将内部位图和外部位图相应的位置修改0,如果外部位图置0的位置原来就是0,删除操作结束;否则,其指向的一组计数布隆滤波器全部释放,删除操作结束。
步骤C、将T段树外部位图中指向该组计数布隆滤波器的位置修改为0,释放该组计数布隆滤波器,删除操作结束。
有益效果:
本发明对比已有技术具有以下创新点:
1.将名字路由前缀分解成二元组T段和B段进行存储。
2.使用树位图存储T段。
3.相同层数B段对应一个小型计数布隆滤波器。
4.在T段进行匹配的同时对B段进行预处理。
本发明对比已有技术具有以下显著优点:
1.将名字路由前缀分解成两部分进行存储,不仅控制了树位图中树的深度,同时也减小了插入到布隆滤波器中条目的个数,降低了误判率,提升了处理速度。
2.树位图的使用减小了名字路由前缀的存储空间。
3.相同层数B段对应一个计数布隆滤波器,而不是所有B段对应一个计数布隆滤波器的做法不仅减小了不必要的系统开销,而且降低了每个计数布隆滤波器的规模,使得哈希函数的选择变得容易。
4.T段和B段并行查询缩短了查找时间,提升了整体效率。
5.由于T段树的低更新率和更新计数布隆滤波器的简单性(只需进行哈希计算),本发明的路由表更新维护所用系统开销很小。
6.树位图和计数布隆滤波器易于硬件实现,有利于算法在实际中的应用。
附图说明
图1是本发明提供的完整功能模块示意图
图2是本发明提供的请求名字前缀匹配流程图
图3是本发明提供的更新方案中插入算法流程图
图4是本发明提供的更新方案中删除算法流程图
图5是本发明实施例1提供的存储路由前缀示意图
图6是本发明实施例2提供的查找路由前缀示意图
图7是本发明实施例3提供的插入路由前缀示意图
图8是本发明实施例4提供的删除路由前缀示意图
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
实施例1:
路由器中名字前缀列表如图5中(a)所示。这些前缀采用树位图和计数布隆滤波器联合存储,结构如图5中(c)所示,其中名字分级水平SL=3,树位图中步长为2,计数布隆滤波器中哈希函数个数k=3。树位图中5个节点的内部位图和外部位图如图5中(b)所示,滤波器示意图如(d)和(e)所示。其中计数布隆滤波器2-1-1存储的是前缀/cn/edu/courses/spring的B段,为/spring;滤波器3-1-4存储的是前缀/cn/com/sina/movie/love/oneday/avi和前缀/cn/com/sina/news/usa/star/oskar的B段,分别为/movie/love/oneday/avi和/news/usa/star/oskar。3-1-4中的3指的是第三个孩子节点,1指的是该节点指向的第一组滤波器,4指的是滤波器组中的第4号滤波器。
实施例2:
本例在实施例1的基础上进行,分成三种情况对名字前缀查找进行演示。
(1)请求数据包的名字X=/cn/edu/courses/spring/game/lesson1/video
将X分解成T段=/cn/edu/courses,B段=/spring/game/lesson1/video。在树位图中找到T段的最长匹配项H,在H指向的滤波器组中对B段进行成员关系查找,如图6所示,可知B段的最长匹配项有三层,取B段的前三层/spring/game/lesson1追加在T段后作为X的最长匹配前缀,为/cn/edu/courses/spring/game/lesson1,对该最长匹配前缀进行哈希计算可得转发端口eth6,从eth6转发请求数据包,操作结束。
(2)请求数据包的名字X=/cn/edu
将X分解成T段=/cn/edu,B段为空。在树位图中找到最长匹配项D,从D对应的端口eth_D转发请求数据包,操作结束。
(3)请求数据包的名字X=/org/edu/courses/spring
将X分解成T段=/org/edu/courses,B段=/spring。因为在树位图中找不到T-segment的最长匹配项,则从默认端口R转发请求数据包,操作结束。
实施例3:
本例在实施例1的基础上进行,分成三种情况对插入名字前缀进行演示。
(1)要插入的名字前缀X=/cn/com/yahoo/entertainment/star
将X分解成T段=/cn/com/yahoo,B段=/entertainment/star。在树位图中找到T段的最长匹配前缀,该前缀指向的滤波器3-2-2是两层的,则将B段插入其中。方法是对B段进行3次哈希计算,映射到3-2-2中的1、3、4位置处,将这些位置上的计数器加1,如图7中(b)所示,其中(a)是滤波器3-2-2插入X前的情形,黑色实心圆圈是为了解释计数器加1。
(2)要插入的名字前缀X=/com/baidu/movie
将X分解成T段=/com/baidu/movie,B段为空。因为只有T段部分,只更改树位图即可,如图7中(c)所示。同时,将Node_4的内部位图010修改为011。
(3)要插入的名字前缀X=/com/goole/picture/star/eason
将X分解成T段=/com/goole/picture,B段=/star/eason。更新树位图的过程和(2)是完全一样的。将Node_5的内部位图001修改为011,外部位图0010修改为1010。因为该前缀还存在B段,所以要加入一个相应的2号滤波器5-2-2,如图7中(d)所示。
实施例4:
本例在实施例1的基础上进行,分成三种情况对删除名字前缀进行演示。
(1)要删除的名字前缀Y=/cn/com/sina/movie/love/titanic
将Y分解成T段=/cn/com/sina,B段=/movie/love/titanic。在树位图中找到T段的最长匹配前缀,对B段进行哈希计算确定Y存在于路由表项中。将滤波器3-1-3中B段映射到的位置2、4、(m-2)上的计数器减1,如图8中(b)所示。滤波器3-1-3原来结构如图8中(a)所示。计数器减1后位置4处没有变为0,说明还有其他前缀经哈希计算后映射到这个位置。
(2)要删除的名字前缀Y=/com/baidu/news
将Y分解成T段=/com/baidu/news,B段为空。在树位图中找到T段的最长匹配前缀,删除该项,将Node_4的内部位图010修改为000。修改后的树位图如图8中(c)所示
(3)要删除的名字前缀Y=/cn/com/sina
将Y分解成T段=/cn/com/sina,B段为空。在树位图中找到T段的最长匹配前缀,将该前缀删除,将该前缀指向的滤波器组3-1-3和3-1-4清除,将节点Node_3的内部位图011修改为001,外部位图0010修改为0010。操作结束后节点Node_3如图8中(d)所示。
以上结合附图对本发明的具体实施方式作了说明,但这些说明不能被理解为限制了本发明的范围,本发明的保护范围由随附的权利要求书限定,任何在本发明权利要求基础上的改动都是本发明的保护范围;此外,本发明的方法可以开发出相同功能的装置,这也在本发明的保护范围。
Claims (8)
1.一种名字路由快速匹配查找方法,其特征在于,首先将路由前缀分解成二元组,即T段(T-segment)和B段(B-segment),依次存储于树位图(Tree Bitmap)单元和布隆滤波(Bloom filter)单元,随后对T段进行匹配,匹配成功后再对B段进行匹配,其中,所述将路由前缀分解成二元组,依次存储于树位图单元和布隆滤波单元的步骤包括:
步骤1、将名字前缀分解为T段和B段,其中,SL(Split Level)称为名字前缀的分解水平,T段为名字前缀的前SL层,B段为名字前缀的剩余部分;
步骤2、将T段插入树位图中,将B段插入到T段构成的树中相应节点指向的计数布隆滤波器(Counting Bloom filter)中;其中,对T段进行匹配,匹配成功后再对B段进行匹配的步骤还包括:
步骤A、将请求内容的名字,比如N,分解成T段和B段,在T段树中查找T段的最长匹配前缀,如果T段的最长匹配前缀不存在,执行步骤D;如果T段的最长匹配前缀的层数小于SL,取得T段的最长匹配前缀对应的转发端口号,执行步骤E;否则,执行步骤B;
步骤B、对B段的前1层,前2层,前3层…前n层并行地在第1号计数布隆滤波器、第2号计数布隆滤波器、第3号计数布隆滤波器…第n号计数布隆滤波器中进行成员关系查找,把查找结果输出到栈S,执行步骤C;
步骤C、取栈S顶元素SF(栈S顶元素用SF表示),将T段的最长匹配前缀和B段的前SF层的内容连接起来,得到N的最长匹配前缀,通过对N的最长匹配前缀进行哈希计算取得转发端口号,执行步骤E;
步骤D、将请求包从路由器的默认端口转发;
步骤E、将请求包从路由器的口转发。
2.如权利要求1所述方法,其特征在于,将T段插入到树位图的步骤是指将所有名字前缀的T段放在一个树位图中,形成一个T段树(T-segment Tree)。
3.如权利要求1所述方法,其特征在于,将B段插入到布隆滤波器的步骤是指将所有名字前缀的B段分别插入到所属T段所在节点指向的具有相同层数的计数布隆滤波器中,例如,存在三个前缀
a./cn/com/sina/movie/Hollywood
b./cn/com/sina/movie/Hollywood/hottest/M1
c./cn/edu/course/spring
取SL=3,则cn/com/sina和cn/edu/course存储在树位图中,course、sina这两个节点分别指向自己的布隆滤波器组;前缀c的B段为/spring要插入到course指向的第1号计数滤波器中,因为/spring只有一层;而前缀a、b的B段分别为/movie/Hollywood和/movie/Hollywood/hottest/M1,要插入到sina指向的第2号计数布隆滤波器和第4号计数布隆滤波器中。
4.根据权利要求1所述的方法,其特征在于,所述步骤B中输出查找结果栈S,是指将查询结果为真的计数布隆滤波器号码按从小到大的顺序存入空栈S中;例如,B段为com/goole/music/,如果“com/”存在于1号计数布隆滤波器中,“com/goole/”存在于2号计数布隆滤波器中,“com/goole/music/”存在于3号计数布隆滤波器中,则栈S中从底到顶存储的是:1,2,3,其中3为栈顶元素SF。
5.如权利要求1所述的方法,其特征在于,所述步骤A中返回的路由器的默认端口,是指没有任何名字前缀与请求内容的名字匹配,则该请求会被从某个固定端口转发。
6.如权利要求1所述的方法,其特征在于,其根据要插入或删除名字的层数以及是否存在匹配前缀对树位图和布隆滤波器进行更新操作。
7.如权利要求6所述的方法,所述对树位图和布隆滤波器进行插入操作包括:
步骤A、要插入的名字路由前缀,不妨称为X,层数小于或等于SL,若X在T段树中存在最长匹配前缀,不进行任何操作;若不存在,则更新T段树,将内部位图相应的位置修改为1,插入操作结束,否则,执行步骤B;
步骤B、X的层数大于SL,若T段树中不存在X的T段的最长匹配前缀,执行步骤C;否则,将与X的B段层数相对应的计数布隆滤波器中相应的计数器都加一或者新建一个计数布隆滤波器,插入操作结束;
步骤C、重写T段树的内部位图和外部位图,并构建相应计数布隆滤波器,插入操作结束。
8.如权利要求6所述的方法,对树位图和布隆滤波器进行删除操作包括:
步骤A、若要删除的名字,不妨称为Y,的层数小于或等于SL,执行步骤B;若层数大于SL,查找是否存在与Y相对应的计数布隆滤波器;如果不存在,说明Y不在路由表中,不进行任何操作;如果存在,将该计数布隆滤波器中相应的计数器都减1,如果计数器减1后,将匹配时所使用的所有计数布隆滤波器变为空,执行步骤C;否则,删除操作结束;
步骤B、如果T段树中不存在Y的最长匹配前缀,不进行任何操作;否则,将内部位图和外部位图相应的位置修改0,如果外部位图置0的位置原来就是0,删除操作结束;否则,其指向的一组计数布隆滤波器全部释放,删除操作结束;
步骤C、将T段树外部位图中指向该组计数布隆滤波器的位置修改为0,释放匹配时所使用的所有计数布隆滤波器,删除操作结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410059219.9A CN103873371B (zh) | 2014-02-21 | 2014-02-21 | 一种名字路由快速匹配查找方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410059219.9A CN103873371B (zh) | 2014-02-21 | 2014-02-21 | 一种名字路由快速匹配查找方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103873371A CN103873371A (zh) | 2014-06-18 |
CN103873371B true CN103873371B (zh) | 2017-11-28 |
Family
ID=50911510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410059219.9A Active CN103873371B (zh) | 2014-02-21 | 2014-02-21 | 一种名字路由快速匹配查找方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103873371B (zh) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10098051B2 (en) | 2014-01-22 | 2018-10-09 | Cisco Technology, Inc. | Gateways and routing in software-defined manets |
US9954678B2 (en) | 2014-02-06 | 2018-04-24 | Cisco Technology, Inc. | Content-based transport security |
US9836540B2 (en) | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
US9626413B2 (en) | 2014-03-10 | 2017-04-18 | Cisco Systems, Inc. | System and method for ranking content popularity in a content-centric network |
US9992281B2 (en) | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
US9729616B2 (en) | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
US9882964B2 (en) | 2014-08-08 | 2018-01-30 | Cisco Technology, Inc. | Explicit strategy feedback in name-based forwarding |
US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
US10069933B2 (en) | 2014-10-23 | 2018-09-04 | Cisco Technology, Inc. | System and method for creating virtual interfaces based on network characteristics |
US9590948B2 (en) | 2014-12-15 | 2017-03-07 | Cisco Systems, Inc. | CCN routing using hardware-assisted hash tables |
US10237189B2 (en) | 2014-12-16 | 2019-03-19 | Cisco Technology, Inc. | System and method for distance-based interest forwarding |
US10003520B2 (en) | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
CN104537091B (zh) * | 2015-01-06 | 2018-08-10 | 湖南科技大学 | 一种基于层次标识路由的网络化关系数据查询方法 |
US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
US9916457B2 (en) | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
US10701038B2 (en) | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US9986034B2 (en) | 2015-08-03 | 2018-05-29 | Cisco Technology, Inc. | Transferring state in content centric network stacks |
US9832123B2 (en) | 2015-09-11 | 2017-11-28 | Cisco Technology, Inc. | Network named fragments in a content centric network |
US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US9977809B2 (en) | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
US10454820B2 (en) | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
US9912776B2 (en) | 2015-12-02 | 2018-03-06 | Cisco Technology, Inc. | Explicit content deletion commands in a content centric network |
US10097346B2 (en) | 2015-12-09 | 2018-10-09 | Cisco Technology, Inc. | Key catalogs in a content centric network |
US10257271B2 (en) | 2016-01-11 | 2019-04-09 | Cisco Technology, Inc. | Chandra-Toueg consensus in a content centric network |
US10305864B2 (en) | 2016-01-25 | 2019-05-28 | Cisco Technology, Inc. | Method and system for interest encryption in a content centric network |
US10043016B2 (en) | 2016-02-29 | 2018-08-07 | Cisco Technology, Inc. | Method and system for name encryption agreement in a content centric network |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US10264099B2 (en) | 2016-03-07 | 2019-04-16 | Cisco Technology, Inc. | Method and system for content closures in a content centric network |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
US10212248B2 (en) | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
US10447805B2 (en) | 2016-10-10 | 2019-10-15 | Cisco Technology, Inc. | Distributed consensus in a content centric network |
US10135948B2 (en) | 2016-10-31 | 2018-11-20 | Cisco Technology, Inc. | System and method for process migration in a content centric network |
CN106506719B (zh) * | 2016-11-07 | 2019-06-14 | 北京邮电大学 | 命名数据网络中分发策略的配置方法及配置系统 |
US10243851B2 (en) | 2016-11-21 | 2019-03-26 | Cisco Technology, Inc. | System and method for forwarder connection information in a content centric network |
CN107105019B (zh) * | 2017-04-06 | 2020-04-10 | 湖南大学 | 一种ndn数据名查找方法及系统 |
CN109831384B (zh) * | 2017-11-23 | 2021-08-03 | 华为技术有限公司 | 名字查找方法及路由器 |
CN109327395B (zh) * | 2018-11-30 | 2021-09-10 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN110493136B (zh) * | 2019-08-15 | 2021-10-29 | 赛尔网络有限公司 | 资源名称编码方法、装置、电子设备及存储介质 |
CN110781464A (zh) * | 2019-10-18 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种唯一性校验方法、装置、设备及可读存储介质 |
CN111966654A (zh) * | 2020-08-18 | 2020-11-20 | 浪潮云信息技术股份公司 | 一种基于Trie字典树的混合过滤器 |
CN112115312B (zh) * | 2020-09-08 | 2022-07-08 | 湖南大学 | 数据名查找方法、系统及存储介质 |
CN113992585A (zh) * | 2021-10-25 | 2022-01-28 | 天津职业技术师范大学(中国职业培训指导教师进修中心) | 一种用于ndn中的名称分裂查找方法 |
CN113904999B (zh) * | 2021-10-29 | 2023-08-08 | 北京知道创宇信息技术股份有限公司 | 一种数据扩容方法及可编程交换机 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2562978A1 (en) * | 2011-08-12 | 2013-02-27 | Alcatel Lucent | Content router of a content centric network |
CN103179037A (zh) * | 2012-12-13 | 2013-06-26 | 清华大学 | 基于内容的数据中心网络的数据传输方法 |
CN103428093A (zh) * | 2013-07-03 | 2013-12-04 | 北京邮电大学 | 一种基于名字路由前缀存储、匹配及更新方法与装置 |
-
2014
- 2014-02-21 CN CN201410059219.9A patent/CN103873371B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2562978A1 (en) * | 2011-08-12 | 2013-02-27 | Alcatel Lucent | Content router of a content centric network |
CN103179037A (zh) * | 2012-12-13 | 2013-06-26 | 清华大学 | 基于内容的数据中心网络的数据传输方法 |
CN103428093A (zh) * | 2013-07-03 | 2013-12-04 | 北京邮电大学 | 一种基于名字路由前缀存储、匹配及更新方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103873371A (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103873371B (zh) | 一种名字路由快速匹配查找方法与装置 | |
US8631043B2 (en) | Method and apparatus for generating a shape graph from a binary trie | |
CN103425725B (zh) | 散列冲突降低系统 | |
CN103428093B (zh) | 一种基于名字路由前缀存储、匹配及更新方法与装置 | |
EP1623347B1 (en) | Comparison tree data structures and lookup operations | |
CN107967219B (zh) | 一种基于tcam的大规模字符串高速查找方法 | |
US9269411B2 (en) | Organizing data in a hybrid memory for search operations | |
US7653670B2 (en) | Storage-efficient and collision-free hash-based packet processing architecture and method | |
US9704574B1 (en) | Method and apparatus for pattern matching | |
US20070171911A1 (en) | Routing system and method for managing rule entry thereof | |
CN103780491B (zh) | 一种实现IPv6快速路由查找的方法 | |
WO2016184029A1 (zh) | 支持哈希查找和路由查找的存储、查找方法和装置、存储介质 | |
US10771386B2 (en) | IP routing search | |
CN102045412B (zh) | IPv6地址前缀压缩存储方法及设备 | |
EP1063827A2 (en) | Method for address lookup | |
US7478109B1 (en) | Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes | |
US7398278B2 (en) | Prefix processing technique for faster IP routing | |
CN110995876B (zh) | 一种ip存储与查找的方法及装置 | |
CN104301227B (zh) | 基于tcam的高速低功耗ip路由表查找方法 | |
Huang et al. | Fast routing table lookup based on deterministic multi-hashing | |
Lin et al. | A multi-index hybrid trie for lookup and updates | |
Vijay et al. | Implementation of memory-efficient linear pipelined IPv6 lookup and its significance in smart cities | |
CN111865804B (zh) | 一种通过硬件发包机制提升路由下发效率的方法及系统 | |
Yang et al. | High performance IP lookup on FPGA with combined length-infix pipelined search | |
Erdem et al. | Value-coded trie structure for high-performance IPv6 lookup |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |