...
🧠 Le blog est dédié au sujet du VPN et de la sécurité, de la confidentialité des données sur Internet. Nous parlons des tendances actuelles et des nouvelles liées à la protection.

Fragmentation IP : entièrement expliquée

50

Chaque réseau basé sur des paquets IP a une taille d'unité de transmission maximale (MTU). Le MTU, comme le terme l'indique, est la taille maximale du paquet pouvant être transmis sur le réseau.

Les paquets IP plus grands que la taille MTU doivent être divisés en fragments ou paquets plus petits afin qu'ils puissent être parcourus sur le réseau.

Encore confus? Ne vous inquiétez pas. 

Dans ce guide, nous expliquerons tout sur la fragmentation IP – qu'est-ce que c'est, ce qu'elle fait, comment elle est utilisée et ses inconvénients, en termes simples pour la compréhension. Nous répondrons en outre à certaines questions spécifiques des utilisateurs liées au sujet. Alors, sans plus tarder, commençons !

Qu'est-ce que la fragmentation IP ?

Chaque réseau local prend en charge une taille maximale de paquet IP. Ainsi, lorsqu'un hôte utilise le réseau pour transmettre un paquet IP, celui- ci ne doit pas être supérieur à la taille de l'unité de transmission maximale (MTU). Sinon, il est divisé en petits morceaux – un processus appelé fragmentation IP.

Cette taille est généralement déterminée par les MTU et la liaison de données du réseau qui est souvent la même. Un lieu de travail, un centre de données ou un réseau de campus contemporain proposé via Ethernet a des MTU d'une valeur de 1500 octets.

Cependant, les paquets IP transférés pour la première fois sur un réseau prenant en charge un seul MCU peuvent nécessiter un routage via des tunnels VPN, des WAN ou d'autres réseaux avec des unités de transmission maximales plus petites. Dans le cas où la taille du paquet dépasse le plus petit MTU, les données de ce paquet devront être fragmentées.

Les données seraient divisées en plusieurs morceaux et transportées dans de nouveaux fragments (paquets) de taille inférieure ou égale à celle du MCU inférieur. Ces données fragmentées seront ensuite réassemblées lorsqu'elles atteindront leur destination.


IPv4

Les champs d'en-tête IPv4 utilisés

La fragmentation et le processus de réassemblage impliquent divers champs d'en-tête IP qui sont définis en morceaux/fragments.

(Crédits image : packetpushers.net)

L'opération de fragmentation repose sur trois champs d'en-tête IP (un total de 32 bits). Tous ces fragments auront des valeurs significativement différentes par rapport au paquet IP d'origine :

Le champ Identification (16 bits) contient un numéro d'identification unique qui est un mélange d'adresses IP source et de destination. Le champ Protocole, ayant la valeur du paquet d'origine, permet à la destination de différencier les différents fragments de paquets provenant d'une même source.

Cela signifie simplement que le même ID peut être utilisé même lorsque la source, le protocole et la destination des paquets fragmentés ne sont pas les mêmes.

Exactement comme le paquet IP d'origine, le premier bit réservé du  champ Flags (total 3 bits) et le second, le bit Don't Fragment (DF)  seront tous deux non définis (0).

