O(logW) multidimensional packet classification

We use a collection of hash tables to represent a multidimensional packet classification table. These hash tables are derived from a trie-representation of the multidimensional classifier. The height of this trie is <i>O</i>(<i>W</i>), where <i>W</i> is the sum of the maximum possible length, in bits, of each of the fields of a filter. The leaves at level <i>i</i> of the trie together with markers for some of the leaves at levels <i>j</i> such that <i>j</i> > <i>i</i> are stored in a hash table <i>H<inf>i</inf></i>. The placement of markers is such that a binary search of the <i>H<inf>i</inf></i>'s successfully locates the highest-priority filter that matches any given packet. The number of hash tables equals the trie height, <i>O</i>(<i>W</i>). Hence, a packet may be classified by performing <i>O</i>(log <i>W</i>) hash-table lookups. So the expected lookup-complexity of our data structure for multidimensional packet classification is <i>O</i>(log <i>W</i>). Our proposed scheme affords a memory advantage over the <i>O</i>(log <i>W</i>) 1-D scheme of Waldvogel et al. For multidimensional packet classification, our proposed scheme provides both a time and memory advantage over the extended grid-of-tries scheme of Baboescu et al.

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

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

[3]  George Varghese,et al.  Fast firewall implementations for software and hardware-based routers , 2001, Proceedings Ninth International Conference on Network Protocols. ICNP 2001.

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

[5]  Nick McKeown,et al.  Algorithms for packet classification , 2001, IEEE Netw..

[6]  Anja Feldmann,et al.  Tradeoffs for packet classification , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[7]  Guru M. Parulkar,et al.  Detecting and resolving packet filter conflicts , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[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]  Sartaj Sahni,et al.  IP Lookup by Binary Search on Prefix Length , 2002, J. Interconnect. Networks.

[10]  Yiqiang Q. Zhao,et al.  Packet classification using independent sets , 2003, Proceedings of the Eighth IEEE Symposium on Computers and Communications. ISCC 2003.

[11]  Dan E. Willard Log-Logarithmic Worst-Case Range Queries are Possible in Space Theta(N) , 1983, Inf. Process. Lett..

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

[13]  Bernhard Plattner,et al.  Scalable high-speed prefix matching , 2001, TOCS.

[14]  Peter van Emde Boas,et al.  Design and implementation of an efficient priority queue , 1976, Mathematical systems theory.

[15]  Mark de Berg,et al.  Two- and Three-Dimensional Point Location in Rectangular Subdivisions , 1995, J. Algorithms.

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

[17]  John W. Lockwood,et al.  Reconfigurable Router Modules Using Network Protocol Wrappers , 2001, FPL.

[18]  Pankaj Gupta,et al.  Packet Classification using Hierarchical Intelligent Cuttings , 1999 .

[19]  George Varghese,et al.  Fast and scalable conflict detection for packet classifiers , 2002, 10th IEEE International Conference on Network Protocols, 2002. Proceedings..

[20]  Venkatachary Srinivasan,et al.  A packet classification and filter management system , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[21]  Ellis Horowitz,et al.  Computer Algorithms / C++ , 2007 .

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

[23]  Sartaj Sahni,et al.  Data Structures for One-Dimensional Packet Classification Using Most-Specific-Rule Matching , 2003, Int. J. Found. Comput. Sci..

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

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

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

[27]  David Eppstein,et al.  Internet packet filter management and rectangle geometry , 2000, SODA '01.

[28]  George Varghese,et al.  Scalable packet classification , 2001, TNET.

[29]  Hanan Samet,et al.  Applications of spatial data structures - computer graphics, image processing, and GIS , 1990 .