TCP Initial Retransmission Timer Adjustment Added to Windows NT 4.0

ID: Q223450


The information in this article applies to:


IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SYMPTOMS

When you establish TCP connections between computers across high-delay networks, connection requests and data may be retransmitted unnecessarily. This can result in extra congestion and slow response.


CAUSE

The initial TCP retransmission timer was hard-coded to three seconds.


RESOLUTION

A supported fix that corrects this problem is now available from Microsoft, but it has not been fully regression tested and should be applied only to systems experiencing this specific problem. If you are not severely affected by this specific problem, Microsoft recommends that you wait for the next Windows NT 4.0 service pack that contains this fix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web:

http://www.microsoft.com/support/supportnet/overview/overview.asp
The English version of this fix should have the following file attributes or later:

   Date      Time                 Size    File name     Platform
   -------------------------------------------------------------
   06/04/99  12:12p               150,768 Tcpip.sys     (x86)
   06/04/99  12:11p               273,968 Tcpip.sys     (Alpha) 

NOTE: If this product was already installed on your computer when you purchased it from the Original Equipment Manufacturer (OEM) and you need this fix, please call the Pay Per Incident number listed on the above Web site. If you contact Microsoft to obtain this fix, and if it is determined that you only require the fix you requested, no fee will be charged. However, if you request additional technical support, and if your no-charge technical support period has expired, or if you are not eligible for standard no-charge technical support, you may be charged a non-refundable fee.

For more information about eligibility for no-charge technical support, see the following article in the Microsoft Knowledge Base:
Q154871 Determining If You Are Eligible for No-Charge Technical Support
WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT, you should also update your Emergency Repair Disk (ERD).
A new registry parameter has been added to TCP to allow the initial retransmission timer to be adjusted. This parameter may be useful for high-delay networks, where the round-trip time often exceeds three seconds.

This parameter controls the retransmission time-out of the initial TCP connection request (SYN) and of the first data sent on a connection. It is a global value, which applies to all interfaces in the computer.

To adjust the InitialRtt parameter, perform the following steps:
  1. Start Registry Editor (Regedt32.exe).


  2. Locate the following key in the registry:


  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  4. On the Edit menu, click Add Value, and then add the following registry value:


  5. Value Name: InitialRtt
    Data Type: REG_DWORD
    Value: 5000 decimal (for example, to set it to 5 seconds)
    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.
  6. Quit Registry Editor.


  7. Restart the computer.



STATUS

Microsoft has confirmed this to be a problem in Windows NT 4.0.


MORE INFORMATION

Care should be used when adjusting this value. Setting it to large values will dramatically increase the amount of time that it takes for a TCP connection attempt to fail, if the target IP address does not exist.

For instance, the default value is 3,000, or 3 seconds. By default, a connection request is retried 2 times. The total time-out is (3+6+12) seconds, or 21 seconds.

If this registry value is set to 6,000 (6 seconds), the total timeout will be (6+12+24) seconds, or 42 seconds. During this time, an application can appear to stop responding (hang).

Additional query words: 4.00


Keywords          : kbbug4.00 kbfix4.00 
Version           : winnt:4.0
Platform          : winnt 
Issue type        : kbbug 

Last Reviewed: July 2, 1999