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:07] 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.+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:07 par prof