A path MTU test instance is used to obtain the maximum MTU value that does not require packet fragmentation during the packet transmission on the link.
When one host sends a large number of IP packets to another host, the IP packets are fragmented according to the maximum acceptable packet length. This affects forwarding efficiency. It is preferable that these packets be of the largest size that does not requires fragmentation anywhere along the path from the client to the server. This packet size is referred to as the path MTU.
Usually, the path MTU is equal to the minimum of the MTUs of each hop along the sub-paths.
As shown in Figure 1, the MTU value between DeviceA and DeviceB is 100 bytes and between DeviceB and DeviceC is 200 bytes. Therefore, the path MTU value between DeviceA and DeviceC is 100 bytes.
DeviceA sends an ICMP probe packet to DeviceC, with the packet size as the minimum range (The value is configurable and the default value is 48 bytes).
When the first probe packet successfully hits the destination, DeviceA continues to send ICMP probe packets with incremental steps (which is configurable and the default value is 10 bytes) to DeviceC until three consecutive packets time out. This indicates that the MTU of the sent packet is greater than the minimum path MTU.
DeviceA sends a 48-byte detection packet to DeviceC to check the connectivity of the network. If the connectivity of the network is normal, the size of the last successful probe packet before the timeout in step 2 is the maximum path MTU.
The packet header contains a Don't Fragment (DF) flag, indicating whether a packet can be fragmented. The DF field should be set to 1, indicating that the device cannot fragment the packet.