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

David P. Reed dpreed at reed.com
Mon Jun 30 12:11:26 PDT 2008

ECN marks share the fate of the packets carrying them.  So what's your 

Detlef Bosau wrote:
> 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.

More information about the end2end-interest mailing list