MTU - Path MTU Discovery (PMTUD)
Path MTU Discovery (PMTUD) is a technique used in networking to determine the maximum transmission unit (MTU) size on the path between two IP hosts, ensuring that IP packets are transmitted without the need for fragmentation. Fragmentation occurs when packets are larger than the MTU of any hop in the path from source to destination, causing performance issues and increased latency. Here’s a breakdown of how PMTUD works:
-
Starting Assumptions: The sender starts by assuming the path MTU is the MTU of its own outbound interface. This is often the MTU of Ethernet, which is 1500 bytes, but can be different depending on the network.
-
Don't Fragment Flag: To discover the path MTU, the sender sets the "Don't Fragment" (DF) flag in the IP headers of the outgoing packets. This tells routers not to fragment the packet if it exceeds the MTU of the network segment.
-
Detection of Exceeded MTU: If any of the packets exceed the MTU of a network segment, the router that encounters the oversized packet will drop it and send back an ICMP (Internet Control Message Protocol) "Fragmentation Needed and DF Set" message to the sender, indicating the MTU of that network segment.
-
Adjusting the MTU: Upon receiving the ICMP message, the sender adjusts its MTU assumption to the MTU reported by the ICMP message and retransmits the packet with the new smaller size. This process continues until the packet reaches its destination without being fragmented.
-
Path MTU Discovery Process: This entire process allows the sender to discover the smallest MTU along the path to the destination, which is the Path MTU. The sender can then send packets of this size or smaller without worrying about fragmentation in the network.
PMTUD is particularly important for the performance of TCP/IP networks because it helps avoid fragmentation, which can significantly reduce throughput and increase latency. For protocols like TCP, it also helps in efficient utilization of network resources by optimizing packet sizes to fit the network path characteristics.
However, PMTUD has challenges, such as ICMP filtering by firewalls, which can block the ICMP messages necessary for MTU discovery, leading to issues where packets are dropped silently without the sender being notified to adjust packet size. To address some of these issues, TCP uses mechanisms like MSS (Maximum Segment Size) announcement during the handshake process to negotiate packet sizes without relying solely on PMTUD.