fir3net
PPS-Firenetbanner-780.5x190-30-03-17

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
MPLS 4 Bytes
IP 20 Bytes
TCP Header 20 Bytes
UDP Header 8 Bytes
ICMP Header 8 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

About the Author

RDonato

R Donato

Rick Donato is the Founder and Chief Editor of Fir3net.com. He currently works as a Principal Network Security Engineer and has a keen interest in automation and the cloud.

You can find Rick on Twitter @f3lix001