The Internet's Transmission Control Protocol (TCP) uses the MTU to determine the maximum size of each packet in any transmission. Too small an MTU size means relatively more header overhead and more acknowledgements that have to be sent and handled. Most computer operating systems provide a default MTU value that is suitable for most users. In general, Internet users should follow the advice of their Internet service provider (ISP) about whether to change the default value and what to change it to. ISPs often suggest using 1500 octets (eight-bit bytes) as the MTU size.
The data communications measured by the MTU occurs in Layer 3 of the Open Systems Interconnection (OSI) communications model. The MTU relates to, but is not identical to the maximum frame size that can be transported on Layer 2, the data link layer. The routing information contained within a packet includes the source of the sending host and the eventual destination of the remote host. Because Layer 2 and Layer 1, also known as the physical network layer, add overhead to the data to be transported, that overhead must be subtracted in determining the MTU. So, for example, Ethernet's maximum frame size of 1518 results in an actual MTU of 1500 once the overhead of Layers 1 and 2 are subtracted.
Modern operating systems employ Path MTU Discovery (PMTUD) with TCP to automatically discover the minimum MTU of a path. UDP-based applications typically do not have a similar mechanism.
Advantages to increasing MTU size
Maximum transmission unit (MTU) determines the maximum payload size of a packet that is sent. The default standard value is 1500 bytes. However, you can increase the payload size of the packet, which allows you to send more data and increase the data transfer rates. You can increase the value by adjusting your MTU to 9000, which will enable the use of Jumbo Frames. This increased value is the recommended MTU setting for many storage management software providers. Jumbo frames are used on local area networks that support at least 1 Gbps and can be as large as 9,000 bytes. Because jumbo frames are not defined in the IEEE 802.3 specifications for Ethernet, vendor support for jumbo frames and their maximum transmission units may vary.
Disadvantages to increasing MTU size
Too large an MTU size may mean retransmissions if the packet encounters a router that can't handle that large a packet.
Determining your MTU optimal size
To determine the correct MTU size for your network, you’ll have to do a specific ping test on the destination you’re trying to go to reach.
For Windows computers, use the following command for the ping test: ping [url / local server or IP Address] –f –l xxxx. The –f command ensures that when you ping a certain address, it will not fragment the packet sent or received. The -l command, commonly known as a packet size switch, helps determine the optimal MTU size. In the place of xxxx, type the packet size, starting with 1472.) So, for example: ping www.techtarget.com –d –s 1472.
For Mac computers, use the following command for the ping test: ping [url / local server or IP Address] –d –s xxxx.
Here are the results that you may get after doing the ping test:
- Four replies received: This means that the packet size entered is either within or the actual MTU size used within your network.
- Destination net unreachable: This means that there was no path or route to the destination or the address.
- Request Timed Out:This means that within the default wait time period (1 second), there was no response.
- Packet needs to be fragmented but DF set: This means that the packet size you entered is too high for your MTU value.
- Bad parameter –f: This means that you have typed the command incorrectly.
Checking MTU size
MTU size can be checked online through various online services. Here are two examples:
- http://www.letmecheck.it/mtu-test.php. Online MTU test allows users to test the maximum MTU size from Letmecheck.it's host to a user's destination. To check an MTU, users must provide their IP or DNS hostname. Letmecheck.it tests the maximum MTU size between its host and the user's destination firewall.
- subnetonline.com. This online IPv4 ping web tool tests whether a particular host is reachable across an IP network. It works by sending ICMP “echo request” packets to the target host and listening for ICMP “echo response” replies. Online ping estimates the round-trip time, generally in milliseconds, and records any packet loss, and prints a statistical summary when finished.
Adjusting the MTU size
MTU size can be adjusted manually, according to the operating system.
- For the Rhel6 and Ubuntu operating systems, use the ifconfig command. For example:
#ifconfig dev mtu 9000. For the Rhel7 operating system, use the ip command. For example:
#ip link set dev <dev> 9000.
- For Windows operating systems, use the netsh command. For example:
C:\>netsh interface ipv4 set subinterface <subinterface name> mtu=9000 store=persistent
- For more recent Windows systems, the operating system is able to sense whether your connection should use 1500 or 576 and select the appropriate MTU for the connection.
- For MacOS, the MTU can be changed manually by accessing the systems preferences tab, then the networking tab (advanced), choosing "Ethernet" or "Hardware," and typing in 1458 into the MTU box.
MTU vs. IP MTU
MTU is not to be confused with IP MTU. The former refers to the total size of a frame that can be sent on a specific networking medium, excluding the preamble and CRC. The latter is the maximum size of an IP payload allowed to be transmitted, excluding the Layer 2 headers and trailer.
IPsec and MTU
Because Internet Protocol security, or IPsec, adds encryption, an Ethernet frame size increases in size, say, from 1500 to 1600. Because of this, frames can be fragmented, or split, before they are encrypted. After the encrypted fragments are sent, for example, through a VPN, they are rejoined on the receiving side.