As the maximum unit for transmitting information on the Internet became 1500 bytes



Ethernet is everywhere, and tens of thousands of manufacturers produce equipment with its support. However, almost all of these devices have one common number - MTU :

$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> 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 an individual data packet. In the general case, when you exchange messages with devices on your LAN, the MTU will have a size of about 1500 bytes, and the entire Internet will also work almost entirely with a size of 1500 B. However, this does not mean that these communication technologies cannot transmit larger packets.

For example, in 802.11 (wider known as WiFi), the MTU is 2304 bps, and if your network uses FDDI, then your MTU is 4352 bps. Ethernet itself has the concept of "giant frames", when the MTU can be assigned a size of up to 9000 bps (with the support of this mode of NIC, switches and routers).

However, on the Internet this is not particularly necessary. Since the main Internet trunks are mainly Ethernet connections, the de facto unofficial maximum packet size is set to 1500 B in order to avoid packet fragmentation on other devices.

The number 1500 in itself is strange - one would expect that the constants in the computer world would be based on powers of two, for example. So where did 1500 B come from and why are we still using them?

Magic number


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

Since there were many competing protocols at that time, and iron had its own limitations, the creator of the format admits that the packet buffer memory requirements played a role in the appearance of the magic number 1500:

Looking back, it becomes clear that a larger maximum might have been the best solution, however, if we increased the cost of NICs (network controllers) in the early stages, this would prevent Ethernet from spreading so widely.

However, this is not the whole story. In work“Ethernet: Distributed Packet Switching in Local Computer Networks” 1980, one of the earliest analyzes of the efficiency of using large packet packets in networks. At that time, this was especially important for Ethernet networks, since they either could connect all systems with one coaxial cable, or consist of hubs capable of sending one packet at a time to all nodes of one segment.

It was necessary to choose a number that would give not too high delays when transmitting messages in segments (sometimes quite busy), and at the same time would not increase the number of packets too much.

Apparently, the engineers at that time chose the number 1500 B (about 12000 bits) as the most “safe” option.

Since then, various other messaging systems have appeared and disappeared, but among them Ethernet had the lowest MTU value with its 1500 B. To exceed the minimum MTU value in the network means either cause packet fragmentation or engage in PMTUD [search for the maximum packet size for selected path]. Both options had their own particular problems. Even if sometimes major OS manufacturers omitted the MTU value even lower.

Performance factor


We now know that the MTU on the Internet is limited to 1,500 B, for the most part due to old latency and hardware limitations. How much does this affect Internet performance?



If you look at the data from a large Internet traffic exchange point AMS-IX, we will see that at least 20% of the transmitted packets have a maximum size. You can also look at the total LAN traffic:



If you combine both graphs, you get something like the following (traffic estimation for each range of packet sizes):



Or, if you look at the traffic of all these headers and other service information, we will get the same graph with another scale:



Quite a large part of the bandwidth is spent on headers for packets from the largest size class. Since at the peak of traffic the largest overhead costs are 246 Gb / s, it can be assumed that if we all switched to “giant frames” when this possibility still existed, these overheads would be only about 41 Gb / s.

But, I think, today for the largest part of the Internet this train has already left. And although some providers work with MTU equal to 9000, most of it does not support it, and trying to change something globally on the Internet has proved to be extremely difficult from time to time.

All Articles