Hybrid wireless networks with FIB-based Named Data Networking
© The Author(s). 2017
Received: 10 January 2017
Accepted: 7 March 2017
Published: 21 March 2017
In Named Data Networking (NDN) architecture, packets carry data names rather than source or destination addresses. To realize this paradigm, each NDN router maintains three data structures CS, PIT, FIB in the forwarding plane. Designing a quick enough forwarding plane with high capacity is a major challenge within the overall NDN research area. In this paper, we present a novel implementation of FIB called MaFIB. The evaluations indicate that the excellent data structure and the efficient lookup algorithm of MaFIB can effectively reduce the memory cost and can accelerate the lookup process. Its outstanding performance in probability of false positive also makes MaFIB meet current network requirements.
KeywordsNamed Data Networking (NDN) Forwarding information base (FIB) Mapping Bloom filter (MBF) Bloom filter
In terms of wireless network topology, two basic types of wireless networks are available: infrastructure-based cellular network and infrastructureless ad hoc network [1, 2]. Hybrid wireless networks are combining these two above technologies. Thus, a cellular network can be extended into regions where no base station is reachable. The base stations can also then provide access to other networks. Therefore, a hybrid wireless network takes advantage of both the long distance communication property of the infrastructure-based cellular network and the peer-to-peer communication property of the infrastructreless ad hoc network. Hybrid wireless network is considered as a promising candidate for the future network [3, 4]. In this paper, we study hybrid wireless networks with Named Data Networking (NDN) in the infrastructure mode.
NDN  is a recently proposal of future internet architecture . Among many interesting features, NDN is a receiver-driven, data-centric communication protocol, which focuses on the content rather than where the content is from. All communications in NDN are performed by using two distinct types of packets: Interest and Data, both of which carry a content name  that uniquely identifies a piece of data. To receive data, a consumer sends out an Interest packet. A router remembers the interface from which the Interest packet comes and then forwards the Interest packet through retrieving the longest matching prefix of content name in its forwarding information base (FIB). In the FIB of NDN router, an entry contains the following fields: <name prefix, stale time, interface ID, routing preference, RTT, status, rate limit > [5, 7]. As a key component in the NDN router, FIB is similar to the FIB in an IP router except that it contains name prefixes instead of IP address prefixes, and it may show multiple interfaces for a given name prefix. Meanwhile, the variable-length and hierarchical content name in NDN brings a significant cost, both in router storage and in packet processing [5, 7]. In NDN, the content name of packet like a URL is more complex than the IP address, so the router of NDN calls for a much more memory space. If FIB has to be stored in large and slow memories, it is really a heavy burden for the routers to complete fast forwarding. Consequently, there are two open questions: how to reduce the size of FIB to store the forwarding information efficiently on the routers, and how to fast operate on FIB .
In the forwarding plane of NDN, FIB applies the method mentioned in , and the longest prefix matching (LPM)  as the matching algorithm. This traditional structure of FIB can effectively reduce the number of access to low-speed memory with considering the hardware cost. However, as Bloom filter (BF)  is not able to map the record in the storage directly, this kind of FIB still needs to rely on the hash table  in the off-chip memory when retrieving the element practically and accessing to the off-chip memory frequently. Finally, the lookup performance declines. The other method called Name Component Encoding (NCE) was presented in . However, this scheme based on name prefix trie (NPT)  requires an additional special encoding algorithm, and consumes much more summary space.
In view of the deficiency of FIB in NDN router, this paper proposes an enhanced FIB, namely, MaFIB, which realizes variable-length and hierarchical content name-oriented lookup. Meanwhile, the use of Mapping Bloom filter (MBF)  and multi-level hardware memory further improve the lookup speed in MaFIB, reduces the frequency of access to memory and realizes significant reduction in memory consumption. Our evaluations indicate that MaFIB can minimize the on-chip memory consumption to 4.194 MB and can accelerate the lookup process in the memory. Meanwhile, the probability of false positive is under 1% for 2 million names. It allows MaFIB to use SRAM as on-chip memory and satisfies the current network requirements.
2 Characteristics of FIB in NDN router
In an NDN router, the FIB is similar to the FIB of an IP router in many ways . For example, both of them need to use the LPM algorithm for lookup; the forwarding information recorded is basically the same . But, the content name-based packet naming method of NDN makes the characteristics of FIB change dramatically . Therefore, this section will elaborate on the characteristics of FIB in the NDN.
2.1 Variable-length and hierarchical names
In an NDN router, all lookup operations reply upon finding the longest matching prefix for a given content name of packet, which differs from IP’s LPM in two substantial ways . First, the content names of NDN are explicitly hierarchical, consisting of a series of delimited components while IP addresses can match a prefix at any bit position . Second, IP addresses are fixed length, while the content name of NDN are variable and unbounded which leads to obvious differences in designing FIB. For example, in the FIB of IP router, a group of Bloom filter is used to determine whether the longest matching prefix is in FIB. As IP has a fixed length, the quantity of Bloom filter can be determined when designing the FIB. However, in the FIB of NDN router, as the content name is unbounded, there is no way to determine the specific number of matching prefix. As a result, the quantity of Bloom filter cannot be determined directly when designing the FIB .
2.2 Routing information
Usually, there is only one next hop information in each record of FIB. However, in order to achieve a more efficient intelligent forwarding, each record in the FIB of NDN router will contain multiple interfaces of next hop information . Besides, FIB in the IP router only records the information of next hop corresponded to the IP address prefix. But, in the FIB of NDN router, the record also includes a series of routing and control information . For example, the records in FIB of NDN contain the field of stale time.
3 Mapping Bloom filter
In this section, we illustrate the data structure called MBF which is proposed in . The MBF, which is an improvement of BF, supports querying and mapping the set elements in the memory and lowers on-chip memory (summary) consumption.
In view of the characteristics of FIB in the NDN router, we propose the MaFIB which is an enhanced FIB architecture with the model MBF. Having the advantages of traditional FIB in NDN, MaFIB can not only meet the communication needs of NDN completely, but also accelerate the lookup process further. This section will introduce the architecture and proceeding algorithm of MaFIB in details.
In the on-chip memory, each MBF corresponds to the name prefix of one length, so as to quickly verify whether a name prefix is recorded in MaFIB or not. It is available to realize the lookup of forwarding information in the packet store through using the value of MA in the MBF. With the help of periodical synchronization between the CBF and the MBF, MaFIB can support removing.
Dataset of domain names
# of names
# of total components
# of size (MB)
Number of domains with different components’ number
Number of components
It can be found from Table 1 that, for these domain names, the number of components is in concentrated distribution. Among the 2 million names, the number of names with 4 components is 1,646,833 accounting for 82.34%. Followed by the name with 5 components, of which the number is 268,005, accounting for 13.4%. In general, the names with 4 components are in the majority, and the number of the names with other components only accounts for 17.66%.
According to the distribution of domain names in Table 2, it only needs to deploy two MBFs as the summary in the on-chip memory that the requirements of NDN can be achieved. Among them, the first MBF corresponds to the names with the number of component being 4, and the second MBF corresponds to the names with other numbers of component.
According to the design principles of BF in  and (2), there are two MBFs with the same parameters in the on-chip memory. In each MBF, the size of BF is 224 and is divided into 30 equal parts. So the size of MA is set to be 30 bits. To improve the processing speed, the longest prefix of content name is encoded by MD5 and SHA1 , which generates 288 bits binary number, and every 24 bits are used as the key of a hash function . So the number of hash functions is 12 in the proposed MaFIB.
4.2 Proceeding algorithms
Lookup. An Interest packet that arrives on MaFIB is firstly checked in the MBF group in parallel with the LPM to determine whether the forwarding information of this Interest packet is in MaFIB. If there is a longest matching prefix in MBF, the offset address of this longest matching prefix is obtained in the packet store according to the value of MA in the corresponding MBF. At last, the forwarding information is read according to the offset address. At this point, if there is no matching record in the packet store, it indicates that the records have been deleted when timeout  happens. Then, corresponding CBF in the off-chip memory will perform deletion operation. Finally, synchronize the corresponding bits of CBF and MBF.
Update. Firstly, when conducting update in MaFIB, the content name is initially retrieved in the MBF group according to the LPM, and is accessed to the packet store according to the value of MA in the MBF. Secondly, CBF in the off-chip memory that corresponded to the longest matching prefix is updated. If any bit value of CBF changes, synchronize the bit value of MBF corresponding to the on-chip memory, so as to complete the updating of MaFIB.
4.3 Performance analysis
From the operating process mentioned above, it is obvious that the MaFIB achieves identical probability of false positive with the sum of two MBFs. Meanwhile, the operation on the MaFIB is in a constant time. Compared with the traditional FIB of NDN router, MaFIB do not use the additional hash table to map the record in the off-chip memory. It means that the work performance of MaFIB is superior to the traditional FIB. In addition, as two MBFs are used as the summary in MaFIB, the on-chip memory required identically equals to 2 × (224 + 30) ≈ 4.194 MB. Therefore, the SRAM can be utilized as the on-chip memory.
5 Evaluation and discussion
We evaluate the performance of MaFIB and we compare it with the FIB based on NCE (NCE-FIB) and the traditional FIB of NDN router (t-FIB) in terms of the on-chip memory consumption, probability of false positive, and building time.
5.1 Experimental setup
These mechanisms are implemented in C++ language and are tested on a PC with an Intel Xeon E5-1650 v2 CPU of 3.50 GHz and DDR3 ECC RDIMM of 32 GB. Generally, NCE-FIB and t-FIB consist of two storages: the on-chip memory acting as a summary and the off-chip memory where the forwarding information of FIB is recorded. For the NCE scheme in our experiment, ENPT [11, 16] structure is implemented as the FIB table. Meanwhile, Code Allocation Mechanism (CAM) and State Transition Arrays (STA) techniques  are utilized to compress memory size. For the t-FIB, two Bloom filters are utilized as the summary in the on-chip memory, and the additional hash table is implemented to map the space in off-chip memory for each element dynamically. The 24 bits, 28 bits, and 32 bits are generated by MD5 and SHA1 as the hash function in the evaluations.
Given the design essentials of FIB , 2 million different domain names are used as the dataset of experiments. The entire domain and URL are collected in July, 2013 [14, 15]. Table 1 shows the details of the dataset and Table 2 shows the domains with different components’ number obtained from two datasets.
5.2 The on-chip memory consumption
Firstly, we assess the summary space consumption on the on-chip memory about the original data, MaFIB, and NCE-FIB in different numbers of names.
Consumption of on-chip memory
Number of names
Origillal data (MB)
Compression ratio of MaFIB
5.3 Probability of false positive
Probability of false positive
Number of names
5.4 Building time
Number of names
The above results show that our MaFIB based on MBF can extremely reduce the on-chip memory consumption to 4.194 MB for 2 million names with the probability of false positive under 1%. Meanwhile, its outstanding performance in building time also makes MaFIB use SRAM as the on-chip memory and satisfies the current network requirements.
In this paper, a novel FIB named MaFIB is proposed to meet the NDN’s requirement and makes full use of the current faster memory chips. Our current and future work is to extend this design to build an engine running on multiple parallel threads with real packets.
Code Allocation Mechanism
Counting Bloom filters
Forwarding information base
Longest prefix matching
Mapping Bloom filter
Name Component Encoding
Named Data Networking
Name prefix trie
Pending Interest Table
State transition arrays
This research was supported the by National Natural Science Foundation of China (61601494, 61602346) and Doctoral Program of Tianjin Normal University (52XB1504).
The authors declare that they have no competing interests.
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
- X Wang, Q Liang, On the throughput capacity and performance analysis of hybrid wireless networks over fading channels. IEEE Trans. Wirel. Commun. 12(6), 2930–2940 (2013)View ArticleGoogle Scholar
- X Wang, Q Liang, Scaling laws for hybrid wireless networks over fading channels: outage throughput capacity and performance analysis, Communications (ICC), 2013 IEEE International Conference on. (IEEE, 2013), pp. 5573–5577
- X Wang, Q Liang, On the ergodic throughput capacity of hybrid wireless networks over fast fading channels, Communications (ICC), 2013 IEEE International Conference on. (IEEE, 2013) pp. 3333–3337
- Q Liang, X Cheng, S Huang, D Chen, Opportunistic sensing in wireless sensor networks: theory and applications. IEEE Trans. Comput. 63(8), 2002–2010 (2014)MathSciNetView ArticleGoogle Scholar
- LX Zhang et al., Named Data Networking (ndn) Project. Technical Report. NDN–0001 (PARC, Palo Alto, 2010)Google Scholar
- B Ahlgren et al., A survey of information-centric networking. IEEE Commun. Mag. 50(7), 26–36 (2012)View ArticleGoogle Scholar
- C Yi, A Afanasyev, L Wang, BC Zhang, LX Zhang, Adaptive forwarding in named data networking. ACM SIGCOMM Computer Communication Review 42(3), 62–67 (2012)View ArticleGoogle Scholar
- S Dharmapurikar, P Krishnamurthy, DE Taylor, Longest prefix matching using Bloom filters. IEEE/ACM Trans. Networking 14(2), 397–408 (2006)View ArticleGoogle Scholar
- S Tarkoma, CE Rothenberg, E Lagerspetz, Theory and practice of Bloom filters for distributed systems. IEEE Commun. Surv. Tutorials 14(1), 131–155 (2012)View ArticleGoogle Scholar
- A Kirsch, M Mitzenmacher, G Varghese, Hash-based techniques for high-speed packet processing. Algorithms for Next Generation Networks (Springer, London, 2010), pp. 181–218Google Scholar
- Y Wang, K He, H Dai et al., Scalable name lookup in NDN using effective name component encoding, in Proceedings of the ICDCS, 2012, pp. 688–697Google Scholar
- Z Li, K Liu, Y Zhao et al., MaPIT: an enhanced pending interest table for NDN with Mapping Bloom filter. IEEE Commun. Lett. 18(11), 1915–1918 (2014)View ArticleGoogle Scholar
- T Song et al. Scalable name-based packet forwarding: from millions to billions. Proceedings of the 2nd International Conference on Information-Centric Networking (ACM, 2015), pp. 19–28
- ODP-open directory project, [Online]. Available: http://www.dmoz.org/
- Alexa the web information company, [Online]. Available: http://www.alexa.org/
- HW Yuan, T Song, P Crowley, Scalable NDN forwarding: concepts, issues and principles, in Proceedings of ICCCN, 2012, pp. 1–9Google Scholar
- D Perino, M Varvello, A reality check for content centric networking, in Proceedings of the ACM SIGCOMM workshop on Information-centric networking, 2011, pp. 44–49View ArticleGoogle Scholar