Traffic analysis on high-speed networks

The present invention provides a traffic analyzing system on a communications link having analyzer circuits connected to each other by a number of links, where each analyzer circuit has a data rate lower than the data rate of the communications link, and are adapted to perform respective different levels of analysis on packets. The information extracted from the packets analyzed at a first level of analysis by a first analyzer circuit is forwarded to a second level of analysis performed at a second analyzer circuit, where the additional analysis performed by the second analyzer circuit depends on the analysis performed by the first analyzer circuit. Such a system and associated method allows for an efficient, practical, and improved traffic flow analyses for computer networks to evaluate high-speed and heavy traffic flow, as well as for improved protocol analysis for emerging technologies.

TECHNICAL FIELD

The present invention relates to computer networks, and in particular, to traffic flow analysis on high-speed connection links.

BACKGROUND

Investigating traffic flow can take a lot of processing time and power to monitor and classify, and both the amount and speed of traffic data, especially Internet traffic data, are ferociously increasing. Systems for traffic flow analysis very often encounter several obstacles, which take place at the level of the traffic flow passage due to various types of heavy processing required in order to obtain a semantic, reliable, and useful classification and processing of network traffic.

Classification of traffic travelling around a data network makes it possible to decide on behaviours to be adopted for each traffic flow as a function of its classification. That is, before a data packet can be adequately processed, classification of the traffic flow permits the network components to classify the data packets according to the various characteristics of the packets and information contained in the packet. Thus, accurate and efficient data processing depends largely on reliable methods of packet classification. After the packet is classified, the network components can determine how to properly handle and process the packets.

For example, in a firewall, a security system setup generally relies on recognition of protocol properties to prevent certain transfers, and in devices for managing quality of service, such devices allocate priorities to data as a function of complex rules which describe various scenarios. A correspondence between these scenarios and data packets conveyed within connections uses techniques for classifying these connections.

Again, the operations for controlling and managing networks require classification of connections between various senders and receivers which generate digital data streams over these networks. This requires powerful and reliable methods of classification, and thus traffic analysis.

Furthermore, analysis and classification of packets often involve the complex task of constructing protocol attributes, i.e., determining the ordered sequence of protocol names used in the semantic stream of data and the parameter names carried by a protocol. Building such a graph or knowledge base to recognize different protocols is a very heavy task because of the increasing numbers of new protocols used in packet communication networks, as well as the number of protocol modifications and new dependency links.

Typically, a data packet observation task is assigned to a node of the network such as, for example, a proxy server where connections pass through, which generate these data packets. Thus, existing traffic flow analyses are generally performed in computer networked systems such as the one illustrated inFIG. 1. A traffic analyzing system for analyzing high-speed traffic (e.g., packets or datagrams) between various computers, includes a first network100connected to a second network110using a communications link200. The link200is analyzed by an analyzer300, which measures and analyzes the traffic flowing in both or either direction between the first network100and the second network110. The traffic between the network100and network110is usually 1 Gbps in business networks but can be as high as a couple dozen Gbps in the core of an operator's network.

As mentioned above, in heavily trafficked networks, to continuously analyze all traffic in an accurate and precise manner is a tall order. The capacity for analysis and measurement of the analyzer300is determined by the number of simultaneous flows N (e.g., traffic flow size) and the throughput T of each flow (e.g., traffic flow speed). N directly affects the amount of memory required to manage the context of the registered applications, whereas T directly impacts the processing power required to perform the analysis without significant loss of packets. T defines the quantity of packets to be processed in a lapse of time and defines, as a result, the amount of processing that can be allocated to each packet.

In known systems, the amount of processing increases proportionally with the increase of the flow N, insofar as each packet contributes to the state of a flow and thus imposes a structure of data whose size is related to N. It is thus clear that a given material infrastructure will present a behaviour related to its intrinsic performance and configuration, which will make it possible either to increase N by decreasing D, or to increase D by decreasing N. In other words, N×D remains nearly constant.

However, the reality and progression of existing computer networks is that N and T are both increasing proportionally at the same time. That is, the size and the speed of the network traffic are no longer inversely proportional, but both N and T are increasing. Added to this is the vastness and complexity of the traffic flow left to monitor and analyze.

