This invention relates to network test and measurement, and more particularly to an apparatus and method of discrimination of application specific network traffic from other general or unclassified network traffic.
In operation and maintenance of networks, determination of where issues or problem points arise can be complex. A network engineer or technician looking to resolve problems would be interested in having accurate network protocol statistics for specific applications of interest when monitoring a heterogeneous network environment.
In accordance with the invention, the discrimination of application specific network traffic from other from general or unclassified network traffic is enabled. This invention solves the problem of being able to generate accurate network protocol statistics for specific applications of interest when probing a heterogeneous network environment.
Accordingly, it is an object of the present invention to provide an improved method and apparatus for network test and measurement.
It is a further object of the present invention to provide an improved method and apparatus for discriminating application specific protocol data from generic protocol data in a network environment.
The subject matter of the present invention is particularly pointed out and distinctly claimed in the concluding portion of this specification. However, both the organization and method of operation, together with further advantages and objects thereof, may best be understood by reference to the following description taken in connection with accompanying drawings wherein like reference characters refer to like elements.
The system according to a preferred embodiment of the present invention comprises in a network test environment and keeps track of arbitrary network flows and the associated transactions within the flows. In doing this for the general case, various measurements about the general nature of the network traffic can be made.
In part of this processing, the invention examines the individual network packets for specific markers, which may be specified by the user and correspond to URLs, Database Names, Citrix PA names, or other arbitrary patterns. These markers are used to discriminate user defined applications. When packets with these markers are identified, those packets can be accounted for within the context of the user specified application, and hence, measurements for those applications can be made.
Referring to
A network analysis product 14 is also connected to the network, and may include a user interface 16 that enables a user to interact with the network analysis product to operate the analysis product and obtain data therefrom, whether at the location of installation or remotely from the physical location of the analysis product network attachment.
The network analysis product comprises hardware and software, CPU, memory, interfaces and the like to operate to connect to and monitor traffic on the network, as well as performing various testing and measurement operations, transmitting and receiving data and the like. When remote, the network analysis product typically is operated by running on a computer or workstation interfaced with the network.
The analysis product comprises an analysis engine 18 which receives the packet network data and interfaces with application transaction details data store 21.
In operation, the network test instrument is attached to the network, and observes transmissions on the network to collect information.
The packet process module 25 may suitably implement the analysis engine to monitor the network traffic, identify client and server conversations, and then reassemble the request and response packets between each client and server in order to analyze the transaction. The engine measures and records several usage and performance metrics for each transaction. Usage metrics include, among others, the number of bytes and the number of packets in the request and the response portions of the transaction. Performance metrics include the application response time which is the elapsed time required by the server to process the request and issue a response. The engine also records the request and response data from the transaction. An example of this information is the requested URL in a web transaction and the corresponding web page returned by the server.
Because applications use a variety of protocols and interact in a variety of ways, the engine performs application-specific analysis. The engine has application-specific analysis modules that perform analysis that is appropriate for the application being analyzed. For example, a web application is analyzed by the HTTP analyzer, and an Oracle database application is analyzed by the Oracle database analyzer.
Initially once flow Fl is established between Server and Client 1, metrics and statistics are accumulated under the generic application ID mysql (for example). Once client 1 sends a USE command specifying a particular database, my_dbase in the example, then conversation statistics can be accumulated for that specific application ID of my_dbase. Later, when a USE other database (other db) command occurs from the client to server, a second set of conversation statistics may be established for the specific ID of other_db, and statistics are accumulated. While the specific application ID statistics are being accumulated, statistics for the generic application ID are accumulated based on stack overhead and based on any data packets not classified as part of user defined application. The operation continues until the rst command from the client to the server ends the flow Fl.
Statistics for the generic application ID are continued after the specific ID is known, but are done based on stack overhead packets.
In the illustrated example, a later ICA PA is shown for “doom.exe”. However, it would not be possible to differentiate the notepad.exe traffic from the doom.exe traffic. Modification of the CITRIX protocol that would allow such distinguishing would enable collection of separate statistics for the notepad.exe and doom.exe processes.
In the case of a streaming model, a subsequent string 0x35338444 cannot enable differentiation from the string 0x2f666f6f, so statistics are continued to accumulate in the string 0x2f666f6f ID. However, in a non-streaming model, a subsequent string 0xx35338444 that was specified to be monitored, can result is conversation statistics being started and accumulated when that string appears.
Generic application statistics are accumulated based on stack overhead packets, after the specific application ID accumulation has begun
With the above, the user can define applications or data strings of interest for monitoring, and information is collected to provide metrics and statistics so network operation relative to the items of interest to the user can be obtained.
The metrics and statistics collection may be accomplished in accordance with the U.S. Provisional patent application 61080686 filed Jul. 15, 2008, entitled METHOD AND APPARATUS OF COMBINING MULTIPLE PACKETS INTO PROTOCOL TRANSACTIONS WITH REQUEST AND RESPONSE DETAIL FOR ENHANCED TROUBLESHOOTING IN A LINE RATE NETWORK MONITORING DEVICE and U.S. patent application 12242455, filed Sep. 30, 2008, entitled METHOD AND APPARATUS OF COMBINING MULTIPLE PACKETS INTO PROTOCOL TRANSACTIONS WITH REQUEST AND RESPONSE DETAIL FOR ENHANCED TROUBLESHOOTING IN A LINE RATE NETWORK MONITORING DEVICE.
While a preferred embodiment of the present invention has been shown and described, it will be apparent to those skilled in the art that many changes and modifications may be made without departing from the invention in its broader aspects. The appended claims are therefore intended to cover all such changes and modifications as fall within the true spirit and scope of the invention.
This application claims priority of U.S. provisional patent application 61/081,071, filed Jul. 16, 2008, entitled METHOD AND APPARATUS FOR THE DISCRIMINATION AND STORAGE OF APPLICATION SPECIFIC NETWORK PROTOCOL DATA FROM GENERIC NETWORK PROTOCOL DATA.
Number | Date | Country | |
---|---|---|---|
61081071 | Jul 2008 | US |