File: inetutils.info, Node: TTL details, Next: Further remarks, Prev: Data patterns, Up: ping invocation 7.5 TTL details =============== The TTL field, "Time To Live", of an IP packet represents the maximum number of IP routers that the packet can go through before being discarded. In current practice you can expect each router on the Internet to decrement the TTL field by exactly one. The TCP/IP specification states that the TTL field of a new TCP packet should be set to 60, but many systems use smaller values (4.3BSD used 30 and 4.2BSD used 15). The maximum possible value of this field is 255, and most UNIX systems set the TTL field of ICMP (type 'ECHO_REQUEST') packets to 255. This is why you will find you can ping some hosts, but not reach them with 'telnet' or 'ftp'. During normal operation, 'ping' prints the TTL value for every packet it receives. When a remote system receives an ICMP packet, it can do one of three things to the TTL field in its response packet: * Not to 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 pinging 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 arbitrary values.