discussion
[Top] [All Lists]

Re: [Discussion] Monitoring TCP Connection

To: Martin Röhricht <ml@xxxxxxxxxxx>, discussion@xxxxxxxxxx
Subject: Re: [Discussion] Monitoring TCP Connection
From: Richard Carlson <rcarlson@xxxxxxxxxxxxx>
Date: Thu, 13 Oct 2005 09:40:59 -0400
Martin;

At 05:44 AM 10/13/2005, Martin Röhricht wrote:
Hello together,

first of all, thanks a lot for your support.

Am Mittwoch, 12. Oktober 2005 20:13 schrieb Baruch Even:
> What is the setup between these two test machines? If there is nothing
> between them (a switch/hub could be considered nothing) then it will
> peak at the speed of the ethernet and if you don't add artificial delay
> or put the two machines across a real link with proper delay the BDP
> will be low so the result you show is quite possible.
>
> The usual testing setup has a FreeBSD dummynet machine or a Linux netem
> machine in between the two test machines.

Before I try to use the netem, I used a connection from the university to my
home computer which is connected to the internet via DSL. I think that should
be already include a sufficient delay, shouldn't it?!

The values became better, but they're still not satisfying. I cannot see any
SlowStart effect and the MSS is always 0! So here is a snapshot of one of the
measurements:

---------------------------------8<---------------------------------
HDR Current  Cur   Cum
HDR Time    Mbs   Mbs CurCwnd CurSsthresh
    0.08    0.15  0.15      2776 4294966128
    0.09    0.00  0.13      2776 4294966128
    0.10    2.22  0.35      4164 4294966128
    0.11    0.00  0.32      4164 4294966128
    0.12    2.22  0.48      5552 4294966128
    0.13    0.00  0.44      5552 4294966128
    0.14    0.00  0.41      5552 4294966128
    0.15    2.22  0.53      6940 4294966128
    0.16    2.22  0.64      8328 4294966128
    0.17    2.22  0.74      9716 4294966128
    0.18    2.21  0.82     11104 4294966128
    0.19    0.00  0.78     11104 4294966128
    0.20    2.22  0.85     12492 4294966128
    0.21    2.22  0.92     13880 4294966128
    0.22    2.22  0.98     15268 4294966128
    0.23    2.22  1.03     16656 4294966128
    0.24    0.00  0.99     16656 4294966128
    0.25    2.22  1.04     18044 4294966128
    0.26    2.22  1.09     19432 4294966128
    0.27    2.22  1.13     20820 4294966128
    0.28    0.00  1.09     20820 4294966128
    0.29    0.00  1.05     20820 4294966128

The value 4294966128 is really -1. CurSsthresh is initialized to -1 and only changes to a positive value when slow start ends (or Cwnd exceeds Ssthresh). So looking at the trace up to now, you see CurCwnd increasing as the window open. After this point, CurCwnd is decreased and CurSsthresh is set to an initial value. The continued reduction of CurCwnd may be due to loss on the DSL link (but I don't know for sure).


    0.30    0.00  1.01     16656      15268
    0.31    0.00  0.98     16656      15268
    0.32    0.00  0.95     15268      15268
    0.33    0.00  0.92     15268      15268
    0.34    0.00  0.89     13880      15268
    0.35    0.00  0.87     12492      15268
    0.36    0.00  0.84     11104      15268
    0.37    0.00  0.82      9716      15268
    0.38    0.00  0.80      8328      15268
    0.39    0.00  0.78      6940      15268
    0.40    0.00  0.76      5552      15268
    0.41    0.00  0.74      4164      15268
    0.42    0.00  0.72      2776      15268
    0.43    2.22  0.76      2776      15268
    0.44    0.00  0.74      2776      15268
[...]
---------------------------------8<---------------------------------

Has anybody an idea on how I can retrieve sufficient data from a connection to
show the slowstart algorithm? With the data provided above I cannot see any
exponential growth and all the effects that I expect.
Why is MSS always 0?
Are CurCwnd and CurSsthresh the correct variables to read from the web100
interface?

Have you tried looking at the SlowStart and CongAvoid variables? These are simple counters that increment when the pkts are sent in each state.


> Also check that you increased the buffers on the receive and send machines.

Currently the X_Sndbuf on the sending machine is constantly 0, the receive
bufer X_Rcvbuf is constantly 3645309837. On my home computer the web100
kernel patches are not applied yet. What may be values for them to change to?

The X_Rcvbuf is the value of the web100 host, not the remote host. You need to look at the CurRwinRcvd to infer the remote hosts recv buffer space (probably the MaxRwinRcvd value). The X_Sndbuf should report the send buffer space.


Rich Carlson

Martin

_______________________________________________
Discussion mailing list
Discussion@xxxxxxxxxx
http://internal.web100.org/mailman/listinfo/discussion

------------------------------------




Richard A. Carlson e-mail: RCarlson@xxxxxxxxxxxxx
Network Engineer phone: (734) 352-7043
Internet2 fax: (734) 913-4255
1000 Oakbrook Dr; Suite 300
Ann Arbor, MI 48104



_______________________________________________ Discussion mailing list Discussion@xxxxxxxxxx http://internal.web100.org/mailman/listinfo/discussion

<Prev in Thread] Current Thread [Next in Thread>