TTLs


John A. Shriver (jas@proteon.com)
Tue, 21 Jun 88 18:10:57 EDT


The TCP specification specifies that the IP time to live is 60, on
page 51 of RFC 793. All that the various TCP/IP vendors using 4.xBSD
need to do is edit netinet/tcp_timer.h, and change the definition of
TCP_TTL to 60, and recompile. It was 15 (?) on 4.2BSD, and is 30 on
4.3BSD (including the "Van Jacobsen" version). Both of these values
are too small. (None of the commercial versions I have here uses 60.)
I guess the vendors might be able to get this out the door in 1
year...

One does NOT want to set the IP time to live higher than 60 for TCP.
This breaks certain assumptions that make the three-way handshake
work, and re-use of port numbers. When the Internet is over 60 hops,
then we will have a problem. For now, we should follow the standards
we have set for ourselves.

Looking at the 4.3BSD ICMP code, the echo reply code uses the received
TTL as the TTL to send. (I won't try and decide if this is the
"right" thing of ICMP to do.) Ping sends through a raw socket, which
uses the default TTL of 255 (defined in netinet/ip.h). Thus the range
of a ping is 127 hops.

I would disagree about the absence of looping problems. So long as
RIP, at least in the Berkeley routed implementation, is in use, there
will be transient routing loops. This problem is minimized in the
IDEA004 RIP.

The host RFC authors should be sure to put this in their checklist,
since it is such a common bug.



This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:42:31 GMT