Subject: Slow Start and Congestion Avoidance question

From: "Paul W. Howard" <[email-masked]>
Date: Wed, 03 Jan 2001 19:27:15 -0500

Hi,

The text in appendix A of RFC 2661 for the definition of an ACK seems
unclear in regard to incrementing CWND.  In paragraph 3, it states
"...each time an ACK (explicit ZLB or piggybacked) is received...".  In
paragraph 4, it states "...for every new ACK received".  Specifically
take the case where multiple packets (non-ZLB) are received where the Nr
is unchanging.  Each of these packets could be considered an ACK
(duplicate ACKs for the 2nd and subsequent received packets).  It
doesn't seem reasonable to increment CWND in this situation since no new
ACK is received in this scenario (and thus we're not being notified of
the completion of a round-trip).

Is the intent of this algorithm to increment CWND (whether by 1 for slow
start or by 1/CWND for congestion avoidance) only when Nr changes?  Thus
in the scenario above, the multiple packets with unchanging NR would not
affect CWND since they would not be considered ACKs?

Thanx,

Paul Howard