Maximum transmission unit

from Wikipedia, the free encyclopedia

The maximum transmission unit ( MTU ; German maximum transmission unit ) defines the maximum packet size of a protocol of the network layer (layer 3) of the OSI model , measured in octets ( bytes ) which, without fragmentation into the frame (engl. " Frame of a network") the data link layer (layer 2) can be transmitted. This packet size therefore fits into the payload of the data link layer protocol. The maximum size of the payload of the data link layer is often referred to as the link MTU of the data link layer. The maximum size of a frame of the data link layer can be calculated as follows:

Maximum frame size = Largest MTU of all protocols used in the network layer + size of the data link layer header

The MTU is determined by settings within the scope of the hardware and technology used. It can assume different values ​​for different protocols of the network layer (e.g. IPv4 or IPv6 ) on the same interface . All interfaces involved in a layer 2 network that process protocols from higher layers must be set to the same value for the respective layer 3 protocols.

In the OSI model, the network layer is referred to as a packet, while the data link layer is referred to as a frame. The terminology that the OSI model uses for the units on the various OSI model layers has led to some confusion around the term MTU (see different usage by important manufacturers ). The “packet size” is sometimes incorrectly understood as the “frame size” , but the above definition (see RFC 1122 and RFC 791 ) makes this clear.

A special case exists when a layer 2 protocol is tunneled over another layer 2 protocol , because then the payload itself is also called a “frame”.

Typical MTU sizes
medium MTU in bytes
Hyperchannel 65535
Token Ring (4) (802.5) 4464
Token Ring (16) 17914
FDDI 4352
Ethernet 1500
Gigabit Ethernet
with jumbo frames
9000
PPPoE (e.g. DSL) ≤ 1492
SLIP / PPP (low delay) 296
X.25 576
FibreChannel theoretically unlimited
ISDN 576
DQDB
HIPPI
ATM 4500, p. u.
ARCNET
802.11 2312 (WiFi)

The Path MTU (PMTU) describes the maximum packet size that can be transmitted along the entire route without being subject to fragmentation . It is therefore equal to the smallest MTU of all Layer 2 sections in the path. The PMTU can be determined automatically by PMTU Discovery (PMTUD) .

Example letter

The MTU concept can be adapted to letter correspondence. A compact letter may weigh a maximum of 50 g. The letter needs an envelope to transport it. B. 4 g and a postage stamp 0.3 g. These 4.3 g correspond to the size of the data link layer headers. This means that the MTU (the maximum content for a compact letter or packet size ) is 50 g - 4.3 g = 45.7 g. If you want to send more weight, you have to switch to another protocol (a large letter for more postage) or split the content over several letters, i.e. fragment it .

Example Ethernet

An Ethernet frame consists of two parts: the "header" , in which the source and destination addresses and other important parameters for sending are coded, and the payload, the size of which is determined by the MTU.

In this experiment, the size of the MTU is specified as 1500 bytes. With the help of the ping program, a “frame” is generated, which is then sent in the network via the Ethernet protocol. The use of the term payload is ambiguous here, since the various protocols are packed ( encapsulated ) into one another in the OSI model . The Linux command ping -s 1472 10.0.0.1 ( Windows command ping -l 1472 10.0.0.1 ) used in the experiment then sends an ICMP packet with a payload of 1472 bytes to the IP address 10.0.0.1.

# ping -f -l 1472 10.0.0.1
          1472 bytes Nutzlast des ICMP-Protokolles (Transportschicht)
        +    8 bytes ICMP-Header (Transportschicht)
        +   20 bytes IPv4-Header (der Vermittlungsschicht)
       -------------
        = 1500 bytes (Nutzlast von Ethernet)
        +   14 bytes (Header der Sicherungsschicht)
        +    4 bytes (Frame Check Sequence)
       -------------
        = 1518 bytes (kompletter Ethernet Frame)

With a sniffer such as B. Wireshark , the Ethernet header only shows the size of 14 bytes. In addition there is the 4-byte frame check sequence at the end of the frame. If VLANs are used, the data link layer header consists of 18 bytes and the entire Ethernet frame can have a size of up to 1522 bytes. If IPv6 were used, the above calculation would be changed so that the IPv6 header of the network layer would be 40 instead of 20 bytes and thus only 1452 bytes would be possible instead of 1472 bytes ICMP payload.

