En-tête du paquet IP : format, champs

⚡ Résumé intelligent

L'en-tête IP est constitué des métadonnées placées au début de chaque paquet IP, contenant des champs tels que la version, la longueur de l'en-tête, la longueur totale, la durée de vie, le protocole, la somme de contrôle et les adresses source et de destination que les routeurs lisent pour acheminer les données.

  • 🧭 Objectif : L'en-tête IP stocke les informations de routage et de livraison afin que chaque paquet atteigne sa destination correcte sur les réseaux.
  • (I.e. Dimensions Un en-tête IPv4 a une longueur comprise entre 20 et 60 octets, contrôlée par le champ Longueur de l'en-tête Internet.
  • 🧱 Champs clés : Les champs principaux comprennent la version, l'IHL, le type de service, la longueur totale, le TTL, le protocole, la somme de contrôle et les adresses.
  • 🔀 Fragmentation: L'identification, les indicateurs et le décalage des fragments permettent aux datagrammes volumineux de se diviser et de se réassembler correctement.
  • ???? IPv4 contre IPv6 : IPv6 remplace l'en-tête variable par un en-tête fixe de 40 octets et supprime le champ de somme de contrôle.
  • 🤖 Aide à l'IA : Les analyseurs de paquets IA analysent automatiquement les en-têtes IP pour signaler les anomalies et accélérer le dépannage.

Format et champs de l'en-tête des paquets IP

Qu’est-ce que l’en-tête IP ?

L'en-tête IP contient des métadonnées au début d'un paquet IP. Il indique notamment la version du protocole IP, la longueur du paquet, la source et la destination.

L'en-tête IPv4, d'une longueur de 20 à 60 octets, contient les informations nécessaires au routage et à la livraison. Il comprend des champs tels que la version, la longueur de l'en-tête, la longueur totale, l'identification, les indicateurs, la somme de contrôle, l'adresse IP source et l'adresse IP de destination. L'ensemble de ces champs fournit les données essentielles pour… transmit le paquet de manière fiable d'un hôte à un autre.

Composants/champs d'en-tête IPv4

Le diagramme ci-dessous illustre le format complet de l'en-tête IPv4, chaque champ étant dessiné à sa position et à sa largeur en bits correctes :

Diagramme du format d'en-tête de paquet IPv4 montrant tous les champs et leurs positions binaires

Voici les différents composants/champs de l'en-tête d'un paquet IP :

  • Version: Le premier champ de l'en-tête IP est un indicateur de version sur 4 bits. En IPv4, la valeur de ces quatre bits est fixée à 0100, ce qui correspond à 4 en binaire. Si le routeur ne prend pas en charge la version spécifiée, le paquet est rejeté.
  • Longueur de l'en-tête Internet : La longueur de l'en-tête Internet (IHL) est codée sur 4 bits. Elle est également appelée HELEN (Header Length). Ce composant IP indique le nombre de mots de 32 bits présents dans l'en-tête.
  • Type de service: Ce type de service est également appelé services différenciés Code Point, ou DSCP. Ce champ définit la qualité de service pour le flux de données ou les appels VoIP. Les trois premiers bits sont les bits de priorité. Il spécifie également le traitement des datagrammes.
  • Longueur totale: La longueur totale est mesurée en octets. La taille minimale d'un datagramme IP est de 20 octets et la taille maximale de 65 535 octets. Les fonctions HELEN et Total Length permettent de calculer la taille de la charge utile. Tous les hôtes doivent pouvoir lire des datagrammes de 576 octets. Toutefois, si un datagramme est trop volumineux pour les hôtes du réseau, la fragmentation est une méthode couramment utilisée.
  • Identification: L'identification est un champ utilisé pour identifier de manière unique les fragments d'un datagramme IP. Certains ont recommandé d'utiliser ce champ à d'autres fins, comme l'ajout d'informations pour les paquets. tracING.
  • Indicateurs IP : Le champ « Flags » (trois bits) permet de contrôler et d'identifier les fragments. Les configurations possibles sont les suivantes : le bit 0 est réservé et doit être mis à zéro ; le bit 1 indique de ne pas fragmenter ; et le bit 2 indique d'ajouter des fragments.
  • Décalage des fragments : Le décalage de fragment représente le nombre d'octets de données précédant un fragment donné dans le datagramme concerné. Il est exprimé par unités de 8 octets et sa valeur maximale est de 65 528 octets.
  • Temps de vivre: Il s'agit d'un champ de 8 bits indiquant la durée de vie maximale (TTL) d'un datagramme sur le réseau Internet. À chaque traitement, la valeur TTL est décrémentée de 1. Lorsque la valeur TTL atteint zéro, le datagramme est supprimé afin d'éviter la transmission infinie de paquets. La valeur TTL peut varier de 0 à 255.
  • Protocole: Ce champ d'en-tête IPv4 indique le protocole Internet utilisé dans la dernière partie du datagramme. Par exemple, le nombre 6 correspond au protocole TCP et le nombre 17 au protocole UDP.
  • Somme de contrôle d'en-tête : L'élément suivant est un champ de somme de contrôle d'en-tête de 16 bits, utilisé pour vérifier l'intégrité de l'en-tête. L'en-tête IP est comparé à la valeur de sa somme de contrôle. Si la somme de contrôle de l'en-tête ne correspond pas, le paquet est rejeté.
  • Adresse source : L'adresse source est une adresse 32 bits de la source utilisée pour le paquet IPv4.
  • Adresse de destination: L'adresse de destination est également codée sur 32 bits et stocke l'adresse du destinataire.
  • Options IP : Il s'agit d'un champ optionnel de l'en-tête IPv4, utilisé lorsque la valeur de IHL (Internet Header Length) est supérieure à 5. Il contient des valeurs et des paramètres relatifs à la sécurité, à l'itinéraire d'enregistrement, à l'horodatage et à des options similaires. La liste des options se termine généralement par un marqueur de fin de liste d'options (EOL).
  • Dates: Ce champ stocke les données provenant de la couche protocolaire qui a transmis les données à la couche IP.

Comment calculer la longueur d'un en-tête IPv4

Le champ IHL (Internet Header Length) indique au routeur la longueur exacte de l'en-tête, lui permettant ainsi de distinguer la fin de l'en-tête et le début des données. Ce champ, limité à 4 bits, ne stocke pas directement la longueur en octets. Il la quantifie par mots de 32 bits, chaque mot correspondant à 4 octets.

Pour convertir la valeur IHL en octets, multipliez-la par 4 :

  • Minimum: La plus petite valeur légale IHL est 5, donc 5 × 4 = 20 octets. Il s'agit d'un en-tête sans options.
  • Maximum: La valeur IHL maximale est 15, donc 15 × 4 = 60 octets. Les 40 octets supplémentaires contiennent des champs optionnels.

Prenons un exemple concret. Si un paquet arrive avec une valeur IHL de 6, la longueur de l'en-tête est de 6 × 4 = 24 octets, ce qui signifie que 4 octets d'options sont présents après l'en-tête standard de 20 octets. Pour trouver la taille de la charge utile, soustracLa longueur de l'en-tête est déduite du champ Longueur totale. Si la longueur totale est de 1 500 octets et que l'en-tête fait 24 octets, alors la charge utile est de 1 500 − 24 = 1 476 octets.

Ce calcul est important lors de la fragmentation, car un routeur doit connaître la taille de l'en-tête pour déterminer la quantité de données que chaque fragment peut transporter sans dépasser la capacité maximale du réseau. Transmission Unité (MTU).

En-tête IPv4 vs IPv6

L'en-tête IPv6 a été repensé pour être plus simple et plus rapide à traiter que l'en-tête IPv4. Il utilise une longueur fixe et déplace les options rarement utilisées dans des en-têtes d'extension distincts, permettant ainsi aux routeurs de transférer les paquets à la vitesse de la ligne. Le tableau ci-dessous compare les deux en-têtes champ par champ :

Fonctionnalité En-tête IPv4 En-tête IPv6
Taille de l'en-tête 20 à 60 octets (variable) 40 octets (fixe)
Nombre de champs 13 champs plus options 8 champs
longueur de l'adresse Source et destination 32 bits Source et destination 128 bits
Somme de contrôle de l'en-tête Présent Supprimé
Champs de fragmentation Dans l'en-tête de base (Identification, Indicateurs, Décalage) Déplacé vers un en-tête d'extension de fragment
Options Porté à l'intérieur de l'en-tête Transporté dans les en-têtes d'extension
Champ de longueur Longueur totale (en-tête plus données) Longueur de la charge utile (charge utile uniquement)

Comme IPv6 abandonne la somme de contrôle et les options de longueur variable, son en-tête contient moins de champs et peut être traité matériellement sans recalcul à chaque saut.

Pourquoi l'en-tête IP est important

Chaque champ de l'en-tête IP permet aux routeurs et aux hôtes d'acheminer un paquet à travers plusieurs réseaux sans connexion permanente. C'est cet en-tête qui rend possible la commutation de paquets.

  • Routage: L'adresse de destination indique à chaque routeur où acheminer le paquet, tandis que l'adresse source permet le retour des réponses et des messages d'erreur.
  • Prévention des boucles : Le champ « Time to Live » est décrémenté à chaque saut, de sorte qu'un paquet mal acheminé est supprimé au lieu de circuler indéfiniment sur Internet.
  • Livraison selon le protocole approprié : Le champ Protocole indique à l'hôte récepteur s'il doit transmettre la charge utile via TCP, UDP ou un autre protocole.
  • Integrity et réassemblage : La somme de contrôle protège l'en-tête contre la corruption, et les champs Identification, Flags et Fragment Offset permettent de reconstruire un datagramme fragmenté dans le bon ordre.

Pour les ingénieurs réseau, la lecture de ces champs dans un TCP / IP La capture réseau est souvent le moyen le plus rapide de diagnostiquer les pertes de paquets, les boucles de routage et les erreurs de configuration. adresses IP.

FAQ

La longueur d'en-tête (IHL) mesure uniquement l'en-tête, en mots de 32 bits, et varie de 20 à 60 octets. La longueur totale mesure le datagramme entier (en-tête plus données) en octets, jusqu'à 65 535.tracLa différence entre les deux donne la taille de la charge utile.

La fragmentation divise un datagramme dont la taille dépasse la taille maximale d'une liaison. Transmission Le paquet est divisé en fragments plus petits. Les champs Identification, Indicateurs et Décalage de fragment permettent à la destination de réassembler ces fragments dans l'ordre. Cela se produit lorsqu'un paquet doit traverser un réseau dont la MTU est inférieure.

L'en-tête IPv4 comporte 13 champs fixes : Version, IHL, Type de service, Longueur totale, Identification, Indicateurs, Décalage de fragment, TTL, Protocole, Somme de contrôle, Adresse source, Adresse de destination, ainsi qu'un champ Options facultatif. La section Données qui suit correspond à la charge utile et non à un champ d'en-tête.

Non. La somme de contrôle de l'en-tête IPv4 ne couvre que les champs d'en-tête, et non la charge utile. Les protocoles de couche supérieure, tels que TCP et UDP, utilisent leurs propres sommes de contrôle pour protéger les données. Étant donné que la durée de vie (TTL) change à chaque saut, les routeurs recalculent la somme de contrôle de l'en-tête à chaque transmission.

Lorsque le TTL atteint zéro, le routeur abandonne le paquet et renvoie un message ICMP « Délai dépassé » à la source. Cela empêche les paquets de se propager.ping indéfiniment dans une boucle de routage. traceroute Cet outil s'appuie sur ce comportement pour cartographier chaque saut le long d'un chemin.

Le champ Protocole indique le protocole de couche supérieure qui doit recevoir la charge utile à destination. Les valeurs courantes sont 6 pour TCP, 17 pour UDP et 1 pour ICMP. L'hôte destinataire lit ce numéro pour transmettre les données au gestionnaire approprié.

Les outils d'IA et d'apprentissage automatique analysent les en-têtes IP capturés afin de détecter les anomalies telles que les adresses sources usurpées, les valeurs TTL anormales ou les attaques par fragmentation. Ils classifient le trafic et signalent les menaces plus rapidement qu'une inspection manuelle, même si un ingénieur doit toujours confirmer les résultats avant toute intervention.

Copilote GitHub peut rédiger Python ou du code C qui décompresse les champs d'en-tête IP, décode les indicateurs et valide les sommes de contrôle à partir d'un court commentaire. RevExaminez attentivement la logique de masquage de bits générée, car les décalages d'une unité sont une source courante d'erreurs d'analyse.

Résumez cet article avec :