Fiche savoir : la fragmentation IP

Présentation

La taille maximale d’u􀅶 paquet IP est définie par la valeur de la MTU (Maximum transmission unit).

Ce paramètre permet à l'interface de sortie d'un équipement :

d'adapter la taille des paquets aux capacités de la couche 1 et 2 (Ethernet pour les réseaux locaux) pour un PC ou un routeur ;

te tenir compte de l’utilisation d’encapsqulation spécifiques (VPN, PPP, …) pour un routeur.

Quand le paquet est acheminé jusqu’à sa destination, des liens ayant une capacité de transmission inférieure peuvent être utilisés. Dans ces cas, le paquet IP est fragmenté par les routeurs de transit dont la MTU serait inférieure :

En IPv4, la fragmentation d’un paquet est interdite* lorsque le bit DF est positionné dans l’en-tête IP. La MTU minimale est de 576 octets.

En IPv6, la fragmentation par un équipement intermédiaire est interdite. La MTU minimale est de 1280 octets.

Un paquet IP qui ne peut être acheminé compte tenu de la MTU de l'interface d'entrée est détruit (drop).

L’option offset indique la position de chaque portion des données qui ont dû être fragmentées.

MTU discovery (PMTUD)

Lien : https://www.malekal.com/quest-ce-que-le-mtu-et-mss-et-optimiser/

MTU discovery (PMTUD) est une méthode qui permet d’obtenir le MTU de tous les équipements que traversent un paquet :

on envoie des paquets jusqu’à ce que ce dernier ne soit plus droppé par un des routeurs le long du chemin.

Lorsqu’un périphérique le long du chemin abandonne le paquet, il renvoie un message ICMP avec son MTU.

Le périphérique source abaisse son MTU et envoie un autre paquet de test.

Ce processus est répété jusqu’à ce que les paquets de test soient suffisamment petits pour traverser tout le chemin du réseau sans être abandonnés.

Le site speedguide permet d’obtenir les réglages MTU et MSS d'un PC ainsi que d’autres paramètres TCP/IP.

Pour définir un volume individuel de MSS, il suffit de le préciser dans le champ Options avant la transmission des premières données : l’expéditeur et le destinataire conviennent généralement du volume maximum des segments TCP à expédier : Maximum Segment Size – MSS. Cela est fait lors de l'établissment de la connexion TCP (3 way handshake).

Des ajustements supplémentaires doivent alors être faits pour la partie Données utiles.

Optimiser le MTU

La commande ping permet de déterminer le meilleur MTU, en utilisant le même principe que le path MTU discovery : envoyer des paquets fragmentés de différentes tailles pour voir si un équipement drop ou fragmente le paquet.

Paramètres de la commande ping :

envoyer des paquets non fragmentés avec l’option -f

envoyer des paquets avec une taille de MTU différente avec -l

ping www.yahoo.com -f -l 1900

La commande netsh de Windowqs permet de modifier la valeur de la MTU du PC.