====== MTU, Jumbo Frames and Packet Fragmentation ====== :!: MTU issues can be caused by the extra overhead of PPPoE, VPNs, VLANs, MPLS, VPLS, etc. :!: MTU issues can cause Microsoft Exchange to not accept mail. :!: MTU issues can interfere with SSH connections. **MTU** (maximum transmission unit) is the maximum Ethernet frame size. **MSS** (maximum TCP segment size) is the maximum data bytes carried within a TCP packet. **1472** is fairly safe. Less than that is problematic due to fragmentation. ^Connection ^MTU ^MSS ^Note ^ |DSL (PPPoE) |1492 |1464 |PPPoE = 8 bytes, Breaks Exchange SMTP | |Cable |1500 |1472 |Should cause no issues with fragmentation | |IPSec VPN |1446 |1418 |Mikrotik, No effort at optimization | |Jumbo Frames |9000 |8972 |Used for storage networks, Max throughput | ===== Linux ===== ==== Testing ==== The following command example tests for Jumbo Frames capability, which is usually an MTU (max transmission unit) of 9000 bytes. We use '8972' because that plus the overhead equals 9000 (as seen in the output of the ''ping'' command). At the Linux CLI: ping -M do -c 1 -s 8972 * ''-M do'' (don't fragment) * ''-c 1'' (send one packet) * ''-s 8972'' (send 8972 byte packet, plus overhead) ==== Configure MTU ==== http://www.cyberciti.biz/faq/centos-rhel-redhat-fedora-debian-linux-mtu-size/ http://www.ubuntugeek.com/how-to-change-mtu-maximum-transmission-unit-of-network-interface-in-ubuntu-linux.html Once you know the maximum MTU you can use, set it like this: sudo ifconfig eth0 mtu 1464 ===== Windows ===== https://support.microsoft.com/en-us/help/900926/recommended-tcp-ip-settings-for-wan-links-with-a-mtu-size-of-less-than ping -n 1 -f -l 8792 ===== MTU Discovery ===== These are tools which will figure out the MTU across the path between the host and the target: ==== For Windows ==== https://www.iea-software.com/products/mtupath/ mtupath hostname.yourdomain.tld http://www.elifulkerson.com/projects/mturoute.php mturoute mturoute -t ==== For *nix ==== tracepath traceroute --mtu