A Memory-Efficient FPGA-based Classification Engine

Packet classification is one of the most important enabling technologies for next generation network services. Even though many multi-dimensional classification algorithms have been proposed, most of them are precluded from commercial equipments due to their high memory requirements. In this paper, we present an efficient packet classification scheme, implemented in reconfigurable hardware, called Dual Stage Bloom Filter Classification Engine (2sBFCE). 2sBFC comprises of an innovative 5-field search scheme that decomposes multi-field classification rules into internal single-field rules which are combined using multi-level Bloom filters. The design of 2sBFCE is optimized for the common case based on analysis of real world classification databases. The FPGA implementation of the proposed scheme handles 4 K rules, with very small memory requirements, while supporting network streams at a rate of 2 Gbps in the worst case, and more than 6 Gbps in the average case.

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

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

[3]  Antonius P. J. Engbersen,et al.  Fast and scalable packet classification , 2003, IEEE J. Sel. Areas Commun..

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

[5]  George Varghese,et al.  Scalable packet classification , 2001, SIGCOMM '01.

[6]  M. V. Ramakrishna,et al.  Efficient Hardware Hashing Functions for High Performance Computers , 1997, IEEE Trans. Computers.

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

[8]  Sartaj Sahni,et al.  Packet classification consuming small amount of memory , 2005, IEEE/ACM Transactions on Networking.

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

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

[11]  Michael E. Kounavis,et al.  Directions in Packet Classification for Network Processors , 2004 .

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

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

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

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

[16]  Kang Li,et al.  Approximate caches for packet classification , 2004, IEEE INFOCOM 2004.

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

[18]  Ioannis Papaefstathiou,et al.  Memory-Efficient 5D Packet Classification At 40 Gbps , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[19]  Deepa Srinivasan,et al.  Performance analysis of multi-dimensional packet classification on programmable network processors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[20]  Ioannis Papaefstathiou,et al.  An innovative low-cost Classification Scheme for combined multi-Gigabit IP and Ethernet Networks , 2006, 2006 IEEE International Conference on Communications.