Path MTU Discovery
Path MTU Discovery is a procedure for dynamic identification of the Maximum Transmission Unit (MTU) and thus the maximum packet size for a specific path in the network. In general, this information can be used to reduce overhead and prevent the fragmentation of data packets.
IPv4
In order to determine the maximum size that a data packet should have in IPv4 networks, the point in the path that allows the smallest data packets must be found. To do this, an IPv4 packet is sent with the DF bit (Don't Fragment) set and the size of the locally set maximum transmission unit . If the packet arrives at a point in the network where only a smaller MTU can be processed, an ICMP error type 3 code 4 (Destination Unreachable Fragmentation Needed, DF Set) is sent back, which also contains its own MTU. The local computer receives this ICMP packet and can now adapt the size of its messages to the MTU sent back. This is repeated for so long, was elected to the packet size small enough to allow the package the entire path without fragmentation can go through.
IPv6
In IPv6 networks there is no fragmentation of forwarded packets on routers, so Path MTU Discovery is decisive here for whether communication takes place using large packets. In IPv6, packets that are too large are rejected by the routers with the ICMPv6 error type 2 (Packet Too Big). This type of ICMPv6 packet is used for IPv6 instead of the ICMP error type 3 Code 4 packet from IPv4 for Path MTU Discovery.
Problems
If the ICMP type 3 code 4 or ICMPv6 type 2 packets are filtered at one point on the path, for example by a simple "ICMP deny" on a firewall , transmission problems can arise, as described in the article Maximum Transmission Unit described. Another method of determining the Path MTU is via TCP (or another packaging protocol). Larger packets are sent step by step, with the maximum size being determined by successfully transmitted packets.