Outils pour utilisateurs

Outils du site


Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
010-deep:020-internet [le 07/02/2025 à 14:10] prof010-deep:020-internet [le 13/02/2025 à 14:36] (Version actuelle) – [En-tête IPv4] prof
Ligne 1: Ligne 1:
 ====== Internet ====== ====== Internet ======
-Nous savons que cette couche est responsable de l'acheminement des datagrammes 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.+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 =====
 +{{ :010-deep:frameipv4.svg?500|Paquet IPv4}}
 +Dans le premier mot  (32 bits) nous avons:
 +  - la version du protocole (4 bits). Les concepteurs ont vu large, pour l'instant, seules les valeurs 04 et 06 sont utilisées.
 +  - Internet Header Length (4 bits) qui indique la taille de l'en-tête. Nécessaire à cause des éventuelles options.
 +  - 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.
 +  - Total Length (16 bits) spécifie la taille totale du paquet, charge utile comprise.
 +Dans le second mot:
 +  - 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.
 +  - 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).
 +  - 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:
 +  - 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.
 +  - 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
 +  - Header Checksum (16 bits) est un contrôle d'intégrité de l'en-tête.
 +Les 4<sup>eme</sup> et 5<sup>eme</sup> 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 =====
 +{{:010-deep:frameipv6.svg?500 |Paquet IPv6}}
 +Si la philosophie reste la même, il y a tout de même quelques différences.
 +
 +Dans le premier mot:
 +  - Version (4 bits): C'est toujours la version, ici = 6.
 +  - Traffic class (8 bits): établit le niveau de priorité du paquet IPv6. C'est l'équivalent du ToS de l'IPv4.
 +  - Flow Label (16 bits): un label pour un flux donné :-?. Pour en savoir plus, consultez [[https://www.rfc-editor.org/rfc/rfc6437|le RFC6437]].
 +Dans le second mot:
 +  - Payload length (16 bits): C'est la taille de la charge utile.
 +  - Next Header: (8 bits): Identique au champ «Protocol» d'IPv4.
 +  - 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: 07/02/2025 à 14:10 par prof