Loading ...
Sorry, an error occurred while loading the content.

Re: Threshold/rate halving in Linux TCP

Expand Messages
  • Alan Cox
    ... A better place for this one might be netdev@oss.sgi.com btw - that has all the main linux networking folsk on it
    Message 1 of 3 , May 9, 2001
    • 0 Attachment
      > On trying to set up a high-speed connection between two Linux machines A and
      > B each running kernel 2.4.3 over a 8 Mbit/s link with a RTT of about 640 ms,
      > I noticed that quite early the TCP sender must have changed to congestion
      > avoidance. The delay/BW limiting was done using a third Linux machine L with
      > the Nistnet network emulation software on it. There is a 100 Mbit/s Ethernet
      > between A and L and between L and B.

      A better place for this one might be netdev@... btw - that has all
      the main linux networking folsk on it
    • Bert Van Lee
      Hi, On trying to set up a high-speed connection between two Linux machines A and B each running kernel 2.4.3 over a 8 Mbit/s link with a RTT of about 640 ms, I
      Message 2 of 3 , May 9, 2001
      • 0 Attachment
        Hi,

        On trying to set up a high-speed connection between two Linux machines A and
        B each running kernel 2.4.3 over a 8 Mbit/s link with a RTT of about 640 ms,
        I noticed that quite early the TCP sender must have changed to congestion
        avoidance. The delay/BW limiting was done using a third Linux machine L with
        the Nistnet network emulation software on it. There is a 100 Mbit/s Ethernet
        between A and L and between L and B.

        When the speed reached about 160 kByte/s or 1.3 Mbit/s, the exponential
        build-up stopped and the speed increased linearly up till about 7 Mbit/s ,
        after which the rate was halved to 4 Mbit/s, again linear build up to 7,
        halving to 4 etc. The build-up from 4 to 7 takes about 140 SECONDS.

        I allowed SACK, RTT measurement, Window scaling.

        Set wmem/rmem params in .../core and .../ipv4. Used default send and recv
        buffers of 1 MByte, 2 MByte max. TCPs both report window scaling by 4 bits,
        i.e. x16, which is a healthy sign.

        My questions are:

        1. where can I specify the threshold for congestion avoidance, as I would
        like the transmitting TCP to continue to 8 (or 7 or so...) Mbit/s before
        doing so? I could not find any setting in .../core or .../ipv4???

        2. Can I somehow avoid the rate-halving that supposedly happens because
        sstresh is halved, as this is not what I want, since the link is a 8 MByte/s
        link and there is no congestion at the other end, just a limitation of
        speed.

        3. Other question: as far as I am concerned the sending TCP may start
        blazing at 7 Mbit/s, rather than start with 2 segments only. This appears to
        be non-RFC, right? Is there any action started to allow this, e.g. withing
        T/TCP which I do not know well?

        Thank you,

        Eric Verlind

        _________________________________________________________________________
        Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
      • Matt Mathis
        TCP is behaving exactly correctly. Your ground station does not have sufficient buffering (queue). You need about 1.3 MB (and then raise the window scale to
        Message 3 of 3 , May 17, 2001
        • 0 Attachment
          TCP is behaving exactly correctly. Your ground station does not have sufficient
          buffering (queue). You need about 1.3 MB (and then raise the window scale to 5
          shifts).

          --MM--
        Your message has been successfully submitted and would be delivered to recipients shortly.