Cependant, le dernier fragment aura le troisième bit du champ, c'est-à-dire More Fragments (MF) défini sur 1. Tous les bits de ce champ du dernier paquet IP seront définis sur 0, exactement comme le paquet IP d'origine (sauf s'il s'agit d'un fragment).

Si dans le paquet d'origine, l'indicateur Ne pas fragmenter est défini, cela empêchera la fragmentation et entraînera l'élimination des paquets. Dans ce cas, les erreurs doivent être envoyées à l'expéditeur, comme l'erreur ICMP de type 3 : "Destination inaccessible", code 4 : "Fragmentation requise et DF défini".

Le champ Fragment Offset  (13 bits au total) est utilisé pour indiquer la position initiale des données dans le fragment, par rapport aux données de départ du paquet IP d'origine. Ceci est ensuite utilisé pour réassembler les données de tous les fragments (arrivés ou non).

Le décalage dans le premier fragment est 0 puisque les données de ce paquet fragmenté et celles d'origine commencent au même endroit. Dans les fragments suivants, la valeur est le décalage des données fragmentées à partir du début des données dans le fragment initial (décalage 0), dans des blocs de 8 octets (également appelés octawords).

Si un paquet IP contenant des données d'une valeur de 800 octets est divisé en deux morceaux/fragments égaux, chacun transportant 400 octets, alors le décalage de fragment du 1er fragment est de 0, tandis que l'autre est de 50 (400/8).

La valeur de décalage doit être le nombre de blocs de données de 8 octets. Cela signifie que le fragment précédent doit être un multiple de 8 octets. Le fragment final est autorisé à transporter des données qui ne sont pas un multiple de 8 octets car il n'y aura plus de fragments.


IPv6

Même si la plupart des champs d'en-tête restent les mêmes, la fragmentation IP dans IPv6 fonctionne un peu différemment de IPv4. Dans IPv6, les données ne peuvent être fragmentées que sur l'hôte source. Cela signifie que la fragmentation ne peut pas être effectuée sur d'autres réseaux, à l'exception de la source.

Il n'y a pas d' indicateur Ne pas fragmenter disponible, donc tout ce que vous avez à faire est de ne pas créer de fragments.

La fragmentation IP ne peut pas être effectuée si PMTUD n'est pas utilisé. Les nœuds ne peuvent pas utiliser un MTU supérieur à 1280 octets, qui est le minimum d'IPv6, s'ils n'implémentent pas la découverte de MTU de chemin (PMUTD).

Bien que Path MTU Discovery fonctionne de la même manière qu'IPv4, le message d'erreur ICMP est différent :

(Crédits image : packetpushers.net)

Si la taille du paquet IP est supérieure à celle du MCU, le routeur IPv6 doit le rejeter et envoyer une erreur ICMPv6 de type 2 "Paquet trop gros" – code 0 à l'expéditeur.

Veuillez noter que s'appuyer sur un canal de retour et une transmission ICMP vers l'hôte d'origine présente de multiples défauts – un important étant que les messages ICMP sont souvent bloqués à diverses instances d'un réseau en raison des avantages de sécurité.

De cette façon, l'hôte d'origine ne recevra pas les messages Packet Too Big et retransmettra les paquets IP qui ont été rejetés à plusieurs reprises, ce qui n'atteindra certainement pas. Finalement, la connexion serait considérée comme instable et fermée. Même si un nouveau était créé, le problème se répéterait.

Les champs d'en-tête liés à la fragmentation sont placés dans un en-tête d'extension appelé Fragment Header. Ceci est spécifié avec un champ Next Header (valeur 44) dans un IPv6 standard ou tout en-tête d'extension précédent.

Comme tous les en-têtes d'extension, celui-ci a une longueur de 8 octets/64 bits, avec un en-tête standard, ce qui entraîne une fragmentation IPv6 avec une surcharge plus élevée qu'IPv4.

Les champs d'en-tête IPv6 utilisés

Vérifiez les champs dans l'en-tête d'extension du fragment IPv6 :

(Crédits image : packetpushers.net)

Le champ appelé Next Header (8 bits) spécifie le type d'en-tête, comme un en-tête de protocole de couche supérieure ou un en-tête d'extension IPv6. Les 8 bits suivants sont alors réservés.

Le champ Fragment Offset de 13 bits est utilisé de la même manière qu'IPv4. Après cela, les 2 bits suivants sont réservés.

L'indicateur de champ M sera défini sur 1 et le fragment final sera défini comme le champ More Fragments (MF)  d'IPv4 .

Le champ Identification de 32 bits est le même que le champ IPv4 de 16 bits contenant un numéro d'identification unique pour la combinaison des adresses source et des adresses de destination. Le champ Protocole n'est pas disponible dans IPv6.


Les inconvénients de la fragmentation IP

La pile de protocole IP est réputée avoir un mécanisme peu fiable en raison duquel les hôtes finaux ne peuvent pas déterminer la taille maximale de la charge utile lors de la communication via un hôte IPv4 et IPv6.

Même si l'absence d'un mécanisme MTU sur le réseau est compréhensible car les paquets IP empruntent des routes différentes, le manque d'informations de bout en bout peut empêcher les routeurs intermédiaires de recevoir des paquets surdimensionnés et de ne pas les transmettre.

Les routeurs IPv4 peuvent diviser les paquets IP en fragments lors du transit, mais la même fonction n'est pas disponible dans les routeurs IPv6 – où l'expéditeur doit effectuer la fragmentation.

La fragmentation entraîne un pic de surcharge de la couche 3. Ainsi, par exemple, si l'hôte final pense qu'il peut utiliser des paquets IP de 1500 octets, mais fait face à un saut dans son chemin de taille MTU 1472, alors le paquet IP serait divisé en deux paquets, ce qui entraînerait un en-tête IPv6 supplémentaire de 40 octets et en-tête IPv4 de 20 octets.

Les fragments IP imposent une charge supplémentaire au système récepteur car il est nécessaire de réassembler les fragments pour les transmettre aux couches de protocole supérieures. Cette activité est aggravée lorsque le routeur met fin au trafic IP.

Si un routeur tente d'assembler les paquets fragmentés, les paquets échoueront à se réassembler dans le matériel et réduiront considérablement les performances de la plate-forme.


FAQ

La fragmentation IP est vitale pour la transmission des données puisque chaque réseau a une limite de taille différente pour le traitement des données. Cette limite est également connue sous le nom de MTU (unité de transmission maximale).

Non, les routeurs peuvent fragmenter les paquets IP, mais pas les réassembler. C'est le travail de l'appareil de destination de réassembler ces paquets pour l'utilisateur.

Si un ou plusieurs fragments d'un datagramme sont perdus, le datagramme complet est rejeté après la période de temporisation.


Conclusion

Ceci termine notre guide détaillé sur la fragmentation IP.

Pour vous donner un aperçu rapide, si les données envoyées sur un réseau sont plus grandes que la taille de l' unité de transmission maximale (MTU), alors les données seraient divisées en plusieurs fragments et envoyées au récepteur.

Dès que les fragments IP atteignent leur destination, ils se réassemblent dans le bon ordre afin que les données puissent être utiles aux utilisateurs. Le mécanisme de fragmentation est différent entre les réseaux IPv4 et IPv6, dont les détails sont mentionnés ci-dessus.

Si vous avez des questions sur les adresses IP et les fragmentations, veuillez nous contacter dans les commentaires.

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails