The following is an article used with permission
from the Infinisource web site on how to make your internet
connection faster while still using a traditional modem. It
is an excellent article with a lot of terms defined
well, as well as links to a program called TweakDUN which
will make all of the changes described in the article. The
original article is located at http://www.infinisource.com/maxmtu.htm
and it changes often so you should check out that page as
PC Improvements is not associated with Infinisource or with
any programs mentioned in this article. This article is presented
as is. We will not be held liable for any problems which might
occur as a result of you reading this article.
How many times have you sat there waiting for a page to download
from the web, and waited for what seemed like an eternity
while the numbers in the status bar just seem to stall or
barely creep along at ridiculously low transfer speeds? It
could just be an overloaded server on the other end or general
Internet congestion, but it might also be a symptom of a Windows
MTU (Maximum Transmission Unit) problem. Fortunately there
is something called the "MaxMTU Fix"
for Windows 95 (also works for Windows 98 and NT4). Perhaps
you can remember fooling with MTU settings back when using
Trumpet Winsock with Windows 3.1. But how can you make those
adjustments with Windows 95/98 or Windows NT4?
InfiniSource, in collaboration with Patterson
Design Systems, has developed
an amazing utility, designed to help you implement the MaxMTU
Fix and other speed tweaks effortlessly and easily.
Before we get started, there are a lot of technical terms
on this page. We've tried to explain it all in relatively
basic terms. However, if you don't know what something means,
for quick reference, try Tech Web's Tech Encyclopedia with
over 11,000 definitions of computer terms and concepts. Enter
your terms in the box below!
What exactly is this mystical MTU anyway? The Maximum
Transmission Unit of a network
is the greatest amount of data or "packet" size
that can be transferred in one physical frame on that network.
This packet also contains the header and trailer information,
which are kind of like addresses for each packet that are
required by the routers on the network. Fragmentation
will occur if a packet is sent across a network that has an
MTU smaller than the packet's frame length. This will lead
to reduced performance levels as fragments need to be reassembled.
With Windows 95, all versions, including OSR2, have a
"hidden" default for MTU set in the registry at
1500. This is appropriate for LAN's
and all Ethernet connections, but can be very inefficient
when using a PPP dialup connection. This has now been recognized
by Microsoft and corrected in Windows 98 to some extent. It's
really quite simple..... Any intermediary IP routers encountered
on the Internet which are set to an MTU less than 1500, when
they handle your TCP/IP request, will often fragment an
MTU, breaking it up into smaller units, before sending
it out on the network.
MTU is normally set in conjunction with MSS,
the Maximum Segment Size,
and RWIN, the TCP Receive WINdow.
MSS is the largest segment of TCP data that the winsock is
prepared to receive on that connection. MSS must be smaller
than MTU by at least 40 bytes, the size of the header and
trailer information. RWIN determines how much data the receiving
computer is prepared to receive. If RWIN is set too large
it will result in greater loss of data if a packet is lost
or damaged. If it is set too small (e.g. 1x MSS), transmission
will be very slow. Normally RWIN is set to either 4x, 6x or
Here's a simple analogy. TCP/IP takes an e-mail letter
(or web page) and cuts it into nice neat squares (packets).
It puts each piece in an envelope with the address (header)
of where its going for the routers to send it along its way.
Then all the letters are delivered to your mailbox. So...
MSS = the size of each cut square
of paper MTU = the size of the envelope (which
must be slightly bigger than the square of paper) RWIN = the size of the mailbox which "receives"
The maximum speed of TCP/IP transfers through a SLIP
(Serial Line Protocol) or PPP (Point To Point Protocol)
connection is, first and foremost, limited by the speed of
the modem. In an ideal world, for an already compressed file,
you should be able to get 3.2 KBytes/sec transfers
with a 28.8 Kbps (kilobits per second) connection;
2.7 KBytes/sec with a 24 Kbps connection; 1.6 KBytes/sec with
a 14.4 Kbps connection; etc. Roughly speaking, each one
Byte/sec of delivered TCP data rate requires 9 bps
of modem connect rate. Note that newer modems allow for much
greater compression of certain types of files. Text files
and html files can often be compressed by a factor
of 2x or 3x, effectively doubling or tripling the speeds
The data transfer speeds mentioned above are the ideal speeds
one can achieve, but this is often thwarted by fragmentation
which may occur in the transmission of packets of data. As
you visit various web sites, you'll probably encounter at
least one router on the download path with an IP default
MTU of only 576 bytes. This is the most common MTU setting
in use and is generally referred to as the "Internet
Standard". If you are using the Windows 95 default
MTU setting of 1500, this will likely result in packet
fragmentation slowdown (since you are trying to use TCP
segments (MSS) larger than 536 bytes.) Avoiding fragmentation
has a major effect on file download speed, whether
we are talking about html and image files from the web or
straight text data bits in your e-mail program.
It also has a profound effect on online gaming for
many people. The popular Internet gaming site Gamespot.com
technical page which specifically recommends using TweakDUN
to enhance your Internet connection.
MONITORING YOUR TRANSFER RATES
If you are going to spend some time optimizing your configuration
for maximum download speeds, it's critical that you accurately
monitor your download speeds or data transfer rates so you
can compare them at various settings. There are any number
of ways to do this. Windows 95/98 includes a very basic little
utility called Windows System Monitor (sysmon.exe).
It should be located in C:\Windows and accessible from
the the Start menu in Programs > Accessories >
System Tools. Properly configured, this can give you
a vague idea of your moment-to-moment download/upload speeds,
but like so many of the free tools included with the Windows
operating system (clipboard, notepad), its capabilities are
There are more sophisticated tools to monitor your transfer
rates. Visit your favourite freeware/shareware site to find
THE MAXMTU FIX FOR WINDOWS 95
So how can you avoid fragmentation during TCP data transfers?
Very simple... you can limit the MTU of your TCP/IP request
to a smaller or optimum size. Most people are using Windows
95 and the Win95 Dialup Adapter, which employs the
winsock.dll in C:\Windows and wsock32.dll file in C:\Windows\System
(wsock32n.dll belongs to MSIE). You are probably using a PPP
dialup connection which most ISP's use these days. All
versions of Windows 95 are set up by default
to request a maximum MTU of 1500. You can, however, change
that default setting. And, it turns out, depending on how
your ISP and other routers encountered on the Internet handle
your TCP/IP requests, that a MaxMTU setting of 576,
often referred to as the "Internet Standard",
will in many cases avoid the fragmentation of packets of data
and the slow transfer speeds which result. Note that if your
ISP is using an MTU lower than 576, (typical with a
less efficient SLIP connection, for example), then
you will want to lower your MaxMTU setting to match your ISP's.
So check with your ISP to see what he is using for MTU, if
you find that the recommended settings are not producing good
results for you..)
How can you change your MTU setting, you ask?
It involves making a change to your Windows Registry. Essentially,
you will be changing Windows 95's MTU setting by entering
the value "576" (or some other selected value)
to your registry where previously there was no entry at all...
(Windows was using a "hidden" default value of 1500).
You will also probably want to set a corresponding value for
RWIN, your TCP Receive WINdow, and a setting
for TTL (Time To Live) as well. We also have a few other tweaks,
to further optimize your dialup connection. But first......
America Online- Until recently, no one was able to
set MaxMTU for the AOL adapter (the Dial-Up Adapter is a software
adapter), such that it could be retained by the Windows registry.
AOL had hard-coded it to revert back to a default MTU setting
of 1500 no matter how many times it was changed. Now InfiniSource
and the programmers at Patterson Design Systems have come
up with a solution. We are pleased to announce that TweakDUN
2.22 will now allow the AOL user to set MaxMTU and enjoy
the same enhanced data transfer rates as other users.
With the Final Release version of Windows 98, Microsoft has
now included a new feature for manually selecting your packet
size. In the Control Panel, under Network, select
the Dial-Up Adapter, then Advanced and choose
Select IP Packet Size. This gives you four options:
Automatic, Large, Medium and Small. Large
will set a value of 1500 in the registry for IPMTU,
Medium sets it at 1000, and Small sets it at
576. The automatic setting appears to automatically default
to either 1500 or 576 depending on what Windows senses about
the speed of your connection. Apparently, RWIN is left to
some automatic configuration. TweakDUN 2.22 fully supports
Windows 98 for MaxMTU, RWIN and other settings.
WINDOWS NT 4.0
MaxMTU can now be set in Windows NT using TweakDUN v2.22.
However, the self-tuning characteristics of NT's TCP/IP stack
have been closely scrutinized by Microsoft and changing these
settings may not produce dramatic improvements in data transfer
rates in many cases. Still, enough NT users have reported
enhanced connections and requests have been so frequent,
that full Windows NT support (with the exception of the Find
MaxMTU and SessionKeepAlive features) is now available!
If you are interested, you can find a lot of information
on NT TCP settings in the Microsoft NT Resource Book
on the "MTU for other platforms" page. The TCP section
states that the receive window is set dynamically to achieve
the most efficient transfer of data. Microsoft claims that
NT 4.0's self-tuning TCP/IP stack already optimizes TCP/IP
connections and may not show any benefits at all with these
modifications. Nevertheless, we have had specific input from
users who performed extensive testing themselves, and achieved
significantly enhanced data transfer rates by modifying these
settings. You'll have to be the judge. And please let us know
An excellent source of information on Windows NT is the Windows
NT FAQ. You can also go directly to Article Q120642 in the
Microsoft Knowledge Base, published 3/30/98. The complete
reference for all of this information is the "Microsoft
Windows NT Server Networking Guide," part of the Windows
NT Server Resource Kit pages 346-361.
There's still no substitute for experimentation, but please
do so with caution. Don't take the chance of corrupting your
registry... back it up first!
UP YOUR REGISTRY
CAREFULLY... THIS IS VERY IMPORTANT***
Whenever you make any adjustments to your Windows Registry,
it is always advisable to back it up first. In the
event that something goes wrong you can restore it. We have
learned that Microsoft is no longer recommending the use of
the registry backup tool cfgback.exe. For more information
on that, please see Article Q142572 in the Microsoft Knowledge
Base. With Windows 95/98, you can still use the Microsoft
Emergency Recovery Utility (ERU) (see the MSKB Article Q139437
). But the most foolproof way to back up your registry is
to manually backup the two registry files User.dat
and System.dat in your windows folder.
What information we have on making these adjustments to Windows
3.x, Macintosh and Linux is explained on our MaxMTU
for Other Platforms page.
ADDITIONAL TWEAKDUN TCP/IP SETTINGS
There are several other specialized settings that may be
of interest in certain circumstances. These are Auto Discovery,
BlackHole Detect and Session KeepAlive. We do
not recommend changing the defaults on these
settings initially until you feel you have maximized your
efficiency with the first three. Then, you can begin to play
with these settings as well if you like to experiment. If
you would like to learn more about these specific settings,
visit the Patterson
Design Web site.
RWIN SETTINGS EXPLAINED
The RWIN setting determines how much data the receiving
computer is prepared to receive. If RWIN is set too large,
it can result in a greater loss of data if a packet is lost
or damaged. And conventional wisdom seems to agree that RWIN
should be set to a whole integer multiple of MSS (MTU -
40). According to Albert
Belle Isle, setting your RWIN to anything other than an
integer multiple of your MSS is a request to always send at
least one "left-overs" sized packet per TCP data
window-full burst. Windows 95, according to Microsoft, uses
a default value of 1500 for MTU and 8192 for RWIN which is
then rounded up to the nearest MSS increment for the connection.
Using a MaxMTU setting of 576 would appear to to create a
TCP Receive Window much too large for the 576
setting. Nowhere have we seen recommendations for RWIN to
exceed 10x(MTU-40). The reasoning is basically that if RWIN
is set larger than your ISP has his set, you risk experiencing
With a manually set MaxMTU, Windows 95 will automatically
limit MSS to MTU-40. So if you set MaxMTU=576, MSS
will default to 536 and you should experiment with different
multiples of that MSS for your RWIN setting. Most sources
seem to agree that RWIN = 4x MSS is a good choice to
start with. You can also experiment with 6x and 8x settings.
We have not seen any recommendations anywhere to use a higher
figure than 10x MSS. You can monitor your modem throughput
using Windows System Monitor and decide which setting produces
the fastest transfer rates.
Another useful option is the TTL or Time
To Live. TTL is a field in the
IP header which indicates how long a packet should be allowed
to survive before it is discarded. TTL essentially determines
the maximum number of hops permitted. Windows default is 32,
but with the Internet growing larger all the time, it is worth
changing it to the larger setting, now 128 in v2.22. Here
again, some people have reported a big difference only
after changing this parameter as well!
Some people have asked about LAN's or Local
Area Networks. At InfiniSource we don't have a lot
of experience with this, but according to Albert
Belle Isle, "Your MTU setting is an announcement
of the maximum size IP transmission unit which your machine
will accept from your access provider's communications server
and the routers on his Local Area Network (LAN). There's no
benefit to setting it to any value other than the one used
on that LAN..... Many ISP's also use Ethernets for their internal
networks (LANs) of servers, with a default MTU value of 1500."
However, we have definitely had occasional reports from people
who tell us that the modified MTU settings had a remarkable
effect on their LAN speeds as well, so it may be worth experimenting
with. In any case, if you connect both to a LAN and to the
Internet with TCP/IP, you may want to use TweakDUN to easily
change your settings from default back to optimized TCP/IP
settings, in order to achieve a speedy connection on the Internet
and still use the settings that work best with your LAN.
MORE TWEAKS FOR WINDOWS 95
There are a lot of people who like to tweak their machines,
especially if there's a chance they can get a little more
speed out of them. So, while we have personally had the most
success with the MaxMTU and RWIN adjustments, there are a
couple other tweaks for Windows 95 that are worth mentioning
here. We Bly advise you to make the MaxMTU and RWIN
adjustments first (one at a time) and check
your success rate, before you try some of these others.
A quick trick to help maximize your modem speed, is this
tip for setting
for the baud rate on your COM port from our Windows95-Help.NET
Still some more tweaks, this time for your entire operating
system, from our Windows-Help.NET site, Increasing Performance
95, or Windows
If you want to tweak your system for maximum speed, you will
want to use some of the following recommended upgrades for Windows 95
While you are at the InfiniSource site, you might want to
bookmark the InfiniSource
homepage and come back and spend some time. There is a lot
of useful stuff here... 200+ Shareware Archives, links to
hundreds of Search Engines, including "DogPile"...
if you are not using the incredible Dogpile parallel search
engine yet, you are truly missing something. If you're really
into web design, the web design resources page has
so many great links, and since we add to it all the time,
you might even want to make it your new browser startup page!
If you like IRC, we have more IRC nets and servers
listed than anywhere else on the entire Internet! And if you
have a sound card in your computer, get Real Audio 5.0 if
you don't already have it, and check out the streaming
mellow jazz CD selection on the homepage. With this MaxMTU
Fix, the streaming RealAudio is flawless!!!
Enjoy!!! Remember... these changes will
not speed things up for every Web site you visit. You still
have to deal with Internet congestion, crowded pipelines,
slow web servers and the like. But overall, you will probably
notice a significant increase in the speed of your connection.
We sure have.
Note: Since InfiniSource is not performing the modifications
to your computer, we can assume no liability for any problems
encountered as a result of the settings or modifications discussed
on this page. Remember, back up your registry before you mess
Microsoft, MS, Windows,
and the Windows logo are the registered trademarks of Microsoft
Microsoft Corporation is not affiliated with InfiniSource
and does not specifically endorse this company.