Elsevier

Computer Networks

Volume 94, 15 January 2016, Pages 62-79
Computer Networks

CONSERT: Constructing optimal name-based routing tables

https://doi.org/10.1016/j.comnet.2015.11.020Get rights and content

Abstract

Name-based routing belongs to a routing category different from address-based routing, it is usually adopted by content-oriented networks [Sharma et al., 2014, Koponen et al., 2007, Rajahalme et al.,2011, Thaler et al.,1998, Hwang et al., 2010, Gritter et al., 2001, Caesar et al., 2006, Carzaniga et al., 2004, Koponen et al., 2007, Hwang et al., 2009 Singla et al., 2010, Detti et al., 2011, Jain et al., 2011 Xu et al., 2013, Katsaros et al., 2012. [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15]] e.g., the recently proposed Named Data Networking (NDN). It populates routers with name-based routing tables, which are composed of name prefixes and their corresponding next hop(s). Name-based routing tables are believed to have much larger size than IP routing tables, because of the large amount of name prefixes and the unbounded length of each prefix. This paper presents CONSERT—an algorithm that, given an arbitrary name-based routing table as input, computes a routing table with the minimal number of prefixes, while keeping equivalent forwarding behavior. The optimal routing table also supports incremental update. We formulate the CONSERT algorithm and prove its optimality with an induction method. Evaluation results show that, CONSERT can reduce 18% to 45% prefixes in the synthetic routing tables depending on the distribution of the next hops, and meanwhile improve the lookup performance by more than 20%. Prior efforts usually focus on compact data structures and lookup algorithms so as to reduce memory consumption and expedite lookup speed of the routing table, while CONSERT compresses the routing table from another perspective: it removes the inherent “redundancy” in the routing table. Therefore, CONSERT is orthogonal to these prior efforts, thus the combination of CONSERT and a prior compressing method would further optimize the memory consumption and lookup speed of the routing table. E.g., we can first adopt CONSERT to achieve the optimal routing table, and afterwards apply NameFilter [Wang et al., 2013. [16], a two-stage-Bloom-filter method, to that optimal table. This combination diminishes the memory consumption of the routing table data structure by roughly 88%, and increases the lookup throughput by around 17% simultaneously. The joint method outperforms each individual method in terms of memory savings and absolute lookup throughout increase.

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)

  • J. Rajahalme et al.

    On name-based inter-domain routing

    Comput. Netw.

    (2011)
  • A.V. Vasilakos et al.

    Information centric network: research challenges and opportunities

    J. Netw. Comput. Appl.

    (2015)
  • A. Andersson et al.

    Improved behaviour of tries by adaptive branching

    Inf. Process. Lett.

    (1993)
  • A. Sharma et al.

    A global name service for a highly mobile internet

    Proceedings of ACM SIGCOMM’14

    (2014)
  • T. Koponen et al.

    A data-oriented (and beyond) network architecture

    ACM SIGCOMM

    (2007)
  • D.G. Thaler et al.

    Using name-based mappings to increase hit rates

    IEEE/ACM Trans. Netw. (TON)

    (1998)
  • H. Hwang et al.

    Frequency-aware reconstruction of forwarding tables in name-based routing

    Proceedings of the 5th International Conference on Future Internet Technologies

    (2010)
  • M. Gritter et al.

    An architecture for content routing support in the internet

    Proceedings of the USITS

    (2001)
  • M. Caesar et al.

    Virtual ring routing: network routing inspired by DHTs

    Proceedings of ACM SIGCOMM

    (2006)
  • A. Carzaniga et al.

    A routing scheme for content-based networking

    Proceedings of IEEE INFOCOM

    (2004)
  • T. Koponen et al.

    A data-oriented (and beyond) network architecture

    Proceedings of the 2007 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM ’07)

    (2007)
  • H. Hwang et al.

    A feasibility evaluation on name-based routing

    IP Operations and Management

    (2009)
  • A. Singla et al.

    Scalable routing on flat names

    Proceedings of the International Conference on emerging Networking EXperiments and Technologies (CoNEXT’10)

    (2010)
  • A. Detti et al.

    CONET: A content centric inter-networking architecture

    Proc. of ACM ICN’11

    (2011)
  • S. Jain et al.

    Viro: a scalable, robust and namespace independent virtual id routing for future networks

    Proceedings IEEE INFOCOM

    (2011)
  • K. Xu et al.

    A content aware and name based routing network speed up system

    Proceedings of the International Conference on Pervasive Computing and the Networked World

    (2013)
  • K.V. Katsaros et al.

    On inter-domain name resolution for information-centric networks

    Proceedings of the International IFIP TC 6 Conference on Networking - Volume Part I

    (2012)
  • Y. Wang et al.

    Namefilter: achieving fast name lookup with low memory cost via applying two-stage bloom filters

    Proceedings of IEEE INFOCOM’13

    (2013)
  • L. Zhang et al.

    Named Data Networking (NDN) Project

    Technical Report, NDN-0001

    (2010)
  • V. Jacobson et al.

    Networking named content

    Proceedings of CoNEXT

    (2009)
  • Cited by (7)

    View all citing articles on Scopus

    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

    View full text