DATAGRAMME IP (Internet Protocol RFC 791 francais  anglais)


data_ip

Version (Vers)

Sur ces 4 bits est codé le numéro de version du protocole IP utilisé. Actuellement, il s'agit pratiquement toujours de la version 4 (0100). Le numéro 5 sert à des applications expérimentales et la version 6 est en cours de mise en service (celle-ci utilise une autre structure de datagramme).

Longueur d'entête (I.H.L.)

Comme la longueur d'une entête de datagramme IP est variable, elle est codée sur 4 bits, sous forme de mots de 32 bits (4 octets). (Par exemple, 5 représente 5 fois 32 bits, soit 20 octets).

Type de service (Type of Service ToS)

Ce champ de 8 bits possède la structure suivante : (Pour l’instant une seule option peut être sélectionnée)


Priorité

Type de Service





-délai

+débit

+fiable

-coût

0

0

1

2

3

4

5

6

7


  1. 3 bits indiquant la priorité.
    - 000 (Par défaut - priorité la moins élevée)
    - 111 (supervision réseau- priorité la plus élevée). Cette partie est utilisée par certaines passerelles.

  2. 4 bits indiquant le type de service souhaité (en fonctionnement normal, ils sont tous à zéro) :
    - Le premier bit demande au routeur de choisir un chemin ayant un délai de transmission le plus court possible (par exemple choisir de passer par un câble sous marin plutôt que par une liaison satellite)

    - Le deuxième bit demande au routeur un débit élevé.

    - Le troisième bit demande au routeur de diriger les paquets vers des liaisons fiables

    - Le quatrième bit demande au routeur de choisir un chemin ayant un coût minimum.

  3. 1 bit réservé pour le futur, devant actuellement rester à zéro sauf pour certains cas expérimentaux.


Longueur du datagramme (Long. Totale)

Longueur totale du datagramme (entête + données), en octets. Comme ce champ est codé sur 16 bits, la longueur maximale d'un datagramme IP est de 65535 octets. Attention : si un datagramme est fragmenté, ce champ fait référence à la longueur du fragment courant et non à la longueur du datagramme initial.



Fragmentation

Si le routeur reçoit un datagramme trop grand pour le support sur lequel il doit l’envoyer, il est obliger de fragmenter ce datagramme. Il est donc nécessaire de repérer ces fragments et de faire en sorte que le récepteur des fragments d’un datagramme puisse « recoller » les morceaux dans le bon ordre pour reconstituer le datagramme. 3 champs permettent de résoudre ce problème.

Identification (ID)

0

DF

MF


Ce champ sur 16 bits sert à identifier un datagramme ou les fragments d'un datagramme fragmenté. En effet, ce champ a la même valeur pour tous les fragments provenant d'un même datagramme.

Drapeau (Flg)

                                                         Ces 3 bits donnent des informations concernant la fragmentation :

Place du fragment (Fragment)

Ce nombre codé sur 13 bits indique la position qu’a le 1er octet de donnée du fragment dans le datagramme (non fragmenté). Ce nombre est un multiple de 8 octets. Ainsi, une valeur de 10 signifierait que le 1er octet de donnée de ce fragment est en fait l’octet 80 du datagramme non fragmenté. S'il s'agit du premier fragment, ou si le datagramme n'est pas fragmenté, tous les bits sont à zéro.

Durée de vie (Time to Live TTL)

Théoriquement, ce champ doit indiquer sur 8 bits le nombre de secondes pendant lequel le datagramme est autorisé à voyager. A chaque passage d'une passerelle, on retire le temps qu'a pris la traversée de la passerelle. En pratique, comme ce temps est souvent inférieur à une seconde, on retire 1, ce qui fait que ce champ indique plus souvent le nombre de passerelles par lesquelles le datagramme peut passer qu'une durée proprement dite. Quand le champ durée de vie atteint zéro, le datagramme est détruit et un message d'erreur est envoyé à l'émetteur. Cette méthode permet d'éviter qu'un datagramme ne circule indéfiniment en boucle.

Numéro de protocole (Protocole)

Ce champ de 8 bits indique à quel protocole de niveau plus élevé est destiné le datagramme (SAP). La valeur zéro est réservée. Quelques exemples de valeurs : (La liste complète se trouve dans la RFC 790)

Adresse IP source

Adresse IP de l'émetteur du datagramme.

Adresse IP destination

Adresse IP du destinataire du datagramme.

Données

Ce sont les données du datagramme proprement dites.


Résumé :

Le protocole Internet est responsable de l’adressage et du routage entre machines, du cheminement des paquets de données dans le réseau, de la constitution et du réassemblage des paquets. Les fonctionnalités assurées par IP peuvent se déduire de l’examen de l’en-tête du paquet. Il identifie entre autres la source et la destination du paquet et comporte des identificateurs de fragmentation.