A FPGA-based Parallel Architecture for Scalable High-Speed Packet Classification

Multi-field packet classification is a critical function that enables network routers to support a variety of applications such as firewall processing, Quality of Service differentiation, traffic billing, and other value added services. Explosive growth of Internet traffic requires the future packet classifiers be implemented in hardware. However, most of the existing packet classification algorithms need large amount of memory, which inhibits efficient hardware implementations. This paper exploits the modern FPGA technology and presents a partitioning-based parallel architecture for scalable and high-speed packet classification. We propose a coarse-grained independent sets algorithm and then combine it seamlessly with the cross-producting scheme. After partitioning the original rule set into several coarse-grained independent sets and applying the cross-producting scheme for the remaining rules, the memory requirement is dramatically reduced. Our FPGA implementation results show that our architecture can store 10K real-life rules in a single state-of-the-art FPGA while consuming a small amount of on-chip resources. Post place and route results show that the design sustains 90 Gbps throughput for minimum size (40 bytes) packets, which is more than twice the current backbone network link rate.

[1]  Ioannis Sourdis Designs and algorithms for packet and content inspection , 2007 .

[2]  Haoyu Song,et al.  Efficient packet classification for network intrusion detection using FPGA , 2005, FPGA '05.

[3]  Yi Ge,et al.  Parallel packet classification via policy table pre-partitioning , 2005, GLOBECOM '05. IEEE Global Telecommunications Conference, 2005..

[4]  Jonathan S. Turner,et al.  Scalable packet classification using distributed crossproducing of field labels , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[5]  Yan Luo,et al.  Acceleration of decision tree searching for IP traffic classification , 2008, ANCS '08.

[6]  Anand Rangarajan,et al.  Algorithms for advanced packet classification with ternary CAMs , 2005, SIGCOMM '05.

[7]  Éva Tardos,et al.  Algorithm design , 2005 .

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

[9]  Ioannis Papaefstathiou,et al.  A Memory-Efficient FPGA-based Classification Engine , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

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

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

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

[13]  Viktor K. Prasanna,et al.  Large-scale wire-speed packet classification on FPGAs , 2009, FPGA '09.

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

[15]  Zhen Liu,et al.  Low power architecture for high speed packet classification , 2008, ANCS '08.

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

[17]  Kuruvilla Varghese,et al.  A Scalable High Throughput Firewall in FPGA , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

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

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

[20]  Pi-Chung Wang,et al.  Scalable packet classification with controlled cross-producting , 2009, Comput. Networks.

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

[22]  Viktor K. Prasanna,et al.  Scalable high-throughput SRAM-based architecture for IP-lookup using FPGA , 2008, 2008 International Conference on Field Programmable Logic and Applications.

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

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

[25]  Viktor K. Prasanna,et al.  Beyond TCAMs: An SRAM-Based Parallel Multi-Pipeline Architecture for Terabit IP Lookup , 2008, IEEE INFOCOM 2008 - The 27th Conference on Computer Communications.