This preview shows page 1. Sign up to view the full content.
Unformatted text preview: send data after receiving a FIN. While it's possible for an application to take advantage
of this half-close, in practice few TCP applications use it. The normal scenario is what we show
in Figure 18.3. We describe the half-close in more detail in Section 18.5.
We say that the end that first issues the close (e.g., sends the first FIN) performs the active
close and the other end (that receives this FIN) performs the passive close. Normally one end
does the active close and the other does the passive close, but we'll see in Section 18.9 how
both ends can do an active close.
Segment 4 in Figure 18.3 initiates the termination of the connection and is sent when the Telnet
client closes its connection. This happens when we type quit. This causes the client TCP to
send a FIN, closing the flow of data from the client to the server.
When the server receives the FIN it sends back an ACK of the received sequence number plus
one (segment 5). A FIN consumes a sequence number, just like a SYN. At this point the
server's TCP also delivers an end-of-file to the application (the discard server). The server then
closes its connection, causing its TCP to send a FIN (segment 6), which the client TCP must
ACK by incrementing the received sequence number by one (segment 7).
Figure 18.4 shows the typical sequence of segments that we've described for the termination of
a connection. We omit the sequence numbers. In this figure sending the FINs is caused by the
applications closing their end of the connection, whereas the ACKs of these FINs are
automatically generated by the TCP software.
Connections are normally initiated by the client, with the first SYN going from the client to the
server. Either end can actively close the connection (i.e., send the first FIN). Often, however, it
is the client that determines when the connection should be terminated, since client processes
are often driven by an interactive user, who enters something like "quit" to terminate. In Figure file:///...
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