Windows 9x/ME Registry Tweaks
03.31.2001 11:20 EST by Philip
Different Network protocols benefit from different Network settings in the Windows Registry. The optimal Registry settings for broadband Internet connections are somewhat different than the Windows defaults. Windows is somewhat optimized for dialup, as well as Ethernet (high speed / low latency), however that isn't the case with Cable modems, DSL, Satellite, etc.
Below you will find OS specific information on how to optimize the Registry for broadband, which assumes some proficiency in customizing Windows. If you don't feel comfortable with editing the Registry, please visit our Downloads Section for ready to use patches and programs that can assist you in setting the optimal values in the Windows Registry automatically.
Recommended settings for Windows 9x
Since the introduction of Windows 98, MS has added support for RFC1323 ( the 'DefaultRcvWindow' has a maximum value of 2^30 rather than 2^16 - that is up to 1 GB instead of 64 KBytes limit), support for Selective Acknowledgments (SACK), Fast Retransmission and Fast Recovery.
Below is a list of the Registry setting and values we recommend for residential broadband connections.
Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP
Value Name: DefaultRcvWindow
Value Type: String Value
Value Data: 64240
Details:
has to be a multiple of MSS for best results, i.e. (MaxMTU-40) x number... Best settings to try with MSS=1460 are 64240, 46720 and 23360, in that order
Registry Key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\000n
(Where "000n" is your TCP / IP protocol. It contains "TCP / IP" assigned to the "DriverDesc" Value)
Value Name: MaxMTU
Value Type: String Value
Value Data: 1500
Details: If you're using DSL and your ISP has implemented PPPoE, you should set MaxMTU to 1492 or less.
Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP
Value Name: DefaultTTL
Value Type: String Value
Value Data: 64
Details: range 1-255, use any number between 32 and 128
Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP
Value Name: PMTUDiscovery
Value Type: String Value
Value Data: 1
Details: Boolean vlue, 0-false or 1-true. Many connections perform better with this entry at 1, however, if you prefer to set your upstream to send fixed 1500 packets, you might want to use 0 instead. When set at 1, establishing connections and initial transfer speed might slow down a bit, however you will get better throughput if somewhere in the path large packets need to be fragmented.
Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP
Value Name: PMTUBlackHoleDetect
Value Type: String Value
Value Data: 0
Details: zero for optimal performance
Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP
Value Name: Tcp1323Opts
Value Type: String Value
Value Data: 1
Details: The possible settings are 0 - No Windowscaling and Timestamp Options, 1 - Window scaling but no Timestamp options, 3 - Window scaling and Time stamp options. The value is documented in RFC 1323. According to Microsoft, Tcp1323Opts should be a DWORD, rather than a string value, however seems that the documentation is incorrect and a string value is necessary to enable large RWIN suppert.
Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP
Value Name: SackOpts
Value Type: String Value
Value Data: 1
Details: Possible settings are 0 - No Sack options or 1 - Sack Option enabled. Selective Acknowledgements are documented in RFC 2018
Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VXD\MSTCP\Parameters
Value Name: MaxDupAcks
Value Type: DWORD Value
Value Data: 2
Details: taking integer values from 2 to N