Subject: RFC 2581 statement

From: Florian-Daniel Otel <[email-masked]>
Date: Tue, 4 Jul 2000 10:37:52 +0200 (CEST)

Dear all,

I have a question pertaining to the statement regarding incrementing
cwnd in congestion avoidance (section 3.1, end of page 3).

[...]   
   cwnd += SMSS*SMSS/cwnd                     (2)
   This adjustment is executed on every incoming non-duplicate ACK.
   Equation (2) provides an acceptable approximation to the underlying
   principle of increasing cwnd by 1 full-sized segment per RTT.  (Note
   that for a connection in which the receiver acknowledges every data
   segment, (2) proves slightly more aggressive than 1 segment per RTT,
   and for a receiver acknowledging every-other packet,
[...]

My question is that, assuming:
   -That equation (2) increases cwnd with  SMSS*(1/cwnd_modulo_SMSS)
per ACK.
   -The receiver does generate one ACK for each data segment.

Can someone explain (or point me to a reference)  why this increase is
more aggressive than 1 segment per RTT ? Is that due to the rounding
errors in the computation of cwnd_modulo_SMSS i.e. rounding up the
integral division cwnd/SMSS  ?

Thanks in advance,

Florian.