IP TTL and TCP

Bob Braden <braden@ISI.EDU> Mon, 08 April 2002 16:14 UTC

From: Bob Braden <braden@ISI.EDU>
Date: Mon, 8 Apr 2002 16:14:55 GMT
Message-Id: <200204081614.QAA04635@gra.isi.edu>
To: tcp-impl@grc.nasa.gov
Subject: IP TTL and TCP
Cc: braden@ISI.EDU
X-Sun-Charset: US-ASCII
Sender: owner-tcp-impl@grc.nasa.gov
Precedence: bulk
Status: RO
Content-Length: 954
Lines: 18

I am sure most people on this list already know this, but maybe it
is worth reviewing.

The story of IP TTL is a tussle between theory and practice.  The
theory says that, in order to create a reliable transport protocol
(i.e., TCP (or, I suppose, SCTP)), you have to be able to absolutely
bound the lifetime of a segment within the network.  The definition of
TTL as time-in-seconds-but-always-decremented-by-1 was crafted (by
Jon Postel) to maintain this lifetime bound while also functioning as a
hop count limit.  The pragmatic world refused to implement it that
way.  This may leave you wondering why TCPs still works.  Presumably,
from the theory viewpoint it doesn't work; somewhere, sometime, in the
Internet an old duplicate packet screws up a connection, and (even more
rarely) happens to create a error in the received data.  In practice,
packets are very, very seldom delayed long enough for this to happen,
so it (mostly) works.

Bob Braden