摘要 |
A network processing system is described that is able to scan the entire contents of data packets passing through it, and to associate related data packets into discrete sessions, or flows. This ability allows the network processing system to learn characteristics of flows and events contained within those flows. Further, the network processing system can remember characteristics and events that have already been learned for use in processing future data packets. And finally, the network processing system can apply treatments to individual data packets and flows based on the characteristics and events learned, as well as previous state that has been maintained for that flow. To accomplish this, the network processing system includes processing engines, referred to as learning state machines, that scan the entire contents of data packets, use specific information in the data packets to associate the data packet with a particular session, or flow, identify characteristics of the data packet and associated flow, as well as events contained within the flow, store a state for the flow that contains the characteristics and events already learned, and determine a treatment for the data packet based on its contents and flow state.
|