Programmable hardware for deep packet filtering
First Claim
Patent Images
1. A deep packet filter comprising:
- prefix search logic configured to compare a first non-header portion of incoming data against a prefix pattern;
memory coupled to the prefix search logic, the memory storing a plurality of suffix patterns;
means for generating a suffix index based on a match of the first non-header portion of the incoming data to the prefix pattern; and
comparator logic configured to compare a second non-header portion of the incoming data against a suffix pattern selected from the plurality of suffix patterns,wherein the suffix pattern is identified based on the generated suffix index, andwherein the incoming data is allowed to pass or not based on the comparison of the second non-header portion.
3 Assignments
0 Petitions
Accused Products
Abstract
An improved deep packet filter system designed to optimize search of dynamic patterns for a high speed network traffic. The improved deep packet filter system is a hardware-based system with optimized logic area. One optimization technique is the sharing of common sub-logic in the hardware design to reduce the number of gates that are required. Another optimization technique is the use of a built-in memory to store portions of the pattern set, also resulting in a reduction of gates. The reduction of the logic area allows the deep packet filter system to be implemented onto a single field-programmable array chip.
16 Citations
21 Claims
-
1. A deep packet filter comprising:
-
prefix search logic configured to compare a first non-header portion of incoming data against a prefix pattern; memory coupled to the prefix search logic, the memory storing a plurality of suffix patterns; means for generating a suffix index based on a match of the first non-header portion of the incoming data to the prefix pattern; and comparator logic configured to compare a second non-header portion of the incoming data against a suffix pattern selected from the plurality of suffix patterns, wherein the suffix pattern is identified based on the generated suffix index, and wherein the incoming data is allowed to pass or not based on the comparison of the second non-header portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A deep packet filtering method comprising:
-
partitioning a plurality of patterns into a prefix portion and a suffix portion; storing the suffix portion of each of the plurality of patterns in a memory; concurrently comparing at least a portion of a first non-header portion of incoming data against at least a portion of the prefix portion of each of the plurality of patterns; generating a suffix index based on a match of the first non-header portion of the incoming data to a prefix portion of a particular pattern; identifying a suffix portion of the particular pattern stored in the memory based on the suffix index; comparing a second non-header portion of the incoming data against the identified suffix portion; and forwarding the incoming data or not, based on the comparison of the second non-header portion to the identified suffix portion. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
Specification