Notes – MTU and PMTU

This is by no-means a full guide to MTU or PMTU but a small collection of notes.

Protocol Overhead

VLAN Tag (Dot1q)4 Bytes
MPLS4 Bytes
IP20 Bytes
TCP Header20 Bytes
UDP Header8 Bytes
ICMP Header8 Bytes

Example

To send a ping with a full 1500 byte packet , you can run the command below.
The 1550 bytes will consist of – ICMP Payload (1472 bytes) + ICMP Header (20 bytes) + IP Header (20 bytes)

ping -s 1500 [destination ip]

Check fragmentation

Note: The -M switch option in ping is for “Select Path MTU Discovery strategy”

do       –   (prohibit fragmentation, even local one),
want   –   (do PMTU  discovery, fragment locally when packet size is large)
dont    –   (do not set DF flag).

ping -M do -s 1472 google.com
ping -M do -s 1473 google.com

1. If the top ping works, then all the nodes that you routed through on your way to google should have an MTU of 1500.

2. The bottom ping shouldn`t work and you should see the following,

From 10.1.1.20 icmp_seq=1 Frag needed and DF set (mtu = 1500)

This is because you own NIC will fragment the packets due to exceeding the MTU value.

References

For full guides and various Cisco commands please check out the following links.

mtu-manipulation
path-mtu-discovery

Rick Donato

Want to become a networking expert?

Here is our hand-picked selection of the best courses you can find online:
Cisco CCNA 200-301 Certification Gold Bootcamp
Complete Cyber Security Course – Network Security
Internet Security Deep Dive course
Python Pro Bootcamp
and our recommended certification practice exams:
AlphaPrep Practice Tests - Free Trial