It is often helpful to tell the ping program to set the "don't fragment (DF) bit" for the test packets in the IPv4 header (for Linux e.g. ping -M do -s 1472 10.0.0.1 , for Windows: ping -l 1472 -f 10.0.0.1 ), because then you will receive a message if the MTU is exceeded. The Path MTU can be made easily visible with the program tracepath for IPv4 or tracepath6 for IPv6.

Influence on other protocols

The MTU is a hardware-dependent value that influences all parameters above the data link layer of the OSI model. This is easily explained using the example of Ethernet : In this network, all layer 3 packets, for example IP packets, are transmitted in “Ethernet frames”. The payload of this Ethernet frame (i.e. the IP packets) must not exceed the MTU value. The length of the TCP user data ( maximum segment size ) is therefore calculated directly from the MTU.

Other examples and problems

Jumbo frames for Gigabit Ethernet can contain significantly more than 1518 octets, making it possible to transmit larger packets without fragmentation. On the positive side, the protocol overheadcan be reducedwhen using jumbo frames and routers have to handle fewer packets. However, the terminology regarding MTU is so inconsistent among the manufacturers that it is difficult in practice to deviate from the standard settings. Furthermore, jumbo frames are notspecifiedin the IEEE 802.3 standard, but most manufacturers of Gigabit Ethernet switches and routers support MTUs of up to 9000 octets. A Path MTU of approx. 1500 byteshas become a quasi-standardon the Internet, which can usually not be exceeded anyway due to the widespread Ethernet.

With the advent of Internet access based on tunnel protocols , for example when establishing connections via the PPPoE protocol , MTU has gained in importance. Although in this case the PMTUD is supposed to ensure that communication is possible despite the MTU being lowered through the tunnel, there are always misconfigured firewalls that disrupt the PMTUD by discarding ICMP control packets . Large websites are also often affected by this configuration error, so that users of tunneled access must reduce the MTU of their devices in order to be able to communicate with these sites.

There are many discussions about the optimal MTU. In short:

  • simple optimization: as large as possible without causing problems
  • complex optimization: so much smaller than the above. Maximum that the scrap of the transport cells of the ATM transport layer below the DSL layer is as small as possible.

The MTU for ATM (4500) should not be confused with the cell size (53 bytes, 48 ​​of which are payload). When transmitting via an ATM link, IP packets are broken down into pieces of 48 bytes each and distributed over several ATM cells for transmission. The router at the other end of the ATM link collects these cells and reassembles the original IP packet. In contrast, with IP fragmentation, the packet is not reassembled by the router, but only by the host for which the packet was intended.

Problems that can occur due to an incorrect MTU value are websites that are not or only partially displayed.

Different use of the term by important manufacturers

The router manufacturers Cisco and Juniper use the term MTU in their configuration syntax as the maximum frame or packet size of the network layer to be configured. The following settings correspond to each other. For both manufacturers, the first appearance of the term means the maximum Ethernet frame size and not the maximum size of the payload (Maximum Segment Size) and this must therefore be selected a few bytes larger than the subsequent settings for the various Layer 3 protocols.

Cisco:

interface GigabitEthernet2/3
 mtu 9192
 ip address 192.168.0.1 255.255.255.252
 ip mtu 9000
 ipv6 address 2001:DB8::1/64
 ipv6 mtu 8000
 ipv6 router isis
 clns mtu 1497
!

Juniper:

interfaces {
    ge-0/0/0 {
        mtu 9192;
        unit 0 {
            family inet {
                mtu 9000;
                address 192.168.0.2/30;
            }
            family inet6 {
                mtu 8000;
                address 2001:DB8::2/64;
            }
            family iso {
                mtu 1497;
            }
        }
    }
}

See also

  • RFC 791 - INTERNET PROTOCOL
  • RFC 879 - The TCP Maximum Segment Size and Related Topics
  • RFC 1191 - Path MTU Discovery
  • RFC 1981 - Path MTU Discovery for IP version 6
  • RFC 2923 - TCP Problems with Path MTU Discovery
  • Dr. TCP , software for setting the MTU under Windows, was originally written for DSL users.
  • MTU , another software (freeware) for setting the MTU under Windows.
  • Analyzing TCP Header Options - Section 6 - Detailed explanation of the MTU and MSS

Individual evidence

  1. Determine the optimal MTU size. In: Markus Hanf, vpntester.de. September 3, 2018, accessed October 16, 2019 .