L'unité de transmission maximale (MTU) est une mesure en octets des plus grands paquets de données qu'un appareil connecté à Internet peut accepter.
Cet article s'articule autour des points suivants :
Contenu associé
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
Dans les réseaux, l’unité de transmission maximale (MTU) est une mesure représentant le paquet de données le plus volumineux que peut accepter un appareil connecté au réseau. Représentez-vous cette mesure comme une hauteur limitée dans une voie souterraine ou un tunnel : les voitures et les camions qui dépassent la hauteur limitée ne peuvent pas passer, tout comme les paquets qui excèdent le MTU d’un réseau ne peuvent pas transiter sur ce réseau.
Cependant, contrairement aux voitures et aux camions, les paquets de données qui dépassent le MTU sont fragmentés en plus petites parties pour pouvoir passer. Ce processus est appelé fragmentation. Les paquets fragmentés sont réassemblés une fois arrivés à destination.
Le MTU est mesurée en octets - un « octet » est égal à 8 bits d'information, c'est-à-dire 8 uns et zéros. 1 500 octets est la taille maximale du MTU.
Toutes les données envoyées sur Internet sont décomposées en petits morceaux appelés paquets. Par exemple, lorsqu'une page Web est envoyée d'un serveur web à l'ordinateur portable d'un utilisateur, les données qui composent la page Web voyagent sur Internet sous la forme d'une série de paquets. Les paquets sont ensuite réassemblés par l'ordinateur portable pour former la page Web d'origine.
Les paquets de données comportent deux parties principales : l’en-tête et la charge utile. L’en-tête contient des informations sur les adresses de source et de destination du paquet, tandis que la charge utile est le contenu réel du paquet. Vous pouvez vous représenter l’en-tête comme l’étiquette d’expédition apposée sur un colis, et la charge utile comme le contenu du colis. (Contrairement aux colis, les paquets sur Internet comportent plusieurs en-têtes, attachés par différents protocoles réseau).
Le MTU est presque toujours utilisé en référence aux paquets de la couche 3*, ou aux paquets qui utilisent l'Internet Protocol (IP). Le MTU mesure le paquet dans son ensemble, y compris tous les en-têtes et le payload. Cela comprend l'en-tête IP et l'en-tête TCP (Transport Control Protocol) qui représentent en général 40 octets.
* Le modèle OSI divise les fonctions qui rendent Internet possible en 7 couches; la couche 3 est la couche réseau, où le routage a lieu.
Lorsque deux appareils informatiques initient une connexion et commencent à échanger des paquets, ces paquets sont acheminés sur plusieurs réseaux. Il est nécessaire de prendre en compte non seulement le MTU des deux appareils à chaque extrémité de chaque communication, mais également l’ensemble des routeurs, commutateurs et serveurs intermédiaires. Les paquets qui excèdent le MTU à tout endroit sur le chemin du réseau sont fragmentés.
Supposons que le serveur A et l'ordinateur A soient connectés, mais que les paquets de données qu'ils s'envoient doivent transiter par les routeurs B et C. Le serveur A, l'ordinateur A et le routeur B ont tous un MTU de 1 500 octets. Cependant, le routeur C a un MTU de 1 400 octets. Si le serveur A et l'ordinateur A ne connaissent pas le MTU du routeur C et envoient des paquets de 1 500 octets, tous leurs paquets de données seront fragmentés par le routeur B en cours de route.
La fragmentation ajoute un petit degré de latence et d'inefficacité aux communications réseau, elle devra donc être évitée si possible. (Les équipements réseau obsolètes peuvent être vulnérables aux attaques par déni de service qui exploitent la fragmentation, comme l'attaque « ping of death »).
Tous les routeurs du réseau vérifient la taille de chaque paquet IP qu'ils reçoivent par rapport au MTU du prochain routeur qui recevra le paquet. Si le paquet dépasse le MTU du routeur suivant, le premier routeur divise la charge utile en deux ou plusieurs paquets, chacun avec ses propres en-têtes.
Chaque nouveau paquet a un en-tête copié à partir du paquet d'origine (de sorte que les paquets ont tous les adresses IP source et destination d'origine, etc.) avec quelques changements importants. Le routeur modifie certains champs de l'en-tête IP pour indiquer que les paquets sont fragmentés et doivent être réassemblés, combien de paquets il y a et dans quel ordre ils sont envoyés.
Imaginez qu'une société de transport maritime manipule un colis qui dépasse les limites de poids de l'une de ses installations. Au lieu de refuser de livrer le colis, la compagnie de transport divise le contenu du colis en trois colis plus petits. Elle reproduit également l'étiquette d'expédition sur chaque colis et ajoute une note indiquant que chaque colis fait partie d'une série qui doit arriver ensemble : le premier colis est le 1/3, le second le 2/3, etc. (cette méthode, si elle était appliquée par une compagnie de transport maritime, constituerait évidemment une violation de la confidentialité des envois, elle ne peut être utilisée dans le monde réel).
Dans certains cas, les paquets ne peuvent pas être fragmentés et ne seront donc pas livrés s'ils dépassent le MTU d'un routeur ou d'un appareil quelconque le long du chemin réseau :
Voyez l'en-tête IP comme un formulaire que les consommateurs remplissent lorsqu'ils envoient un colis à quelqu'un. Le formulaire indique l'adresse d'origine, l'adresse de destination, le délai de livraison du colis et d'autres instructions spéciales pour les livreurs.
Le drapeau Don't Fragment (ou bit DF), est un indicateur spécial pour les routeurs, une option qui peut être sélectionnée dans le « Formulaire » de l'en-tête IP. Lorsque le drapeau est activé, le paquet attaché ne peut pas être fragmenté.
Tout routeur qui reçoit le paquet analysera l'en-tête et vérifiera la présence du drapeau Don't Fragment. Si le drapeau est activé et que le paquet dépasse le MTU, le routeur rejette le paquet au lieu de le fragmenter.
En plus de rejeter le paquet, le routeur renvoie un message ICMP à l'origine du paquet. Un message ICMP est un très petit paquet de données qui envoie une mise à jour du statut. Dans ce cas, il dit essentiellement : « ce routeur ou ce dispositif n'a pas pu livrer ces paquets parce qu'ils étaient trop gros et ne pouvaient pas être fragmentés ».
Le Path MTU discovery, ou PMTUd, est une technique permettant de déterminer le MTU de tous les appareils, routeurs et commutateurs sur un chemin réseau. Si l'ordinateur A et le serveur A de l'exemple ci-dessus devaient utiliser la PMTUd, ils identifieraient les exigences du routeur B pour le MTU et ajusteraient leur taille de paquet en conséquence pour éviter la fragmentation.
La PMTU fonctionne de manière légèrement différente selon que les appareils connectés utilisent IPv4 ou IPv6 :
IPv4 : IPv4 autorise la fragmentation et inclut donc le drapeau « Don't Fragment » dans l'en-tête IP. La PMTUd en IPv4 fonctionne en envoyant des paquets de test le long du chemin réseau avec le drapeau « Don't Fragment » activé. Si un routeur ou un dispositif le long du chemin rejette le paquet, il renvoie un message ICMP avec son MTU. Le dispositif 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 parcourir tout le chemin du réseau sans être rejetés.
IPv6 : pour IPv6, qui n'autorise pas la fragmentation, la PMTUd fonctionne à peu près de la même manière. La différence essentielle est que les en-têtes IPv6 n'ont pas l'option « Don't Fragment » et que le drapeau n'est donc pas activé. Les routeurs qui prennent en charge IPv6 ne fragmenteront pas les paquets IPv6, donc si les paquets de test dépassent le MTU, les routeurs rejetteront les paquets et renverront les messages ICMP correspondants sans vérifier le drapeau « Don't Fragment ». La PMTUd en IPv6 envoie des paquets de test de plus en plus petits jusqu'à ce qu'ils puissent parcourir tout le chemin du réseau, exactement comme en IPv4.
MSS signifie taille maximum de segment. Le MSS est utilisé par TCP au niveau de la couche 4 de l'Internet, la couche transport, au lieu de la couche 3. le MSS ne s'intéresse qu'à la taille de la charge utile dans chaque paquet. Il est calculé en soustrayant la longueur des en-têtes TCP et des en-têtes IP du MTU.
Si que les paquets qui dépassent le MTU d'un routeur sont soit fragmentés soit rejetés, les paquets qui dépassent le MSS sont toujours rejetés.
Pour en savoir plus sur le MTU et le MSS, voir Qu'est-ce que le MSS ?