Scalable Name-Based Packet Forwarding: From Millions to Billions

Named-based packet forwarding represents a core characteristic of many information-centric networking architectures. IP-inspired forwarding methods are not suitable because a) name-based forwarding must support variable-length keys of unbounded length, and b) namespaces for data are substantially larger than the global address prefix rulesets used in today's Internet. In this paper, we introduce and evaluate an approach that can realistically scale variable-length name forwarding to billions of prefixes. Our methods are driven by two key insights. First, we show that, represented by binary strings, a name-based forwarding table of several millions of entries can be notably compressed by a Patricia trie to fit in contemporary fast memory of a line card. Second, we show that it is possible to design and optimize the data structure to make its size dependent only upon the number of rules in a ruleset, rather than the length of rules. We reduce our designs to practice and experimentally evaluate memory requirements and performance. We demonstrate that a ruleset with one million rules based on the Alexa dataset only needs 5.58 MiB memory, which can easily fit in fast memory like SRAM, and with one billion synthetic rules it takes 7.32 GiB memory, which is within the range of DRAM in a line card. These are about an order of magnitude improvement over the state-of-the-art solutions. The above efficient memory size produces high performance. Estimated throughput of the SRAM- and DRAM- based solutions are 284 Gbps and 62 Gbps respectively.

[1]  Bin Liu,et al.  NameFilter: Achieving fast name lookup with low memory cost via applying two-stage Bloom filters , 2013, 2013 Proceedings IEEE INFOCOM.

[2]  Alexander Afanasyev,et al.  journal homepage: www.elsevier.com/locate/comcom , 2022 .

[3]  Viktor K. Prasanna,et al.  A Memory-Balanced Linear Pipeline Architecture for Trie-based IP Lookup , 2007, 15th Annual IEEE Symposium on High-Performance Interconnects (HOTI 2007).

[4]  Svante Carlsson,et al.  Small forwarding tables for fast routing lookups , 1997, SIGCOMM '97.

[5]  George Varghese,et al.  Tree bitmap: hardware/software IP lookups with incremental updates , 2004, CCRV.

[6]  Wladek Olesinski,et al.  Backlog Aware Low Complexity Schedulers for Input Queued Packet Switches , 2007 .

[7]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[8]  Ronald Fagin,et al.  Extendible hashing—a fast access method for dynamic files , 1979, ACM Trans. Database Syst..

[9]  Patrick Crowley,et al.  CAMP: fast and efficient IP lookup architecture , 2006, ANCS '06.

[10]  Wojciech Szpankowski,et al.  Patricia tries again revisited , 1990, JACM.

[11]  Bin Liu,et al.  Scalable Name Lookup in NDN Using Effective Name Component Encoding , 2012, 2012 IEEE 32nd International Conference on Distributed Computing Systems.

[12]  Won So,et al.  Named data networking on a router: Fast and DoS-resistant forwarding with hash tables , 2013, Architectures for Networking and Communications Systems.

[13]  Bengt Ahlgren,et al.  A survey of information-centric networking , 2012, IEEE Communications Magazine.

[14]  Patrick Crowley,et al.  Scalable NDN Forwarding: Concepts, Issues and Principles , 2012, 2012 21st International Conference on Computer Communications and Networks (ICCCN).

[15]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[16]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[17]  Will Eatherton Hardware-based internet protocol prefix lookups , 1998 .

[18]  Keith Sklower,et al.  A Tree-Based Packet Routing Table for Berkeley Unix , 1991, USENIX Winter.

[19]  C.A. Shue,et al.  Packet Forwarding: Name-based Vs. Prefix-based , 2007, 2007 IEEE Global Internet Symposium.

[20]  Alexander Afanasyev,et al.  Adaptive forwarding in named data networking , 2012, CCRV.

[21]  Yaogong Wang,et al.  Toward fast NDN software forwarding lookup engine based on hash tables , 2012, 2012 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[22]  Hao Wu,et al.  Wire Speed Name Lookup: A GPU-based Approach , 2013, NSDI.

[23]  George Varghese,et al.  Faster IP lookups using controlled prefix expansion , 1998, SIGMETRICS '98/PERFORMANCE '98.

[24]  Deborah Estrin,et al.  Named Data Networking (NDN) Project , 2010 .

[25]  Scott Shenker,et al.  A data-oriented (and beyond) network architecture , 2007, SIGCOMM '07.

[26]  Günter Karjoth,et al.  Routing on longest-matching prefixes , 1996, TNET.

[27]  Donald R. Morrison,et al.  PATRICIA—Practical Algorithm To Retrieve Information Coded in Alphanumeric , 1968, J. ACM.