This invention relates to networking, and more particularly to determination of network round trip time in a TCP network in the monitoring and analysis of network traffic.
In a computer networking environment, users may install and deploy monitoring and/or troubleshooting tools for observation of network traffic and network installation and maintenance. The TCP protocol provides a reliable transport mechanism between two machines on a network. It is useful to be able to accurately measure the time required for packets to make a round trip from one machine to the other.
Currently, one accurate measurement of round trip time is obtainable at the start of the socket connection, and the opportunity to take subsequent measurements exists throughout the life of the socket. However, the biggest issue in the subsequent measurements, as currently implemented, is that the TCP stack overhead and timeout values are included in the value that is reported as network round trip time, and this is not desirable as it results in an inaccurate reported value.
Other protocol analysis tools present network round trip time as an average of initial and subsequent measurements, which is also a less accurate measurement of network round trip time.
These issues can result in an incorrect or inaccurate reporting of TCP network round trip time, which does not present a true indication of network performance.
In accordance with the invention, advantage is take of both an initial network round trip time measurement and also accurate subsequent measurements of network round trip time are made only when there is enough data to ensure the measurement is accurate.
In accordance with the invention, improved measurement and reporting of network round trip time is provided.
Accordingly, it is an object of the present invention to provide an improved network analysis that determines network round trip time.
It is a further object of the present invention to provide an improved network monitoring device that measures and reports network round trip time.
It is yet another object of the present invention to provide improved methods of network monitoring and analysis to measure and report network round trip time.
Another object of the invention is to provide an improved method and apparatus for more accurate determination of network round trip time without inclusion of TCP stack overhead and timeout values.
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 a monitoring system and method and an analysis system and method for determining and reporting network round trip time.
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 statistics thereon and to determine initial and subsequent network round trip time.
This subsequent value can be used as an updated value to report a more current network round trip time. If, however, the criteria never occur during a period of observation, of noting a second packet in a sequence being acked when a first packet was not acked, then the initial network round trip value may be retained as the closest possible determination of network round trip value for a given transaction.
The analysis of the network data to determine network round trip time may be made based on the traffic as observed in real time or near real time, or may be made based on data stored in application transactions details 21 as a post processing analysis of data collected over a period of time.
Decision block 48 checks whether the flow is complete due to a TCP shutdown sequence or timeout, in which case, no further processing is required.
If flow is not complete, then decision block 50 determines whether a second data packet has been observed and acked where the first packet was not acked. If not, processing continues back to decision block 48.
If the result of decision block 50 is yes, then in block 52 network round trip time is updated with a more current value by determining the time between the sever sending the 2nd packet and the receipt of the ack from the client of the 2nd packet. Processing continues back to decision block 48.
If the criteria are not met of a first data packet in a sequence not being acknowledged and a second data packet in the sequence being acknowledged, then the initial network round trip value is retained as the closest representation of network round trip available for the transaction.
The network round trip time values may be stored and reported with information regarding which client and which server was involved, for example, with further information that may be of assistance to the user.
The network round trip time analysis may be implemented as a part of a network test instrument, or may be separately provided to process data gathered by a network test instrument.
In accordance with the above, the invention provides an more accurate network round trip time value, that is not affected by TCP stack overhead and timeout values.
While the illustrated example shows the analysis as made from the view of the server, the network round trip time determination may also be made anywhere else in the network. For example, if the determination is made from the client side view, with the initial network round trip time determination based on, for example, the time between the client sending the syn and the receipt of the syn-ack from the server, and subsequent network round trip time values being determined from an ordered sequence of client to server data packets such that the first data packet in the sequence is not acknowledged by the server and the second data packet in the sequence is acknowledged by the server.
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.