Vous êtes sur la page 1sur 4

Format des datagrammes IP

C. Pain-Barre
IUT INFO Anne 2007-2008

1 Introduction
IP (Internet Protocol) a t dfini par la RFC 791, devenue un composant du standard STD 5. Cest un proto-
cole de niveau rseau qui a pour objet linterconnexion de rseaux htrognes.

Voir les cours sur IP (cours 3, cours 4 et cours 5) pour des explications sur lutilisation de ce protocole.

2 Format du datagramme IP
Les messages transmis par IP sont appels des datagrammes. Certains datagrammes sont des fragments dun
datagramme qui a d tre fragment.

bits :
0 1 1 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
VER HLEN TOS Longueur Totale

Identification Flags Dplacement

Time To Live Protocole Total de Contrle

Adresse IP Source

Adresse IP Destination

Options IP (ventuelles)

Bourrage
taille variable

Donnes

Format du Datagramme IP

3 Description des champs du datagramme IP

- Comme tous les protocoles rseaux dInternet, tous les champs du datagramme IP sont exprims
en ordre rseau (Network Byte Order) : si une valeur tient sur plusieurs octets, le premier octet
transmis est loctet de poids fort. Sur un octet, le premier bit transmis est le bit de poids fort. Ceci
est prcis par la RFC 1700.

INFO - IUT Aix-en-Provence C. Pain-Barre, 2000-2008


Format des datagrammes IP Annee 2007-2008 2/4

VER : (4 bits)
Version du protocole IP qui doit interprter ce datagramme. La version actuelle la plus dploye est 4
(soit 0100 en binaire).
HLEN : (ou IHL) Internet Header Length (4 bits)
Cette valeur est multiplier par 4 pour connatre le nombre doctets constituant len-tte. Len-tte corres-
pond au dbut du datagramme jusquau donnes. Permet notamment de savoir si il y a des options et o
commencent les donnes. Peut varier de 5 (soit 20 octets dentte) 15 (60 octets dentte). Cette variation
sexplique par la prsence ou non doptions.
TOS : Type Of Service (8 bits) Indique la qualit du service demand pour ce datagramme (ou le flot de data-
grammes dans lequel il sinscrit) o les 8 bits sont dcomposs comme suit (les deux derniers devant tre
0) :
8 bits

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

Format du TOS IP
Priorit : (3 bits)
Indique la priorit voulue pour le datagramme. La priorit augmente avec la valeur de ce champ. Les
valeurs possibles sont les suivantes :
000 : Routine ;
001 : Priority ;
010 : Immediate ;
011 : Flash ;
100 : Flash Override ;
101 : Critic ;
110 : InterNetwork Control
111 : Network Control
Bit D(elay) : 1, indique que lacheminement du datagramme doit privilgier le dlai (il doit arriver le
plus rapidement possible).
Bit T(hroughput) : 1, indique que le datagramme fait partie dune communication ayant besoin dun
gros dbit
Bit R(eliability) : 1, indique quil faut privilgier la fiabilit : un effort particulier doit tre fait pour
acheminer correctement ce datagramme, notamment en empruntant si possible des rseaux faible
taux derreur
Bits inutiliss : doivent tre 0.
Longueur Totale : (16 bits)
Donne la taille totale en octets du datagramme (ou du fragment). Ainsi, un datagramme ne peut pas excder
65535 octets (216 1). La norme impose toute implmentation de pouvoir traiter des datagrammes dau
moins 576 octets. Si un datagramme devant traverser un rseau est de taille suprieure ce que le rseau peut
transmettre (c--d au Maximum Transfer Unit ou MTU du rseau), il doit tre fragment par le routeur ou
la station linjectant dans le rseau. Fragmenter veut dire que le datagramme sera dcoup en datagrammes
plus petits (des fragments) qui pourront tre transmis. Ces fragments auront pour Longueur Totale la taille
des donnes quils transportent plus la longueur de len-tte indique dans le champ HLEN. Le datagramme
dorigine sera reconstitu par le destinataire.

C. Pain-Barre, 2000-2008 INFO - IUT Aix-en-Provence


