内容中心网络转发平面fib表结构及其检索方法

文档序号:8459167阅读:1039来源:国知局
内容中心网络转发平面fib表结构及其检索方法
【技术领域】
[0001]本发明属于高性能路由器结构设计领域,特别针对内容中心网络(Named DataNetworking)转发平面中高性能FIB表的查询及更新问题。
【背景技术】
[0002]随着互联网技术更广泛的普及和应用,原有基于TCP/IP的互联网架构,在速率、能耗、安全、移动性、通信质量等诸多方面已经不能满足人们的需求,同时也对未来互联网技术的进一步发展带来了阻碍。因此,以内容为中心的新型未来互联网架构:内容中心网络(Named Data Networking)于2009年被提出,并得到快速发展。
[0003]内容中心网络采用以数据为中心的通信模式,通过建立全新的互联网网络架构体系,打破了原有基于位置的通信模式(Locat1n-Based),即不考虑内容存储所在的物理位置,实现了网络从“where”到“what”的革命性变革,其基本含义就是将整个互联网的需求由主机调整为数据内容,其优势在于极大的提高了网络资源的共享率,提升了网络性能。
[0004]大量研宄表明,为了实现内容中心网络这一新型互联网构架,要求其转发平面有高效率的路由存储结构,以支持更高速的报文匹配及路由更新操作。其中,该存储结构在1Gbps至20Gbps的链接速率下,其报文处理能力应达到百万级别,同时能实现基于最长前缀匹配原则(Longest Prefix Matching)的FIB表查询、更新操作;其次应充分考虑该网络中可变长的新型数据命名方式以及当前的硬件存储器技术水平。然而,目前常用的基于Hash方法、Bloom filter技术或Name Component Encoding树形编码方案的FIB存储结构,都不能完全满足上述需求。

【发明内容】

