For the Love of Information

Edit: Did you already know about this?

Originally posted June 2, 2020 on AIXchange

A concise, easy to understand explanation of MTUs.

While I wasn’t obsessively desiring to learn about MTUs, I genuinely appreciate how this brief blog post clearly and thoroughly covers an obscure topic:

“The MTU (Maximum Transmission Unit) states how big a single packet can be. Generally speaking, when you are talking to devices on your own LAN the MTU will be around 1500 bytes and the internet runs almost universally on 1500 as well. However, this does not mean that these link layer technologies can’t transmit bigger packets.

“For example, 802.11 (better known as WiFi) has a MTU of 2304 bytes, or if your network is using FDDI then you have a MTU around 4352 bytes. Ethernet itself has the concept of ‘jumbo frames,’ where the MTU can be set up to 9000 bytes (on supporting NICs, Switches and Routers).

“However, almost none of this matters on the internet. Since the backbone of the internet is now mostly made up of Ethernet links, the de facto maximum size of a packet is now unofficially set to 1500 bytes to avoid packets being fragmented down links.

“On the face of it 1500 is a weird number, we would normally expect a lot of constants in computing to be based around mathematical constants, like powers of 2. 1500, however fits none of those.

“So where did 1500 come from, and why are we still using it? The ‘Ethernet: Distributed Packet Switching for Local Computer Networks’ paper from 1980 is an early note of the efficiency cost analysis of larger packets on a network. This being especially important to Ethernet at the time, since Ethernet networks would ether be sharing the same coax cable between all systems, or there would be Ethernet hubs that would only allow one packet at a time to be transmitted around all members of the Ethernet segment.

“A number had to be picked that would mean that transmission latency on these shared (sometimes busy) segments would not be too high, but also that packet header overhead would not be too much…. It would seem at best that the engineers at the time picked 1500 bytes, or around 12000 bits as the best ‘safe’ value.

“Since then various other transmission systems have come and gone, but the lowest MTU value of them has still been ethernet at 1500 bytes. Going bigger than lowest MTU on a network will either result in IP fragmentation, or the need to do path MTU detection. Both of which have their own sets of problems. Even if sometimes large OS vendors dropped the default MTU to even lower at times.”

Such a concise, easy to understand explanation. Read the whole thing.