MTU
Also known as: Maximum Transmission Unit
The Maximum Transmission Unit — the largest packet size that a network link can carry in one go without fragmentation. The standard Ethernet MTU is 1,500 bytes.
Last updated:
What is MTU?
MTU (Maximum Transmission Unit) is the largest packet size, in bytes, that a given network link can carry in a single frame. Any IP packet larger than the MTU has to be either fragmented into smaller pieces or rejected outright. The default MTU on most Ethernet networks is 1,500 bytes, a value locked in by the physical and electrical limits of early Ethernet in the 1980s.
Different links have different MTUs:
| Link type | Typical MTU | |------------------------|------------:| | Ethernet (standard) | 1,500 bytes | | Ethernet (jumbo frames) | 9,000 bytes | | Wi-Fi | 2,304 bytes (MAC), 1,500 (typical IP) | | PPPoE (DSL) | 1,492 bytes | | IPv6 minimum (guaranteed) | 1,280 bytes | | VPN tunnel (IPsec / WireGuard) | 1,380-1,450 bytes |
Path MTU Discovery
When a packet crosses multiple links, the path MTU is the minimum MTU of any link along the way — a Jumbo Ethernet packet at 9,000 bytes that needs to pass through a 1,500-byte link can't fit. Hosts need to discover this minimum so they can pick a packet size that works end-to-end.
Path MTU Discovery (PMTUD) works like this:
- Sender sets the DF (Don't Fragment) bit on IP packets at some starting size
- If a router along the path has a smaller MTU, it drops the packet and sends back an ICMP "Fragmentation Needed" message indicating the correct size
- Sender reduces its packet size accordingly and retries
This is why blocking all ICMP at firewalls breaks things in subtle ways: PMTUD messages never come back, so large TCP transfers on VPN or jumbo-frame paths hang silently instead of downsizing. This is called the PMTUD black hole.
MTU and MSS
For TCP connections specifically, the handshake negotiates MSS (Maximum Segment Size) — the largest TCP payload that fits inside the path MTU minus the TCP+IP headers. On a standard 1,500-byte Ethernet path: MSS = 1,500 - 20 (IPv4) - 20 (TCP) = 1,460 bytes. IPv6's 40-byte header cuts that to 1,440.
For UDP and application-layer protocols like QUIC (HTTP/3), the application manages sizing itself — which is why QUIC uses a conservative 1,252-byte initial packet to stay under almost every real-world path MTU without requiring PMTUD to work.