A content processor is described that is able to scan the contents of
entire data packets including header and payload information. The content
processor includes a queue engine operable to reorder out of order data
packets and reassemble fragmented data packets. The queue engine sends the
reordered and reassembled data packets to the context engine, which
schedules the packets to be scanned. The packets are scanned by the
content scanning engine using one or more string memories and one or more
leaf string memories. The string memories are used by the content scanning
engine to determine if there is a potential match between the data packet
being scanned and any of the strings contained in database of known
strings. If a potential match is identified, whether or not there is an
exact match is determined using the leaf string memories and the leaf
string compare engine. The scanning of the data packet results in a
conclusion being generated by the content scanning engine. The conclusion
can be an intermediate conclusion, can be an instruction to be executed by
the content processor, can instruct the context engine to forward the
information to a host processor for further analysis, or can be the final
conclusion sent with the data packet with routing and quality of service
treatment. Other uses for the conclusion are programmable in the content
processor.
Ένας ικανοποιημένος επεξεργαστής περιγράφεται που είναι σε θέση να ανιχνεύσει το περιεχόμενο των ολόκληρων πακέτων στοιχείων συμπεριλαμβανομένων των πληροφοριών επιγραφών και ωφέλιμων φορτίων. Ο ικανοποιημένος επεξεργαστής περιλαμβάνει μια μηχανή σειρών αναμονής λειτουργική για να ξαναπαραγγείλει από τα πακέτα στοιχείων διαταγής και να συγκεντρώσει εκ νέου τα τεμαχισμένα πακέτα στοιχείων. Η μηχανή σειρών αναμονής στέλνει τα ξαναπαραγγαλμένα και συγκεντρωμένα εκ νέου πακέτα στοιχείων στη μηχανή πλαισίου, η οποία σχεδιάζει τα πακέτα για να ανιχνευθεί. Τα πακέτα ανιχνεύονται από την ικανοποιημένη μηχανή ανίχνευσης χρησιμοποιώντας μια ή περισσότερες μνήμες σειράς και μια ή περισσότερες μνήμες σειράς φύλλων. Οι μνήμες σειράς χρησιμοποιούνται από την ικανοποιημένη μηχανή ανίχνευσης για να καθορίσουν εάν υπάρχει μια πιθανή αντιστοιχία μεταξύ του πακέτου στοιχείων που ανιχνεύεται και οποιεσδήποτε από τις σειρές που περιλαμβάνονται στη βάση δεδομένων των γνωστών σειρών. Εάν μια πιθανή αντιστοιχία προσδιορίζεται, εάν υπάρχει ή όχι μια ακριβής αντιστοιχία καθορίζεται χρησιμοποιώντας τις μνήμες σειράς φύλλων και η σειρά φύλλων συγκρίνει τη μηχανή. Η ανίχνευση του πακέτου στοιχείων οδηγεί σε ένα συμπέρασμα που παράγεται από την ικανοποιημένη μηχανή ανίχνευσης. Το συμπέρασμα μπορεί να είναι ένα ενδιάμεσο συμπέρασμα, μπορεί να είναι μια οδηγία που εκτελείται από τον ικανοποιημένο επεξεργαστή, μπορεί να καθοδηγήσει τη μηχανή πλαισίου για να διαβιβάσει τις πληροφορίες σε έναν επεξεργαστή οικοδεσποτών για την περαιτέρω ανάλυση, ή μπορεί να είναι το τελικό συμπέρασμα που στέλνεται με το πακέτο στοιχείων με τη δρομολόγηση και την ποιότητα της επεξεργασίας υπηρεσιών. Αλλες χρήσεις για το συμπέρασμα είναι προγραμματίσημες στον ικανοποιημένο επεξεργαστή.