Unformatted text preview: responding. The server will not receive a response to its
probe and it times out after 75 seconds. The server sends a total of 10 of these
probes, 75 seconds apart, and if it doesn't receive a response, the server considers
the client's host as down and terminates the connection.
3. The client's host has crashed and rebooted. Here the server will receive a response
to its keepalive probe, but the response will be a reset, causing the server to
terminate the connection.
4. The client's host is up and running, but unreachable from the server. This is the
same as scenario 2, because TCP can't distinguish between the two. All it can tell
is that no replies are received to its probes.
The server does not have to worry about the client's host being shut down and then
rebooted. (This refers to an operator shutdown, instead of the host crashing.) When the
system is shut down by an operator, all application processes are terminated (i.e., the
client process), which causes the client's TCP to send a FIN on the connection. Receiving file:///D|/Documents%20and%20Settings/bigini/Docum.../homenet2run/tcpip/tcp-ip-illustrated/tcp_keep.htm (2 of 9) [12/09/2001 14.47.30] Chapter 23. TCP Keepalive Timer the FIN would cause the server's TCP to report an end-of-file to the server process,
allowing the server to detect this scenario.
In the first scenario the server application has no idea that the keepalive probes are taking
place. Everything is handled at the TCP layer. It's transparent to the application until one
of scenarios 2, 3, or 4 occurs. In these three scenarios an error is returned to the server
application by its TCP. (Normally the server has issued a read from the network, waiting
for data from the client. If the keepalive feature returns an error, it is returned to the
server as the return value from the read.) In scenario 2 the error is something like
"connection timed out," and in scenario 3 we expect "connection reset by peer." The
fourth scenario may look like the connection timed out, or may ca...
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