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            64   
Note 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