Subject: Re: Impact of Receiver Window

From: Mark Allman <[email-masked]>
Date: Fri, 30 Jul 1999 10:31:48 -0400

A couple notes in addition to Bill's comments about application
layer control.

> While simulating TCP, I found that the receiver window (rwnd)
> prevents sometimes the source from sending new packets during the
> recovery phase.  This happens when the inflated congestion window
> (cwnd) exceeds rwnd.  First, this causes bursts at the end of the
> recovery phase which overwhelms network buffers. Second, this
> causes low throughput during Fast Recovery. Third, in case of
> Reno, this may prohibit the source from correcting the second loss
> in a window (Reno cannot correct more than two losses).

As a note, this effect is explored for various versions of TCP in
the following:

    Chris Hayes. Analyzing the Performance of New TCP
    Implementations over Satellite Links. Master's Thesis, Ohio
    University, August 1997.
    http://jarok.cs.ohiou.edu/papers/hayes-thesis.ps

> I think that transmitting more packets that the receiver window
> (during a short period) doesn't violate TCP congestion control. No
> more load is injected in the network than in the case of large
> rwnd.

I agree you could get the same impact on the network by opening
rwnd.  However, there is one key difference, I think.  If the
segment you send is rejected once it gets to the receiver because of
no buffer space then we wasted capacity in any congested routers in
the network path (and, we know there is at least one).  I believe
such cases are discussed in the following paper (probably in the
context of constant rate UDP traffic):

    Floyd, S., and Fall, K., Promoting the Use of End-to-End
    Congestion Control in the Internet, May 1999. (To appear in
    IEEE/ACM Transactions on Networking, August 1999.
    http://www.aciri.org/floyd/papers/collapse.may99.ps

While I don't think the case you are suggesting is nearly as bad as
the case of streaming UDP apps, I think there is a potential for it
to have a negative impact on the network.

allman

---
http://roland.grc.nasa.gov/~mallman/