Title :
Scalable Packet Classification on FPGA
Author :
Jiang, Weirong ; Prasanna, Viktor K.
Author_Institution :
Juniper Networks Inc., Sunnyvale, CA, USA
Abstract :
Multi-field packet classification has evolved from traditional fixed 5-tuple matching to flexible matching with arbitrary combination of numerous packet header fields. For example, the recently proposed OpenFlow switching requires classifying each packet using up to 12-tuple packet header fields. It has become a great challenge to develop scalable solutions for next-generation packet classification that support higher throughput, larger rule sets and more packet header fields. This paper exploits the abundant parallelism and other desirable features provided by current field-programmable gate arrays (FPGAs), and proposes a decision-tree-based, 2-D multi-pipeline architecture for next-generation packet classification. We revisit the techniques for traditional 5-tuple packet classification and propose several optimization techniques for the state-of-the-art decision-tree-based algorithm. Given a set of 12-tuple rules, we develop a framework to partition the rule set into multiple subsets each of which is built into an optimized decision tree. A tree-to-pipeline mapping scheme is carefully designed to maximize the memory utilization while sustaining high throughput. The implementation results show that our architecture can store either 10K real-life 5-tuple rules or 1K synthetic 12-tuple rules in on-chip memory of a single state-of-the-art FPGA, and sustain 80 and 40 Gbps throughput for minimum size (40 bytes) packets, respectively.
Keywords :
field programmable gate arrays; optimisation; trees (mathematics); 10K real-life 5-tuple rules; 12-tuple packet header fields; 1K synthetic 12-tuple rules; 2D multi-pipeline architecture; FPGA; OpenFlow switching; bit rate 40 Gbit/s; bit rate 80 Gbit/s; decision-tree-based architecture; field-programmable gate arrays; fixed 5-tuple matching; multifield packet classification; next-generation packet classification; on-chip memory; optimization techniques; optimized decision tree; packet header fields; scalable packet classification; tree-to-pipeline mapping scheme; Algorithm design and analysis; Decision trees; Field programmable gate arrays; Next generation networking; Partitioning algorithms; Pipeline processing; Throughput; Decision tree; SRAM; field-programmable gate array (FPGA); openflow; packet classification; pipeline;
Journal_Title :
Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
DOI :
10.1109/TVLSI.2011.2162112