At 03:13 PM 4/5/2002, Matt Crawford wrote:
I think that (A) most or all extant IPv4 routers violate 791
if they happen hold a packet more than a second, and (B) IPv6
invalidated TCP's correctness by defining the Hop Limit field to be a
hop limit and have no connection to time. A TCP riding on IPv6 may
receive old segments an unbounded time later without any other
network element breaking a spec.
for the record, while IPv4 TTL remains theoretically a time in seconds, it
effectively became a hop count a long time ago. Thus sayeth RFC 1812:
5.3.1 Time to Live (TTL)
The Time-to-Live (TTL) field of the IP header is defined to be a
timer limiting the lifetime of a datagram. It is an 8-bit field and
the units are seconds. Each router (or other module) that handles a
packet MUST decrement the TTL by at least one, even if the elapsed
time was much less than a second. Since this is very often the case,
the TTL is effectively a hop count limit on how far a datagram can
propagate through the Internet.
When a router forwards a packet, it MUST reduce the TTL by at least
one. If it holds a packet for more than one second, it MAY decrement
the TTL by one for each second.
In that it "MAY" decrement the value, it also may choose not to...