Ethereal-users: Re: SV: Re: [Ethereal-users] Minimum available bufferspace for a trace?

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxx>
Date: Wed, 21 Sep 2005 00:23:08 -0700
JS wrote:

What I am thinking of is Flow Control. I have a long
list of TCP packages and can see that the "Win" varies
for each package. When I want to find the minimal
buffersize for the whole trace I was thinking just to
fine the smallest value for "Win" for a package.

Unless your trace contains only one TCP flow (connection), the minimal window size isn't meaningful.

In addition, even if there is only one flow, there are two window sizes, one for each direction of the connection.

You could use the "IO Graphs" function in the "Statistics" menu. Set the "Y Axis" item to "Advanced", set the "Filter" item in the first row to a filter that has the source IP address and port number of the sender in which you're interested and the destination IP address and port number of the receiver in which you're interested, set the "Calc:" item in the first row to "MIN(*)", set the field after it to "tcp.window_size", and click the "Graph 1" button. It won't give you the numerical value of the minimum window size, but it'll at least put a single item on the graph for it.

And how is it possible to see if the sender gets
throttled by the receivers buffersize? Since in my
trace "Win" never gets the value 0, I guess one could
say that the sender never gets throttled.

Not if the window size is, for example, 8700 bytes, and the sender has 50,000 bytes queued up to send. Unfortunately, a network trace won't tell you how much the sender would *like* to send but isn't able to send, as it only captures what was sent, not what could have been sent if the receiver's window were larger.