Title:
MtuTest.exe
Subject: MTU Maximum Packet Size Test Application
Author: Kevin Ottalini (qUiCkSiLvEr) 
Website: http://qsextreme.com/mtutest
Category: Network Diagnostic
Keywords: MTU, packet, Ethernet, TCP/IP, fragmentation, ping

You can download the latest tool (v1.0d, 17Apr2011) from here: mtutest.zip
Put the tool in a folder by itself and make a shortcut on your desktop for easy use.

Change History:

Version Date Comment
1.0d 17Apr2011 Added some pop-up information for the registry setting.
1.0c 24July2010 Updated to allow updating the registry string, additional testing for invalid settings.
1.0a1 10May2008 Initial Public Release, Vista not tested

Note: This program requires Microsoft Dot Net 1.0, 1.1 or 2.0 to be installed on your system (see bottom of page for more info).

This tool works under Windows XP, WinXP 64 and Server 2003, it has not been tested under Vista or Vista 64 or other Windows Operating Systems.

Screenshot:


Summary:
Maximum Transmission Unit or Maximum Transfer Unit the largest physical packet size measured in bytes that a network can transmit.

For example, an Ethernet MTU is 1500 bytes.

Packets that are longer than the MTU must be divided or fragmented into smaller frames.  The layer 3 network protocol, typically IP, extracts the MTU from the layer 2 data link protocol such as Ethernet and fragments the messages into that frame size so that they can travel over the lower layer. 

Every network has a different MTU, which is typically set by the network administrator or has a default Value set when the operating system was installed.

On Windows 95/98/XP/Vista you can set the MTU of your machine for best performance although typically the default of 1500 is usually the best.
Changing network properties for VISTA is not recommended at this time since the defaults appear to do a pretty good job already.

Ideally, you want the MTU to be the same as the smallest MTU of all the networks between your machine and a message's final destination, otherwise, if your messages are larger than one of the intervening MTUs, they will get broken up (fragmented), which slows down transmission speeds. 

Trial and error is the only sure way of finding the optimal MTU, but there are some guidelines that can help. 

For example, the MTU of many PPP connections is 576, so if you connect to the Internet via PPP, you might want to set your machine's MTU to 576 too. 

Most Ethernet networks, on the other hand, have an MTU of 1500, which is the default MTU setting for Windows 95, 98, XP, Server and Vista. 

Some Current and Historical MTU sizes:

Size  Description
17914  16 Mbit/Sec Token Ring
4464  4 Mbits/Sec Token Ring
4352  FDDI
1500  The largest Ethernet packet size recommended. This is the typical setting for non-PPPoE, non-VPN connections.
1492  The maximum MTU recommended for Internet PPPoE implementations.
1472  The maximum ping data payload before fragmentation errors are received on non-PPPoE, non-VPN connections.
1468  The size DHCP prefers.
1464  The maximum ping data payload before fragmentation errors are received when using a PPPoE-connected machine. 
1460  Usable by AOL if you don't have large email attachments, etc.
1460  TCP Data size (MSS) when MTU is 1500 and not using PPPoE 
1452  TCP Data size (MSS) when MTU is 1492 and using PPPoE
1430  The size VPN and PPTP prefer.
1400  Maximum size for AOL DSL.
576  Typical value to connect to dial-up ISPs.

NOTE: 28 bytes need to be added to the Discovery value since this tool discovers the ping (ICMP) packet size which doesn't include the 28-byte TCP/IP header.
IE: 28 is the sum of IP and ICMP headers,  48 is the sum of IP, TCP and PPPoE headers. 

Normally you should never need to change the MTU size but it doesn't hurt to check since some application may have tweaked it.

This little tool will scan a range of packet sizes and display the maximum size that won't fragment as well as your current MTU setting in the registry.

MtuTest uses your operating system native Ping application to do all the work, it basically just automates the manual discovery process and prepares a report.

MtuTest does not change your MTU, it only discovers and displays the results.  If you need to change your MTU, please click on the help button and read the information at DSL Reports: http://www.dslreports.com/faq/695

Kevin Ottalini (qUiCkSiLvEr)
http://qsextreme.com/mtutest


If this tool does not run on your system, or if you get an error like this:

It means that you don't have the Dot Net 1.1 or Dot Net 2.0 framework installed on your system.  This should be a part 
of all XP systems these days and is part of your Microsoft Window Update.  If you are unable to find it there,
you can download and install the updates separately:

Microsoft .NET Framework Version 1.1 Redistributable Package
Microsoft .NET Framework 1.1 Service Pack 1
 
Microsoft .NET Framework Version 2.0 Redistributable Package (x86)

Be sure to run Windows update after installing these as there are probably additional security updates.


You might also be interested in another of my little applications: QS_Toolkit