[e2e] Why do we need TCP flow control (rwnd)?

Detlef Bosau detlef.bosau at web.de
Mon Jun 30 07:42:18 PDT 2008

Michael Scharf wrote:
> Instead of dropping arriving packets or not sending acks, the receiver
> could also send an ack with ECN marking (assuming ECN usage is
> negotiated).

ECN marks can get lost.

In addition: How many data may follow the first dropped packet?

When the receiver is fed up, why shouldn't he simply tell the sender 
instead of seeing it waste network capacity for useless retransmits?
And rwnd is _not_ lost - because it is part of any acknowledgement. When 
rwnd is lost, the whole ACK is lost, this causing the sender to stop.

>  This would also throttle the sender, but not require a
> retransmission. To my understanding, ECN marking would not cause all
> these problems.

As I said: What makes "ICN" (implicit congestion notificatin, i.e. by 
missing ACK) preferable over "ECN" is: Loss cannot get lost.

> Thus, a receiver running out of buffer space could just use ECN
> instead of shrinking rwnd. 
And what is the propper reaction at the sender's side? rwnd my be shrunk 
only temporarily for some reason.
So, this may perhaps not even throttle the sender.
ECN causes at least one congestion recovery action per "round", IIRC.

Detlef Bosau                          Mail:  detlef.bosau at web.de
Galileistrasse 30                     Web:   http://www.detlef-bosau.de
70565 Stuttgart                       Skype: detlef.bosau
Mobile: +49 172 681 9937

More information about the end2end-interest mailing list