3/4 Annee 2007-2008 Format des datagrammes IP

Identification : (16 bits)


Numro identifiant le datagramme de faon non ambigu par rapport sa source (identifie par ladresse IP
source). Permet de rassembler les fragments dun mme datagramme afin de le reconstituer.
Flags : Indicateurs de fragmentation (3 bits).
Ces indicateurs se composent des 3 bits suivants dont le premier est inutilis et doit tre 0 :

3 bits

0 1 2

0 Dont More
Fragment

Format des Flags IP

bit 0 : bit inutilis et 0.


bit Dont Fragment : si positionn 1, indique que ce datagramme ne doit pas tre fragment.
Dans ce cas, un routeur qui na dautre choix que le fragmenter va le dtruire et enverra un message
ICMP de compte rendu de destination inaccessible.
bit More : si positionn 1, indique que le datagramme nest quune partie (fragment) du data-
gramme dorigine et que ce nest pas le dernier fragment. Si 0, indique que le datagramme est le
dernier fragment du datagramme dorigine. On reconnat un datagramme non fragment lorsque
le bit More est 0 et que le Dplacement est aussi 0.

Dplacement : Offset (13 bits).


Ce champ sert pour la fragmentation. En multipliant sa valeur par 8, on obtient la position dans le da-
tagramme dorigine du premier octet de donnes de ce datagramme. Le Dplacement est diffrent de 0
uniquement si le datagramme a t fragment. Il vaut 0 si le datagramme nest pas fragment, ou si cest le
premier fragment.
TTL : Time To Live (8 bits).
Valeur fixant la dure de vie en secondes du datagramme. Le but est dliminer un datagramme qui ne
serait pas arriv destination dans le dlai imparti, ou dliminer les fragments dun datagramme lorsquil
ne peut tre reconstitu (fragment perdu ou trop retard). En pratique, tout routeur devant transmettre le
datagramme va dcrmenter sa dure de vie dau moins 1. Il en rsulte que le TTL est une limite du nombre
de routeurs pouvant tre traverss jusqu la destination.
Proto : Protocole (8 bits).
Sert au dmultiplexage car indique quel protocole il faut remettre les donnes transportes dans le data-
gramme.
Quelques protocoles reconnus par IP (en dcimal) :

0 : IP
1 : ICMP
6 : TCP
17 : UDP
Les valeurs possibles de ce champ et leur signification sont dcrites dans la RFC 1700.
Checksum : Contrle de lentte (16 bits).
Permet de contrler lintgrit de lentte (mais pas des donnes). Voir le cours pour la mthode de calcul.
Si le Checksum calcul par le destinataire est diffrent de celui figurant dans le datagramme, celui-ci est
dtruit.

INFO - IUT Aix-en-Provence C. Pain-Barre, 2000-2008


Format des datagrammes IP Annee 2007-2008 4/4

Adresse IP Source : (32 bits)


Entier non sign identifiant ladresse IP de lmetteur du datagramme. On reprsente une telle adresse en
notation dcimale pointe.
Adresse IP Destination : (32 bits)
Entier non sign identifiant ladresse IP du destinataire du datagramme. On reprsente une telle adresse en
notation dcimale pointe.
Options : (taille variable, pouvant tre nulle).
Elles comprennent la dcouverte du MTU, lenregistrement dune route suivie par un datagramme, le rou-
tage la source, etc. En cas de fragmentation, certaines options sont copies dans tous les datagrammes
(comme le routage la source), dautres ne le sont que dans le premier (comme enregistrement de la route).
Voir champ HLEN pour la prsence doptions.
Bourrage : (Taille variable, pouvant tre nulle).
Nest prsent que pour complter la taille des options jusqu un multiple de 4 octets. Ceci parce que la
taille de len-tte est HLEN 4 octets.
Donnes : (taille variable)
Les donnes vhicules par le datagramme. Sur la station destinataire du datagramme, ces octets seront
communiqus lentit (protocole) indique par le champ Protocole si le Checksum est confirm. La taille
maximale de ce champ est 65535 moins la longueur de len-tte.

C. Pain-Barre, 2000-2008 INFO - IUT Aix-en-Provence