[e2e] Question about RFC 2581

Dado Colussi gdc at iki.fi
Wed Jan 5 07:09:51 PST 2005


Mark Allman wrote:
>>if acknowledgment means a *segment* transmitted by a receiver that
>>indicates successfully recieved segments, then it is indeed more
>>aggressive because (2) is used for each ACK segment, not for each
>>transmitted segment that has been successfully received.
> 
> 
> Ah, so, I see that.  But, it is only more aggressive if the receiver
> transmits more ACK packets than segments being ACKed (i.e., cwnd
> segments), right?  (E.g., one can envision this happening in
> bi-directional transfers.)

To me it seems that the more ACK segments, the more aggerssive the 
algorithm is. If you updated cwnd for each ACK segment and you got an 
ACK segment for every other segment you transmit, then you would grow 
you cwnd quite modestly.

Assume a cwnd_i and an increase of

	delta_i = SMSS * SMMS / cwnd_i.

Then

	cwnd_{i+1} = cwnd_i + delta_i.

For all i holds that cwnd_i < cwnd_{i+1} (because incremented for each 
ACK) and delta_i > delta_{i+1} > 0 (because a constant is divided by the 
growing window, all positive).

The window size after n ACKs can be expressed as

	cwnd_n = cwnd_0 + sum_{i=0}^{n}delta_i.

Thus, the more ACK segments, the greater the n and the greater the sum 
part of the equation. If I derived this right, then the difference is 
quite significant to me. However, this is the way it should not be 
implemented, I hope.

Cheers, Dado


More information about the end2end-interest mailing list