How 1500 bytes became the maximum transmission unit on the internet

How 1500 bytes became the maximum transmission unit on the internet

Ethernet is everywhere, and tens of thousands of manufacturers produce equipment that supports it. However, almost all of these devices share one common number — MTU:

$ ip l
1: lo:  mtu 65536 state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0:  mtu 1500 state UP 
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

MTU (Maximum Transmission Unit) defines the maximum size of a single data packet. Generally, when you exchange messages with devices on your LAN, the MTU will be around 1500 bytes, and the entire internet mostly operates with a size of 1500 bytes as well. However, this doesn't mean that these communication technologies cannot transmit larger packets.

For example, for 802.11 (widely known as WiFi), the MTU is 2304 bytes, and if your network uses FDDI, then your MTU is 4352 bytes. Ethernet itself has a concept of 'jumbo frames' where the MTU can be set to a size of up to 9000 bytes (if such mode is supported by the NIC, switches, and routers).

However, this is not particularly necessary on the internet. Since the main backbones of the internet are primarily made up of Ethernet connections, the de facto unofficial maximum packet size is set at 1500 bytes to avoid fragmentation on other devices.

The number 1500 itself is strange — one might expect that constants in the computer world would be based on powers of two. So where did 1500 bytes come from and why do we still use it?

The magic number

The first big breakthrough of Ethernet into the world came in the form of standards 10BASE-2 (thin) and 10BASE-5 (thick), the numbers of which indicate how many hundreds of meters a single segment of the network can cover.

Since there were many competing protocols at the time, and hardware had its limitations, the format's creator acknowledges that the requirements for packet buffer memory played a role in the emergence of the magic number 1500:

Looking back, it becomes clear that a larger maximum size might have been a better solution, but if we had increased the cost of NICs (network interface cards) in the early stages, Ethernet would not have become so widespread.

However, that's not the whole story. In work “Ethernet: distributed packet switching in local computer networks” from 1980 presents one of the early analyses on the efficiency of using large packets in networks. At that time, this was particularly important for Ethernet networks, as they could either connect all systems with a single coaxial cable or consist of hubs capable of sending one packet to all nodes in a segment at any given moment.

It was necessary to choose a number that would not result in overly high delays when transmitting messages in segments (sometimes quite busy), while not excessively increasing the number of packets.

It seems that engineers at the time chose the number 1500 bytes (approximately 12000 bits) as the safest option.

Since then, various other messaging transmission systems have appeared and disappeared; however, among them, the lowest MTU value was that of Ethernet with its 1500 bytes. Exceeding the minimum MTU in the network means either causing packet fragmentation or dealing with PMTUD [Path MTU Discovery]. Both options had their own particular issues. Even major OS manufacturers sometimes lowered the MTU value even further.

Efficiency Factor

Now we know that the MTU on the internet is limited to a size of 1500 bytes largely due to older latency metrics and equipment constraints. How significantly does this impact internet efficiency?

How 1500 bytes became the maximum transmission unit on the internet

If we look at data from a major Internet traffic exchange point, AMS-IX, we can see that no less than 20% of transmitted packets are at the maximum size. We can also examine the overall LAN traffic:

How 1500 bytes became the maximum transmission unit on the internet

If we combine both charts, we get something like this (an estimate of traffic for each packet size range):

How 1500 bytes became the maximum transmission unit on the internet

Or, if we look at the traffic from all these headers and other overhead information, we arrive at the same chart but with a different scale:

How 1500 bytes became the maximum transmission unit on the internet

A significant portion of the bandwidth is consumed by headers for packets from the largest size class. Given that at peak traffic the overhead amounted to 246 Gb/s, one might assume that if we had all transitioned to “jumbo frames” when such an opportunity existed, that overhead would only be about 41 Gb/s.

However, I believe that for the majority of the internet today, that train has already left the station. While some providers operate with an MTU of 9000, most do not support it, and attempts to make global changes to the internet have proven to be extremely challenging.

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster