The TTL value of an IP packet represents the maximum number of IP
routers that the packet can go through before being thrown away.
In current practice you can expect each router in the Internet to
decrement the TTL field by exactly one.
The TCP/IP specification states that the TTL field for TCP
packets should be set to 60, but many systems use smaller values
(4.3 BSD uses 30, 4.2 used 15).
The maximum possible value of this field is 255, and most Unix
systems set the TTL field of ICMP ECHO_REQUEST packets to 255.
This is why you will find you can 'ping' some hosts, but not
reach them with telnet
(1) or ftp
(1).
In normal operation ping prints the TTL value from the packet it
receives. When a remote system receives a ping packet, it can do
one of three things with the TTL field in its response:
• Not change it; this is what Berkeley Unix systems did
before the 4.3BSD Tahoe release. In this case the TTL value
in the received packet will be 255 minus the number of
routers in the round-trip path.
• Set it to 255; this is what current Berkeley Unix systems
do. In this case the TTL value in the received packet will be
255 minus the number of routers in the path from
the remote
system to
the ping
ing host.
• Set it to some other value. Some machines use the same
value for ICMP packets that they use for TCP packets, for
example either 30 or 60. Others may use completely wild
values.