Title :
High Performance Dictionary-Based String Matching for Deep Packet Inspection
Author :
Yang, Yi-Hua E. ; Le, Hoang ; Prasanna, Viktor K.
Author_Institution :
Ming Hsieh Dept. of Electr. Eng., Univ. of Southern California, Los Angeles, SC, USA
Abstract :
Dictionary-Based String Matching (DBSM) is used in network Deep Packet Inspection (DPI) applications virus scanning and network intrusion detection. We propose the Pipelined Affix Search with Tail Acceleration (PASTA) architecture for solving DBSM with guaranteed worst-case performance. Our PASTA architecture is composed of a Pipelined Affix Search Relay (PASR) followed by a Tail Acceleration Finite Automaton (TAFA). PASR consists of one or more pipelined Binary Search Tree (pBST) modules arranged in a linear array. TAFA is constructed with the Aho-Corasick goto and failure functions in a compact multi-path and multi-stride tree structure. Both PASR and TAFA achieve good memory efficiency of 1.2 and 2 B/ch (bytes per character) respectively and are pipelined to achieve a high clock rate of 200 MHz on FPGAs. Because PASTA does not depend on the effectiveness of any hash function or the property of the input stream, its performance is guaranteed in the worst case. Our prototype implementation of PASTA on an FPGA with 10 Mb on-chip block RAM achieves 3.2 Gbps matching throughput against a dictionary of over 700 K characters. This level of performance surpasses the requirements of next-generation security gateways for deep packet inspection.
Keywords :
computer viruses; dictionaries; field programmable gate arrays; finite automata; string matching; tree searching; Aho-Corasick goto function; FPGA; RAM; dictionary-based string matching; failure function; linear array; multipath tree structure; multistride tree structure; network deep packet inspection; network intrusion detection; next-generation security gateways; pipelined affix search relay; pipelined binary search tree modules; tail acceleration architecture; tail acceleration finite automaton; virus scanning; Acceleration; Automata; Binary search trees; Clocks; Field programmable gate arrays; Inspection; Intrusion detection; Relays; Tail; Tree data structures;
Conference_Titel :
INFOCOM, 2010 Proceedings IEEE
Conference_Location :
San Diego, CA
Print_ISBN :
978-1-4244-5836-3
DOI :
10.1109/INFCOM.2010.5462268