TCP keepalive question

Kurt Matthys <HYS1@rs_hcomm.rsvl.unisys.com> Mon, 27 September 1993 14:41 UTC

Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa16803; 27 Sep 93 10:41 EDT
Received: from CNRI.RESTON.VA.US by IETF.CNRI.Reston.VA.US id aa16798; 27 Sep 93 10:41 EDT
Received: from venera.isi.edu by CNRI.Reston.VA.US id aa13998; 27 Sep 93 10:41 EDT
Received: from mail.unigate1.unisys.com (sys1.unigate1.unisys.com) by venera.isi.edu (5.65c/5.61+local-13) id <AA11985>; Mon, 27 Sep 1993 07:31:07 -0700
Received: from rsvl.unisys.com ([192.61.220.100]) by mail.unigate1.unisys.com (4.1/SMI-4.1) id AA16551; Mon, 27 Sep 93 14:23:25 GMT
Received: from charon1.rsvl.unisys.com (rs_ellen) by rsvl.unisys.com (4.1/SMI-4.1) id AA15386; Mon, 27 Sep 93 09:38:00 CDT
Received: From RS_ELLEN/WORKQUEUE by charon1.rsvl.unisys.com via Charon-4.0-VROOM with IPX id 100.930927092841.352; 27 Sep 93 09:30:06 +600
Message-Id: <MAILQUEUE-101.930927092844.448@rs_hcomm.rsvl.unisys.com>
To: ietf-hosts@isi.edu
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: Kurt Matthys <HYS1@rs_hcomm.rsvl.unisys.com>
Date: Mon, 27 Sep 1993 09:28:44 -0600
Subject: TCP keepalive question
Reply-To: kurt@rsvl.unisys.com
Priority: normal
X-Mailer: Pegasus Mail v2.3 (R5).

I was in a discussion recently about keepalives and RFC1122 and we
had a question regarding keepalives and the intent of 1122.

At the bottom of page 101 it states "Consequently, if a keep-alive
mechanism is implemented it MUST NOT interpret failure to respond to
any specific probe as a dead connection".  The question is: is the
intent of keepalives to abort connections to dead hosts, or is it to
abort connections to rebooted hosts or a host that has aborted its
end of the connection?

The reasoning here is that if a keepalive is sent to a rebooted
host the sender's connection will be correctly aborted.  However, if
no response is received to the keepalive (either due to network
problems, dead host, or the host requires data with the keepalive)
the sender cannot know that the connection should be aborted (this is
a restatement of the obvious).  One impact of the latter option is
that orphaned connections will probably be cleaned up sooner than
with the former, especially if the remote host is a PC that the user
has turned off for the night.

When 1122 used the phrase "any specific probe" was the intent that a
keepalive should abort the connection after not receiving a response
to a number of keepalives, or are keepalives never supposed to abort
the connection due to lack of response?  I realize that keepalives
are a contentious issue so I am trying to find out if there is a
"correct" way to implement them.

Thanks in advance,

Kurt----------------------------------------------------------------------
Kurt Matthys
Unisys Corp                       Tel:    (612) 635-5693
M.S. 4123                         Fax:    (612) 635-7523
P.O. Box 64942                    email:  kurt@rsvl.unisys.com
St. Paul, MN 55164 0942
----------------------------------------------------------------------