How to Modify the TCP/IP Maximum Retransmission Timeout

Last reviewed: October 3, 1997
Article ID: Q170359
The information in this article applies to:
  • Microsoft Windows NT Workstation versions 4.0
  • Microsoft Windows NT Server versions 4.0

SUMMARY

TCP starts a retransmission timer when each outbound segment is handed down to IP. If no acknowledgment has been received for the data in a given segment before the timer expires, then the segment is retransmitted, up to the TcpMaxDataRetransmissions times. The default value for this parameter is 5.

The retransmission timer is initialized to three seconds when a TCP connection is established; however, it is adjusted on the fly to match the characteristics of the connection using Smoothed Round Trip Time (SRTT) calculations as described in RFC793. The timer for a given segment is doubled after each retransmission of that segment. Using this algorithm, TCP tunes itself to the normal delay of a connection. TCP connections over high-delay links will take much longer to time out than those over low- delay links.

By default, after the retransmission timer hits 240 seconds, it uses that value for retransmission of any segment that needs to be retransmitted. This can be a cause of long delays for a client to time out on a slow link.

MORE INFORMATION

Windows NT provides a mechanism to tune the maximum retransmission timer.

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

To change from the default value of 240 seconds, adjust the default maximum retransmission timer by changing the following registry entry:

  1. Run Registry Editor (Regedt32.exe).

  2. Go to the following key in the registry:

          HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\
          tcpip\Parameters
    

  3. On the Edit menu, click Add Value and use the following entry:

          Value Name: TcpTimedWaitDelay (new in 3.51 SP5 and 4.0)
          Data Type:  REG_DWORD (time in seconds)
    
          Value:      30-300 (decimal)
          Default:    0xF0 (240 decimal) not in registry by default
    
          Description: This parameter determines the length of time that a
          connection will stay in the TIME_WAIT state when being closed. While
          a connection is in the TIME_WAIT state, the socket pair cannot be
          reused. This is also known as the "2MSL" state, as by RFC the value
          should be twice the maximum segment lifetime on the network. See
          RFC793 for further details.
    
    

  4. Restart the computer for the registry change to take effect.


Additional reference words: lpr lpd lpdsvc tcpip print
Keywords : NTSrvWkst nttcp kbnetwork
Version : WinNT:4.0
Platform : winnt


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 3, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.