Client Disconnects During Congestion over TCP and HTTP

ID: Q235387

This article discusses a Beta release of a Microsoft product. The information in this article is provided as-is and is subject to change without notice.

No formal product support is available from Microsoft for this Beta product. For information about obtaining support for a Beta release, please see the documentation included with the Beta product files, or check the Web location from which you downloaded the release.
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

Windows Media Player clients may disconnect from a Windows Media Server during temporary congestion conditions. The client may disconnect from the server if the client does not receive any data for about two times the buffering time set on the client. This is about 10 seconds for a player set to the default buffering time of 5 seconds. This forces the client to start at the beginning of on-demand content once the stream is restarted.


CAUSE

The TCP stack in the server drops the connection to the client if it does not receive packet acknowledgements after a certain number of retransmissions.

TCP starts a retransmission timer when each outbound segment is handed down to the IP. If no acknowledgment is received for the data in a given segment before the timer expires, then the segment is retransmitted, up to the number of times specified in the TcpMaxDataRetransmissions registry setting. The default value for this parameter is 5. The retransmission timer is initialized to 3 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.


WORKAROUND

Server administrators can increase the likelihood of keeping client connections alive in the event of temporary congestion by increasing the value of the TcpMaxDataRetransmissions parameter in the server registry. to do this, perform the following steps:

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).

  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: TcpMaxDataRetransmissions
    Data Type: REG_DWORD
    Value: 6
  6. Quit Registry Editor and reboot for the changes to take effect.


The default value for this is 5 and should gradually be increased until you find the desired result.

Note that changes in this setting will effect all the TCP connections performed by any application in the server computer.


MORE INFORMATION

More information is available in the following document:

TCP/IP Implementation Details

Additional query words: netshow


Keywords          : 
Version           : :4.0
Platform          : 
Issue type        : kbprb 

Last Reviewed: July 12, 1999