What is Path MTU Discovery (PMTUD)?

preview_player
Показать описание
What is PMTUD? MSS takes care of fragmentation at the two endpoints of a TCP connection, but it does not handle the case where there is a smaller MTU link in the middle between these two endpoints. PMTUD was developed to avoid fragmentation in the path between two endpoints. PMTUD is built into endpoints TCP/IP stack. If the endpoint receives a Fragmentation Needed ICMP message, it will adjust its own MTU for that session. In other words, if an IPv4 end system receives an ICMP message saying a packet is too large, it sets the MTU to the appropriate maximum size and then itself fragments the packet to make sure it will not be discarded next time. The end system keeps cache a set of MTU values for each IP address in use. When there are a series of links along the path, each with increasingly smaller MTUs, the above process may take place several times, before the sender finally determines the minimum value of the path MTU. Once the path MTU has been found, all packets are sent segmented to this new value. In this model, Routers do not therefore have to do any additional processing for these packets. This is much more efficient than router fragmentation. However, practical problems are being experienced within the current Internet, caused by systems (e.g. some firewalls) that do not return the required ICMP messages back to the sender. The widely deployed version of PMTUD relies on messages received from the ICMP protocol.
Рекомендации по теме