This preview shows page 1. Sign up to view the full content.
Unformatted text preview: that connection. The ISN should change over time, so that each connection has a different
ISN. RFC 793 [Postel 1981c] specifies that the ISN should be viewed as a 32-bit counter that
increments by one every 4 microseconds. The purpose in these sequence numbers is to prevent
packets that get delayed in the network from being delivered later and then misinterpreted as
part of an existing connection.
How are the sequence numbers chosen? In 4.4BSD (and most Berkeley-derived implementations) when the
system is initialized the initial send sequence number is initialized to 1. This practice violates the Host
Requirements RFC. (A comment in the code acknowledges that this is wrong.) This variable is then file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_conn.htm (4 of 37) [12/09/2001 14.47.16] Chapter 18. TCP Connection Establishment and Termination incremented by 64,000 every half-second, and will cycle back to 0 about every 9.5 hours. (This corresponds to
a counter that is incremented every 8 microseconds, not every 4 microseconds.) Additionally, each time a
connection is established, this variable is incremented by 64,000. The 4.1-second gap between segments 3 and 4 is the time between establishing the connection
and typing the quit command to telnet to terminate the connection.
Connection Termination Protocol
While it takes three segments to establish a connection, it takes four to terminate a connection.
This is caused by TCP's half-close. Since a TCP connection is full-duplex (that is, data can be
flowing in each direction independently of the other direction), each direction must be shut
down independently. The rule is that either end can send a FIN when it is done sending data.
When a TCP receives a FIN, it must notify the application that the other end has terminated that
direction of data flow. The sending of a FIN is normally the result of the application issuing a
The receipt of a FIN only means there will be no more data flowing in that direction. A TCP
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