The IP layer MUST provide a means for the transport layer to set the TTL field of every datagram that is sent. When a fixed TTL value is used, it MUST be configurable. The current suggested value will be published in the "Assigned Numbers" RFC.and
A fixed value must be at least big enough for the Internet "diameter," i.e., the longest possible path. A reasonable value is about twice the diameter, to allow for continued Internet growth.
IP TIME TO LIVE PARAMETER The current recommended default time to live (TTL) for the Internet Protocol (IP) [45,105] is 64.
The 'Assigned Numbers' RFC gets periodical updates going back as far as 1976. It is interesting to point out that the recommendation for a TTL default value of 64 is more than three years old now. It has been first published in Assigned Numbers (RFC 1340, J. Reynolds, J. Postel, July 1992).
+--------------------+-------+---------+---------+ | OS Version |"safe" | tcp_ttl | udp_ttl | +--------------------+-------+---------+---------+ AIX n 60 30 DEC Pathworks V5 n 30 30 FreeBSD 2.1R y 64 64 HP/UX 9.0x n 30 30 HP/UX 10.01 y 64 64 Irix 5.3 y 60 60 Irix 6.x y 60 60 Linux y 64 64 MacOS/MacTCP 2.0.x y 60 60 OS/2 TCP/IP 3.0 y 64 64 OSF/1 V3.2A n 60 30 Solaris 2.x y 255 255 SunOS 4.1.3/4.1.4 y 60 60 Ultrix V4.1/V4.2A n 60 30 VMS/Multinet y 64 64 VMS/TCPware y 60 64 VMS/Wollongong 1.1.1.1 n 128 30 VMS/UCX (latest rel.) y 128 128 MS WfW n 32 32 MS Windows 95 n 32 32 MS Windows NT 3.51 n 32 32 MS Windows NT 4.0 y 128 128
C:\PW\PWTCP.INI add line "IPTTL = 64"
% /usr/sbin/sysctl net.inet.ip.ttl # show parameter # /usr/sbin/sysctl -w net.inet.ip.ttl=64 # set parameterNote that the change isn't permanent. One has to put this command into the /etc/rc or /etc/rc.local scripts to set this parameter after every reboot.
Linux V1.12.11: net/inet/af_inet.c line 695 Linux V1.3.45: net/inet/af_inet.c line 678 Linux V2.2.x: net/ipv4/ipconfig.c line 516
udp_ttl: in /usr/kvm/sys/netinet/in_proto.c tcp_ttl: in /usr/kvm/sys/netinet/tcp_timer.h by changing the parameter TCP_TTL
$ MULTINET SET/KERNEL TCP_TTL newvalue $ MULTINET SET/KERNEL UDP_TTL newvalue
$ RUN TCPWARE:NETCU NETCU> SET IPDEFAULTTTL default-time-to-live-hops NETCU> EXIT
$ UCX UCX> set service/protocol=ip=time_to_live=64
DefaultTTL=64
'binary value': DefaultTTL 01 00 00 00 'string format': DefaultTTL 64Note that regedit adds quotes itself when using string format !
"Regedit-ophobe" people might alternativly have a look at the ttlfix utility.
DefaultTTL REG_DWORD 64
ftp://cs.ucsd.edu/pub/csl/Netconfig/netconfig2.3.tar.gzWith netconfig you can display and modify TCP/IP parameters in many Unix implementations. It does not work for Solaris 2.x however. Be careful when installing this tool, by default "make install" sets a "setuid root" permission, which is probably not exactly what you want.
ftp://ftp.active.ch/pub/internet/windows/ttlfix.zip