IPv6 packets cannot be fragmented on the transit node. Therefore, the packet length is often greater than the path MTU (PMTU). The source node then needs to continually retransmit the IPv6 packets, which reduces transmission efficiency. If the source node uses the minimum IPv6 MTU of 1280 bytes as the maximum fragment length, in most cases, the PMTU is greater than the minimum IPv6 MTU of the link, and the fragments sent by a node are always smaller than the PMTU. As a result, network resources are wasted. To resolves this problem, the PMTU discovery mechanism is introduced.
PMTU is the process of determining the minimum IPv6 MTU on the path between the source and destination. The PMTU discovery mechanism uses a technique to dynamically discover the PMTU for a path. When an IPv6 node has a large amount of data to send to another node, the data is transmitted in a series of IPv6 fragments. When these fragments are of the maximum length allowed in successful transmission from the source node to the destination node, the fragment length is considered optimal and called PMTU.
A source node assumes that the PMTU of a path is the known IPv6 MTU of the first hop on the path. If any of the packets sent on that path are too large to be forwarded, the transit node discards these packets and returns an ICMPv6 Datagram Too Big message to the source node. The source node sets the PMTU for the path based on the IPv6 MTU in the received message.
When the PMTU learned by the transit node is less than or equal to the actual PMTU, the PMTU discovery process is complete. Before the PMTU discovery process is completed, ICMPv6 Datagram Too Big messages may be repeatedly sent or received because there may be links with smaller MTUs further along the path.