Programmable architecture for NFA-based string matching

In this paper, we propose a programmable string matching architecture to process multiple characters at a single cycle. To simplify the architecture of the previous works, we employ a method of realigning the input data stream by offsets. We show that some registers can be eliminated by using the method. Additionally, we present two different approaches to implement a programmable hardware for string matching on FPGA. We show the synthesis results for these two approaches.

[1]  George Varghese,et al.  Deterministic memory-efficient string matching algorithms for intrusion detection , 2004, IEEE INFOCOM 2004.

[2]  Wei Lin,et al.  Pipelined Parallel AC-Based Approach for Multi-String Matching , 2008, 2008 14th IEEE International Conference on Parallel and Distributed Systems.

[3]  Vijay Kumar,et al.  High Speed Pattern Matching for Network IDS/IPS , 2006, Proceedings of the 2006 IEEE International Conference on Network Protocols.

[4]  Young H. Cho,et al.  Deep network packet filter design for reconfigurable devices , 2008, TECS.

[5]  Alfred V. Aho,et al.  Efficient string matching , 1975, Commun. ACM.

[6]  Kenji Toda,et al.  Highly Efficient String Matching Circuit for IDS with FPGA , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[7]  Christopher R. Clark,et al.  A pattern-matching co-processor for network intrusion detection systems , 2003, Proceedings. 2003 IEEE International Conference on Field-Programmable Technology (FPT) (IEEE Cat. No.03EX798).

[8]  Christopher R. Clark,et al.  Scalable pattern matching for high speed networks , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[9]  Bin Liu,et al.  A Memory-Efficient Parallel String Matching Architecture for High-Speed Intrusion Detection , 2006, IEEE Journal on Selected Areas in Communications.

[10]  Yeim-Kuan Chang,et al.  Multi-Character Processor Array for Pattern Matching in Network Intrusion Detection System , 2008, 22nd International Conference on Advanced Information Networking and Applications (aina 2008).