Therefore, it would be desirable to develop a new method and system to perform efficient, practical, and improved traffic flow analyses for computer networks to evaluate high-speed and heavy traffic flow, as well as perform improved protocol analysis for emerging technologies such as, for example, VoIP (Voice over IP) applications.

SUMMARY OF THE INVENTION

Accordingly, it is an object of the invention to provide a traffic analyzing system for traffic analysis on a communications link, having analyzer circuits connected to each other by a number of links, where each analyzer circuit has a data rate lower than the data rate of the communications link, and they are adapted to perform respective different levels of analysis on packets. The information extracted from the packets analyzed at a first level of analysis by a first analyzer circuit is forwarded to a second level of analysis performed at a second analyzer circuit, and the additional analysis performed by the second analyzer circuit depends on the analysis performed by the first analyzer circuit.

One or more of the following features may also be included.

In one aspect of the invention, the first and second analyzer circuits adapted for performing respective different levels of analysis include a common memory for receiving state information provided by the analysis performed by the first and second analyzer circuits.

In another aspect, the first and second analyzer circuits adapted for performing respective different levels of analysis include lower and higher level analyzer circuits, respectively, where the lower level analyzer circuit is adapted to perform an explicit level of analysis, while the higher level analyzer circuit is adapted to perform an implicit level of analysis.

In yet another aspect, the explicit level of analysis is adapted to recognize protocols for which the packet header sufficiently identifies useful information to formulate a packet signature.

Moreover, the invention also provides a method for examining network traffic flow by performing analysis of packets on a communications link connecting various networks, where the method sets successive levels of analysis within a traffic analyzing system having analyzer circuits adapted for performing respective different levels of analysis at different layers, and the analyzer circuits are connected to each other by links, each of which has a data rate lower than a data rate of the communications link. The method also forwards the packets analyzed by the analyzer circuits, where information extracted from the packets analyzed at a first level of analysis by a first analyzer circuit is forwarded to a second level of analysis performed at a second analyzer circuit, and so forth, and the method uses the analysis performed by the first analyzer circuit for the analysis performed by the subsequent second analyzer circuit.

Other features of the invention are further recited in the dependent claims.

These and other aspects of the improved system and method will be apparent from the following description, drawings, and from the claims.

DETAILED DESCRIPTION

Referring toFIG. 2, a traffic analyzing system10includes a hierarchical analyzer310which replaces the analyzer300of the traffic analyzing system ofFIG. 1.

The hierarchical analyzer310defines successive layers of analysis for the traffic flow passing through a communications link200′ between a first network100′ and a second network110′. As a result, the hierarchical analyzer310performs a first level of analysis on the traffic flow, a second level of analysis is performed by analyzers320a-320n, and a third level of analysis is performed by analyzers330i-330j. The traffic analyzing system10can have as many levels of analyzers as necessary to adequately analyze and classify the traffic depending on the flow size and speed of packets on the communications link200′.

The hierarchical analyzer310and the analyzers320a-320nare connected by links202a-202n, and the number of packets passing through the communications link200′ is greater than the number of packets passing through the links202a-202n.

For example, in the first level of analysis, the hierarchical analyzer310performs a first level of classification, that is, performs the first operations to classify the packets according to the type of packets, header identification, and the like. Also, the hierarchical analyzer310can perform an explicit type of protocol analysis such as pattern recognition techniques or pattern matching.

Among such explicit protocols is the Ethernet protocol, where an Ethernet packet header specifies whether the following protocol in the protocol stack is, for example, a LLC protocol or an IP protocol possibly together with its version. Likewise, the packet header under IP protocol specifies whether the following protocol in the protocol stack is a TCP, UDP, or ICMP Protocol. Although the first level of analysis could pertain to explicit types of protocol analyses, it is not necessarily limited thereto.

