IPv4 (Internet Protocol version 4) est la première version d'Internet Protocol (IP) à avoir été largement déployée, et qui forme encore en la base de la majorité des communications sur Internet, par rapport à l'IPv6. Elle est décrite dans la de , remplaçant la , définie en .
Chaque interface d'un hôte IPv4 se voit attribuer une ou plusieurs adresses IP codées sur . Au maximum , soit 2 adresses peuvent donc être attribuées simultanément en théorie (en pratique, un certain nombre ne sont pas utilisables).
Histoire
L'épuisement des adresses IPv4 a conduit au développement d'une nouvelle version d'IP, IPv6, et à la transition d'IPv4 vers IPv6 afin d'adopter cette nouvelle version. Le manque d'adresse IPv4 est dans un premier temps contourné grâce à l'utilisation de techniques de traduction d'adresses (NAT) ainsi que par l'adoption du système CIDR. Le nombre d'adresses IP Version 4 publiques est arrivé officiellement à saturation le .
Le , le registre régional d’adresses IP qui alloue les IPv4 pour l’Europe et le Moyen-Orient annonce la pénurie d’IPv4, la dernière attribution du dernier bloc de 1024 adresses ayant été effectuéAccélérer la transition vers IPv6 : un enjeu majeur de compétitivité et d’innovation https://www.arcep.fr/cartes-et-donnees/nos-publications-chiffrees/transition-ipv6/barometre-annuel-de-la-transition-vers-ipv6-en-france.html.
En 2023, en France, l'Arcep cherche à prévoir des scénarios d'extinction de l'IPv4« Pv6 : Retour sur l’atelier dédié au développement et à l’avancée de l’IPv6 en France, organisé le 7 décembre 2023 », communiqué de presse, 22 décembre 2023 (lire en ligne)..
Représentation d'une adresse IPv4 Une adresse IPv4 est représentée sous la forme de quatre nombres entiers séparés par des points comme 193.43.55.67. Chacun des nombres représente un octet. La plage d'attribution s'étend de 0.0.0.0 à 255.255.255.255, sachant qu'il existe des contraintes empêchant l'utilisation de certaines adresses (réservée, masque, broadcast, etc.)
centre|vignette|upright=2.0|Adresse IPv4.
En-tête IPv4 + En-tête IPv4 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'en-tête Type de service Longueur totale Identification Indicateur Durée de vie Protocole Somme de contrôle de l'en-tête Adresse source Adresse destination Option(s) + remplissage
Version () : Version d'IP utilisée. Ici, 4. Longueur de l'en-tête ou IHL (pour ) () : Ce champ indique en binaire sur 4 bits la longueur totale de l'en-tête et cette longueur est donnée, non pas en bit, ni en octet, mais en mots de (=4 octets). La longueur donnée correspondrait au nombre de lignes du schéma précédent. La valeur est comprise entre 5 et 15, car il y a minimum et on ne peut dépasser d'option. La longueur maximale d'un en-tête est donc de 15*4 octets soit . Type de service ou ToS (pour ) () : Ce champ permet de distinguer différentes qualités de service différenciant la manière dont les paquets sont traités. Composé de de priorité (donc 8 niveaux) et trois indicateurs permettant de différencier le débit, le délai ou la fiabilité.
Il se décline au fil des RFC. Au départ () nous avions : 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.
Le champ DSCP généralise ensuite le champ TOS (, ) : Bits 0-5: DSCP (Differentiated Services Code Point) Bits 6-7: CU (Currently Unused)
En () le champ CU est utilisé pour la gestion des congestions. : Bits 0-5: DSCP (Differentiated Services Code Point) Bits 6-7: ECN (Explicit Congestion Notification)
Longueur totale en octets ou () : Nombre total d'octets du datagramme, en-tête IP comprise. Donc, la valeur maximale est . Identification () : Numéro permettant d'identifier les fragments d'un même paquet. Indicateurs ou () : (Premier bit [bit de poids fort]) actuellement inutilisé. (Deuxième bit) DF () : 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é. (Troisième bit) MF () : 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 (et dans ce cas le fragment offset est différent de 0), soit le paquet n'a pas été fragmenté.
() : Position du fragment par rapport au paquet de départ, en nombre de mots de . Lorsque la valeur indiquée est 0, il s'agit du premier fragment. Durée de vie ou TTL (pour ) () : 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 () : Numéro du protocole au-dessus de la couche réseau : TCP = 6, UDP = 17, ICMP = 1. Ce champ permet d'identifier le protocole utilisé par le niveau supérieur : ou ICMP est repéré par les bits 00000001, qu'on écrit souvent en hexadécimal avec 01 ou TCP par les bits 00000110, soit 06 ou UDP par les bits 00010001, soit 11 en hexadécimal Somme de contrôle de l'en-tête ou () : Complément à un de la somme complémentée à un de tout le contenu de l'en-tête afin de détecter les erreurs de transfert. Si la somme de contrôle est invalide, le paquet est abandonné sans message d'erreur. Adresse source () : Adresse IP de l'émetteur sur . Adresse destination () : Adresse IP du récepteur . Options (0 à par mots de ) : Facultatif. Remplissage ou : Champ de taille variable comprise entre 0 et . Il permet de combler le champ option afin d'obtenir un en-tête IP multiple de . La valeur des bits de bourrage est 0.
Fragmentation Sur une interface déterminée, une trame a une taille maximale, appelée 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 ) est de mais les réseaux ne prennent généralement pas en charge de trames de telles longueurs, en général on trouve des MTU de l'ordre de (Ethernet).
Notes et références
Voir aussi Articles connexes Adresse IP Adresse compatible IPv4
Catégorie:TCP/IP Catégorie:Protocole réseau sur la couche réseau