This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ard output. It
normally ends by receiving an end-of-file notification from its TCP, but here we see that it
receives an error when the RST arrives. The error is what we expect: the connection was reset
by the peer.
Detecting Half-Open Connections
A TCP connection is said to be half-open if one end has closed or aborted the connection
without the knowledge of the other end. This can happen any time one of the two hosts crashes.
As long as there is no attempt to transfer data across a half-open connection, the end that's still
up won't detect that the other end has crashed.
Another common cause of a half-open connection is when a client host is powered off, instead
of terminating the client application and then shutting down the client host. This happens when
PCs are being used to run Telnet clients, for example, and the users power off the PC at the end
of the day. If there was no data transfer going on when the PC was powered off, the server will
never la-row that the client disappeared. When the user comes in the next morning, powers on
the PC, and starts a new Telnet client, a new occurrence of the server is started on the server
host. This can lead to many half-open TCP connections on the server host. (In Chapter 23 we'll
see a way for one end of a TCP connection to discover that the other end has disappeared using
TCP's keepalive option.)
We can easily create a half-open connection. We'll execute the Telnet client on bsdi,
connecting to the discard server on svr4. We type one line of input, and watch it go across
with tcpdump, and then disconnect the Ethernet cable on the server's host, and reboot the
server host. This simulates the server host crashing. (We disconnect the Ethernet cable before
rebooting the server to prevent it from sending a FIN out the open connections, which some
TCPs do when they are shut down.) After the server has rebooted, we reconnect the cable, and
try to send another line from the client to the server. Since the server's TCP has rebooted, and
lost all memo...
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