Lorsque l’on cherche à optimiser les réglages réseaux, on peut tomber sur des notions comme le MSS (maximum segment size) et MTU (maximum transmission unit).
Ce sont des mesures et réglages de taille de paquets ou segment du protocole TCP.
Dans cet article, nous allons voir en détails ce qu’est le MSS et MTU.
Comment doit-on le régler.
Table des matières
Introduction au protocole TCP
Le protocole de contrôle de transport, ou TCP, est un protocole qui garantit que les paquets de données sont livrés et reçus dans l’ordre, sans paquets perdus.
Pour cela, il embarque donc une vérification du contrôle de flux (Flow control en anglais).
Une connexion est établie puis un flux passe.
Cela se caractérise par des paquets.
Les paquets sont associés à plusieurs en-têtes contenant des informations sur leur contenu et leur destination.
Pour plus d’informations, lire cet article qui explique comment une connexion TCP s’établit :
Enfin cet article qui donne la structure d’un paquet TCP :
Les paquets de données comportent deux parties principales: l’en-tête (header) et la charge utile (payload).
Les tailles des paquets et leurs en-tête sont fixés, ainsi :
- La taille de l’en-tête est de 20 bytes
- La taille maximum d’un paquet TCP/IP est 64K (65535 bytes) mais dans la réalité, les réseaux ont des limites de taille que nous allons voir en détails
Qu’est-ce que le MTU
En réseau, l’unité de transmission maximale (MTU) est une mesure représentant le plus gros paquet de données qu’un appareil connecté au réseau acceptera.
Imaginez-le comme une limite de hauteur pour les passages inférieurs ou les tunnels d’autoroute: les voitures et les camions qui dépassent la limite de hauteur ne peuvent pas passer, tout comme les paquets qui dépassent le MTU d’un réseau ne peuvent pas passer par ce réseau.
Dans ce cas là, le paquet est divisé en plusieurs morceaux.
On parle de fragmentation du paquet.
Cela nécessite plus de temps et le destinataire doit rassembler les paquets.
Ainsi une version optimum de MTU correspond à la valeur maximale que le réseau accepte.
S’il est trop bas, cela ajoute de la latence.
Qu’est-ce que le MSS
MSS (taille de segment maximale) limite la taille des paquets, ou petits morceaux de données, qui voyagent sur un réseau, tel qu’Internet.
Toutes les données qui transitent sur un réseau sont divisées en paquets. Les paquets sont associés à plusieurs en-têtes contenant des informations sur leur contenu et leur destination.
MSS mesure la partie non-en-tête d’un paquet, qui est appelée la charge utile.
Plus précisément, MSS est la plus grande taille de segment TCP (Transport Control Protocol) qu’un périphérique connecté au réseau peut recevoir. MSS définit le «segment» comme étant uniquement la longueur de la charge utile, et non les en-têtes attachés.
il se est mesur en octets.
MSS mesure la partie non-en-tête d’un paquet, qui est appelée la charge utile.
On utilise la formule suivante pour définir le MSS qui consiste à retirer les en-tête au MTU :
MTU - (TCP header + IP header) = MSS
Certains protocoles ajoutent des données dans les paquets TCP.
C’est le cas de IPsec (Internet Protocol security) qui permet de chiffrer les paquets IP utilisés notamment par des solutions de VPN.
Ainsi la formule devient :
MTU - (TCP header + IP header + IPsec) = MSS
Dans un réseau Ethernet le MTU maximale est de 1500, ce qui signifie qu’il n’accepte que des paquets d’une longueur maximale de 1 500 octets.
Au delà, les paquets plus longs seront fragmentés.
Le MSS du routeur doit être défini sur 1 460 octets.
Ainsi les paquets avec une taille de charge utile supérieure à 1 460 octets seront supprimés.
Un périphérique peut envoyer un paquet trop volumineux comme celui-ci par erreur s’il ne connaît pas les paramètres MTU et MSS des routeurs entre lui et un autre périphérique.
Un processus appelé path MTU discovery permet d’éviter de tels incidents.
Qu’est-ce que le path MTU discovery (PMTUD) ?
MTU discovery (PMTUD) est une méthode qui permet d’obtenir le MTU de tous les équipements que traversent un paquet.
Pour déterminer le meilleur MTU, 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 vous permet d’obtenir vos réglages MTU et MSS ainsi que d’autres paramètres TCP/IP.
Comment optimiser le MTU ?
Pour déterminer le meilleur MTU, on peut utiliser le même principe que le path MTU discovery.
Le but étant d’envoyer des paquets fragmentés de différentes tailles pour voir si un équipement drop ou le fragmente.
Avec la commande ping
La commande ping et envoyer des paquets non fragmentés avec l’option -f et une taille de mtu différent avec -l :
ping www.yahoo.com -f -l 1450
ping www.yahoo.com -f -l 1500
Ci-dessous, on voit qu’avec une taille de MTU 1500 et 1400, les paquets doivent être fragmenté.
A 1300, le ping passe.
Ainsi le meilleur MTU se situe entre 1300-1400, il faut alors entourer ces valeurs pour déterminer le MTU optimum.
Une fois le MTU optimal déterminé, Windows permet de modifier les réglages MTU depuis le registre Windows ou via la commande CMD netsh.
L’article suivant vous guide pour le faire :
Avec TCP Optimizer
Le programme gratuit TCP Optimizer permet de déterminer le meilleur réglage MTU et de le modifier le MTU.
- Télécharger TCP Optimizer
- Lance le par un clic droit puis exécuter en tant qu’administrateur
- Cliquez sur MTU/Lancety
- puis en bas sur Largest MTU. Les ping s’affichent en liste et en bas, le meilleur MTU est indiqué. Ici la valeur est de 1420.
- Ensuite pour modifier le MTU, rendez-vous dans l’onglet General Settings
- Vous pouvez vous aider de ce lien au besoin : Convertir des bits, octets, kilo-octets, Mega-octets, Giga-octets, Gbps, Mpbs
- Cochez en bas à droite Custom
- Réglez l’interface réseau avec le MTU trouvé précédemment
Liens
- Optimiser et accélérer les connexions réseau et internet sur Windows 10
- Optimiser sa connexion Ethernet
- Protocole TCP, UDP, ICMP : fonctionnement et différences
- Le protocole TCP/IP : définition, architecture et couches
- L’établissement d’une connexion TCP/IP
- ICMP (Internet message protocol) : définition, fonctionnement du protocole
- UDP (User Datagram Protocol) : définition, structure du protocole
- Qu’est-ce que l’adresse IP ?
- La fragmentation des paquets IP : tout savoir
- Qu’est-ce que le MTU et MSS et comment l’optimiser
- Qu’est-ce que le routage IP et les types de routage
- Les couches du modèle OSI pour les nuls
- Les réseaux informatiques – le dossier