PCIN, The PC Improvement News logo

  Add to Favorites     Make Home Page

MaxMTU Fix for Windows 9x

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

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.


The MaxMTU Fix

An InfiniSource Techfile

TABLE OF CONTENTS:
  • Introduction
  • Background
  • Monitor your Transfer rates
  • The MaxMTU Fix for Windows 95
  • The MaxMTU Fix and Windows 98
  • The MaxMTU Fix and Windows NT
  • Backing up your registry
  • The MaxMTU Fix and other platforms
  • Additional TweakDUN TCP/IP settings
  • More tweaks for Windows 95
  • Additional Reading

WORLD WIDE WAIT???hourglassNOT NECESSARILY!!!

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
TweakDUN
an amazing utility, designed to help you implement the MaxMTU Fix and other speed tweaks effortlessly and easily.


BACKGROUND

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 8x MSS.

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

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 mentioned above.

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 has a 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 pretty limited.

There are more sophisticated tools to monitor your transfer rates. Visit your favourite freeware/shareware site to find them.


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.


WINDOWS 98

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 your results.

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!


BACKING UP YOUR REGISTRY

***READ 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.


OTHER PLATFORMS

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 "framing errors".

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

Still some more tweaks, this time for your entire operating system, from our Windows-Help.NET site, Increasing Performance for Windows 95, or Windows 98.

If you want to tweak your system for maximum speed, you will want to use some of the following recommended upgrades for Windows 95 as well.


ADDITIONAL READING

MaxMTU and other networking parameters are also documented in the free Windows 95 Resource Kit helpfile. Windows NT users may want to study the the "Microsoft Windows NT Server Networking Guide," part of the Windows NT Server Resource Kit, pages 346-361. And, if you want to really understand how this all works, or do some other troubleshooting on your winsock, we highly recommend Al's Winsock Tuning FAQ, © 1995 by Albert P. Belle Isle. This is also available for download as a Windows Helpfile. It is simply brilliant! And if you want a great freebie to help you through all the tech-talk, acronyms, etc... we highly recommend the marvelous PC/Internet Lexicon.


OTHER INFO

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.


DISCLAIMER

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 with it!


Microsoft, MS, Windows, and the Windows logo are the registered trademarks of Microsoft Corporation.
Microsoft Corporation is not affiliated with InfiniSource and does not specifically endorse this company.

Return to Articles Home Page

Return to the FreeHelp Headquarters


PCIN Logo
Subscribe to PCIN now!

Home | Overview | Subscribe | Unsubscribe | Latest Issue | Previous Issues
Free Help Headquarters | Free Help Downloads | PCIN Test Systems
Make Suggestions | Recommend PCIN | Support PCIN | Survey | PCIN.net Site Search
Poll of the Week | Privacy Policy | Links | About Me | Contact Me

Support PCIN
By Donating Today