[e2e] tcp connection timeout

Ethan Blanton eblanton at cs.ohiou.edu
Sat Mar 4 08:37:47 PST 2006

Vadim Antonov spake unto us the following wisdom:
> Since I haven't heard any logically meaningful counter-arguments showing
> why the offered reasons to implement keepalives in the transport layer
> rather than at application layer are not good (and neither did I hear
> anything more specific than "application knows better" - no scenarios, no
> demonstration of inability to do something in the alternative way - in
> favour of app-level implementation of keepalives) I assume you don't have
> any.

I think there is some dissonance here in that you are approaching this
problem from a different direction from much of the community; for us,
the question is not "is there a reason this should not be in the
transport layer", but "is there a reason this SHOULD be in the
transport layer".  In this case, for many of us the answer is that
there is no compelling raeson to push any additional complexity into
the transport layer; as previously mentioned, a non-negligible portion
of the community feels that the complexity which is already there
(viz. Berkeley keep-alives) is already too much.

So, the bottom line for some of us is that since keepalives are
perfectly suited to application space, and in fact are quite
application-dependent, they don't _belong_ in the transport layer.  It
doesn't matter that they could conceivably be put there -- because
there's no reason HTTP *couldn't* be implemented at the transport
layer, or SMTP, or ssh, so clearly keepalives (or whatever feature)
could be done at the transport layer -- it just wouldn't be a good
idea to do so.

> This makes further discussion pointless. I'm sorry that I failed to 
> explain my position adequately, and my apologies to those who had to read 
> the long rants.

I think your position was clear, and I think the opposing position was
clear; the problem is that the two positions are coming from a
different guiding principle, and the "betterness" of each position
lies not in technical correctness, but in design philosophy and


The laws that forbid the carrying of arms are laws [that have no remedy
for evils].  They disarm only those who are neither inclined nor
determined to commit crimes.
		-- Cesare Beccaria, "On Crimes and Punishments", 1764
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.postel.org/pipermail/end2end-interest/attachments/20060304/a88dff43/attachment.bin

More information about the end2end-interest mailing list