Fast packet classification through tuple reduction and lookahead caching

Packet classification is a technique that classifies the flows into different classes. Nowadays the packet classification plays an important role for many new Internet services. Rectangle search is a well-known packet classification scheme which is based on multiple hash accesses for different filter length. It shows good scalability with respect to the number of filters; however, the lookup performance is not fast enough. For example, through experiments, each packet classification takes about 40 hash accesses in a 100,000-filter database and each hash access may take more than one memory access. Obviously, this is not capable to provide gigabits throughput. We propose an efficient scheme to improve the rectangle search. The scheme consists of two parts. In the first part, the "tuple reduction algorithm" based on filter duplication is proposed. In spite of the increased number of filters, the pre-computation information is dramatically reduced. The performance has increased two times while only about one quarter storage is required. Secondly, we propose a novel "lookahead caching" which can further improve the lookup performance. The basic idea is to find out the "un-matched" case for each incoming packet, thus it is different from the traditional caching mechanism. The experimental results indicate that the proposed scheme can fulfill OC-192 throughput.

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

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

[3]  Nen-Fu Huang,et al.  A novel IP-routing lookup scheme and hardware architecture for multigigabit switching routers , 1999, IEEE J. Sel. Areas Commun..

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

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

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

[7]  Thomas Y. C. Woo A modular approach to packet classification: algorithms and results , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[8]  Nick McKeown,et al.  Routing lookups in hardware at memory access speeds , 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.

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

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

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

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

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

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

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