1.5. Ip

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 1

1.5.

IP
Chapitre 1. TCP/IP

1.5. IP
Le protocole IP présenté ici est celui décrit par le [RFC 0791, Postel, September 1981] et le [RFC 1122, Braden, October 1989].

1.5.1. Structure d'un datagramme IP

Le protocole IP définit le format des datagrammes IP dont la structure globale comporte deux parties : un en-tête et une zone de données.

Figure 1.8. Datagramme IP (d'après RFC 0791)

Version. Il s'agit du numéro de version du protocole utilisé (sur 4 bits). Tout logiciel IP est tenu de vérifier ce champ afin de vérifier que son format
correspond à ce qu'il attend. Les valeurs utilisées sont 4 pour IPv4 et 6 (depuis 1999) pour IPv6.

IHL [Internet Header Length]. Ce champ codé sur 4 bits indique la longueur de l'en-tête IP en mots de 32 bits. La valeur minimale est de 5 mots
(5⊗32 = 160 bits soit 20 octets, pour un datagramme sans options).

TOS [Type Of Service]. Ce champ codé sur 8 bits indique comment un datagramme IP doit être traité. Il se décompose en cinq parties :

Tableau 1.3. Champ TOS

0 1 2 3 4 5 6 7
Priorité D T R Inutilisé

Les trois premiers bits (à gauche) indique le degré priorité requis par le datagramme (de 0 : priorité normale à 1 : priorité de supervision réseau). Ce
champ peu utilisé permet toutefois d'implémenter des mécanismes de priorité permettant la mise en œuvre d'algorithme de contrôle de la congestion
non sensibles au phénomène qu'ils tentent de corriger. Les bits D, T et R permettent de préciser le type d'acheminement désiré. D (s'il est positionné à
1) pour un acheminement à court délai, T pour un acheminement nécessitant un débit élevé et enfin R pour une grande fiabilité. Souvent un réseau
propose une fonction parmi les trois (par exemple un débit rapide mais un délai important), et un algorithme de routage doit choisir une route parmi un
ensemble de réseaux aux caractéristiques différentes, le datagramme doit donc fournir une indication sur le paramètre qu'il considère le plus important.

TL [Total Length]. Ce champ donne la longueur complète du datagramme : en-tête et données. Au maximum, un datagramme fera 216, soit 65535
octets.

ID [Identification]. Ce champ de 16 bits identifie un datagramme. S'il y a fragmentation, cela permet d'identifier les différents fragments du
datagramme.

Drapeaux [Flags]. Codé sur 3 bits, en partant de la gauche on trouve un bit réservé à 0, puis le bit DF [Don't Fragment] qui s'il est à 1 interdit la
fragmentation et enfin le bit MF [More Fragment] qui s'il est à 1 fait partie d'un fragment et sinon qu'il est le dernier fragment d'un datagramme (ou le
seul).

Fragment Offset. Ce champ de 13 bits indique la position des données dans un datagramme fragmenté. Il s'agit du décalage [offset] du premier octet
du fragment relativement au datagramme complet.

TTL [Time To Live]. Champ durée de vie du datagramme, codé sur 8 bits (soit 255 unités, initialement des secondes, l'estimation du temps de transit
dans un internet étant difficile, la sémantique de ce champ a été revue). A chaque traversée d'un routeur le TTL est décrémenté. S'il parvient à la valeur
0 le datagramme est détruit, ce qui permet d'éviter les boucles infinies dans l'Internet. Un datagramme ICMP time exceeded est réémis vers la source
pour l'informer de cette destruction.

Protocole. Ce champ de 8 bits permet d'identifier le protocole de haut niveau (TCP, UDP, ICMP ...) encapsulé dans le datagramme IP.

Somme de contrôle de l'en-tête [Header Checksum]. Ce champ permet d'assurer l'intégrité de l'en-tête. Celui-ci est considéré comme une suite
d'entiers sur 16 bits (relativement à l'ordre standard réseau) dont on fait la somme en complément à 1. On prend alors le complément à 1 du résultat.
Pour permettre, en particulier, le calcul le champ (d'en-tête) de somme de contrôle est arbitrairement considéré à 0.

Adresse IP source. Adresse IPv4 sur 32 bits de l'émetteur.

Adresse IP destination. Adresse IPv4 sur 32 bits du destinataire.

Options. Ce champ de longueur variable peut s'étendre sur une longueur de 0 à 11 octets. Ce champ est rarement utilisé en pratique. Il arrive que
certain routeur et/ou firewall détruise les paquets contenant des options. Du fait que ce champ est optionnel, que la plupart des paquets ne le contienne
pas, la longueur d'un en-tête IP est de 20 octets.

Bourrage [padding]. Ce champ est utilisé pour compléter le dernier mot [word] à une longueur de 32 bits, dans un paquet contenant des options
(activées).

1.5.2. Principes de fonctionnement

Le service fondamental assuré par un internet est, d'un point de vue technique, un service de remise non fiable de datagrammes en mode non
connecté.

A l'image des réseaux Ethernet, IP utilise le paradigme de remise « au mieux » [best effort delivery] pour délivrer les datagrammes (un internet ne
détruit pas de sa propre initiative un datagramme). La remise est dite non fiable car il n'y a pas de garantie d'arrivée, en effet les datagrammes peuvent
s'égarer en chemin, être altéré, dupliqué ou encore arriver dans le désordre (les réseaux peuvent tomber en panne ou être saturé ...) sans que le
service responsable de leur acheminement ne le détecte et en avertisse les extrémités. Enfin on parle de mode non connecté pour signifier que chaque
datagramme est traité indépendamment des autres, i.e. il peut prendre un chemin différent pour atteindre sa destination.

Le protocle IP (ou internet) réalise le service de remise des datagrammes, lequel s'articule autour de trois notions :

1. Le datagramme qui est l'unité d'échange sur un internet et dont la structure doit être spécifiée.

2. Le routage qui consiste à déterminer un (meilleur) chemin (au sens d'une métrique donnée) pour l'acheminement des datagrammes à leur
destination.

3. La remise non fiable qui nécessite un ensemble de règles qui la rende possible.

1.4. Mappage ARP/RARP 1.6. IP & routage

Vous aimerez peut-être aussi