Hierarchical packet classification using a Bloom filter and rule-priority tries

Packet classification techniques have received significant attention in the network literature over the past 10years, due to its fundamental role in the Internet routers. In recent years, Bloom filter, which is an efficient data structure for membership queries, becomes popular in the network applications. Though Bloom filter allows an error called ''false positives,'' the efficiency and the space saving overweigh this drawback when the false positive rate is properly controlled. In this paper, we proposed a packet classification algorithm based on a hierarchical approach. While the same data structure is used both for the source and the destination prefix fields in most of other hierarchical packet classification algorithms, our proposed hierarchical packet classification algorithm uses a Bloom filter for the source prefix field and a trie structure for the destination prefix field. The Bloom filter is primarily employed to pre-filter the sub-strings of the source address which have no match for the source prefixes of a given rule set. For the sub-strings with a positive result from the Bloom filter, rule-priority tries constructed based on a destination prefix field determine the highest priority rule matching the input packet for entire rule fields. Since the Bloom filter requires a small amount of memory, it is implemented with an on-chip memory or a fast cache, and hence the off-chip memory accesses are not occurred in the first stage of the hierarchical approach in the proposed algorithm. The proposed packet classification algorithm also provides incremental update. To compare the performance of the proposed packet classification algorithm with other related algorithms, extensive simulations for various algorithms are performed. The simulation result shows that the proposed algorithm renders a better performance in terms of average and worst-case search performance and memory requirement.

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

[2]  Robert Cole,et al.  Computer Communications , 1982, Springer New York.

[3]  T. V. Lakshman,et al.  High-speed policy-based packet forwarding using efficient multi-dimensional range matching , 1998, SIGCOMM '98.

[4]  Haoyu Song,et al.  Packet classification using coarse-grained tuple spaces , 2006, 2006 Symposium on Architecture For Networking And Communications Systems.

[5]  Nick McKeown,et al.  Classifying Packets with Hierarchical Intelligent Cuttings , 2000, IEEE Micro.

[6]  George Varghese,et al.  Packet classification using multidimensional cutting , 2003, SIGCOMM '03.

[7]  Hyesook Lim,et al.  Two-dimensional packet classification algorithm using a quad-tree , 2007, Comput. Commun..

[8]  George Varghese,et al.  Packet classification for core routers: is there an alternative to CAMs? , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

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

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

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

[12]  George Varghese,et al.  Scalable packet classification , 2001, SIGCOMM 2001.

[13]  Nick McKeown,et al.  Packet classification on multiple fields , 1999, SIGCOMM '99.

[14]  Rich Seifert,et al.  The Switch Book: The Complete Guide to LAN Switching Technology , 2000 .

[15]  George Varghese,et al.  Fast and scalable layer four switching , 1998, SIGCOMM '98.

[16]  Hyesook Lim,et al.  NXG06-1: An Efficient IP Address Lookup Algorithm Using a Priority Trie , 2006, IEEE Globecom 2006.

[17]  Haoyu Song,et al.  Fast packet classification using bloom filters , 2006, 2006 Symposium on Architecture For Networking And Communications Systems.

[18]  Hyesook Lim,et al.  Hierarchical Binary Search Tree for Packet Classification , 2007, IEEE Communications Letters.

[19]  Hyesook Lim,et al.  High-speed packet classification using binary search on length , 2007, ANCS '07.

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

[21]  Subhash Suri,et al.  Space Decomposition Techniques for Fast Layer-4 Switching , 1999, Protocols for High-Speed Networks.

[22]  Venkatachary Srinivasan,et al.  Packet classification using tuple space search , 1999, SIGCOMM '99.

[23]  David E. Taylor Survey and taxonomy of packet classification techniques , 2005, CSUR.

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

[25]  Jonathan S. Turner,et al.  ClassBench: A Packet Classification Benchmark , 2005, IEEE/ACM Transactions on Networking.