MTU Troubleshooting on Cisco IOS

Hello Azm

First of all, the typical default TCP MSS for IPv4 is 536 and for IPv6 it is 1220. This is not found in an RFC, but is generally agreed upon by vendors. But this value can obviously be changed. The value of 1460 is a commonly used value, as seen in the lesson, because of the size of the underlying MTUs of the network layer (IP) and the Data Link Layer (Ethernet). 1460 is used simply because the Ethernet payload is limited to 1500, and we subtract the IP header size (20) and the TCP header size (20) from that to get 1460. It is the most efficient size making full use of the available payload capacity of each PDU.

Now as far as UDP goes, there’s no counterpart MSS associated with this protocol, because it doesn’t use sessions or segments, so no maximum segment size needs to be negotiated. The UDP header has a Length field that specifies the total length of the UDP datagram (header + payload), and that field is 16 bits in length. So theoretically, whole UDP datagram can be up to 65535 bytes. However, there are other factors that make the datagram size much smaller in real-world scenarios.

For UDP, it is the applications themselves, as well as the operation of the NIC cards of the end hosts that determine the actual size of a datagram. These processes take into account the underlying IP and Ethernet MTUs as well, to ensure an efficient transmission of data. But even if the datagram size is large, fragmentation will take place to ensure that the data “fits” in the payload of the underlying protocols.

I hope this has been helpful!

Laz