Microsoft KB Archive/170359

From BetaArchive Wiki
Knowledge Base


How to modify the TCP/IP maximum retransmission timeout

Article ID: 170359

Article Last Modified on 2/22/2007



APPLIES TO

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition



This article was previously published under Q170359

Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry


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.

For more information about the latest service pack for Windows 2000, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to obtain the latest Windows 2000 service pack


MORE INFORMATION

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
Windows provides a mechanism to control the initial retransmit time, and then the retransmit time is self-tuning. To change the initial retransmit time, modify the following values in the following registry key:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters


Value Name:  TcpMaxDataRetransmissions
Data Type:   REG_DWORD - Number
Valid Range: 0 - 0xFFFFFFFF
Default:     5
                    

Description: This parameter controls the number of times TCP retransmits an individual data segment (non connect segment) before aborting the connection. The retransmission timeout is doubled with each successive retransmission on a connection. It is reset when responses resume. The base timeout value is dynamically determined by the measured round-trip time on the connection.

Change the following key in Windows NT 4.0:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters


Value Name:  InitialRtt
Data Type:   REG_DWORD
Valid Range: 0-65535 (decimal)
Default:     0xBB8 (3000 decimal)
                    

Description: This parameter controls the initial retransmission timeout used by TCP on each new connection. It applies to the connection request (SYN) and to the first data segment(s) sent on each connection.

For example, the value data 5000 decimal sets the initial retransmit time to five seconds.

Change the following key in Windows 2000:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ID for Adapter


Value Name:  TCPInitialRtt
Data Type:   REG_DWORD
Valid Range: 300-65535 (milliseconds in decimal)
Default:     0xBB8 (3000 milliseconds expressed in hexadecimal)
                    

Description: This parameter controls the initial retransmission timeout used by TCP on each new connection. It applies to the connection request (SYN) and to the first data segments sent on each connection. For example, the value data 5000 decimal sets the initial retransmit time to five seconds.

NOTE: You can only increase the value for the initial timeout. Decreasing the value is not supported. For more information about retransmit time, click the following article numbers to view the articles in the Microsoft Knowledge Base:

232512 TCP/IP may retransmit packets prematurely


223450 TCP Initial retransmission timer adjustment added to Windows NT


For additional information, search the Web for RFC 793 (Section 3.7) TCP Protocol Specification.


Additional query words: ing lpr lpd lpdsvc tcpip print

Keywords: kbhotfixserver kbqfe kbinfo kbnetwork kbwin2000sp3fix KB170359