HomeGuides › MTU

How MTU and encapsulation overhead work

Every wrapper costs bytes. When the total exceeds what the path carries, the symptom is a connection that starts and then hangs.

Maximum Transmission Unit is the largest packet a link will carry. Ethernet's familiar 1500 bytes is the payload, not the frame — the 14-byte header sits outside it, which is the first thing that confuses people.

Where the bytes go

Why the IPsec number is never exact

ESP overhead depends on the cipher, the key size, the padding needed to reach a block boundary, and whether NAT traversal wraps the whole thing in UDP. Any single figure is a planning estimate.

Tools that print one exact number for IPsec are a common reason tunnels get sized wrongly. Use a worst case, then confirm against the devices.

The symptom worth recognising

When a path cannot carry a full-sized packet, one of two things happens.

Fragmentation — the packet is split and reassembled. It works and costs performance.

Path MTU discovery — the sender is told to send smaller packets by an ICMP message. This is the designed behaviour, and it depends on ICMP getting through. A great many networks filter ICMP as a blanket security measure, and when those messages are dropped the sender never learns and keeps sending packets that vanish.

The result is the classic MTU symptom: the connection establishes, small exchanges work, and the first large transfer hangs. An SSH session that connects and then freezes when you run a command producing a lot of output is the canonical example. Anything that behaves like that is an MTU problem until proven otherwise.

What to do

Frequently asked questions

Why does my connection work but large transfers hang?

Almost always MTU. A packet too large for the path is dropped, and the ICMP message that would tell the sender is filtered somewhere, so it never learns and keeps retrying.

How much does an MPLS label cost?

Four bytes each. A two-label L3VPN stack costs eight, so a 1500-byte core link carries 1492 bytes of customer packet.

What is MSS clamping?

Rewriting the maximum segment size in TCP handshakes so both ends agree to send smaller segments. It fixes TCP without depending on ICMP, and does nothing for UDP.

Should I just enable jumbo frames?

In a core you control, often yes. Every device on the path has to agree, and a single one left at 1500 produces exactly the intermittent failure you were trying to avoid.

Open the MTU calculator →