MTU 1500: Why the internet has a 'max speed'
I used to think that when I downloaded a 1 GB file, it was sent as one giant chunk of data.
But it's actually sent as millions of tiny "envelopes" called packets. And almost every single one of those envelopes is exactly 1500 bytes long.
This is the MTU (Maximum Transmission Unit), and it’s one of the weirdest relics of the early internet.
The Big Picture: Chopping up the Data¶
Why 1500?¶
Back in the 1980s, when Ethernet was invented, memory was expensive and networks were slow. If a packet was too large and there was an error, the whole thing had to be resent.
The engineers decided that 1500 bytes was the "sweet spot"—large enough to be efficient, but small enough that an error wouldn't clog up the whole wire.
ADSL vs. Fiber: The Unit War¶
- Standard Ethernet (Fiber/Cable): Uses a 1500 byte MTU.
- Older ADSL (PPPoE): Uses 1492 bytes.
- Wait, why? Because ADSL uses an extra 8 bytes for a "wrapper" (the PPPoE header). If you try to send a 1500-byte packet through a 1492-byte ADSL pipe, it gets "fragmented" (chopped in half), which makes your internet feel incredibly slow!
Modern Fiber and "Jumbo Frames"¶
Some modern data centers use Jumbo Frames with an MTU of 9000 bytes. This is much more efficient because the computer has to process fewer "envelopes" for the same amount of data.
But we can't use 9000 bytes on the open internet because every single router between you and the server would have to support it—and many don't!
Wait, but why?¶
Why don't we just increase the MTU globally? Because of the "Lowest Common Denominator." If I send you a 9000-byte packet, but a single old router in the middle only supports 1500, it will either drop the packet or spend precious time chopping it up.
Staying at 1500 is the only way to ensure the whole world stays connected.
Common gotchas¶
- I always forget that MTU includes headers. The actual "payload" (your data) is usually closer to 1460 bytes after you subtract the TCP and IP headers.
- Watch out for "PMTU Discovery": This is a clever trick where your computer sends packets to see what the smallest MTU is on the path to the server. If a firewall blocks the "Too Big" messages, your connection will just hang forever!
Try it yourself¶
You can see the MTU of your network interface right now:
You'll probably see mtu 1500 for your Wi-Fi or Ethernet.
Further reading¶
- What happens when you type a URL? – Tracing how these packets actually travel.
- Packet Fragmentation – What happens when a packet is too big.
— Nadeem 📦