Path
MTU Discovery is a technique used to dynamically discover the path MTU from the
source to the destination using the DF (Don’t Fragment) bit from the IP header.
It is the smallest effective transmitted MTU along the path defined by IP
source, IP destination and maybe TOS of the packets. The basic idea of the
mechanism is that the source will assume the path MTU to be equal with the
known first hop MTU and to send IP packets with DF bit set with that known MTU
along the path. If along the path, a link has a next-hop smaller MTU the router
will drop the IP datagram and send back an ICMP Destination Unreachable with
the code Fragmentation needed and DF set. After receiving this ICMP message the
host will reduce the path MTU for that particular link.
There
are more ways to implement path MTU discovery as stated in RFC 1191 , the big differences are between router and
host implementation:
– The router must include the MTU of the
next-hop in the lower 16 bit of the ICMP Destination Unreachable –
Fragmentation needed and DF bit set (datagram too big as RFC says). This is the
most used implementation but it has its flows.
– The host implementation on the other
hand might elect to reduce the path MTU to the next-hop value received on the
ICMP Datagram too big message or clear the DF bit on the IP header.
– When the ICMP datagram too big message
does not contain the MTU of the next-hop, the things get complicated and a lot
of possible algorithms might be implemented by the hosts.