The slow start algorithm is used for this purpose at the beginning of a transfer, or after repairing loss detected by the retransmission timer. We do NOT allow this change as part of the standard defined by this document. The slow start algorithm is used when cwnd ssthresh. When cwnd and ssthresh are equal the sender may use either slow start or congestion avoidance. During slow start, a TCP increments cwnd by at most SMSS bytes for each ACK received that acknowledges new data.
Congestion avoidance continues until congestion is detected.
When the number of bytes acknowledged reaches cwnd, then cwnd can be incremented by up to SMSS bytes. Note that during congestion avoidance, cwnd MUST NOT be increased by more than the larger of either 1 full-sized segment per RTT, or the value computed using equation 2. As discussed above, FlightSize is the amount of outstanding data in the network. Therefore, after retransmitting the dropped segment the TCP sender uses the slow start algorithm to increase the window from 1 full-sized segment to the new value of ssthresh, at which point congestion avoidance again takes over. From the sender's perspective, duplicate ACKs can be caused by a number of network problems.