Bitmap-based priority-NPT for packet forwarding at named data network
Introduction
The current Internet architecture has been evolved for resource sharing based on TCP/IP and works well with data exchange between two end-systems. Today, however, users and applications operate in terms of contents, rendering it increasingly difficult to conform to the requirement of the current Internet which communicates by discovering and specifying endpoints. For this reason, studies on future Internet architectures have been widely performed, and the named data networking (NDN) [1], [2] technology is one of the promising future Internet architectures [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19].
The NDN involves two types of packets: Interest packet and Data packet. The Interest packet is generated by consumers and the Data packet can be provided by any node storing the requested content. Core components for the packet forwarding in a NDN router are Content Store (CS), Pending Interest Table (PIT), and Forwarding Information Base (FIB).
The CS is a storage for inbound Data packets. The PIT is queried using exact matching for each unsatisfied Interest packet, and a new entry is inserted if there is no matching entry. The PIT is also queried for each Data packet, and the matching entry is deleted when the Data packet satisfies the pending Interest. Hence, the PIT construction requiring per-packet-based update is one of the major challenges in NDN realization [4], [5], [6], [7].
The FIB is used to forward each Interest packet to the next hop, when the CS does not satisfy the Interest and the PIT finds no pending Interest with the same name [3]. Hierarchical content names used in packet forwarding consist of multiple variable-length name components, and packets are forwarded based on longest name prefix matching (LNPM) [3]. The LNPM operation is challenging since the number and length of components included in a content name are theoretically unbounded, even though there is a limit imposed by the packet size. Moreover, the number of name prefixes composing a forwarding information base (FIB) can be excessively large. Hence, performing the wire-speed name lookup on the FIB table is another challenging issue in NDN realization. In summary, two key design issues in realizing the forwarding engine of NDN routers are the exact string matching with fast updates for the PIT and the longest prefix matching for variable-length names for the FIB.
While the longest prefix matching problem [20] for IP address lookup has been solved with a specialized memory named ternary content addressable memory (TCAM) [21], [22], TCAMs are not large enough to store the FIB of an NDN router [3]. Off-chip DRAMs can be an alternative because they provide nearly 8 times density advantage compared to on-chip SRAMs [23], [24]. However, an off-chip DRAM has 10–20 times slower access time than an on-chip SRAM [25]. If the entire FIB of an NDN router is employed with off-chip DRAMs, the latency caused in the FIB lookup cannot satisfy the wire-speed packet forwarding requirement.
In this paper, we propose a new efficient LNPM algorithm that achieves high-performance FIB lookup. The motivation of our proposed algorithm is to separate on-chip processing parts from off-chip processing parts so that most of the LNPM procedures are performed with low-latency on-chip memories and the off-chip memory access is minimized.
Among many different data structures, a binary trie can be simply transformed for the FIB construction of name prefixes. In applying the name prefix trie (NPT), we propose three efficient principles: priority-name prefix trie (p-NPT), bitmap structure, and hashBrief. The p-NPT is proposed to solve the issue of empty internal nodes of a name prefix trie (NPT). The bitmap structure is proposed to store the outline of the p-NPT in an on-chip memory, while the full name prefixes and corresponding forwarding information are stored in an off-chip memory. The hashBrief is the fingerprint of a name prefix and is proposed to avoid unnecessary accesses to the off-chip memory. In this way, the proposed algorithm can achieve less than 2.5 off-chip memory accesses on average for the name lookup of each incoming packet.
The remainder of this paper is organized as follows. Section 2 describes related works including the priority trie, which is the basic structure for our proposed work. Section 3 describes the proposed algorithm. Section 4 shows the performance evaluation results and Section 5 briefly concludes the paper.
Section snippets
Priority trie
In a binary trie, the left and the right edge of each node corresponds to value 0 and value 1, respectively. Each prefix is stored into the node, whose path value from the root node is equal to the prefix. The binary trie has two issues. First, it has empty internal nodes (white nodes) in each path to a node storing a prefix (black nodes). Second, even if a matching prefix is encountered, to find the longest matching prefix, the search procedure must be continued to lower levels until no more
Priority Name Prefix Trie (p-NPT)
This paper proposes a new name lookup algorithm applying a priority trie to overcome the issue of the name prefix trie. Fig. 3 shows a priority-NPT (p-NPT) transformed from the NPT shown in Fig. 2. The longest name prefix stored in the NPT of Fig. 2 is ‘com/youtube/user/skyDoesMinecraft’, which has 4 components, assuming that ties are broken in favor of the leftmost node. Thus the name prefix is relocated to the root node of the p-NPT, and the empty root is transformed to a priority node.
Performance evaluation
Performance evaluation was carried out with two steps: build and search. Both steps use URL names provided by ALEXA [34], which is a web information company.
Conclusion
This paper proposes a new structure for the FIB lookup in NDN routers. The packet forwarding using content names in NDN routers is expected to be much more challenging than the packet forwarding using IP addresses because of a excessively larger number of name prefixes. The motivation of our proposed structure is to provide high-speed name lookup performance by minimizing the off-chip processing which takes much longer time than the on-chip processing.
First, we proposed the application of the
Acknowledgment
This research was supported by the National Research Foundation of Korea (NRF) , NRF-2017R1A2B4011254.
References (34)
A survey on content-centric technologies for the current Internet: CDN and P2P solutions
Comput. Commun.
(2012)- et al.
High-speed IP address lookup using balanced multi-way trees
Comput. Commun.
(2006) - et al.
Hierarchical packet classification using a bloom filter and rule-priority tries
Comput. Commun.
(2010) - et al.
Name prefix matching using bloom filter pre-searching for content centric network
J. Netw. Comput. Appl.
(2016) - et al.
GPU-accelerated name lookup wth component encoding
Comput. Netw.
(2013) - ...
- et al.
Design and evaluation of the optimal cache allocation for content-centric networking
IEEE Trans. Comput.
(2016) - H. Yuan, P. Crowley, Reliably scalable name prefix lookup, in: IEEE/ACM Symposium on Architectures for Networking and...
- H. Yuan, P. Crowley, Scalable pending interest table design: From principles to practice, in: IEEE INFOCOM, 2014, pp....
- M. Varvello, D. Perino, L. Linguaglossa, On the design and implementation of a wire-speed pending interest table, in:...
Network of Information (NetInf)-An information-centric networking architecture
Comput. Commun.
A data-oriented(and beyond) network architecture
ACM SIGCOMM Comput. Commun. Rev.
Cited by (14)
Scalable name identifier lookup for Industrial Internet
2022, Computer CommunicationsCRC algorithm for embedded system based on table lookup method
2020, Microprocessors and MicrosystemsCitation Excerpt :However, in some occasions with strict communication security requirements, neither of the above two methods can meet the requirements, and the CRC verification principle needs to be used for verification [4–5]. The CRC check method is a cyclic check method widely used in data communication and data compression [6]. It guarantees a reliable and error-free transmission of data with a low error rate.
Dual-load Bloom filter: Application for name lookup
2020, Computer CommunicationsCitation Excerpt :One of the promising candidates is Named Data Networking (NDN) technology [16–19]. NDN utilizes two types of packets [20,21]: interest packet and data packet. An interest packet is sent by a consumer to request a content, and a data packet is forwarded by a content provider to the consumer as the response to the interest packet.
Smart Name Lookup for NDN Forwarding Plane via Neural Networks
2022, IEEE/ACM Transactions on NetworkingMulti-classifier and meta-heuristic based cache pollution attacks and interest flooding attacks detection and mitigation model for named data networking
2022, Journal of Experimental and Theoretical Artificial IntelligenceA Review on Recent NDN FIB Implementations for High-Speed Switches
2022, Lecture Notes in Networks and Systems