[e2e] MSS and cwnd increase
rick jones
perfgeek at mac.com
Sun Jul 2 12:48:16 PDT 2006
On Jul 1, 2006, at 1:22 PM, Salman Abdul Baset wrote:
> I am wondering how the Linux 2.6 updates its congestion window when a
> CBR
> stream (packet size << MSS) is sent over TCP.
>
> In general, if I am sending 100 packets every second with a packet size
> of one byte and assuming each packet is ACKed, then increasing window
> by
> one every RTT (during congestion avoidance) will artifically inflate
> the
> window. Thus, the cwnd calculation should not assume that the last
> packet
> sent contained MSS bytes of data.
>
> The rfc and the code and seem to imply that cwnd increase is
> MSS-based. I
> haven't confirmed either way (still testing it) and will like to know:
> 1) What is the RFC suggested way?
> 2) How Linux 2.6 is implementing it?
"Interestingly" might be one way to describe it. IIRC the netdev
archives should have details, but Linux 2.6 does ABC, using the
byte-based heuristics from the RFC, but then applies it to a
packet-based cwnd. It will only increase the cwnd by one packet after
an entire MSS has been exchanged, which means if you are sending a
stream of sub-MSS packets, it takes rather longer to increase the cwnd
than one might normally expect from a packet-counting congestion
control mechanism.
rick jones
Wisdom teeth are impacted, people are affected by the effects of events
More information about the end2end-interest
mailing list