CONSERT: Constructing optimal name-based routing tables
Introduction
Routing in current Internet belongs to the category of address based routing. Different from this practice, Name-Based Routing (NBR) has been proposed in the literature [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], and is recently re-investigated by the pioneers of Information Centric Networks [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], where each piece of content is assigned a unique name. Just as BGP distributes address prefix reachability information among autonomous systems, NBR distributes name prefix reachability to routers.
NBR needs a name-based routing table1 to route packets, where each entry consists of a name prefix and its corresponding next hop. The names are hierarchically structured (the sub-name at each level is called a component), and the longest prefix match (LPM) rule still applies to name lookup. As stated in many previous works [16], [27], [28], [29], a name-based routing table contains much more name prefixes than the IP prefixes in an IP routing table, and name prefixes have much longer lengths than IPv4/v6 addresses. The result is a name-based routing table of huge size, incurring challenges on memory efficiency, routing lookup throughput, route update performance, etc.
A remarkable challenge that a name-based routing table confronts is its large size, in terms of the number of table entries and the length of each entry. The large size can further degrades the name lookup and packet forwarding performance. In particular, this challenge can be described by the following difficulties. First, names are far more complex than IP addresses. As introduced above, names are much longer than IPv4/IPv6 addresses; each name is composed of tens, or even hundreds, of characters. Moreover, unlike fixed-length IP addresses, content names have variable lengths, which further complicates the name lookup process. Second, name-based routing tables could be much larger than today’s IP routing tables. Compared with the current IP routing tables with up to 500K IP prefix entries, name-based routing tables could be orders of magnitude larger [29]. Without elaborate compression and implementation techniques, they can even exceed the capacity of today’s commodity memory devices. Third, wire speeds have been relentlessly accelerating. Such large table size will definitely hinder the goal of high-speed name lookup, as well as fast routing table updates. Therefore, we spare no efforts in seeking ways to compress the name-based routing table.
In this paper we present an algorithm for constructing an optimal name-based routing table that has the least possible number of entries, while still providing the same routing information. More accurately, the optimality is defined as follows: given an arbitrary name-based routing table, the algorithm produces an optimal one that: (1) has the least possible number of prefixes, (2) has the same forwarding behavior as the original routing table. We call this algorithm CONSERT (Constructing Optimal Name-baSEd Routing Table, read as “CONCERT”). Actually, CONSERT can be viewed as the generalization of ORTC [30], a pioneer work which computes optimal IP routing tables based on the binary trie [31] presentation. A binary trie is basically a binary tree where each edge stands for a bit. CONSERT extends from binary trie to multi-way tree—a generalization on routing table optimization problem, but this extension is non-trivial.
CONSERT makes use of the component trie structure to represent a name-based routing table, which is a multi-way tree where each edge stands for a component in the name. It is natural that CONSERT adopts the trie for the name-based routing table, because a tree-like structure resembles the structure of a hierarchical and aggregatable name space. The most important difference between a component trie and a binary trie (adopted by ORTC) is, in a binary trie, a node has at most two children nodes, while in a component trie, a node can have unlimited number of children nodes. This difference hinders ORTC from being adapted for name-based routing table compression, so CONSERT is proposed to accommodate the unlimited number of children nodes, and this is where the novelty of this paper stems from.
CONSERT constructs the optimal routing table by three passes over the trie. Pass One introduces a special ‘#’ symbol by creating a ‘#’ child node for all the non-leaf nodes in the trie, then pushes the parent’s next hop(s) down to that child node. Therefore, the next hop of the ‘#’ node can be viewed as the default route of a sub-tree rooted at its parent node. Pass Two pushes the most prevalent next hop(s) upwards as high as possible, and Pass Three determines the final next hop for each prefix and outputs the optimal routing table. Initially, CONSERT makes two assumptions: (1) the routing table has a default route, and (2) each prefix has a single next hop, but later we remove these two restrictions. Moreover, we also develop an adapted LPM algorithm (from the conventional LPM) to accommodate an ‘#’ symbol in the optimal routing table. We formulate the CONSERT algorithm and prove its optimality using the induction method.
It is worth pointing out that CONSERT aims to remove the “redundancy” inherently in the original routing table, so as to achieve an optimal one with the fewest number of entries (reflected by the number of solid nodes in the trie). Prior efforts often take advantage of fast lookup algorithms and compact data structures, in order to expedite the lookup process and reduce memory consumption, but the redundancy still remains. This is the distinction that our work differs from these efforts. Hence, CONSERT is orthogonal to the prior compressing algorithms and they can be applied jointly. Specifically, some existing compressing methods, e.g., Bloom filter based ones, have good performance on memory consumption and lookup speed, but cannot handle routing updates. It’s appealing that CONSERT deals with updates and produces an optimal routing table at first (on the control plane), afterwards another compressing method is further applied to that optimal table (on the data plane). As we shall see, such cooperation can remarkably promote both compressing and lookup performance.
Specifically, we make the following contributions:
- (1)
Introduce a special symbol ‘#’ into the trie structure and create a node for it, whose next hop stands for the default route of its parent node. This symbol clears the way for optimal routing table compression to make it possible;
- (2)
We propose the CONSERT algorithm to build an optimal routing table that has the fewest number of prefixes, while keeping the forwarding behavior unchanged.
- (3)
Adapt the conventional LPM algorithm to accommodate the ‘#’ symbol.
- (4)
Formulate the CONSERT algorithm and prove its optimality by the induction method.
Experimental results show that CONSERT can reduce roughly 18%–45% prefixes in the synthetic name-based routing tables, and this compression ratio still reaches 30% when prefixes have multiple next hops. Having fewer prefixes reduces the size of the forwarding data structure, especially when CONSERT is applied with certain orthogonal method together. E.g., the combination of CONSERT and NameFilter [16], a two-stage-Bloom-filter method, can jointly reduce the memory consumption of routing tables by around 88%. Meanwhile, since CONSERT reduces the amount of prefixes and shortens the prefix length, the name lookup performance is increased at the same time. Lookup throughput based on the optimal trie output by CONSERT can increase by more than 20%, while the joint method of CONSERT and NameFilter can improve the lookup throughput by around 17% compared with the NameFilter.
The rest of the paper is organized as follows. Section 2 describes the CONSERT algorithm, Section 3 improves the algorithm and Section 4 addresses the routing table updates. Section 5 evaluates CONSERT in terms of memory savings and lookup throughput improvement. Section 6 surveys related work and Section 7 concludes the paper. The proof of the optimality of CONSERT is provided in the Appendix.
Section snippets
Preparation – trie of different granularities
Before elaborating on the CONSERT algorithm, we need some preparations on the data structure to organize the name-based routing table. The names, as aforementioned, are hierarchically structured and have unbound lengths. E.g., org/journal/2016/cfp.html is a legitimate name, where org, journal, 2016 and cfp.html are 4 components of the name. IP routing tables often adopt the binary trie representation, which is basically a binary tree where each edge stands for one bit. Name-based routing table
Analysis – limited address space vs. unlimited name space
IP addresses are of fixed length – 32 bits or 128 bits, thus an IP routing table has a limited address space – 232 or 2128. This limitation is reflected by the binary trie in two aspects: (1) each node has a outbound degree of at most 2, (2) the depth of the trie is at most 32 or 128. Names, on the other hand, possess an unlimited namespace because they have unlimited lengths, and each level has unlimited number of components. They are reflected in the component trie of name-based routing table
Handling updates
After optimal routing table is constructed, prefixes may need to be inserted or removed from the routing table due to routing changes or content publishing and withdrawal. This section deals with updates – prefix insertions and deletions – on the optimal routing table. Of course we can commit the updates to the original routing table and build an optimal one afterwards, which is, however, inefficient. Below we describe the algorithm to handle updates on the optimal trie.
Evaluation
This section thoroughly evaluates the CONSERT algorithm in terms of the compression ratio, time cost, etc. The performance of the joint method of CONSERT+NameFilter is also examined in terms of the lookup speed and the memory cost.
Related work
In the literature, routing table compression generally refers to compressing IP routing tables, and there has been a wide range of research works devoted into this problem. We cannot fully cover such a vast background but only list the most notable ones. ORTC [30] was proven to be the theoretically optimal compression algorithm in terms of the number of prefixes, and it remains the best algorithm in terms of its compression ratio since 1999. Experiments on real backbone routing tables also
Conclusion
This paper proposes an algorithm called CONSERT to build an optimal name-based routing table with the minimal number of prefixes. CONSERT consists of three passes, where Pass One introduces the ‘#’ symbol and pushes the next hops down to the ‘#’ nodes, Pass Two pushes the most prevalent next hop(s) upwards as high as possible, and Pass Three determines the next hop for each prefix. CONSERT can apply to the situations of no default route and multiple next hops, and it works for tries of
Acknowledgment
This work is supported by 863 project (2013AA013502), NSFC (61202489, 61373143, 61432009, 61402254), the Specialized Research Fund for the Doctoral Program of Higher Education of China (20131019172), and Jiangsu Future Networks Innovation Institute: Prospective Research Project on Future Networks (No. BY2013095-1-03). This work is sponsored by Huawei Technologies Co., Ltd.
Huichen Dai: is a postdoctoral research fellow in the Department of Computer Science and Technology, Tsinghua University. He got his B.S. degree from Xi’an University of Electronic Science and Technology, Xi’an, China, in 2010. His research interests mainly lie in: router architecture, fast packet processing, future Internet Architecture, e.g., Named Data Networking (NDN), Software Defined Network (SDN). He now serves as the reviewer for IEEE Communications Letters and IEEE Communications
References (40)
- et al.
On name-based inter-domain routing
Comput. Netw.
(2011) - et al.
Information centric network: research challenges and opportunities
J. Netw. Comput. Appl.
(2015) - et al.
Improved behaviour of tries by adaptive branching
Inf. Process. Lett.
(1993) - et al.
A global name service for a highly mobile internet
Proceedings of ACM SIGCOMM’14
(2014) - et al.
A data-oriented (and beyond) network architecture
ACM SIGCOMM
(2007) - et al.
Using name-based mappings to increase hit rates
IEEE/ACM Trans. Netw. (TON)
(1998) - et al.
Frequency-aware reconstruction of forwarding tables in name-based routing
Proceedings of the 5th International Conference on Future Internet Technologies
(2010) - et al.
An architecture for content routing support in the internet
Proceedings of the USITS
(2001) - et al.
Virtual ring routing: network routing inspired by DHTs
Proceedings of ACM SIGCOMM
(2006) - et al.
A routing scheme for content-based networking
Proceedings of IEEE INFOCOM
(2004)
A data-oriented (and beyond) network architecture
Proceedings of the 2007 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM ’07)
A feasibility evaluation on name-based routing
IP Operations and Management
Scalable routing on flat names
Proceedings of the International Conference on emerging Networking EXperiments and Technologies (CoNEXT’10)
CONET: A content centric inter-networking architecture
Proc. of ACM ICN’11
Viro: a scalable, robust and namespace independent virtual id routing for future networks
Proceedings IEEE INFOCOM
A content aware and name based routing network speed up system
Proceedings of the International Conference on Pervasive Computing and the Networked World
On inter-domain name resolution for information-centric networks
Proceedings of the International IFIP TC 6 Conference on Networking - Volume Part I
Namefilter: achieving fast name lookup with low memory cost via applying two-stage bloom filters
Proceedings of IEEE INFOCOM’13
Named Data Networking (NDN) Project
Technical Report, NDN-0001
Networking named content
Proceedings of CoNEXT
Cited by (7)
Exploiting parallelism in hierarchical content stores for high-speed ICN routers
2017, Computer NetworksCitation Excerpt :Within the ICN realm, most work focuses on algorithmic, protocol or performance aspects. Fewer studies address ICN router design [6,7,22–31] and, thus, are closer in spirit to this work. Specifically, seminal papers [6,7] tackle the design of ICN routers.
A Learned Classification Index for PIT in Named Data Networking
2023, Lecture Notes in Electrical EngineeringSmart Name Lookup for NDN Forwarding Plane via Neural Networks
2022, IEEE/ACM Transactions on NetworkingA Learning Forwarding Information Base for Named Data Networking with Neural Networks
2020, Tianjin Daxue Xuebao (Ziran Kexue yu Gongcheng Jishu Ban)/Journal of Tianjin University Science and Technology
Huichen Dai: is a postdoctoral research fellow in the Department of Computer Science and Technology, Tsinghua University. He got his B.S. degree from Xi’an University of Electronic Science and Technology, Xi’an, China, in 2010. His research interests mainly lie in: router architecture, fast packet processing, future Internet Architecture, e.g., Named Data Networking (NDN), Software Defined Network (SDN). He now serves as the reviewer for IEEE Communications Letters and IEEE Communications Magazine. http://s-router.cs.tsinghua.edu.cn/~daihuichen/
Bin Liu: has been a full professor in the Department of Computer Science and Technology, Tsinghua University, China since 1999. Bin Liu received his B.S., M.S. and Ph.D. degrees in computer science and engineering from Northwestern Polytechnical University, Xi’an, China, in 1985, 1988 and 1993, respectively. From 1993 to 1995, he was a Postdoctoral Research Fellow in the National Key Laboratory of SPC and Switching Technologies, Beijing University of Post and Telecommunications, Beijing, China. In 1995, he transferred to the Department of Computer Science and Technology, Tsinghua University. http://s-router.cs.tsinghua.edu.cn/~liubin/index.htm