Once the first level of analysis performed at the lower level is performed by the hierarchical analyzer310, the second level analyzers, namely, analyzers320a-320n, can further examine the packets according to the prior classification made by the first level hierarchical analyzer310. In other words, analyzers320a-320nwill perform an implicit type of analysis at higher levels, meaning, recognizing the presence of implicit protocols. A protocol is said to be implicit when it is not readily identifiable in a definite manner by a protocol header which precedes this protocol in the protocol stack. Such is the case for numerous application levels protocols such as Pointcast or Kazaa, use of which in the protocol stack of a connection, depends on their connections context generally established by prior negotiations, that are difficult to compile with real-time scanning along the flow of the packets travelling around the connection. For example, certain known protocols such as the HTTP, Telnet, FTP protocols are at the limit of explicit and implicit protocols. These protocols may be regarded as explicit when a reserved port number figuring in a TCP protocol header gives a destination indicator which makes it possible to identify in a definite manner the protocol which is transported, for example, a number80corresponding to the HTTP protocol, a number23corresponding to the Telnet protocol, a number21corresponding to the FTP protocol. A client station uses, for example, under TCP, the port number80to establish an HTTP query connection with a server station by allotting a dynamic port number to a peer connection which allows the server station to respond to the client station. The explicit nature of the HTTP protocol over the peer connection for conveying the responses of the server station to the client station, is lessened through the dynamic allocation of a port number, related to the context of the query connection. Moreover, nothing prevents a client station from negotiating beforehand with the server station, a port number distinct from the number80for the HTTP query connection. In this case, the HTTP protocol is more implicit than explicit. This remains true for other protocols and the technology is able to cope with this situation.

Thereafter, the second level of analysis enriches the knowledge provided by first level of analysis, and so on. Subsequently, adding additional levels of analysis such as the third level analyzers330i-330j, the analyzers330i-330juse the analysis performed in the precedent second level of analysis and enrich the precedent level with additional analysis of their own.

Furthermore, as another example of a first level of analysis, we can imagine a first level of analysis performed by the first level hierarchical analyzer310by calculating a hash key on IP source, IP destination addresses, transport code, source port and destination port, and forwarding the packets to analyzers320a-320nfor a second level of analysis where a classification is made using the application ports, leaving to the analyzers330i-330jthe task of performing a third level of classification pertaining to the semantic recognition of the traffic flow. For example, a semantic recognition of the flow may involve using a protocol graph and a modular self-identifying mechanism associated with the protocol to obtain important packet elements from the traffic, as described in WO 2004/017595.

Still referring toFIG. 2, all the analyzers of the traffic analyzing system10may share a common memory400that stores the state information related to the performed analyses. For example, in the scenario described above, it would be necessary for the analyzers320a-320nand the analyzers330i-330jto share the common memory400. In fact, it would be necessary that the analyzers310,320a-320n, and330i-330jand all analyzers from different, subsequent levels share the same memory400. One example is when the split of the analytical task rely on usage statistics of resources from each sensor.

Referring now toFIG. 3, another traffic analyzing system20is represented where a hierarchical level of analysis is implemented using independent processing units, either by combining several CPUs such as PC computers, by using parallel processing architecture, for instance, network processors, or more globally, by using any other type of mechanism allowing the organization of successive layers of analysis and sharing of related data.

FIG. 3shows bidirectional data traffic on a communication link200″ passing through a network processor500aggregating elementary processors510a-510x, connected to a memory600, a storage module700, and a traditional microprocessor800via a high performance communication bus900.

As further illustrated inFIG. 3, when analyzing the bidirectional data traffic for hierarchical analysis, the communications link200″ receive incoming packets1000at its incoming end205. These incoming packets1000are first analyzed by one of the elementary processors510a-510xin a step (210). The incoming packets1000are then copied into the memory600in a step (220). For example, if necessary, the incoming packets1000are then duplicated to the communication link200″ at its outputting end215in a step (230). This is the case when passive analysis is performed for monitoring purposes, for example, but is not the case with other applications such as firewall applications. In parallel, the same steps are carried for the other packets. Then, the packets1000stored in the memory600are processed by the traditional microprocessor800in a step (240), which will analyze the packets and write the state information into the storage module700in a step (250). This part of the analysis does not involve all the packets, but only a portion of them. In addition, analyzing all the incoming packets1000can be done in parallel and independently from the copying and duplication as well as the processing of the packets using the traditional microprocessor800.

As an example, the traditional microprocessor800may perform analyses pertaining to analyzing different protocols and analyzing the packets in the context of different protocols, e.g., implicit vs. explicit protocols, in order to rapidly identify the packets and extract useful semantic information on the traffic flow, such as classification of a network connection by progressive construction of an ordered sequence of the used protocols.