This preview shows page 1. Sign up to view the full content.
Unformatted text preview: RCVD), and then receive a reset instead of an ACK, the
end point returns to the LISTEN state and waits for another connection request to arrive. file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_conn.htm (12 of 37) [12/09/2001 14.47.16] Chapter 18. TCP Connection Establishment and Termination Figure 18.12 TCP state transition diagram.
Figure 18.13 shows the normal TCP connection establishment and termination, detailing the
different states through which the client and server pass. It is a redo of Figure 18.3 showing
only the states. file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_conn.htm (13 of 37) [12/09/2001 14.47.16] Chapter 18. TCP Connection Establishment and Termination Figure 18.13 TCP states corresponding to normal connection establishment and termination.
We assume in Figure 18.13 that the client on the left side does an active open, and the server on
the right side does a passive open. Although we show the client doing the active close, as we
mentioned earlier, either side can do the active close.
You should follow through the state changes in Figure 18.13 using the state transition diagram
in Figure 18.12, making certain you understand why each state change takes place.
2MSL Wait State
The TIME_WAIT state is also called the 2MSL wait state. Every implementation must choose
a value for the maximum segment lifetime (MSL). It is the maximum amount of time any
segment can exist in the network before being discarded. We know this time limit is bounded,
since TCP segments are transmitted as IP datagrams, and the IP datagram has the TTL field that
limits its lifetime.
RFC 793 [Postel 1981c] specifies the MSL as 2 minutes. Common implementation values, however, are 30
seconds, 1 minute, or 2 minutes. Recall from Chapter 8 that the real-world limit on the lifetime of the IP datagram is based on
the number of hops, not a timer.
Given the MSL value for an implementation, the rule is: when TCP performs an active close,
and sends the final ACK, that connection must stay in the TIME_WAIT state for twice the
MSL. This l...
View Full Document
- Spring '12