Concise Lookup Tables for IPv4 and IPv6 Longest Prefix Matching in Scalable Routers

We present a distinct longest prefix matching (LPM) lookup scheme able to achieve exceedingly concise lookup tables (CoLT), suitable for scalable routers. Based on unified hash tables for handling both IPv4 and IPv6 simultaneously, CoLT excels over previous mechanisms in: 1) lower on-chip storage for lookup tables; 2) simpler table formats to enjoy richer prefix aggregation and easier implementation; and 3) most importantly, deemed the only design able to accommodate both IPv4 and IPv6 addresses uniformly and effectively. As its hash tables permit multiple possible buckets to hold each prefix (following a migration rule to avoid false positives altogether), CoLT exhibits the best memory efficiency and can launch parallel search over tables during every LPM lookup, involving fewer cycles per lookup when on-chip memory is used to implement hash tables. With 16 (or 32) on-chip SRAM blocks clocked at 500 MHz (achievable in today's 65-nm technology), it takes 2 (or 1.6) cycles on average to complete a lookup, yielding 250 (or 310+) millions of packets per second (MPPS) mean throughput. Being hash-oriented, CoLT well supports incremental table updates, besides its high table utilization and lookup throughput.

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

[2]  Michael Mitzenmacher,et al.  Simple Summaries for Hashing With Choices , 2008, IEEE/ACM Transactions on Networking.

[3]  Gunnar Karlsson,et al.  IP-address lookup using LC-tries , 1999, IEEE J. Sel. Areas Commun..

[4]  Bruce Schneier,et al.  Applied cryptography (2nd ed.): protocols, algorithms, and source code in C , 1995 .

[5]  Haoyu Song,et al.  Fast hash table lookup using extended bloom filter: an aid to network processing , 2005, SIGCOMM '05.

[6]  Fang Hao,et al.  Scalable IP lookups using shape graphs , 2009, 2009 17th IEEE International Conference on Network Protocols.

[7]  Nian-Feng Tzeng,et al.  TCAM-Based Forwarding Engine with Minimum Independent Prefix Set (MIPS) for Fast Updating , 2006, 2006 IEEE International Conference on Communications.

[8]  Eli Upfal,et al.  Balanced allocations (extended abstract) , 1994, STOC '94.

[9]  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).

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

[11]  Bruce Schneier,et al.  Applied cryptography : protocols, algorithms, and source codein C , 1996 .

[12]  Ronald L. Rivest,et al.  The MD5 Message-Digest Algorithm , 1992, RFC.

[13]  Fong Pong Fast and robust TCP session lookup by digest hash , 2006, 12th International Conference on Parallel and Distributed Systems - (ICPADS'06).

[14]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[15]  Viktor K. Prasanna,et al.  Parallel IP lookup using multiple SRAM-based pipelines , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[16]  V. Srinivasan,et al.  Fast address lookups using controlled prefix expansion , 1999, TOCS.

[17]  Nian-Feng Tzeng,et al.  SUSE: Superior Storage-Efficiency for Routing Tables Through Prefix Transformation and Aggregation , 2010, IEEE/ACM Transactions on Networking.

[18]  Fang Hao,et al.  IPv6 Lookups using Distributed and Load Balanced Bloom Filters for 100Gbps Core Router Line Cards , 2009, IEEE INFOCOM 2009.

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

[20]  Rabi N. Mahapatra,et al.  TCAM architecture for IP lookup using prefix properties , 2004, IEEE Micro.

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

[22]  Eli Upfal,et al.  Balanced Allocations , 1999, SIAM J. Comput..

[23]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[24]  Patrick Crowley,et al.  Peacock Hashing: Deterministic and Updatable Hashing for High Performance Networking , 2008, IEEE INFOCOM 2008 - The 27th Conference on Computer Communications.

[25]  Bernard P. Zajac Applied cryptography: Protocols, algorithms, and source code in C , 1994 .

[26]  Arin Apnic,et al.  IPv6 Address Allocation and Assignment Policy , 2002 .

[27]  Laxmi N. Bhuyan,et al.  A hash-based scalable IP lookup using Bloom and fingerprint filters , 2009, 2009 17th IEEE International Conference on Network Protocols.

[28]  Srihari Cadambi,et al.  Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture , 2006, 33rd International Symposium on Computer Architecture (ISCA'06).

[29]  Berthold Vöcking,et al.  How asymmetry helps load balancing , 1999, JACM.

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

[31]  H. Jonathan Chao,et al.  FlashTrie: Hash-based Prefix-Compressed Trie for IP Route Lookup Beyond 100Gbps , 2010, 2010 Proceedings IEEE INFOCOM.

[32]  Sarang Dharmapurikar,et al.  Longest prefix matching using bloom filters , 2006, IEEE/ACM Transactions on Networking.