|
This article covers how to set your MTU manually.
This is all done on a client PC. Do not put in any of the quote marks listed below for the DOS commands. They are strictly to separate the commands from the rest of the text.
1. Choose a website to test this with. I like to use one of the websites that won't load, personally, so substitute that URL for one of your choosing.
2. Click Start > Run. Type "command" or "cmd" and hit Enter. This opens a DOS prompt in a window.
3. Type <PING www.whatever.com> and hit Enter. You'll be told: "Pinging www.whatever.com [xxx.xxx.xxx.xxx] with 32 bytes of data" along with some other stuff below it. The xxx.xxx.xxx.xxx part is the IP you'll use to test from now on.
4. Now type "PING -f -l 1500 xxx.xxx.xxx.xxx" and hit Enter. You'll probably get an error message indicating that it must be fragmented (if not then this solution will NOT be the one for you). If you do, type the following: "PING -f -l 1400 xxx.xxx.xxx.xxx". If that doesn't work, try this: "PING -f -l 1300 xxx.xxx.xxx.xxx".
The numbers in each of these examples (1500, 1400, 1300) are the MTU values. Continue issuing this command with values of 100 lower each time until you get ping responses instead of an error message. Then start raising the value by 10 until you get an error. At that point you may start lowering the value again but only by 1 each time. The highest MTU value that works is the one you need. The next step is to configure all your Client computers to use the new, lower MTU as the default for all Internet communication. Here are those steps:
Windows 2000 and XP: 1. Click Start > Run. Type "REGEDIT" and hit Enter. This opens the Registry Editor. 2. Navigate to "HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > Tcpip > Parameters > Interfaces". 3. View the contents of each key in here by clicking on them. Find the one that has an IP address value set to something like 192.168.0.1. 4. Once you've found the correct subkey, Click Edit > New > DWORD Value. Name the value MTU. 5. Double-click the new value. Choose the Decimal option. Key in the MTU value you found above.
6. Click Ok when you're done and restart Windows for this to take effect. 7. Test the websites. They'll likely work fine now.
Windows 98/Me:
1. Click Start > Run. Type "REGEDIT" and hit Enter. This opens the Registry Editor. 2. Navigate to "HKEY_LOCAL_MACHINE > System > CurrentControlSet > Services > Class >Net". 3. Find a key (such as 0000 or 0001) that lists your NIC under the "DriverDesc" value. 4. Click Edit > New > String Value. Name this "MaxMTU". 5. Double-click the new value. Choose Decimal and key in the MTU value you found above.
6. Click Ok when you're done and restart Windows for this to take effect. 7. Test the websites. They'll likely work fine now.
Keep in mind that other changes to the Registry can be devastating if you don't know what you're changing. If you're not comfortable doing this you may consider downloading a program which will do it for you. I like one called "DrTCP".
Additional Notes:
Why a router MTU of 1492:
Read this for some background http://www.mynetwatchman.com/kb/adsl/pppoemtu.htm
The PPPoE header is 8 bytes. And by default almost all Ethernet interfaces are set up for 1500 byte MTU's. Hence, if we go back a little deeper into the origination of a packet we get this sequence.
1452 bytes of data
+20 bytes of TCP header +20 bytes of PPP/IP header -------------------------------- 1492 TCP/IP MTU +8 bytes of PPPoE header -------------------------------- 1500 Ethernet frame size
Hence, it wouldn't make much sense to set the MTU larger than 1492. However, that is merely the initially negotiated size of packets, and except for rare circumstances is unlikely to be the size built after a few packets are transferred. If routers and firewalls and NAT servers and so on and so forth are correctly configured, the initial result of sending packets that size will be that some are fragmented at intermediate points and that will cause the end points to renegotiate packet size down to the fragmented size being received. The first thing one suspects when hearing that changing MTU resulted in any significant difference, is that the system used to measure the difference is in fact not measuring what is desired. The second is that the actual problem, when higher speed lines are concerned, is not the MTU at all, but either the configuration of a router or firewall (e.g., not allowing the ICMP packets necessary to negotiate MTU size or fragmentation at all, or being configured to simply not fragment packets). The third thing to suspect is that the receiver packet window size (RWIN on windows machines) is not large enough. (This commonly catches people who for the first time find themselves with DS-3 connectivity, and discover they cannot transfer files any faster than they could with DS-1 connectivity!)
User Comments
MTU Settings
|
|
There are no user comments for this topic.
|
|
|
|