CN104780101B - Content center network Forwarding plane fib table structure and its search method - Google Patents
Content center network Forwarding plane fib table structure and its search method Download PDFInfo
- Publication number
- CN104780101B CN104780101B CN201510050543.9A CN201510050543A CN104780101B CN 104780101 B CN104780101 B CN 104780101B CN 201510050543 A CN201510050543 A CN 201510050543A CN 104780101 B CN104780101 B CN 104780101B
- Authority
- CN
- China
- Prior art keywords
- memory
- fib table
- cbf
- grand
- prefix
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种内容中心网络转发平面FIB表结构,包括一个片内存储单元和两个片外存储单元;片内存储单元由可定位型布隆存储器组构成,可定位型布隆存储器组使用多个可定位型布隆数据结构作为数据索引;两个片外存储单元中,一个片外存储单元由CBF存储器组构成,CBF存储器组使用多个CBF数据结构以实现FIB表更新操作,另一个片外存储单元为一个片外静态存储器,片外静态存储器使用静态存储结构以存储实际数据报文的转发信息。本发明FIB表结构可以在满足内容中心网络转发平面百万级别报文处理能力的同时,实现高效率的路由信息存储,基于最长前缀匹配原则的FIB表快速报文匹配及更新操作,并可以部署于当前硬件环境下。
The invention discloses a content-centric network forwarding plane FIB table structure, which includes an on-chip storage unit and two off-chip storage units; Use multiple locatable Bloom data structures as data indexes; among the two off-chip storage units, one off-chip storage unit is composed of a CBF memory group, and the CBF memory group uses multiple CBF data structures to realize the FIB table update operation, and the other An off-chip storage unit is an off-chip static memory, and the off-chip static memory uses a static storage structure to store forwarding information of actual data packets. The FIB table structure of the present invention can realize high-efficiency routing information storage while satisfying the million-level message processing capability of the forwarding plane of the content-centric network, and fast message matching and updating operations of the FIB table based on the longest prefix matching principle, and can Deployed in the current hardware environment.
Description
技术领域technical field
本发明属于高性能路由器结构设计领域,特别针对内容中心网络(Named DataNetworking)转发平面中高性能FIB表的查询及更新问题。The invention belongs to the field of high-performance router structure design, and is particularly aimed at the problem of querying and updating a high-performance FIB table in a content-centric network (Named DataNetworking) forwarding plane.
背景技术Background technique
随着互联网技术更广泛的普及和应用,原有基于TCP/IP的互联网架构,在速率、能耗、安全、移动性、通信质量等诸多方面已经不能满足人们的需求,同时也对未来互联网技术的进一步发展带来了阻碍。因此,以内容为中心的新型未来互联网架构:内容中心网络(Named Data Networking)于2009年被提出,并得到快速发展。With the wider popularization and application of Internet technology, the original TCP/IP-based Internet architecture can no longer meet people's needs in terms of speed, energy consumption, security, mobility, and communication quality. obstacles to further development. Therefore, a new content-centric future Internet architecture: Content-Centric Networking (Named Data Networking) was proposed in 2009 and has developed rapidly.
内容中心网络采用以数据为中心的通信模式,通过建立全新的互联网网络架构体系,打破了原有基于位置的通信模式(Location-Based),即不考虑内容存储所在的物理位置,实现了网络从“where”到“what”的革命性变革,其基本含义就是将整个互联网的需求由主机调整为数据内容,其优势在于极大的提高了网络资源的共享率,提升了网络性能。The content-centric network adopts a data-centric communication mode. By establishing a new Internet network architecture system, it breaks the original location-based communication mode (Location-Based), that is, it does not consider the physical location where the content is stored, and realizes the network from The basic meaning of the revolutionary change from "where" to "what" is to adjust the needs of the entire Internet from hosts to data content. Its advantage is that it greatly improves the sharing rate of network resources and improves network performance.
大量研究表明,为了实现内容中心网络这一新型互联网构架,要求其转发平面有高效率的路由存储结构,以支持更高速的报文匹配及路由更新操作。其中,该存储结构在10Gbps至20Gbps的链接速率下,其报文处理能力应达到百万级别,同时能实现基于最长前缀匹配原则(Longest Prefix Matching)的FIB表查询、更新操作;其次应充分考虑该网络中可变长的新型数据命名方式以及当前的硬件存储器技术水平。然而,目前常用的基于Hash方法、Bloom filter技术或Name Component Encoding树形编码方案的FIB存储结构,都不能完全满足上述需求。A large number of studies have shown that in order to realize the new Internet architecture of the content-centric network, its forwarding plane is required to have an efficient routing storage structure to support higher-speed packet matching and routing update operations. Among them, under the connection rate of 10Gbps to 20Gbps, the storage structure should have a message processing capacity of one million levels, and at the same time, it can realize the FIB table query and update operations based on the Longest Prefix Matching principle (Longest Prefix Matching); secondly, it should be fully Consider new variable-length data naming schemes in this network and the current state of the art in hardware memory. However, currently commonly used FIB storage structures based on the Hash method, Bloom filter technology or Name Component Encoding tree coding scheme cannot fully meet the above requirements.
发明内容Contents of the invention
针对上述问题,本发明设计了一种针对内容中心网络转发平面特点的新型FIB表存储结构。该结构可以在满足内容中心网络转发平面百万级别报文处理能力的同时,实现高效率的路由信息存储,基于最长前缀匹配原则的FIB表快速报文匹配及更新操作,并可以部署于当前硬件环境下。In view of the above problems, the present invention designs a novel FIB table storage structure aimed at the characteristics of the content-centric network forwarding plane. This structure can achieve efficient routing information storage while satisfying the million-level packet processing capability of the content-centric network forwarding plane. The FIB table based on the longest prefix matching principle can quickly match and update packets, and can be deployed in the current In the hardware environment.
为了解决上述技术问题,本发明提出的一种内容中心网络转发平面FIB表结构,包括一个片内存储单元和两个片外存储单元;所述片内存储单元由可定位型布隆存储器组构成,所述可定位型布隆存储器组使用多个可定位型布隆数据结构作为数据索引;两个片外存储单元中,一个片外存储单元由CBF存储器组构成,所述CBF存储器组使用多个CBF(Counter Bloom filter)数据结构以实现FIB表更新操作,另一个片外存储单元由一个片外静态存储 器构成,所述片外静态存储器使用静态存储结构以存储实际数据报文的转发信息。In order to solve the above technical problems, a content-centric network forwarding plane FIB table structure proposed by the present invention includes an on-chip storage unit and two off-chip storage units; the on-chip storage unit is composed of a locateable Bloom memory group , the locatable Bloom memory group uses a plurality of locatable Bloom data structures as data indexes; among the two off-chip storage units, one off-chip storage unit is composed of a CBF memory group, and the CBF memory group uses multiple A CBF (Counter Bloom filter) data structure is used to realize the FIB table update operation, and another off-chip storage unit is composed of an off-chip static memory, and the off-chip static memory uses a static storage structure to store the forwarding information of the actual data message.
本发明提出的一种可定位型布隆数据结构,包括一个通用型Bloom filter数组BF和一个定位数组MA,其中所述通用型Bloom filter数组BF用于确定一个元素是否在集合中,所述定位数组MA是一个与所述通用型Bloom filter数组BF有一定映射关系的比特数组,根据所述定位数组MA的数值可确定所述元素在该可定位型布隆数据结构所映射存储结构中的偏移地址。A kind of positionable Bloom data structure proposed by the present invention comprises a general type Bloom filter array BF and a positioning array MA, wherein said general type Bloom filter array BF is used to determine whether an element is in a set, and said positioning The array MA is a bit array that has a certain mapping relationship with the general-purpose Bloom filter array BF. According to the value of the positioning array MA, the offset of the element in the storage structure mapped by the locatable Bloom data structure can be determined. address.
本发明提出的一种内容中心网络转发平面FIB表结构的检索方法,是根据本发明中提出的上述内容中心网络转发平面FIB表结构。其中,所述可定位型布隆存储器组使用本发明中提出的上述可定位型布隆数据结构作为数据索引;该内容中心网络转发平面FIB表结构的检索方法包括FIB表报文匹配查询、FIB表更新以及报文名称前缀在可定位型布隆数据结构中进行最长前缀匹配查询;其中:A method for retrieving the FIB table structure of the forwarding plane of the content-centric network proposed by the present invention is based on the FIB table structure of the forwarding plane of the content-centric network proposed in the present invention. Wherein, the locatable Bloom memory group uses the above-mentioned locatable Bloom data structure proposed in the present invention as a data index; the retrieval method of the content-centric network forwarding plane FIB table structure includes FIB table message matching query, FIB The longest prefix matching query is performed in the locateable Bloom data structure for table update and message name prefix; where:
FIB表报文匹配查询的步骤包括:The steps of FIB table message matching query include:
步骤1-1、将基于分级结构的报文名称输入到所述可定位型布隆存储器组中;Step 1-1, inputting the message name based on the hierarchical structure into the addressable Bloom memory group;
步骤1-2:按照最长前缀匹配原则在所述可定位型布隆存储器组中并行进行查询操作,从而判断该报文名称的转发信息是否在FIB表中,Step 1-2: According to the longest prefix matching principle, perform query operations in parallel in the locateable Bloom memory group, so as to determine whether the forwarding information of the message name is in the FIB table,
如果在所述可定位型布隆存储器组中存在匹配的报文名称,则执行步骤1-3;If there is a matching message name in the addressable Bloom memory group, then perform steps 1-3;
如果在所述可定位型布隆存储器组中不存在匹配的报文名称,则执行步骤1-4;If there is no matching message name in the addressable Bloom memory group, then perform steps 1-4;
步骤1-3:在片外静态存储器中读取转发信息,根据可定位型布隆存储器组的输出结果,获得最长匹配前缀在片外存静态储器中的偏移地址,并按照该偏移地址在片外静态存储器中读取该最长匹配前缀所对应的下一跳路由转发信息;Step 1-3: Read the forwarding information in the off-chip static memory, obtain the offset address of the longest matching prefix in the off-chip static memory according to the output result of the addressable Bloom memory group, and follow the offset Shift the address and read the next-hop routing forwarding information corresponding to the longest matching prefix in the off-chip static memory;
步骤1-4:向转发平面返回FIB表查询结果,结束FIB表报文匹配查询;Step 1-4: Return the FIB table query result to the forwarding plane, and end the FIB table message matching query;
FIB表更新的步骤包括:The steps to update the FIB table include:
步骤2-1、将基于分级结构的待更新报文名称前缀输入CBF存储器组中。Step 2-1. Input the name prefix of the message to be updated based on the hierarchical structure into the CBF storage group.
步骤2-2、按照最长前缀匹配原则在该待更新报文名称前缀所对应的所述CBF存储器中执行CBF存储器的更新操作,并判断该报文名称前缀所对应的CBF存储器比特位数值是否变化,Step 2-2, perform the update operation of the CBF memory in the CBF memory corresponding to the message name prefix to be updated according to the longest prefix matching principle, and judge whether the corresponding CBF memory bit value of the message name prefix is Variety,
如果在所述CBF存储器组中报文名称前缀对应的CBF存储器比特位的数值发生变化,即由0变为1或由1变为0,则执行步骤2-3;If the value of the CBF memory bit corresponding to the message name prefix in the CBF memory group changes, that is, from 0 to 1 or from 1 to 0, then perform steps 2-3;
如果在CBF存储器组中报文名称前缀对应的CBF存储器比特位的数值没有发生变化,则执行步骤2-4;If the value of the CBF memory bit corresponding to the message name prefix in the CBF memory group does not change, then perform steps 2-4;
步骤2-3、同步片外CBF存储器组中CBF存储器所对应片内存储单元中可定位型布隆存储器比特位的数值;Step 2-3, synchronizing the value of the positionable Bloom memory bits in the on-chip storage unit corresponding to the CBF memory in the off-chip CBF memory group;
步骤2-4、向转发平面返回FIB表更新结果,结束FIB表更新;Step 2-4, return the FIB table update result to the forwarding plane, and end the FIB table update;
报文名称前缀在可定位型布隆数据结构中进行最长前缀匹配查询的步骤包括:The steps of carrying out the longest prefix matching query in the addressable Bloom data structure of the message name prefix include:
步骤3-1、将定位数组MA中所有比特位的数值均设置为0;Step 3-1. Set the values of all bits in the positioning array MA to 0;
步骤3-2、向所述该可定位型布隆存储器中输入与其所对应的报文名称前缀,其中报文名称前缀的长度对应于可定位型布隆存储器的编号;Step 3-2, inputting the corresponding message name prefix into the locatable Bloom memory, wherein the length of the message name prefix corresponds to the serial number of the locatable Bloom memory;
步骤3-3、对所述报文名称前缀进行K次哈希映射操作,其中,哈希函数选用MD5或SHA1,同时,根据通用型Bloom filter数组BF的具体大小来调整编码长度及映射次数K值;Step 3-3, performing K hash mapping operations on the prefix of the message name, wherein the hash function is MD5 or SHA1, and at the same time, adjust the encoding length and mapping times K according to the specific size of the general-purpose Bloom filter array BF value;
步骤3-4、判断K次哈希映射操作所映射的通用型Bloom filter数组BF比特位数值是否全为1,Step 3-4, determine whether the BF bit values of the general-purpose Bloom filter array mapped by K hash mapping operations are all 1,
若映射值全为1,则执行步骤3-5;否则,执行步骤3-7;If the mapping values are all 1, go to step 3-5; otherwise, go to step 3-7;
步骤3-5、根据K次哈希映射操作在通用型Bloom filter数组BF中的映射值,计算定位数组MA的数值;Step 3-5, calculate the value of the positioning array MA according to the mapping value of K hash mapping operations in the general-purpose Bloom filter array BF;
步骤3-6、将步骤3-5计算所得定位数组MA的数值作为所述报文名称前缀在片外静态存储器中的偏移地址输出至FIB系统中;Step 3-6, the numerical value of positioning array MA calculated by step 3-5 is exported to the FIB system as the offset address of the prefix of the message name in the off-chip static memory;
步骤3-7、向转发平面返回查询结果,结束最长前缀匹配查询。Steps 3-7, return the query result to the forwarding plane, and end the longest prefix matching query.
与现有技术相比,本发明的有益效果是:Compared with prior art, the beneficial effect of the present invention is:
本发明内容中心网络转发平面FIB表结构是基于可定位型布隆数据结构的,不仅能实现高效的查找及更新操作,而且具有很好的可部署性。实现本发明可以使用SRAM进行片上部署,并满足当前互联网络错误率低于1%的通信需求。The FIB table structure of the center network forwarding plane in the present invention is based on a locatable Bloom data structure, which not only can realize efficient search and update operations, but also has good deployability. The realization of the present invention can use SRAM for on-chip deployment, and meets the communication requirement that the error rate of the current Internet is lower than 1%.
附图说明Description of drawings
图1是本发明内容中心网络转发平面FIB表结构的系统结构图;Fig. 1 is a system structure diagram of the content center network forwarding plane FIB table structure of the present invention;
图2是本发明中涉及到的一种可定位型布隆数据结构的原理图;Fig. 2 is a schematic diagram of a positionable Bloom data structure involved in the present invention;
图3是本发明检索方法中关于FIB表报文匹配查询的流程框图;Fig. 3 is the flow chart diagram about FIB table message matching query in the retrieval method of the present invention;
图4是本发明检索方法中关于FIB表更新操作的流程框图;Fig. 4 is the flowchart about FIB table update operation in the retrieval method of the present invention;
图5是本发明检索方法中关于报文名称前缀在其对应的可定位型布隆数据结构中进行最长前缀匹配查询的流程框图。Fig. 5 is a flow chart of the longest prefix matching query of the packet name prefix in its corresponding locateable Bloom data structure in the retrieval method of the present invention.
具体实施方式detailed description
下面结合附图和具体实施例对本发明技术方案作进一步详细描述。The technical solutions of the present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.
如图1所示,本发明一种内容中心网络转发平面FIB表结构,包括一个片内存储单元和两个片外存储单元;所述片内存储单元由可定位型布隆存储器组(Mapping Bloomfilters)构成,所述可定位型布隆存储器组包括W个可定位型布隆存储器(图1中将多个可定位型布隆存储器表达为MBF(1)、MBF(2)、MBF(3)、……、MBF(W)),所述可定位型布隆存储器组使用多个可定位型布隆数据结构作为数据索引;两个片外存储单元中,一个片外存储单元由CBF存储器组(Counter Bloom filters)构成,所述CBF存储器组使用多个CBF数据结构以实现FIB表更新操作,另一个片外存储单元为一个片外静态存储器,所述片外静态存储器使用静态存储结构以存储实际数据报文的转发信息。As shown in Figure 1, a content-centric network forwarding plane FIB table structure of the present invention includes an on-chip storage unit and two off-chip storage units; ) constitutes, the described positionable type Bloom memory group comprises W positionable type Bloom memory (in Fig. 1, a plurality of positionable type Bloom memory is expressed as MBF (1), MBF (2), MBF (3) , ... , MBF(W)), the locatable type Bloom memory group uses a plurality of locatable type Bloom data structures as data indexes; among the two off-chip storage units, one off-chip storage unit consists of a CBF memory group (Counter Bloom filters), the CBF memory group uses a plurality of CBF data structures to realize the FIB table update operation, and another off-chip storage unit is an off-chip static memory, and the off-chip static memory uses a static storage structure to store The forwarding information of the actual data packet.
如图2所示,本发明中所述可定位型布隆数据结构,包括一个通用型Bloom filter数组BF和一个定位数组MA,其中所述通用型Bloom filter数组BF用于确定一个元素是否在集合中,所述定位数组MA是一个与所述通用型Bloom filter数组BF有一定映射关系的比特数组,根据所述定位数组MA的数值确定所述元素在可定位型布隆数据结构所映射存储结构中的偏移地址。As shown in Figure 2, the positionable Bloom data structure described in the present invention includes a general-purpose Bloom filter array BF and a positioning array MA, wherein the general-purpose Bloom filter array BF is used to determine whether an element is in the set Wherein, the positioning array MA is a bit array having a certain mapping relationship with the general-purpose Bloom filter array BF, and according to the value of the positioning array MA, it is determined that the elements are in the mapped storage structure of the positioning type Bloom data structure The offset address in .
如图2所示,给出一个具体的向可定位型布隆数据结构中增加元素的事例。在该可定位型布隆数据结构中,使用K=3个哈希函数,BF(即通用型Bloom filter数组BF)的大小被设置为32比特,同时,BF被均等的分为8份。与之相对应的定位数组MA被设置为8比特,因此,该可定位型布隆数据结构可在片外存储其中索引28个元素。在这个可定位型布隆数据结构中,三个元素X、Y、Z被依次输入,每次元素输入前,MA数组都会被初始化为全0状态。当X输入时,BF中的第1、6、11比特位被哈希映射,也就是说BF的第1、2、3部分存在哈希映射,因此MA定位数组的第1、2、3比特位的数值将被设定为1,其他位置数值为0。最终得到MA定位数组的值为11100000,即X元素在片外存储器中的偏移地址为11100000。当Y输入时,BF中的第6、14、22比特位被哈希映射,也就是说BF的第2、4、6部分存在哈希映射,因此MA定位数组的第2、4、6比特位的数值将被设定为1,其他位置数值为0。最终得到MA定位数组的值为01010100,即Y元素在片外存储器中的偏移地址为01010100。当Z输入时,BF中的第17、22、27比特位被哈希映射,也就是说BF的第5、6、7部分存在哈希映射,因此MA定位数组的第5、6、7比特位的数值将被设定为1,其他位置数值为0。最终得到MA定位数组的值为00001110,即Z元素在片外存储器中的偏移地址为00001110。As shown in Figure 2, a specific example of adding elements to the locateable Bloom data structure is given. In the locateable Bloom data structure, K=3 hash functions are used, and the size of BF (that is, the general-purpose Bloom filter array BF) is set to 32 bits, and at the same time, BF is equally divided into 8 parts. The corresponding alignment array MA is set to 8 bits, therefore, the indexable Bloom data structure can store 28 elements in it off-chip. In this positionable Bloom data structure, the three elements X, Y, and Z are input in sequence, and the MA array is initialized to all 0s before each element input. When X is input, the 1st, 6th, and 11th bits in BF are hash-mapped, that is to say, there are hash maps in the 1st, 2nd, and 3rd parts of BF, so MA locates the 1st, 2nd, and 3rd bits of the array The value of the bit will be set to 1, and the value of other positions will be 0. Finally, the value of the MA positioning array is 11100000, that is, the offset address of the X element in the off-chip memory is 11100000. When Y is input, the 6th, 14th, and 22nd bits in BF are hash-mapped, that is to say, there are hash maps in the 2nd, 4th, and 6th parts of BF, so the 2nd, 4th, and 6th bits of the MA positioning array The value of the bit will be set to 1, and the value of other positions will be 0. Finally, the value of the MA positioning array is 01010100, that is, the offset address of the Y element in the off-chip memory is 01010100. When Z is input, the 17th, 22nd, and 27th bits in BF are hash-mapped, that is to say, there are hash maps in the 5th, 6th, and 7th parts of BF, so MA locates the 5th, 6th, and 7th bits of the array The value of the bit will be set to 1, and the value of other positions will be 0. Finally, the value of the MA positioning array is 00001110, that is, the offset address of the Z element in the off-chip memory is 00001110.
本发明内容中心网络转发平面FIB表结构的检索方法,是根据上述的内容中心网络转发平面FIB表结构(如图1所示),其中所述的可定位型布隆存储器组使用上述的可定位型布隆数据结构(如图2所示)作为数据索引,内容中心网络转发平面FIB表结构的检索方法包括FIB表报文匹配查询、FIB表更新以及报文名称前缀在可定位型布隆数据结构中进行最长前缀匹配查询。The retrieval method of the content-centric network forwarding plane FIB table structure of the present invention is based on the above-mentioned content-centric network forwarding plane FIB table structure (as shown in Figure 1), wherein the locatable Bloom memory group uses the above-mentioned locatable Bloom data structure (as shown in Figure 2) is used as a data index, and the retrieval method of the FIB table structure of the content-centric network forwarding plane includes FIB table message matching query, FIB table update, and message name prefix in the locateable Bloom data Longest prefix match lookup in the structure.
当利用本发明提出的内容中心网络转发平面FIB表结构进行FIB表报文匹配查询时,如图3所示,其具体包括以下步骤:When using the content-centric network forwarding plane FIB table structure proposed by the present invention to perform FIB table message matching query, as shown in Figure 3, it specifically includes the following steps:
步骤1-1、输入报文名称。将基于分级结构的报文名称首先输入到所述可定位型布隆存储器组中;Step 1-1. Enter the message name. first inputting a hierarchy-based message name into said addressable Bloom memory bank;
步骤1-2:判断该报文的转发信息是否在FIB表中,按照最长前缀匹配原则在所述可定位型布隆存储器组中并行进行查询操作。Step 1-2: Determine whether the forwarding information of the message is in the FIB table, and perform query operations in parallel in the locateable Bloom memory group according to the longest prefix matching principle.
如果在所述可定位型布隆存储器组中存在匹配的报文名称,则表明在FIB表中存在该报文的最长前缀转发信息,并执行步骤1-3;If there is a matching message name in the locateable Bloom memory group, it indicates that the longest prefix forwarding information of the message exists in the FIB table, and steps 1-3 are performed;
如果在所述可定位型布隆存储器组中不存在匹配的报文名称,则表明在FIB表中不存在该报文的最长前缀转发信息,并执行步骤1-4;If there is no matching message name in the locateable Bloom memory group, it indicates that the longest prefix forwarding information of the message does not exist in the FIB table, and perform steps 1-4;
步骤1-3:在片外静态存储器中读取转发信息。根据可定位型布隆存储器组的输出结果,获得最长匹配前缀在片外存静态储器中的偏移地址,并按照该偏移地址在片外静态存储器中读取该最长匹配前缀所对应的下一跳路由转发信息;Step 1-3: Read the forwarding information in the off-chip static memory. According to the output result of the addressable Bloom memory group, the offset address of the longest matching prefix in the off-chip static memory is obtained, and the longest matching prefix is read in the off-chip static memory according to the offset address Corresponding next-hop route forwarding information;
步骤1-4:向转发平面返回FIB表查询结果,结束FIB表报文匹配查询。Steps 1-4: Return the FIB table query result to the forwarding plane, and end the FIB table message matching query.
例如,如图1和图3所示,首先,已输入的报文名称按照内容中心网络报文分级方式分为W个前缀,每一个长度的前缀对应从1到W编号的一个MBF(可定位型布隆数据结构)。接下来,W个前缀在其所对应的MBF中并行进行查询操作,如图1所示。若在W个MBF中有任意一个或几个MBF存在匹配前缀,则表明在FIB表中存在该报文的下一跳路由转发信息。最终,编号最大的匹配前缀所对应MBF的输出结果将被系统作为报文在片外静态存储器中的偏移地址,以读取下一跳路由信息。For example, as shown in Figures 1 and 3, first, the input message name is divided into W prefixes according to the message classification method of the content-centric network, and each length of the prefix corresponds to an MBF numbered from 1 to W (positionable type Bloom data structure). Next, W prefixes perform query operations in parallel in their corresponding MBFs, as shown in FIG. 1 . If there is a matching prefix in any one or several MBFs among the W MBFs, it indicates that the next-hop routing and forwarding information of the packet exists in the FIB table. Finally, the output result of the MBF corresponding to the matching prefix with the largest number will be used by the system as the offset address of the message in the off-chip static memory to read the next-hop routing information.
当利用本发明提出的内容中心网络转发平面FIB表结构进行FIB表更新操作时,如图4所示,包括以下步骤:When utilizing the content-centric network forwarding plane FIB table structure proposed by the present invention to perform the FIB table update operation, as shown in Figure 4, the following steps are included:
步骤2-1、输入待更新的报文名称前缀。将基于分级结构的待更新报文名称前缀输入CBF存储器组中。Step 2-1. Enter the prefix of the message name to be updated. Input the name prefix of the message to be updated based on the hierarchical structure into the CBF storage group.
步骤2-2、在所述CBF存储器组中进行更新操作。按照最长前缀匹配原则在该待更新 报文名称前缀所对应的所述CBF存储器中执行CBF存储器的更新操作,并判断报文名称前缀所对应的CBF存储器比特位数值是否变化。Step 2-2. Perform an update operation in the CBF memory bank. Carry out the update operation of the CBF memory in the CBF memory corresponding to the message name prefix to be updated according to the longest prefix matching principle, and judge whether the bit value of the CBF memory corresponding to the message name prefix changes.
如果在所述CBF存储器组中报文名称前缀对应的CBF存储器比特位的数值发生变化,即由0变为1或由1变为0,则执行步骤2-3;If the value of the CBF memory bit corresponding to the message name prefix in the CBF memory group changes, that is, from 0 to 1 or from 1 to 0, then perform steps 2-3;
如果在CBF存储器组中报文名称前缀对应的CBF存储器比特位的数值没有发生变化,则无需进行更新操作,直接执行步骤2-4;If the value of the CBF memory bit corresponding to the message name prefix in the CBF memory group has not changed, then there is no need to perform an update operation, and directly perform steps 2-4;
步骤2-3、同步CBF存储器与其所对应的可定位型布隆存储器。同步片外CBF存储器组中CBF存储器所对应片内存储单元中可定位型布隆存储器比特位的数值,即完成FIB表的更新操作。Step 2-3, synchronizing the CBF memory with its corresponding locateable Bloom memory. Synchronizing the value of the bits of the addressable Bloom memory in the on-chip storage unit corresponding to the CBF memory in the off-chip CBF memory group completes the update operation of the FIB table.
步骤2-4、向转发平面返回FIB表更新结果,结束FIB表更新;Step 2-4, return the FIB table update result to the forwarding plane, and end the FIB table update;
当利用本发明提出的内容中心网络转发平面FIB表结构进行报文名称前缀在可定位型布隆数据结构中进行最长前缀匹配查询时,如图5所示,包括以下步骤:When using the content-centric network forwarding plane FIB table structure proposed by the present invention to carry out the longest prefix matching query in the addressable Bloom data structure for the message name prefix, as shown in Figure 5, the following steps are included:
步骤3-1、定位数组MA初始化。将定位数组MA中所有比特位的数值均设置为0;Step 3-1. The positioning array MA is initialized. Set the values of all bits in the positioning array MA to 0;
步骤3-2、输入报文名称前缀。向所述该可定位型布隆存储器中输入与其所对应的报文名称前缀,其中报文名称前缀的长度对应于可定位型布隆存储器的编号;Step 3-2. Enter the packet name prefix. Inputting the corresponding message name prefix into the locatable Bloom memory, wherein the length of the message name prefix corresponds to the number of the locatable Bloom memory;
步骤3-3、对所述报文名称前缀进行K次哈希映射操作。其中,哈希函数选用MD5或SHA1,同时,根据通用型Bloom filter数组BF的具体大小来调整编码长度及映射次数K值;Step 3-3: Perform K times of hash mapping operations on the packet name prefix. Among them, MD5 or SHA1 is selected as the hash function, and at the same time, the encoding length and the mapping times K value are adjusted according to the specific size of the general-purpose Bloom filter array BF;
步骤3-4、判断K次哈希映射操作所映射的通用型Bloom filter数组BF比特位数值是否全为1。Step 3-4, judging whether the BF bit values of the general-purpose Bloom filter array mapped by K times of hash mapping operations are all 1.
若映射值全为1,则该报文名称前缀存在于此可定位型布隆存储器所对应的前缀集合中,并继续执行步骤3-5;否则,该报文名称前缀不存在于此可定位型布隆存储器所对应的前缀集合中,并执行步骤3-7;If the mapping values are all 1, then the packet name prefix exists in the prefix set corresponding to the locateable Bloom memory, and proceed to steps 3-5; otherwise, the packet name prefix does not exist in the locateable Bloom memory In the prefix set corresponding to the type Bloom memory, and perform steps 3-7;
步骤3-5、计算MA定位数组的数值。根据K次哈希映射操作在通用型Bloom filter数组BF中的映射值,计算定位数组MA的数值;Step 3-5, calculating the value of the MA positioning array. Calculate the value of the positioning array MA according to the mapping value of K hash mapping operations in the general-purpose Bloom filter array BF;
步骤3-6、输出偏移地址。将步骤3-5计算所得定位数组MA的数值作为所述报文名称前缀在片外静态存储器中的偏移地址输出至FIB系统中;Step 3-6, output the offset address. The value of the positioning array MA calculated in steps 3-5 is output to the FIB system as the offset address of the message name prefix in the off-chip static memory;
步骤3-7、向转发平面返回查询结果,结束最长前缀匹配查询。Steps 3-7, return the query result to the forwarding plane, and end the longest prefix matching query.
例如,如图2和图5所示,为了实现由BF(通用型Bloom filter数组BF)至MA(定 位数据MA)的映射操作以计算定位数组MA的数值,首先,将BF平均分为J个大小相同的部分,同时MA数组的大小定义为J比特。BF的每一个部分依次对应MA数组的一个比特位。当进行前缀匹配时,若BF中的第i(i=1,2,…,J-1,J)个部分存在哈希映射,则相应MA数组的第i个比特位的值将设置为1,否则该比特位的值为0。最终得出J比特MA定位数组的数值。For example, as shown in Figure 2 and Figure 5, in order to realize the mapping operation from BF (general Bloom filter array BF) to MA (positioning data MA) to calculate the value of positioning array MA, first, divide BF into J on average parts of the same size, while the size of the MA array is defined as J bits. Each part of the BF corresponds to a bit of the MA array in turn. When performing prefix matching, if there is a hash map in the i (i=1, 2, ..., J-1, J) part of the BF, the value of the i-th bit of the corresponding MA array will be set to 1 , otherwise the value of this bit is 0. Finally, the value of the J-bit MA positioning array is obtained.
实验例:Experimental example:
通过使用C++语言,本发明的内容中心网络转发平面FIB表结构已经在一台配置为Intel Core i3-3220 3.30GHz、DDR3 4GB SDRAM的PC机上进行了软件测试部署。考虑到内容中心网络转发平面FIB表的设计要求,来自DMOZ和ALEXA的两百万条报文被输入至该内容中心网络转发平面FIB表中。实验结果表明,该内容中心网络转发平面FIB表可以使用SRAM进行片上部署,并能满足当前互联网络错误率低于1%的通信需求。由此表明,本发明提出的内容中心网络转发平面FIB表结构不仅能实现高效的查找及更新操作,而且具有很好的可部署性。By using C++ language, the content-centric network forwarding plane FIB table structure of the present invention has been deployed for software testing on a PC configured as Intel Core i3-3220 3.30GHz, DDR3 4GB SDRAM. Considering the design requirements of the content-centric network forwarding plane FIB table, two million messages from DMOZ and ALEXA are input into the content-centric network forwarding plane FIB table. Experimental results show that the content-centric network forwarding plane FIB table can be deployed on-chip using SRAM, and can meet the communication requirements of the current Internet with an error rate of less than 1%. This shows that the content-centric network forwarding plane FIB table structure proposed by the present invention can not only realize efficient search and update operations, but also has good deployability.
尽管上面结合附图对本发明进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨的情况下,还可以做出很多变形,这些均属于本发明的保护之内。Although the present invention has been described above in conjunction with the accompanying drawings, the present invention is not limited to the above-mentioned specific embodiments, and the above-mentioned specific embodiments are only illustrative, rather than restrictive. Under the enlightenment of the present invention, many modifications can be made without departing from the gist of the present invention, and these all belong to the protection of the present invention.
Claims (1)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510050543.9A CN104780101B (en) | 2015-01-30 | 2015-01-30 | Content center network Forwarding plane fib table structure and its search method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510050543.9A CN104780101B (en) | 2015-01-30 | 2015-01-30 | Content center network Forwarding plane fib table structure and its search method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104780101A CN104780101A (en) | 2015-07-15 |
| CN104780101B true CN104780101B (en) | 2018-02-27 |
Family
ID=53621352
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201510050543.9A Expired - Fee Related CN104780101B (en) | 2015-01-30 | 2015-01-30 | Content center network Forwarding plane fib table structure and its search method |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN104780101B (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11184240B2 (en) | 2015-07-10 | 2021-11-23 | Idac Holdings, Inc. | Path information updates in information-centric networking |
| CN105471750A (en) * | 2016-01-21 | 2016-04-06 | 清华大学深圳研究生院 | Method of improving PIT (Pending Interest Table) performance under content-centric networking |
| CN108075978B (en) * | 2016-11-17 | 2021-03-30 | 华为技术有限公司 | Message sending method, node configuration method and related equipment |
| CN110196938B (en) * | 2019-04-02 | 2022-03-01 | 天津大学 | A Neural Network-Based Method for Data Insertion in Content Storage Pool of Named Data Network |
| CN110460529B (en) * | 2019-06-28 | 2021-06-08 | 天津大学 | A data processing method and chip of a content router forwarding information base storage structure |
| CN113220679A (en) * | 2021-04-29 | 2021-08-06 | 天津大学 | Mixed FIB storage structure facing multi-mode network and data processing method thereof |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103141060A (en) * | 2010-10-04 | 2013-06-05 | 华为技术有限公司 | Content router forwarding plane architecture |
| CN103559215A (en) * | 2013-10-14 | 2014-02-05 | 西安交通大学 | Content name storage structure oriented design method in content network |
-
2015
- 2015-01-30 CN CN201510050543.9A patent/CN104780101B/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103141060A (en) * | 2010-10-04 | 2013-06-05 | 华为技术有限公司 | Content router forwarding plane architecture |
| CN103559215A (en) * | 2013-10-14 | 2014-02-05 | 西安交通大学 | Content name storage structure oriented design method in content network |
Non-Patent Citations (2)
| Title |
|---|
| Longest Prefix Matching using Bloom Filter;Sarana Dharmaaurikar等;《In Proceedings of 2003 conference on ACM》;20031231;第4.1节,图1 * |
| MaPIT: An Enhanced Pending Interest Table for NDN With Mapping Bloom Filter;李卓等;《IEEE COMMUNICATIONS LETTERS》;20141211;第III节 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104780101A (en) | 2015-07-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104780101B (en) | Content center network Forwarding plane fib table structure and its search method | |
| CN103873371B (en) | A kind of name route Rapid matching lookup method and device | |
| JP5529976B2 (en) | Systolic array architecture for high-speed IP lookup | |
| CN101594319B (en) | Entry lookup method and entry lookup device | |
| US20130246698A1 (en) | Hybrid Memory for Search Operations | |
| CN103051543B (en) | A kind of process of route prefix, search, increase and delet method | |
| Le et al. | Scalable tree-based architectures for IPv4/v6 lookup using prefix partitioning | |
| CN103107945B (en) | A kind of system and method for fast finding IPV6 route | |
| Lee et al. | Name prefix matching using bloom filter pre-searching for content centric network | |
| CN102487374B (en) | Access control list realization method and apparatus thereof | |
| CN107967219A (en) | A kind of extensive character string high-speed searching method based on TCAM | |
| CN102546299B (en) | Method for detecting deep packet under large flow | |
| CN103020296B (en) | The large data processing method of a kind of High-precision multi-dimensional counting Bloom Filter | |
| JP5960863B1 (en) | SEARCH DEVICE, SEARCH METHOD, PROGRAM, AND RECORDING MEDIUM | |
| CN103561133A (en) | IP address ownership information indexing and fast querying method | |
| CN101667958A (en) | Method for selecting hash function, and method and device for storing and searching routing table | |
| CN108134739B (en) | Route searching method and device based on index trie | |
| CN102811227A (en) | A Management Mechanism of ACL Rules in Standard Mode under IPsec Protocol | |
| CN107832343A (en) | A kind of method of MBF data directories structure based on bitmap to data quick-searching | |
| CN110858823A (en) | A data packet classification method, device and computer-readable storage medium | |
| CN100496019C (en) | A Method for Rapid Search and Update of IPv6 Routing Table | |
| CN116319555A (en) | Route forwarding method for virtual private network | |
| CN106599091A (en) | Storage and indexing method of RDF graph structures stored based on key values | |
| CN108460030A (en) | A kind of set element judgment method based on improved Bloom filter | |
| CN106789727B (en) | Message classification method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| EXSB | Decision made by sipo to initiate substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180227 Termination date: 20210130 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |