How to Modify the TCP/IP Maximum Retransmission Timeout

ID: Q170359


The information in this article applies to:


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 query words: lpr lpd lpdsvc tcpip print


Keywords          : kbnetwork nttcp NTSrvWkst 
Version           : WinNT:4.0
Platform          : winnt 
Issue type        : 

Last Reviewed: February 20, 1999