Path MTU discovery (PMTUd) est une technique permettant de déterminer, dans un réseau informatique, la taille du MTU sur le chemin entre deux hôtes IP, afin d'éviter la fragmentation des paquets. Il est défini pour ICMP par le et pour ICMPv6 par la . La fragmentation IP affecte en effet les performances des routeurs et pose de plus des problèmes de sécurité. La découverte du MTU d'un chemin donné fonctionne en positionnant le bit DF (Don't Fragment) de l'en-tête IP sur tous les paquets sortants. Le long du chemin emprunté par un tel paquet, si l'un des hôtes traversés a un MTU plus petit que la taille du paquet, ce dernier sera rejeté et un message ICMP, contenant le MTU de l'hôte qui le génère, sera envoyé afin d'informer la source. Ce message est : type 3 / code 4, "Destination Unreachable" / "Fragmentation Needed and Don't Fragment was Set" en ICMP type 2 / code 0, "Packet Too Big" en ICMPv6. La source adapte alors la taille du prochain paquet en fonction du MTU reçu dans le message ICMP. Le processus est répété jusqu'à ce que la source parvienne à atteindre la destination. Si le MTU du chemin change après que la connexion a été établie et se trouve être plus petit que celui déterminé précédemment, le premier paquet trop grand à emprunter le chemin causera l'envoi d'un nouveau message ICMP, relançant le processus de PMTUD. De même, durant la connexion, la source peut périodiquement resonder le chemin pour découvrir si celui-ci permet désormais un MTU plus grand. Bien que rares, ces cas de figure peuvent être provoqués par des changements de route, dus aux protocoles de routage dynamiques ou à une intervention humaine sur le réseau. Malgré son utilité, la PMTUd souffre d'un certain nombre de problèmes, pour la plupart liés à des contraintes de sécurité mais également, parfois, à son effet sur les performances des transmissions sur Internet. De nombreux équipements — par exemple les routeurs ou les pare-feux — permettent de bloquer tout ou partie du trafic ICMP, soit par défaut, soit à la suite d'une décision d'un administrateur.
Luc Thévenaz, Sang Hoon Chin, Andrea Trita
Jean-Pierre Hubaux, Kévin Clément Huguenin, Nevena Vratonjic, Vincent Bindschaedler
Jean-Pierre Hubaux, Kévin Clément Huguenin, Nevena Vratonjic, Vincent Bindschaedler