- IPv4
-
Pile de protocoles 7. Application 6. Présentation 5. Session 4. Transport 3. Réseau 2. Liaison 1. Physique Modèle Internet
Modèle OSIIPv4 est la première version d'Internet Protocol (IP) à avoir été largement déployée, et qui forme encore en 2011 la base d'Internet. Elle est décrite dans la RFC 791 de septembre 1981.
Chaque interface d'un hôte IPv4 se voit attribuer une ou plusieurs adresses IP codées sur 32 bits. Au maximum 4 294 967 296 (soit 232) adresses peuvent donc être attribuées simultanément en théorie (en pratique, un certain nombre ne sont pas utilisables).
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 3 février 2011.
Sommaire
Représentation d'une adresse IPv4
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.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 Flags Fragment offset Durée de vie Protocole Somme de contrôle de l'en-tê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.
Le champ DSCP généralise ensuite le champ TOS (RFC 2474, décembre 1998) :
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[1] :
Bits 0-5: DSCP (Differenciated Services Code Point) Bits 6-7: ECN (Explicit Congestion Notification)
Le champ protocole permet d'identifier le protocole utilisé par le niveau supérieur :- Internet Control Message Protocol ou ICMP est repéré par les bits 00000001, qu'on écrit souvent en hexadécimal avec 01
- Transmission Control Protocol ou TCP par les bits 00000110, soit 06
- User Datagram Protocol ou UDP par les bits 00010001, soit 17 en décimal
Fragmentation
Sur une interface déterminée, 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 64 Ko 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 1 500 octets (Ethernet).
Pour reconstituer l'information, on utilise les champs suivants dans l'en-tête IPv4 :
- Version (4 bits) : version d'IP utilisée. Ici, 4.
- IHL : Longueur de l'en-tê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) : 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, en-tête IP comprise. Donc, la valeur maximale est (216)-1 octets.
- Identification (16 bits) : numéro permettant d'identifier les fragments d'un même paquet.
- Flag (3 bits) :
- (Premier bit) actuellement inutilisé.
- (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é.
- (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'en-tête ou Checksum (16 bits) : 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 (32 bits) : adresse IP de l'émetteur sur 32 bits.
- Adresse destination (32 bits) : adresse IP du récepteur 32 bits.
- Options (0 à 40 octets par mots de 4 octets) : facultatif.
- Bourrage : de taille variable comprise entre 0 et 7 bits. Il permet de combler le champ option afin d'obtenir un en-tête IP multiple de 32 bits. La valeur des bits de bourrage est 0.
Notes et références
Voir aussi
Articles connexes
Catégories :- TCP/IP
- Protocole réseau sur la couche réseau
Wikimedia Foundation. 2010.