Résumé

  • RFC 791 interdit à un routeur de fragmenter un datagramme marqué DF, mais autorise son abandon.
  • RFC 1191 transforme cet abandon en signal : ICMP Type 3 Code 4 peut fournir le Next-Hop MTU.
  • RFC 2923 décrit le trou noir PMTUD lorsque ce signal est filtré ou n’est jamais envoyé.

Quand le refus devient une mesure

Dans le champ Flags d’IPv4, DF signifie « Don't Fragment ». À zéro, la fragmentation reste permise ; à un, le routeur ne doit pas diviser le datagramme. Si le prochain lien est trop étroit, le paquet peut donc être abandonné. DF ne promet ni livraison ni découverte automatique d’une taille correcte.

RFC 1191 fait de cette contrainte le point de départ de Path MTU Discovery. La source estime d’abord une MTU, marque ses datagrammes DF et observe le résultat. Si un routeur ne peut pas transmettre le datagramme intact, il le supprime et renvoie ICMP Destination Unreachable, type 3, code 4 : fragmentation nécessaire et DF activé.

Le champ Next-Hop MTU ajoute une mesure à cette erreur. Ses seize bits de poids faible indiquent la taille maximale du datagramme IP que le routeur aurait pu transmettre sans fragmentation, en comptant l’en-tête et les données IP, mais pas la surcharge de la couche inférieure. La source réduit alors son estimation et évite de provoquer immédiatement d’autres erreurs.

La convergence appartient à l’émetteur. Il peut réduire ses datagrammes ou cesser de demander DF selon sa stratégie. Les essais d’augmentation doivent rester rares : au moins cinq minutes après un message de taille excessive et au moins une minute après une tentative d’augmentation réussie ; RFC 1191 recommande des intervalles deux fois plus longs.

Les anciens routeurs peuvent laisser Next-Hop MTU à zéro. L’hôte doit alors utiliser une stratégie bornée, par exemple rechercher parmi des valeurs de MTU connues. Le retour est moins précis, mais la compatibilité reste possible.

Le trou noir

RFC 2923 montre la dépendance centrale : si un routeur n’envoie pas l’erreur ou si un filtre la supprime, la source ne sait pas pourquoi ses datagrammes DF trop grands disparaissent. Une poignée de main TCP, un ping ou de petites écritures peuvent réussir, tandis qu’un transfert important s’arrête et expire.

Les mécanismes de détection et de repli peuvent réduire la taille, mais ils ajoutent du délai et masquent le défaut du chemin ICMP. La réparation préférable reste de rétablir le signal. DF n’est donc pas un détecteur isolé : le routeur limitant, le retour ICMP et l’adaptation de la source forment une seule boucle.

Sources