Outils pour utilisateurs

Outils du site


Table des matières

Internet

Nous savons que cette couche est responsable de l'acheminement des datagrammes (ou des segments) d'un point à un autre, en passant si besoin est par plusieurs réseaux distincts. Voyons donc les informations que l'on peut trouver ici. Comme l'on peut s'y attendre, le paquet est constitué d'un en-tête et d'une charge utile.

L'en-tête est constitué d'un certain nombre de mots de 32 bits. Sa structure diffère suivant que l'on a affaire à de l'IPv4 ou de l'IPv6.

En-tête IPv4

Paquet IPv4 Dans le premier mot (32 bits) nous avons:

  1. la version du protocole (4 bits). Les concepteurs ont vu large, pour l'instant, seules les valeurs 04 et 06 sont utilisées.
  2. Internet Header Length (4 bits) qui indique la taille de l'en-tête. Nécessaire à cause des éventuelles options.
  3. Type-of-service (8 bits) spécifie comment un protocole de couche supérieure particulier voudrait que le datagramme actuel soit traité. Les datagrammes peuvent se voir attribuer différents niveaux d’importance via ce champ.
  4. Total Length (16 bits) spécifie la taille totale du paquet, charge utile comprise.

Dans le second mot:

  1. Identification (16 bits) Cet entier identifie le paquet, permet de reconstituer le paquet final s'il a été fragmenté. La valeur indiquée sera la même dans tous les fragments d'un même paquet. Il faudra évoquer ce problème de la fragmentation.
  2. Flags (3 bits dont un n'est pas utilisé) indique si les routeurs sont autorisés à fragmenter ou non le paquet. Le premier bit est toujours =0, le second «don't fragment» indique si la fragmentation est interdite (1) ou pas (0). Si le paquet est trop grand pour passer et que ce bit est à 1 , alors le paquet est détruit! Le troisième bit «more fragments» indique, en cas de fragmentation, si le paquet est le dernier élement (0) ou s'il y en a d'autres(1). Il faudra vraiment évoquer ce problème de la fragmentation).
  3. Fragment offset (13 bits). En cas de fragmentation ce champ indique la position du fragment par rapport au premier paquet. Dans le premier paquet, ce champ est donc égal à 0.

Dans le troisième mot:

  1. Time To Live (8 bits) est un compteur qui est décrémenté à chaque passage d'un routeur. De plus, si le paquet met du temps à passer, ce compteur sera décrémenté à chaque seconde perdue. Si ce compteur tombe à zéro, le paquet est détruit.
  2. Protocol (8 bits) indique quel type de données se trouve dans la charge. Les valeurs les plus courantes sont:
    • 01 : ICMP
    • 02 : IGMP
    • 06 : TCP
    • 17 : UDP
    • Le lecteur très curieux pourra s'armer de courage et aller chercher les autres dans le RFC 1700
  3. Header Checksum (16 bits) est un contrôle d'intégrité de l'en-tête.

Les 4eme et 5eme représentent les adresses IPv4 source et destination.

Les options sont facultatives. S'il y en a, elles peuvent être d'une longueur variable et sont ajoutées l'une à la suite de l'autre. Ce champ, très rarement utilisé, occupe un nombre entier de mots de 32 bits. Un bourrage est ajouté en fin d'options si nécessaire.

En-tête IPv6

Paquet IPv6 Si la philosophie reste la même, il y a tout de même quelques différences.

Dans le premier mot:

  1. Version (4 bits): C'est toujours la version, ici = 6.
  2. Traffic class (8 bits): établit le niveau de priorité du paquet IPv6. C'est l'équivalent du ToS de l'IPv4.
  3. Flow Label (16 bits): un label pour un flux donné :-?. Pour en savoir plus, consultez le RFC6437.

Dans le second mot:

  1. Payload length (16 bits): C'est la taille de la charge utile.
  2. Next Header: (8 bits): Identique au champ «Protocol» d'IPv4.
  3. Hop limit (8 bits): Même fonction que le TTL de l'IPv4.

Viennent enfin les adresses IPv6 source et destination, chacune sur 128 bits et enfin la charge transportée par le paquet, c'est à dire le segment ou le datagramme de la couche supérieure.

Internet: Dernière modification le: 13/02/2025 à 14:36 par prof