[0005]针对上述问题,本发明设计了一种针对内容中心网络转发平面特点的新型FIB表存储结构。该结构可以在满足内容中心网络转发平面百万级别报文处理能力的同时,实现高效率的路由信息存储,基于最长前缀匹配原则的FIB表快速报文匹配及更新操作,并可以部署于当前硬件环境下。
[0006]为了解决上述技术问题,本发明提出的一种内容中心网络转发平面FIB表结构,包括一个片内存储单元和两个片外存储单元;所述片内存储单元由可定位型布隆存储器组构成,所述可定位型布隆存储器组使用多个可定位型布隆数据结构作为数据索引;两个片外存储单元中,一个片外存储单元由CBF存储器组构成,所述CBF存储器组使用多个CBF (Counter Bloom filter)数据结构以实现FIB表更新操作,另一个片外存储单元由一个片外静态存储器构成,所述片外静态存储器使用静态存储结构以存储实际数据报文的转发信息。
[0007]本发明提出的一种可定位型布隆数据结构,包括一个通用型Bloom filter数组BF和一个定位数组MA,其中所述通用型Bloom filter数组BF用于确定一个元素是否在集合中,所述定位数组MA是一个与所述通用型Bloom f i I ter数组BF有一定映射关系的比特数组,根据所述定位数组MA的数值可确定所述元素在该可定位型布隆数据结构所映射存储结构中的偏移地址。
[0008]本发明提出的一种内容中心网络转发平面FIB表结构的检索方法,是根据本发明中提出的上述内容中心网络转发平面FIB表结构。其中,所述可定位型布隆存储器组使用本发明中提出的上述可定位型布隆数据结构作为数据索引;该内容中心网络转发平面FIB表结构的检索方法包括FIB表报文匹配查询、FIB表更新以及报文名称前缀在可定位型布隆数据结构中进行最长前缀匹配查询;其中:
[0009]FIB表报文匹配查询的步骤包括:
[0010]步骤1-1、将基于分级结构的报文名称输入到所述可定位型布隆存储器组中;
[0011]步骤1-2:按照最长前缀匹配原则在所述可定位型布隆存储器组中并行进行查询操作,从而判断该报文名称的转发信息是否在FIB表中,
[0012]如果在所述可定位型布隆存储器组中存在匹配的报文名称,则执行步骤1-3 ;
[0013]如果在所述可定位型布隆存储器组中不存在匹配的报文名称,则执行步骤1-4 ;
[0014]步骤1-3:在片外静态存储器中读取转发信息,根据可定位型布隆存储器组的输出结果,获得最长匹配前缀在片外存静态储器中的偏移地址,并按照该偏移地址在片外静态存储器中读取该最长匹配前缀所对应的下一跳路由转发信息;
[0015]步骤1-4:向转发平面返回FIB表查询结果,结束FIB表报文匹配查询;
[0016]FIB表更新的步骤包括:
[0017]步骤2-1、将基于分级结构的待更新报文名称前缀输入CBF存储器组中。
[0018]步骤2-2、按照最长前缀匹配原则在该待更新报文名称前缀所对应的所述CBF存储器中执行CBF存储器的更新操作,并判断该报文名称前缀所对应的CBF存储器比特位数值是否变化,
[0019]如果在所述CBF存储器组中报文名称前缀对应的CBF存储器比特位的数值发生变化,即由O变为I或由I变为0,则执行步骤2-3 ;
[0020]如果在CBF存储器组中报文名称前缀对应的CBF存储器比特位的数值没有发生变化,则执行步骤2-4;
[0021 ] 步骤2-3、同步片外CBF存储器组中CBF存储器所对应片内存储单元中可定位型布隆存储器比特位的数值;
[0022]步骤2-4、向转发平面返回FIB表更新结果,结束FIB表更新;
[0023]报文名称前缀在可定位型布隆数据结构中进行最长前缀匹配查询的步骤包括:
[0024]步骤3-1、将定位数组MA中所有比特位的数值均设置为O ;
[0025]步骤3-2、向所述该可定位型布隆存储器中输入与其所对应的报文名称前缀,其中报文名称前缀的长度对应于可定位型布隆存储器的编号;
[0026]步骤3-3、对所述报文名称前缀进行K次哈希映射操作,其中,哈希函数选用MD5或SHA1,同时,根据通用型Bloom filter数组BF的具体大小来调整编码长度及映射次数K值;
[0027]步骤3-4、判断K次哈希映射操作所映射的通用型Bloom filter数组BF比特位数值是否全为1,
[0028]若映射值全为1,则执行步骤3-5 ;否则,执行步骤3-7 ;
[0029]步骤3-5、根据K次哈希映射操作在通用型Bloom filter数组BF中的映射值,计算定位数组MA的数值;
[0030]步骤3-6、将步骤3-5计算所得定位数组MA的数值作为所述报文名称前缀在片外静态存储器中的偏移地址输出至FIB系统中;
[0031]步骤3-7、向转发平面返回查询结果,结束最长前缀匹配查询。
[0032]与现有技术相比,本发明的有益效果是:
[0033]本
【发明内容】
中心网络转发平面FIB表结构是基于可定位型布隆数据结构的,不仅能实现高效的查找及更新操作,而且具有很好的可部署性。实现本发明可以使用SRAM进行片上部署,并满足当前互联网络错误率低于I %的通信需求。
【附图说明】
[0034]图1是本
【发明内容】
中心网络转发平面FIB表结构的系统结构图;
[0035]图2是本发明中涉及到的一种可定位型布隆数据结构的原理图;
[0036]图3是本发明检索方法中关于FIB表报文匹配查询的流程框图;
[0037]图4是本发明检索方法中关于FIB表更新操作的流程框图;
[0038]图5是本发明检索方法中关于报文名称前缀在其对应的可定位型布隆数据结构中进行最长前缀匹配查询的流程框图。
【具体实施方式】
[0039]下面结合附图和具体实施例对本发明技术方案作进一步详细描述。
[0040]如图1所示,本发明一种内容中心网络转发平面FIB表结构,包括一个片内存储单元和两个片外存储单元;所述片内存储单元由可定位型布隆存储器组(Mapping Bloomfilters)构成,所述可定位型布隆存储器组包括W个可定位型布隆存储器(图1中将多个可定位型布隆存储器表达为MBF (I) ,MBF (2) ,MBF (3)、……、MBF(W)),所述可定位型布隆存储器组使用多个可定位型布隆数据结构作为数据索引;两个片外存储单元中,一个片外存储单元由CBF存储器组(Counter Bloom filters)构成,所述CBF存储器组使用多个CBF数据结构以实现FIB表更新操作,另一个片外存储单元为一个片外静态存储器,所述片外静态存储器使用静态存储结构以存储实际数据报文的转发信息。
[0041]如图2所示,本发明中所述可定位型布隆数据结构,包括一个通用型Bloomfilter数组BF和一个定位数组MA,其中所述通用型Bloom filter数组BF用于确定一个元素是否在集合中,所述定位数组MA是一个与所述通用型Bloom filter数组BF有一定映射关系的比特数组,根据所述定位数组MA的数值确定所述元素在可定位型布隆数据结构所映射存储结构中的偏移地址。
[0042]如图2所示,给出一个具体的向可定位型布隆数据结构中增加元素的事例。在该可定位型布隆数据结构中,使用K = 3个哈希函数,BF(即通用型Bloom filter数组BF)的大小被设置为32比特,同时,BF被均等的分为8份。与之相对应的定位数组MA被设置为8比特,因此,该可定位型布隆数据结构可在片外存储其中索引28个元素。在这个可定位型布隆数据结构中,三个元素X、Y、Z被依次输入,每次元素输入前,MA数组都会被初始化为全O状态。当X输入时,BF中的第1、6、11比特位被哈希映射,也就是说BF的第1、2、3部分存在哈希映射,因此MA定位数组的第1、2、3比特位的数值将被设定为1,其他位置数值为O。最终得到MA定位数组的值为11100000,即X元素在片外存储器中的偏移地址为11100000。当Y输入时,BF中的第6、14、22比特位被哈希映射,也就是说BF的第2、4、6部分存在哈希映射,因此MA定位数组的第2、4、6比特位的数值将被设定为1,其他位置数值为O。最终得到MA定位数组的值为01010100,即Y元素在片外存储器中的偏移地址为01010100。当Z输入时,BF中的第17、22、27比特位被哈希映射,也就是说BF的第5、6、7部分存在哈希映射,因此MA定位数组的第5、6、7比特位的数值将被设定为1,其他位置数值为O。最终得到MA定位数组的值为00001110,即Z元素在片外存储器中的偏移地址为00001110。
[0043]本
【发明内容】
中心网络转发平面FIB表结构的检索方法,是根据上述的内容中心网络转发平面FIB表结构(如图1所示),其中所述的可定位型布隆存储器组使用上述的可定位型布隆数据结构(如图2所示)作为数据索引,内容中心网络转发平面FIB表结构的检索方法包括FIB表报文匹配查询、FIB表更新以及报文名称前缀在可定位型布隆数据结构中进行最长前缀匹配查询。
[0044]当利用本发明提出的内容中心网络转发平面FIB表结构进行
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1