This preview shows page 1. Sign up to view the full content.
Unformatted text preview: sh. Additionally, if the
congestion is indicated by a timeout, cwnd is set to one segment (i.e., slow start).
4. When new data is acknowledged by the other end, we increase cwnd, but the way it
increases depends on whether we're performing slow start or congestion avoidance.
If cwnd is less than or equal to ssthresh, we're doing slow start; otherwise we're doing
congestion avoidance. Slow start continues until we're halfway to where we were
when congestion occurred (since we recorded half of the window size that got us into
trouble in step 2), and then congestion avoidance takes over.
Slow start has cwnd start at one segment, and be incremented by one segment every
time an ACK is received. As mentioned in Section 20.6, this opens the window
exponentially: send one segment, then two, then four, and so on. file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_time.htm (15 of 29) [12/09/2001 14.47.27] Chapter 21. TCP Timeout and Retransmission Congestion avoidance dictates that cwnd be incremented by 1/cwnd each time an
ACK is received. This is an additive increase, compared to slow start's exponential
increase. We want to increase cwnd by at most one segment each round-trip time
(regardless how many ACKs are received in that RTT), whereas slow start will
increment cwnd by the number of ACKs received in a round-trip time.
All 4.3BSD releases and 4.4BSD incorrectly add a small fraction of the segment size (the segment
size divided by 8) during congestion avoidance. This is wrong and should not be emulated in future
releases [Floyd 1994]. Nevertheless, we show this term in future calculations, to arrive at the same
answer as the (incorrect) implementation.
The 4.3BSD Tahoe release, described in [Leffler et al. 1989], performed slow start only if the other
end was on a different network. This was changed with the 4.3BSD Reno release so that slow start is
always performed. Figure 21.8 is a visual description of slow start and congestion avoidance. We show cwnd
and ssthresh in units of...
View Full Document
This test prep was uploaded on 04/04/2014 for the course ECE EL5373 taught by Professor Guoyang during the Spring '12 term at NYU Poly.
- Spring '12