Reliably scalable name prefix lookup

Name prefix lookup is a core building block of information-centric networking (ICN). In ICN hierarchical naming schemes, each packet has a name that consists of multiple variable-length name components, and packets are forwarded based on longest name prefix matching (LNPM). LNPM is challenging because names are longer than IP addresses and the namespace is unbounded. Recently proposed solutions have shown encouraging performance, however, most are optimized for or evaluated with a limited number of URL datasets that may not fully characterize the forwarding information base (FIB).What's more, the worst-case scenarios of several schemes require O(k) string lookups, where k is the number of components in each prefix. Thus, the sustained performance of existing solutions is not guaranteed. In this paper, we present a LNPM design based on the binary search of hash tables, which was originally proposed for IP lookup. With this design, the worst-case number of string lookups is O(log(k)) for prefixes with up to k components, regardless of the characteristics of the FIB. We implemented the design in software and demonstrated 10 Gbps throughput with one billion synthetic longest name prefix matching rules, each containing up to seven components. We also propose level pulling to optimize the average LNPM performance based on the observation that some prefixes have large numbers of next-level suffixes in the available URL datasets.

[1]  Diego Perino,et al.  A reality check for content centric networking , 2011, ICN '11.

[2]  Andrei Z. Broder,et al.  Using multiple hash functions to improve IP lookups , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[3]  Lixia Zhang,et al.  URL forwarding and compression in adaptive Web caching , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[4]  Van Jacobson,et al.  Networking named content , 2009, CoNEXT '09.

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

[6]  Scott Shenker,et al.  Naming in content-oriented architectures , 2011, ICN '11.

[7]  George Varghese,et al.  Hash-Based Techniques for High-Speed Packet Processing , 2010, Algorithms for Next Generation Networks.

[8]  Dong Zhou,et al.  Scalable, high performance ethernet forwarding with CuckooSwitch , 2013, CoNEXT.

[9]  Diego Perino,et al.  Caesar: A content router for high-speed forwarding on content names , 2012, 2014 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[10]  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.

[11]  Bernhard Plattner,et al.  Scalable high speed IP routing lookups , 1997, SIGCOMM '97.

[12]  Sriram Ramabhadran,et al.  Brief announcement: prefix hash tree , 2004, PODC '04.

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

[14]  Bin Liu,et al.  Fast name lookup for Named Data Networking , 2014, 2014 IEEE 22nd International Symposium of Quality of Service (IWQoS).

[15]  Rasmus Pagh,et al.  Cuckoo Hashing , 2001, Encyclopedia of Algorithms.

[16]  Michael M. Swift,et al.  Efficient virtual memory for big memory servers , 2013, ISCA.

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

[18]  Fred Kuhns,et al.  A remotely accessible network processor-based router for network experimentation , 2008, ANCS '08.