On Adding Bloom Filters to Longest Prefix Matching Algorithms

High-speed IP address lookup is essential to achieve wire-speed packet forwarding in Internet routers. Ternary content addressable memory (TCAM) technology has been adopted to solve the IP address lookup problem because of its ability to perform fast parallel matching. However, the applicability of TCAMs presents difficulties due to cost and power dissipation issues. Various algorithms and hardware architectures have been proposed to perform the IP address lookup using ordinary memories such as SRAMs or DRAMs without using TCAMs. Among the algorithms, we focus on two efficient algorithms providing high-speed IP address lookup: parallel multiple-hashing (PMH) algorithm and binary search on level algorithm. This paper shows how effectively an on-chip Bloom filter can improve those algorithms. A performance evaluation using actual backbone routing data with 15,000-220,000 prefixes shows that by adding a Bloom filter, the complicated hardware for parallel access is removed without search performance penalty in parallel-multiple hashing algorithm. Search speed has been improved by 30-40 percent by adding a Bloom filter in binary search on level algorithm.

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

[2]  Sartaj Sahni,et al.  Recursively Partitioned Static IP Router Tables , 2007, IEEE Transactions on Computers.

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

[4]  Sartaj Sahni,et al.  Data structures for one-dimensional packet classification using most-specific-rule matching , 2002, Proceedings International Symposium on Parallel Architectures, Algorithms and Networks. I-SPAN'02.

[5]  Hyesook Lim,et al.  A parallel multiple hashing architecture for IP address lookup , 2004, 2004 Workshop on High Performance Switching and Routing, 2004. HPSR..

[6]  Hyesook Lim,et al.  Hierarchical packet classification using a Bloom filter and rule-priority tries , 2010, Comput. Commun..

[7]  Sartaj Sahni,et al.  Packet Forwarding Using Pipelined Multibit Tries , 2006, 11th IEEE Symposium on Computers and Communications (ISCC'06).

[8]  So-Yeon Kim,et al.  Tuple Pruning Using Bloom Filters for Packet Classification , 2009, IEEE Micro.

[9]  Sartaj Sahni,et al.  Recursively Partitioned Static IP Router-Tables , 2007, 2007 12th IEEE Symposium on Computers and Communications.

[10]  Sartaj Sahni,et al.  An O(logn) dynamic router-table design , 2004, IEEE Transactions on Computers.

[11]  Sartaj Sahni,et al.  Packet Classification Using Pipelined Two-Dimensional Multibit Tries , 2006, 11th IEEE Symposium on Computers and Communications (ISCC'06).

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

[13]  Srinivas Aluru,et al.  Scalable, Memory Efficient, High-Speed , 2005 .

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

[15]  Hung-Hsiang Jonathan Chao,et al.  Next generation routers , 2002, Proc. IEEE.

[16]  Sartaj Sahni,et al.  Succinct Representation of Static Packet Classifiers , 2007, IEEE/ACM Transactions on Networking.

[17]  Hyesook Lim,et al.  Binary search on levels using a Bloom filter for IPv6 address lookup , 2009, ANCS '09.

[18]  Nikil D. Dutt,et al.  On-chip vs. off-chip memory: the data partitioning problem in embedded processor-based systems , 2000, TODE.

[19]  Hyesook Lim,et al.  Binary Search on Prefix Lengths for , 2006 .

[20]  Srinivas Aluru,et al.  Scalable, memory efficient, high-speed IP lookup algorithms , 2005, IEEE/ACM Transactions on Networking.

[21]  Sartaj Sahni,et al.  O(log n) Dynamic Router-Tables for Prefixes and Ranges , 2004, IEEE Trans. Computers.

[22]  Butler W. Lampson,et al.  IP lookups using multiway and multicolumn search , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[23]  Sasu Tarkoma,et al.  Theory and Practice of Bloom Filters for Distributed Systems , 2012, IEEE Communications Surveys & Tutorials.

[24]  T. V. Lakshman,et al.  Efficient multimatch packet classification and lookup with TCAM , 2005, IEEE Micro.

[25]  Hyesook Lim,et al.  High speed IP address lookup architecture using hashing , 2003, IEEE Communications Letters.

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

[27]  Sartaj Sahni,et al.  Dynamic Tree Bitmap for IP Lookup and Update , 2007, Sixth International Conference on Networking (ICN'07).

[28]  Sartaj Sahni,et al.  IP Lookup by Binary Search on Prefix Length , 2002, J. Interconnect. Networks.

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

[30]  Hyesook Lim,et al.  IP address lookup for internet routers using balanced binary search with prefix vector , 2009, IEEE Transactions on Communications.

[31]  Hyesook Lim,et al.  Survey and Proposal on Binary Search Algorithms for Longest Prefix Match , 2012, IEEE Communications Surveys & Tutorials.

[32]  Walid Dabbous,et al.  Survey and taxonomy of IP address lookup algorithms , 2001, IEEE Netw..

[33]  David E. Taylor,et al.  Longest prefix matching using bloom filters , 2006, TNET.

[34]  Sartaj Sahni,et al.  Efficient Construction of Pipelined Multibit-Trie Router-Tables , 2007, IEEE Transactions on Computers.

[35]  Sartaj Sahni,et al.  Packet Classification Using Space-Efficient Pipelined Multibit Tries , 2008, IEEE Transactions on Computers.

[36]  Hyesook Lim,et al.  Binary search on prefix lengths for IP address lookup , 2006, IEEE Communications Letters.

[37]  Hyesook Lim,et al.  Priority Tries for IP Address Lookup , 2010, IEEE Transactions on Computers.