A 100Gbps Multi-Pattern String Matching Method Based on Bloom filter and TCAM - Zhou, Zhixiong; Wang, Rui (2024 5th International Seminar on Artificial Intelligence, Networking and Information Technology (AINIT), 2024)
Multi-pattern string matching is broadly used in many fields of computer science, such as URL filtering, antivirus scanning, intrusion detection in network applications, and DNA searching in biological applications. As business requirements become increasingly demanding, the set of string patterns becomes larger, necessitating efficient multi-pattern string matching techniques to address this issue. This paper proposes a high-speed multi-pattern string matching method based on the combination of Bloom filters and TCAM, which uses a multi-hash Bloom filter for the first stage filtering, then execute precise matching for the second stage utilizing the high-speed parallel search capability of TCAM, and performs general matching algorithm in the last stage for patterns exceeding the TCAM matching width. This matching method was implemented using Arria 10 FPGA and NLA12K TCAM, which can achieve a matching performance of 100Gbps under a scale of 128K string patterns in the application of network packet filtering.