Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ucbvax!proteon.com!jas From: jas@proteon.com (John A. Shriver) Newsgroups: comp.protocols.tcp-ip Subject: Re: Small TTL values evaporate in large networks Message-ID: <8905242135.AA26778@monk.proteon.com> Date: 24 May 89 21:35:26 GMT References: <8905241815.AA15718@sirius.cc.utexas.edu> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 36 Neither value is correct. It is clearly called out in RFC 793 (TCP) to be sixty (60). To quote: TCP/Lower-Level Interface The TCP calls on a lower level protocol module to actually send and receive information over a network. One case is that of the ARPA internetwork system where the lower level module is the Internet Protocol (IP) [2]. If the lower level protocol is IP it provides arguments for a type of service and for a time to live. TCP uses the following settings for these parameters: Type of Service = Precedence: routine, Delay: normal, Throughput: normal, Reliability: normal; or 00000000. Time to Live = one minute, or 00111100. Note that the assumed maximum segment lifetime is two minutes. Here we explicitly ask that a segment be destroyed if it cannot be delivered by the internet system within one minute. Thus, neither 4.2bsd (15) nor 4.3bsd (30) is correct. (Why fix a bug with another bug?) You can do a quick check by examining the value of TCP_TTL in /usr/sys/netinet/tcp_timer.h, but there is no guaruntee that your vendor compiled the kernel using this file. In SunOS 3.5.2, the value has been increased to 30, which is not so bad a bug. The TTL was still 15 on Ultrix-32 V2.2. I reported it in SPR 487999/ICA-16612. I got patches for three kernel files. I presume that it is fixed in V3.0.