Le DNS se résout, la session SSH tient, puis un gros envoi se fige alors qu’un ping vers le même hôte répond encore. Cette séparation pointe vers la taille des paquets plutôt que vers un tunnel cassé. Les tunnels imbriqués y arrivent à des tailles qu’aucun des deux tunnels n’atteindrait seul. La session interne va bien ; on lui remet simplement des paquets qui ne tiennent plus.

Où va réellement la MTU du chemin

Chaque encapsulation dépense des octets avant que la couche suivante ait son tour. Un chemin Ethernet offre 1500 octets au paquet externe, et le tunnel externe prend sa part avant que quoi que ce soit à l’intérieur puisse être adressé. Une seule valeur de surcoût devinée sera fausse exactement du montant qui compte.

Énumérez les couches dans l’ordre : chemin d’accès, transport externe, tunnel externe, transport interne, tunnel interne, application. Comptez chaque en-tête une fois, et gardez l’UDP séparé de l’en-tête et de l’étiquette propres au tunnel.

Deux couches WireGuard, comptées une fois

Prenez un chemin d’accès IPv4 avec un tunnel WireGuard dans un autre. La couche externe coûte 20 octets d’IPv4, 8 d’UDP et 32 pour l’en-tête de données WireGuard plus son étiquette d’authentification. À l’intérieur, le tunnel interne a besoin de son propre en-tête IPv4 de 20 octets et d’un en-tête UDP de 8 octets avant ses seconds 32 octets de surcoût WireGuard. Ce qui reste contient un en-tête IPv4, un en-tête TCP et les données. Un chemin externe IPv6 coûte 40 au lieu de 20 et laisse 1320.

LayerBytes
Path MTU1500
Outer IPv4 header20
Outer UDP header8
Outer WireGuard header and tag32
Inner transport IPv4 header20
Inner UDP header8
Inner WireGuard header and tag32
Innermost IPv4 header20
TCP header20
Payload that fits1340

L’arithmétique aboutit à 1340 octets. Une seule couche selon les mêmes règles laisse 1400 pour la charge utile TCP, soit 1500 moins 20, 8, 32, 20 et 20, et l’écart de 60 octets est exactement l’encapsulation interne qu’ajoute le second tunnel.

Appliquez 1400 à un chemin imbriqué et le tunnel interne manque de 60 octets, invisible jusqu’à ce qu’un paquet soit assez grand pour en avoir besoin. Le remplissage et l’option de fragmentation propre à un protocole déplacent encore les chiffres, alors faites confiance au tableau.

MTU, MSS et fragmentation agissent à des endroits différents

La MTU de l’interface plafonne ce que l’interface émettra, tandis que le serrage MSS de TCP change ce qu’un pair TCP accepte d’envoyer. Le serrage répare les sessions TCP et ne fait rien pour un gros datagramme UDP, ce qui fait qu’un correctif semble réussir pour une application et rate silencieusement la suivante. L’option de fragmentation propre à un protocole est un troisième levier avec ses propres échecs. La MTU de l’interface est le premier geste courant et le plus grossier.

Les tunnels pontés et routés transportent des trames différentes, aussi les chiffres d’un autre déploiement se transposent rarement. La découverte de MTU de chemin, décrite dans RFC 8201, n’aide que tant que les messages ICMP dont elle dépend sont autorisés à passer.

Trouver la couche qui manque

Vérifiez chaque tunnel seul avant de les imbriquer, si les exigences permettent une comparaison. Une sonde de taille fixe tranche : ping -M do -s 1472 -c 3 10.8.0.1 envoie un paquet IPv4 complet de 1500 octets dans cette couche. Ajoutez la seconde couche et répétez la même sonde, afin que tout échec appartienne à un changement connu.

Quand un transfert se bloque, changez un paramètre documenté à la fois et notez la taille qui échoue. Vérifiez aussi le chemin de retour, car la récursion de routes imbriquées peut imiter un problème de taille de paquet d’assez près pour coûter un après-midi. Une réponse ICMP filtrée peut masquer la vraie limite, donc la sonde compte plus que le raisonnement.

Écrivez le budget là où la personne suivante le trouvera

Un tableau avec une ligne par couche survit à une règle empirique. Gardez-le à côté du schéma du tunnel pour que personne ne refasse l’arithmétique sous pression.

Plus de tunnels signifie plus de dépendances, donc un plan de retour en arrière mérite sa place à côté du budget. Si les chiffres ne collent toujours pas, mesurez le chemin au lieu de deviner encore. Le but est un chiffre que vous pouvez défendre, pas mémoriser.

Articles similaires