On this page ...
Optimizing
TCP/IP for Windows
On this page you might find some usefull information
I discovered when I was optimizing my dialup connection, figuring
that with an ISDN upstream and Satellite downstream, it should be
possible to get a fairly good connection.
This info can be usefull for other types of connections
as well, like ADSL and GPRS!
Some of the information I got from the EuropeOnline
helpdesk people and some form JHPS
Networking.
|
|
Dialup Indicator ?
source: Europe
Online Helpdesk
First some information about the modem-indicator you
can find in the systray (lower right corner of your Windows screen). What
does it mean/indicate ?
In the windows SysTray (in the lower right corner of
your Windows 9x/NT screen) indicates transmittion (Tx) and receipt (Rx)
of data.
The newer versions of Windows (2000 and XP for example)
have a similar icon in the systray which is used for normal Ethernet and
Wireless Lan connections as well: 
This can be usefull if you're receiving data from a
different source (ie. Internet by Satellite).
Recommended Registry Settings for
Windows 95
source: JHPS
Networking
Optimize packetsize:
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)
Key : MaxMTU
Value : 1500 (Highest)
You can define your own highest MaxMTU by pinging your ISP server using:
Ping -f -l 1500 www.myisp.com
If you get "Packet needs to be fragmented but DF set." lower the size
to 1472, if you get a reply, use a value of "1500" for MaxMTU. If not,
lower the size until you get a reply, use the highest value at wich you
still get a reply
Recommended Registry settings for
Windows 98
source: JHPS
Networking
Windows 98 has some improvements in the TCP/IP, including
Large Window support, support for Selective Acknowledgments and support
for Fast Retransmission and Fast Recovery. The Registry setting you should
implement are listed below.
Optimize packetsize:
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)
Key : MaxMTU
Value : 1500 (Highest)
You can define your own highest MaxMTU by pinging your ISP server useing
:
Ping -f -l 1500 www.myisp.com
If you get "Packet needs to be fragmented but DF set." lower the size
to 1472, if you get a reply, use a value of "1500" for MaxMTU. If not,
lower the size until you get a reply, use the highest value at wich you
still get a reply
Optimize Recievewindow:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
Key : DefaultRcvWindow
Value : 372300
Data Type : REG_DWORD
Decimal var, or string var, has to be a multiple of MSS for best results,
i.e. (MaxMTU-40) x number.
The maximum value of this setting is 2*30, or 1Gb in Windows 98.
Recommended settings to try are 372300, 186880, 93440, 64240, 32120 and
8760 (in that order).
Key : DefaultTTL
Value : 128
String var, 32, 64 or 128
Key : PMTUDiscovery
Value : 0
Data Type : DWORD
Decimal var, zero for optimal performance
Key : PMTUBlackHoleDetect
Value : 0
Data Type : DWORD
Decimal var, zero for optimal performance Windows
Timestamps:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VXD\MSTCP\Parameters
Key : Tcp1323Opts
Value : 3
Recommended setting is 3.
Possible settings are : |
0 - No Windowscaling and Timestamp Options |
|
1 - Windowscaling but no Timestamp options |
|
3 - Windowscaling and Timestamp options |
Key : SackOpts
Value : 1
Recommended setting is 1.
Possible settings are : |
0 - No Sack options |
|
1 - Sack Option enabled |
Key : MaxDupAcks
Value : 3
Data Type : DWORD
Decimal var, taking integer values from 2 to N.
Recommended setting is 3
|