Optimizing Dial-up Internet Connections under any version of Windows
Updated: Friday October 9, 2009

WARNING: All the tips here require editing the registry, so backup the registry first by using either Registry
Checker (for Win9x/ME systems), System Restore (for WinME/XP/Vista systems) or by creating Emergency
Repair disks (for NT4 & Win2k systems).  Then run Registry Editor (regedit.exe or regedt32.exe) to
perform the tips.

[Change TcpMaxDupAcks registry value for WinNT4 SP3-SP6, 2000, XP, 2003, Vista, 2008, Win7]
This tip requires using Registry editor, so backup the registry before proceeding.
In Windows NT4 with SP3, SP4, SP5 or SP6 installed, go to the following registry key:
'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\'
Create a DWORD value called 'TcpMaxDupAcks' and set it to 2.  Then close Registry
Editor and restart the computer.  Same tip for those using Win2000, XP, 2003 & Vista.

[Optimizing MTU, DefaultTTL & TcpWindowSize values under WinNT4 SP6/2000/XP/2003/Vista/2008/Win7]
This tip requires using Registry editor, so backup the registry before proceeding.
For those using Windows NT4 with SP6 installed, go to the following registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
Create a DWORD value called 'MTU' and set it to 576 in decimal or 240 in hexadecimal if using a 28.8k
or 33.6k modem or connection speed.  Set it to 1000 in decimal or 3e8 in hexadecimal if using a 56k modem
or ISDN modem (connection speed is between 56k to 128k).
For those using Windows 2000, XP, 2003, Vista, Win7 go to the following registry key:
'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\[Adapter ID]'
where [Adapter ID] is the random GUID of your dialup adapter.
Do the same thing in making the DWORD value called MTU and set it to 576 in decimal base or 240 in
hexadecimal base [for 28.8k or 33.6k connection speeds].  Set MTU to 1000 decimal base or 3e8 in hex.
base [for connection speeds between 56k to 128k].
To change the Default Time To Live & TCP Window Size values for TCP/IP connections go to the following key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
Create a DWORD value called 'DefaultTTL' and set it to 128 in decimal or 80 in hexadecimal.  Then create
a DWORD value called 'TcpWindowSize' and set it to 4 or 8 times the MaxMSS value; MaxMSS = MTU - 40
If MTU is 576, set TcpWindowSize to either 2144 or 4288 in decimal (860 or 10c0 in hexadecimal).  If MTU
is 1000, set TcpWindowSize to either 3840 or 7680 in decimal (f00 or 1e00 in hexadecimal).  Then close
Registry Editor and reboot the computer.
Warning for NetZero Internet Users: If you are using the latest version of the NetZero Hi-Speed internet
software, the MTU setting will ALWAYS be set to 1500 and the TcpWindowSize setting will ALWAYS
be set to 5840 after establishing a connection, regardless if you manually change those two settings.  NetZero
Hi-Speed already optimizes your dialup connections.

[Optimizing MTU, DefaultTTL & DefaultRcvWindow values for MS DUN under Win95, 98 & ME]
Open the Control Panel and click on the Network icon.  From the Network control panel dialog box,
and on the Configuration tab, double click on any of the Dial-Up Adapters, click on the Advanced tab and
set the IP Packet Size value to Small [if using a 28.8k or 33.6k modem connection speed] and click on OK.
This sets the 'IPMTU' setting to 576.  If the IP Packet Size setting is Medium, the IPMTU registry setting will
be 1000, which I think is recommended when using a 56k modem or ISDN modem [or connection speeds
between 56k to 128k].  The "Large" IP Packet Size setting will have IPMTU value of 1500 which should be
used for broadband connections only.  The "Automatic" setting will adjust the MTU value according to the
speed used.  Repeat the tip for the second Dialup Adapter (the one with VPN Support if VPN is installed)
and click on OK, then click on OK on the Network dialog box to save all changes and reboot (Note to
Win95 users with old DUN: If the IP Packet Size setting is not featured on the Advanced tab you have
an old version of DUN installed and you must remove the Dialup Adapter that does not contain the setting
and re-install it from the DUN 1.3 or DUN 1.4 update for Win95.  When setting up Dial-Up Networking
under Windows 95, don't install it from the Windows Setup tab from the Add/Remove programs control
panel applet anymore because it doesn't install the TCP/IP protocol; install either MS DUN 1.3 or 1.4 and
let the DUN upgrade for Win95 install both DUN adapters & the latest version of the TCP/IP protocol).
If you use America Online but are using an older version, upgrade to AOL 7 or better before proceeding.
Next, run the Registry Editor program and navigate to the following registry key in quotes:
'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net' < (that's 'Net', not 'NetTrans')
Open any of the subkeys below the Net key (like 0000 or 0001 or whatever you see the DialUp Adapter
on the right hand side of the Window), check to see if the IPMTU value is set to 576.  If it is not, change it
to 576 or to the corresponding IP Packet Size setting (if it is already set to the correct value, leave it alone).
Then change the 'SLOWNET' binary value to '00'.  Repeat the steps for the second Dialup Adapter registry
key.  Now navigate to the following registry key:
'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\VXD\MSTCP\'
Create a string variable called 'DefaultRcvWindow' and set the value to 4 or 8 times the MaxMSS value.
MaxMSS = MTU - 40; If MTU is 576, set DefaultRcvWindow to either 2144 or 4288.  If MTU is 1000, set
DefaultRcvWindow to either 3840 or 7680.  Then create a string value called 'DefaultTTL' and set that to
the recommended value of either 64 or 128.  This will reduce some server connections from 'timing out'
easily, erroneously causing 'web site unavailable' messages.  Finally close registry editor and restart the
computer.  That should improve DUN connections to the Internet although not dramatically.
Warning: AVOID changing the SLOWNET value to 00 if using America Online software because AOL will
change the SLOWNET setting back to 01 after setting it to 00 & logging off the Internet.  However, if you
are using AOL 9.0 Security Edition or the AOL Dialer in AOL 9.0 Security Edition, the SLOWNET value
in Win98/ME is automatically changed to 00 when online and changed back to 01 after going offline.
Warning for NetZero Internet Users: If you are using the latest version of the NetZero or NetZero Hi-Speed
Internet Software, the MTU setting or the IP Packet Size setting will ALWAYS be set to 1500 and the
DefaultRcvWindow setting will ALWAYS be set to 5840 after establishing a connection, regardless if you
manually change those two settings.  Your dialup connections are already optimized with NetZero Hi-Speed
software.

Also note that the Optimizing DUN tips only work for dialup connections only and there is no need to use
these tips to optimize Internet connections when using broadband connections like Cable, Sattelite, DSL
or LAN connection.  Using the tips above can actually slow down these superfast connections
substantially.  And note that this tip does not always optimize dial-up Internet connections; sometimes it
works and other times it does not.  Try surfing at some web sites or surf at different times of the day to
see if these tips work.  If you really want to optimize your broadband connection, see my page on Optimizing
Broadband Connections here.

More on optimizing/customizing TCP/IP settings at this Winguides.com site:
http://www.winguides.com/registry/category.php?id=310

You may also want to check out the Navas Modem FAQ on how to make your dialup connections
more faster and more reliable.

Actual results of these tips may vary depending on what computer is used and what modem hardware & drivers used.

[Click here to go back to my Computer Tips for Windows page - part 1]