A HelpWithWindows TechFile
Updated June 5
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 & NT4/2000/XP). Perhaps you can remember fooling with MTU settings back when using Trumpet Winsock with Windows 3.1. Well it still works! But how can you make those adjustments with Windows 95/98/ME or Windows NT4/2000/XP?
InfiniSource, in collaboration with Hagel Technologies, has developed
an amazing utility, designed to help you implement the MaxMTU Fix and other speed tweaks effortlessly and easily.
For more information on TweakMASTER, visit the TweakMASTER page.
|Now I know how the astronauts must feel at launch. I gave TweakMASTER the full test and went from an average of 661 KBPS to 3145 KPBS on FTP downloads and to 1222 KBPS browser downloads using a 11 meg binary zip as a test file. The added DNS Accelerator and Clock Sync add up to one great internet rocket to browse the 'net with. Without it, people are not surfing the net, they are crawling it. You don't know what you're missing until you try it! Jim Dixon, @home.com user|
|Read more comments on the TweakMASTER Feedback page.|
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 the technical encyclopedia Webopedia, with over 11,000 definitions of computer terms and concepts. Enter your terms in the seach box on the side bar!
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.
|According to sources in the news, Mike Zintel, Windows developer and official Microsoft representative, explains that beginning with Windows 98, Windows OS default to "a more efficient MTU value of 576" if it detects a slow Internet connection. He further explains that, "As line errors increase on an Internet connection, a smaller MTU such as 576 makes re-transmissions faster than a larger MTU such as 1500."|
For more information see the Windows 98 section.
Windows 95 had a "hidden" default for MTU set in the registry at 1500. This was 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 was 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 Maxmum Segment Size, and RWIN, the TCP Receive WINdow, now renamed to TCP Receive Window in Windows XP. 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. TCP Receive Window determines how much data the receiving computer is prepared to receive. If TCP Receive Window 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 TCP Receive Window is set to either 4x, 6x or 8x MSS for dialup comnnections... and should be set much larger for Broadband connections like cable, DSL and satellite
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 may encounter routers on the download path with an IP default MTU of only 576 bytes. Thus, if you use the Windows default MTU setting of 1500, this can often 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.
An MTU of 576 used to be the most common MTU setting in use and was generally referred to as the "Internet Standard". However modern routers are more often than not set to 1500 as an MTU. So why use a smaller MTU? Well in an ideal world, you would not do that any longer. You'd use 1500 and be done with it. However, there is still a good deal of Internet congestion out there, more than ever, really. And with this congestion, packets of data are "dropped" and as a result need to be retransmitted. Simply put, it takes just over 1/3 as long to retransmit a smaller packet, say 576 bytes in size, than it does to retransmit one 1500 bytes in size.
So in summary, whether your ISP, the site you are going to. or the intermediary routers involved have any 576 MTU settings or not, setting your own computer's MTU to a setting smaller than 1500 (like 576) will often result in faster download speeds for those using Dialup connections.
The MaxMTU fix is done properly will also enhance download speeds for Broadband connections like cable DSL, and Satellite. Broadband connections work best with an MTU setting of 1500, however they work better with significantly higher TCP Receive Window settings than Dialup connections require. Our new Internet Optimizer utility, TweakMASTER, will also work for Cable, DSL and Satellite users as well. Users report astounding improvements even for these fast connections. For more information on Cable modems, we recommend the Cable Modem Q&A. For more information on Hi speed DSL connections visit the COVAD DSL Services website.
HOW LONG SHOULD IT TAKE?
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.
TweakMASTER now includes a Connection Throughput Measurement tool to accurately measure your Internet data transfer speeds. InfiniSource also recommends the exceptional little DU Meter, a great shareware product from Hagel Technologies, and a superb enhancement to the Windows operating system. This included in TweakMASTER PRO.
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' 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.
Although there are many utilities around which claim to "adjust these hidden settings", in point of fact few of them do it correctly. You are better off doing it manually than leaving these adjustments to incompetently designed software. Here is a page with manual instructions on how to change your registry settings. If that looks too daunting, you can simply go to the TweakMASTER page on our site where we have just released an all-new Internet Optimizer utility which will revolutionize the industry.
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. But InfiniSource and the programmers at Hagel Technologies have come up with a solution. We are pleased to inform you that TweakMASTER will allow the AOL user to set MTU and other TCP/IP parameters and enjoy the same enhanced data transfer rates as other users.
Continue with The MaxMTU fix and Windows 98.