IPv4 - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.
Pile de protocoles
Application
Présentation
Session
Transport
Réseau
Liaison de données
Physique
Modèle OSI

L'Internet Protocol version 4 ou IPv4 est la première version d'IP à avoir été largement déployée, et forme encore la base (en 2007) de l'Internet. Elle est décrite dans la RFC numéro 791 (RFC 791).

IPv4 utilise une adresse IP sur 32 bits, ce qui est un facteur limitant à l'expansion d'Internet puisque "seulement" 4 294 967 296 adresses sont possibles. Cette limitation conduit à la transition d'IPv4 vers IPv6, actuellement en cours de déploiement, qui devrait progressivement le remplacer. Cette limitation est pour l'instant contournée grâce à l'utilisation de techniques de translation d'adresses NAT ainsi que par l'adoption du système CIDR.

Représentation d'une adresse IPv4

Le plus souvent, une adresse IP est représentée sous la forme de quatre nombres décimaux séparés par des points comme par exemple 193.43.55.67. Chacun des nombres représente un octet. Comme un octet est composé de 8 bits, cela fait 32 bits.

Entête IPv4

En bits

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Version d'IP
Longueur de l'entête (en mots de 32 bits)
Type de service
Longueur totale en octets
Identification (pour les fragments)
Flags (pour les fragments)
Fragment offset
Durée de vie (TTL Time To Live)
Protocole
Somme de contrôle de l'entête
Adresse source
Adresse destination
Option(s) + bourrage

Le champ Type de service appelé TOS se décline au fil des RFC. Au départ (RFC 791) nous avons :

Bits 0-2:  Precedence.
Bit   3:  0 = Normal Delay,      1 = Low Delay.
Bits   4:  0 = Normal Throughput, 1 = High Throughput.
Bits   5:  0 = Normal Reliability, 1 = High Reliability.
Bit  6-7:  Reserved for Future Use.

Dès décembre 1998 (RFC 2474) nous avons l'introduction du champ DSCP qui est une globalisation du champ TOS :

Bits 0-5:   DSCP (Differenciated Services Code Point)
Bits 6-7:   CU (Currently Unused)

En septembre 2001 (RFC 3168) le champ CU est utilisé pour la gestion des congestions :

Bits 0-5:   DSCP (Differenciated Services Code Point)
Bits 6-7:   ECN (Explicit Congestion Notification)

cf. registres DSCP par l'IANA

Le champ protocole permet d'identifier le protocole utilisé par le niveau supérieur :

Fragmentation

Une trame a une taille maximale, appelée Maximum Transmission Unit ou MTU. Lorsque la longueur du paquet (datagramme) est supérieure, l'information sera fragmentée. La taille maximum supportée par IPv4 (car codée sur 16 bits) est de 64ko mais les réseaux ne prennent pas en charge de trames de telles longueurs, typiquement, on a MTU de l'ordre de 1ko(Arpanet), 1,5ko(Ethernet) etc...

Pour reconstituer l'information, on utilise les champs suivants dans l'entête IPv4 :

  • Version (4 bits) : Version d'IP utilisée. Ici, 4.
  • Longueur de l'entête (4 bits) : Nombre de mots de 32 bits, soit 4 octets. (Ou nombre de lignes du schéma.) La valeur est comprise entre 5 et 15, car il y a 20 octets minimum et on ne peut dépasser 40 octets d'option. (Soit en tout, 60 octets.)
  • Type de service (8 bits) : Rarement utilisé. Ce champ permet de distinguer différentes qualité de service différenciant la manière dont les paquets sont traités. Composé de 3 bits de priorité (donc 8 niveaux) et trois indicateurs permettant de différencier le débit, le délai ou la fiabilité.
  • Longueur totale en octets (16 bits) : Nombre total d'octets du datagramme, entête IP comprise. Donc, la valeur maximale (est 2^16)-1 octets.
  • Identification (16 bits) : Numéro permettant d'identifier les fragments d'un même paquet.
  • Flag (3 bits) :
  1. (Premier bit) actuellement Inutilisé.
  2. (Deuxième bit) DF (Don't Fragment) : Lorsque ce bit est positionné à 1, il indique que le paquet ne peut pas être fragmenté. Si le routeur ne peut acheminer ce paquet (taille du paquet supérieure à la MTU), il est alors rejeté.
  3. (Troisième bit) MF (More Fragments) : Quand ce bit est positionné à 1, on sait que ce paquet est un fragment de données et que d'autres doivent suivre. Quand il est à 0, soit le fragment est le dernier, soit le paquet n'a pas été fragmenté.
  • Fragment offset (13 bits) : Position du fragment par rapport au paquet de départ, en nombre de mots de 8 octets.
  • Durée de vie ou TTL Time To Live (8 bits) : initialisé par l'émetteur, ce champ est décrémenté d'une unité généralement à chaque saut de routeur. Quand TTL = 0, le paquet est abandonné et un message ICMP est envoyé à l'émetteur pour information.
  • Protocole (8 bits) : Numéro du protocole au-dessus de la couche réseau : TCP = 6, UDP = 17, ICMP = 1.
  • Somme de contrôle de l'entête ou Checksum ou encore CRC pour Contrôle de Redondance Cyclique (16 bits) : Vérification de l'intégrité de l'entête seulement. Si le CRC est invalide, le paquet est abandonné sans message d'erreur.
  • Adresse source (32 bits) : Adresse IP de l'émetteur sur 4 octets ou 32 bits.
  • Adresse destination (32 bits) : Adresse IP du récepteur sur 4 octets ou 32 bits.
  • Options (0 à 40 octets ou 0 à 320 bits par mots de 32 bits ou 4 octets) : facultatif.
  • Bourrage : de taille variable comprise entre 0 et 7 bits. Il permet de combler le champ option afin d'obtenir une entête IP multiple de 32 bits. La valeur des bits de bourrage est 0.
Page générée en 0.046 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise