Re: TCP receive window behavior

From: James Knott (james.knott_at_rogers.com)
Date: 06/13/05


Date: Sun, 12 Jun 2005 21:58:43 -0400

Anant Padmanath Mudambi wrote:

> Let me try and explain my question better. Suppose that the receiving
> application is fast enough that the receiver window is never reduced.
> Say the receiver has a receive buffer space of R bytes. Linux starts off
> by advertising a rcv wnd smaller than R and as the data comes in
> increases it to eventually settle at R. In this case I think min(cwnd,
> receiver wnd) should equal cwnd for all 'receiver wnd' < R. Otherwise the
> sender is throttled because of the way Linux increases 'receiver wnd',
> even though the receiver may have enough space to accept more data.
> If that's right then the receiver might as well start off by advertising a
> receive window of R.

As far as I know, the ramp up is controlled by the sender, not the receiver.
The receive windows is simply how much data the receiver is prepared to
leave unacknowledged. It is the senders responsibility to gradually
increase to that receive window value. There's a good description in one
of the books by Commer (IIRC), about the process. It describes not only
the ramp up of the transmit window, but also determining how long to wait
for acks and resetting the values should some data not be acked in time
etc. It pretty well covers all you're looking for.



Relevant Pages

  • Re: download peak control
    ... But this does apply to the sender side mostly. ... ie some amount of buffer space the sender may ... aggregated size is as large as the announced window size (the window ... receiver again announces the availabilty of 'some amount of buffer ...
    (comp.os.linux.development.apps)
  • Re: Flow Control In UDP/TCP
    ... the sender and the congestion window also at the sender. ... The send window decreases each time new data is sent from ... ACKs of previously sent data (acknowledged by the receiver). ...
    (microsoft.public.win32.programmer.networks)
  • A small TCP bug: excessive duplicate ACKs
    ... I narrowed this down to being due to the abnormally high window scaling ... Send if we owe the peer an ACK, RST, SYN, or urgent data. ... the receiver stops reading data the receiver's ... socket buffer fills up around packet 72 or so. ...
    (freebsd-net)
  • Re: Flow Control In UDP/TCP
    ... For flow control we are interested in the send window at ... the sender and the congestion window also at the sender. ... ACKs of previously sent data (acknowledged by the receiver). ...
    (microsoft.public.win32.programmer.networks)
  • Re: New compression method by Garmin
    ... >> your window width. ... >> more intelligent solution can only be that the receiver wraps. ... because it adds the concept of a reflowable paragraph. ...
    (sci.geo.satellite-nav)