MTU - Adjusting MTU to accommodate additional headers
The MTU parameters may need to be adjusted when employing various protocols such as GRE or PPPoE. But what is the logic of those adjustments? Sometimes it's counterintuitive to think that you may need to decrease the MTU size to accommodate additional headers. Here's an explanation of the reasoning behind these adjustments.
Keep in mind that there are various MTU sizes that we can adjust:
- Interface MTU - this is the MTU at Layer 2, which is the default maximum size of the payload of an Ethernet frame.
- IP MTU - this is the MTU of the maximum size of the IP packet (including the header) that’s used to determine IP fragmentation.
- TCP MSS - This is the maximum size of the TCP segment payload (excluding TCP header)
When we decrease the size of the MTU to accommodate additional headers that are added by protocols such as PPPoE, we are not decreasing the Interface MTU. If we were, then it would make things worse. We are actually making the IP MTU smaller. If we make the IP MTU 1492 for example, then that means that during encapsulation from the Network Layer to the Data Link layer (from IP to Ethernet) the largest payload that the Ethernet frame will receive is 1492 bytes. That means that if we are employing other protocols such as PPPoE, we have room for an extra 8 bytes to add additional headers.
So we are not making the MTU of the interface smaller, but we are making the size of the Ethernet frame’s payload smaller, in order to accommodate additional headers.