Réseau
DF : Don't Fragment, bit de l'en-tête IPv4 (RFC 791) qui interdit aux routeurs de fragmenter le paquet. « Ne pas fragmenter », par analogie avec le colis marqué « ne pas découper » : le transporteur qui ne peut pas le faire passer par la porte doit le renvoyer à l'expéditeur avec une note, plutôt que de sortir la scie.
Emplacement : L'en-tête IPv4 contient un champ de trois bits d'indicateurs : un bit réservé, DF, puis MF (More Fragments), qui signale qu'un fragment n'est pas le dernier.
Comportement : Un routeur qui reçoit un paquet DF plus grand que la MTU (Maximum Transmission Unit) du lien suivant le jette et renvoie un message ICMP (Internet Control Message Protocol) Destination Unreachable, code 4 « Fragmentation Needed and DF Set », qui indique depuis la RFC 1191 la MTU du saut suivant.
Découverte de MTU : Les systèmes modernes positionnent DF sur leurs segments TCP (Transmission Control Protocol) : c'est le ressort de la découverte de la MTU du chemin, qui ajuste la taille des paquets d'après les messages d'erreur reçus. Si un pare-feu filtre ces messages par excès de zèle, les gros paquets disparaissent sans explication : c'est le trou noir de MTU, où une connexion s'établit puis se fige au premier transfert conséquent.
En IPv6 : Le bit n'existe plus : un routeur IPv6 ne fragmente jamais, comme si tous les paquets portaient DF. Seule la source fragmente, et le message ICMPv6 Packet Too Big remplace le code 4 d'IPv4.
Ce qui arrive si on s'en passe
Sans le bit DF, les routeurs fragmentent en chemin les paquets trop grands. Le débit en souffre, la perte d'un seul fragment oblige à retransmettre le paquet entier, et la destination doit réassembler des morceaux arrivés dans le désordre, travail que les attaques par fragments chevauchants ou incomplets ont longtemps exploité pour épuiser la mémoire ou échapper aux systèmes de détection d'intrusion. Les identifiants de fragments, sur 16 bits, se recyclent en outre assez vite à haut débit pour que des fragments de paquets différents se mélangent (RFC 4963). Positionner DF et laisser passer les messages ICMP de fragmentation nécessaire évite ces ennuis ; filtrer ces messages en fabrique d'autres.
Explication de la marmotte
Sur Internet, chaque tronçon de route accepte des paquets d'une taille maximale. Quand un paquet est trop gros pour le tronçon suivant, l'équipement de passage peut le découper en morceaux. Le bit DF est une petite case cochée dans le paquet qui interdit ce découpage : le paquet est alors refusé et l'expéditeur reçoit un message lui indiquant la taille à respecter. Il renvoie ensuite des paquets plus petits. Si ce message est bloqué en route, la connexion semble marcher puis se fige sans raison apparente.
Où ce terme est utilisé
- GRE, IPsec ou GRE dans IPsec pour un tunnel site à site (3 occurrences)
- Résolution locale, ICMP, MTU et multicast (3 occurrences)
