EngineeringComputer EngineeringComputer ScienceComputer ArchitectureParallel ComputingReconfigurable ComputingData ParallelismField-programmable Gate Array ArchitectureFpga ArchitectureHardware AccelerationIntrusion DetectionReconfigurable AcceleratorsMatchingNetwork Intrusion DetectionNetwork-based Intrusion DetectionParallel Pattern MatchingParallel String MatchingRegular Expression MatchingRegular Expressions
High-speed string pattern matching in hardware is required in many applications including network intrusion detection applications. Regular expressions are one method to implement such matching and are often built in FPGAs using non-deterministic finite automata (NFAs). To obtain high throughputs it is necessary to process many bytes in parallel. This paper extends the modular NFA construction method of Sidhu and Prasanna to handle the processing of many bytes in parallel. The paper also introduces the concept of partial character decoding in which character match units are shared but the number of signals needed to be routed around the FPGA is reduced over previous shared-decoder approaches. With these approaches, throughput over 5Gbps is achieved for the full default Snort rule-set (23401 literals) in a Xilinx Virtex-2 6000 FPGA. Throughputs over 40Gbps are achieved on smaller rule-sets. Suggestions to improve performance are also given.
9
Introduction to automata theory, languages, and computation
Computer Languages · 1980 · 6.9K citations
Fast Regular Expression Matching Using FPGAs
Reetinder Sidhu, Viktor K. Prasanna · 2001 · 533 citations
Deep packet inspection using parallel bloom filters
Sarang Dharmapurikar, P. Krishnamurthy, Todd Sproull et al. · IEEE Micro · 2004 · 435 citations