What is MTU?
MTU stands for maximum transmission unit in computer networking. It refers to the largest data frame or packet that can be transferred between the nodes using the connection. The size of the frame or the packet is computed in bytes or octets, where one octet is an eight-bit byte. This term is widely used to represent the packet size in an Ethernet connection implemented using the Internet Protocol. However, there is a difference between MTU and maximum frame size.
The greater maximum transmission unit is related to the reduced overhead. At the same time, if the MTU value is less, it can reduce the delay in transmission in the network. In most scenarios, MTU is determined by the underlying network capacity. It should be managed either manually or automatically so that it does not surpass the network's capacity.
Some nodes can adjust the maximum transmission unit when connecting with the other node. This is done by using Path MTU Discovery. MTU parameters may be represented with the communications interface or standard.
Application of MTU
MTU and Packet Fragmentation in the Network
Each node in the network has a limit to the maximum transmission unit size that can be transmitted or received by that node in the network. The node determines the MTU of the next receiving node in the network before sending the data frame to that node. This is done to ensure that the packet size is not larger than the MTU of the node. If it is larger, then it won't accept the data frame. Thus, the packet is first divided into smaller parts. The process is known as fragmentation of the data frame.
Though performing fragmentation is not ideal as it reduces the performance of data transmission by adding delay and overhead data to the data, to ensure the best performance of the network, the MTU of the original transmitting node should be kept as high as possible; the value should be still less than the MTU of all the nodes connected in the network that are connected between the sender and final receiving node in the network. It is impossible to set these values automatically the first time because the sender node does not know the maximum transmission node for all the nodes in the network. The sender node only knows the MTU of the next node in the transmission.
The user can think of MTU as the maximum weight that can be transported as a single package. Consider if an organization wants to transfer 1000 kg of goods to another location. The goods are initially stored in a warehouse with trucks that can be used to deliver the goods. The complete shipment is packed into a single package and delivered as a single package. This is similar to transmitting the data between the nodes with a large MTU where all the nodes should support the MTU. It is very efficient as there is no requirement to instruct multiple transporters with information.
Now consider another example where the organization needs to transport the same amount of goods to a smaller organization. The smaller organization lacks resources to transport the resources. They can only accept the goods from a mail carrier that has a small van. If the company sends the entire order through a single large package, the organization would have to split this larger package into smaller boxes to be transported further in the smaller van and delivered to the smaller organization. This is similar to the scenario where the sender node only supported the larger MTU, which is too much to handle by the receiver or intermediary node. The more appropriate approach will be where the MTU is determined by the original sender, in this case, the bigger organization, such that it can be supported by all the intermediary nodes rather than performing fragmentation at an intermediate load. This will be more efficient as the overhead will be added once during transmission. Moreover, it may be possible that fragmentation will be performed by multiple intermediary nodes, reducing the transmission performance.
Packet fragmentation is only possible in Internet Protocol Version 4.0 (IPv4). Suppose the sender node transmits a data packet larger than the MTU over IPv4. The protocol automatically performs fragmentation of the data packet. This step is not performed if the data packet has a do-not-fragment flag set. The IPv6 protocol does not support fragmentation. If a packet larger than MTU is detected in the network, it is dropped from the network.
Types of Maximum Transmission Units
Ethernet Maximum Transmission Unit (EMTU)
The Ethernet frame is in the data link layer of the OSI model. It is the second layer in Open System Interconnection. The standard size of the Ethernet maximum transmission unit is 1500 bytes. The maximum frame size transmitted using Ethernet is 1518-1520. This 18-20 bytes of data comprises the header and additional overhead of the data frame. It is also theoretically the maximum size of the data frame that can be transferred using a physical cable. The MTU from any higher-level protocols must range within the standard MTU. If the data frame size exceeds the MTU, then it can't be transmitted by the Ethernet.
Internet Protocol Maximum Transmission Unit (IP MTU)
The Internet Protocol is implemented in the third layer of the Open System Interconnection. The size of the IP MTU packet can be determined independently of the size of the Ethernet frame. The size of the IP MTU must be smaller than the size of the Ethernet frame because, in the end, the data frame is transmitted using the Ethernet cable. The IP MTU comprises the size of the data frame and the overhead data. It includes the header and the data payload transmitted with the frame. The size of the TCP/IP header is about 40 bytes.
Returning to the analogy, consider the maximum weight the forklift can lift is 1500 kg. And the size of each package is 70 kg. Then the maximum weight that can be loaded on the forklift will be 1470 kg. Adding one more package will exceed the maximum limit of the forklift.
Suppose the network implements an additional intermediary protocol during data frame transmission. Some protocols implemented between transmissions are GRE, SNAP or IPsec. However, these protocols are not included in the maximum transmission unit of the sender. It is necessary to consider the data from these protocols during the transmission. The user must include them during the network design to ensure that this does not exceed the maximum transmission unit of the intermediary nodes in the network.
This protocol will add additional data to the data frame required to perform encryption on the data frame. Additional data will be added to the data frame. This additional data contains information about encryption. This increases the size of the data packet, ultimately exceeding the 1500-byte limit. For instance, if an institution fixes the maximum transmission unit size to 1500 bytes, it must transmit the data frame over a virtual private network that IPsec secures. Thus, the packet can no longer be transmitted through an Ethernet cable. Therefore, the packet is fragmented before transmission.
To understand the above concept, consider the following analogy in which there is a warehouse that requires to keep safe the goods stored in the warehouse. They decide to store the entire shipment in a locked safe. If the weight of the locked safe used for storing the shipment is not taken into account, the total weight of the goods (data payload), pallet (header and flags), and the locked safe(IPsec) can exceed the total weight that the forklift can handle. Here forklift capacity represents the MTU of the node.
Maximum Segment Size and Maximum Transmission Unit
The packet is the data the sender node wants to transmit to the receiver node. It is the most data that the sender node can transmit in a single data packet without exceeding the MTU of the node. The maximum segment size represents the maximum size of the data payload in a data packet.
The user can compute the MSS by subtraction the header size from the IP MTU. The IP MTU is on the Layer 4 of the Open System Interconnection model.
Jumbo Frames and MTU
Jumbo frames are when the Ethernet MTU is more than the standard 1500 bytes. This is possible when the nodes are connected using fast Ethernet cables. If the user uses a Gigabit LAN, it increases the MTU to almost 9000 bytes. This is useful when you have reliable connections. This reduces the overhead by transmitting a larger volume of data as a single packet. It increases the efficiency of data transmission in the network.
The size of the jumbo packet depends on the vendor. The jumbo frames are not guaranteed to be used over the internet. Therefore, these frames are avoided during transmission over the internet and are used to transmit data in a dedicated specialized network that ensures frame delivery. An example of this network is a storage area network (SAN). Since a large volume of data is handled in this network, using jumbo frames to optimize network performance is beneficial.
Determining the MTU of All Nodes
Optimizing Maximum Transmission Units
Internet Protocol and its Effect on MTU
Disadvantages of Using Larger MTU