Vous êtes sur la page 1sur 33

Cours de Réseaux Informatiques

Chapitre 3

Sonia GAIED
sonia_f_g@yahoo.fr

2019/2020
datagramme IP
Modèle TCP/IP
Protocole IP
• But: Acheminement des datagrames d'une
machine à une autre par des intermédiaires .
• Adressage logique, indépendant du matériel
(distribution supervisée des adresses)
• Routage (comment ces adresses sont elles
traitées?)
• Correspondance entre adresse physique et
adresse logique (DNS et DHCP)
Modèle TCP/IP
Protocole IP
• Le protocole IP définie
– La taille de l’unité de donnée, sa structure.
– La fonction de routage, comment les machines et
les passerelles doivent traiter les paquets.
– Les messages d’erreur et leurs traitement.
• L’entête IP contient
– Version, longueur, priorité, durée de vie, @ source
et @ destination.
– Options de routage, de traçage, …
Format du datagramme IP

5
DATAGRAMME IP v4
Champ Version
• codé sur 4 bits
• identifie la version du (format du) datagramme

• actuellement, la version est 4 (codée 0100 en


binaire) dans le datagramme IPv6, ce champ est
maintenu et vaut 6
• permet de s’assurer que le datagramme sera
correctement interprété

6
DATAGRAMME IP v4

◆ adresse IP Source : (32 bits)


• identifie l’hôte à l’origine du datagramme
◆ adresse IP Destination : (32 bits)
• identifie le destinataire final du datagramme

Ces adresses ne sont pas modifiées par les routeurs.

7
DATAGRAMME IP v4

Header LENgth :
Champ Longueur d’en-tête (HLEN)
• codée sur 4 bits
• indique le nombre de mots de 32 bits de l’en-tête
(comprenant les options) :
– en-tête de 20 à 60 octets
– 5 ≤ HLEN ≤ 15

 si HLEN > 5 alors il y a des options

8
DATAGRAMME IP v4
Type de Service (ToS :Type Of Service)
o 8 bits: indique comment le datagramme
doit être géré
o La priorité du datagramme (3 bits)

o utilisé en cas de pb de congestion

o Bits suivants: indiquent le type d'acheminement désiré du


datagramme, permettant à un routeur de choisir entre
plusieurs routes (si elles existent) :
Le délai court, un débit élevé , une grande fiabilité…

Priorité Type de Service


- + + -
délai débit fiabilité coût 0
0 1 2 3 4 5 6 7 9
Zone utilisée par les algorithmes de routage
DATAGRAMME IP v4

Champ Longueur Totale


• codée sur 16 bits
• indique le nombre de total d’octets du
datagramme (en-tête + données)
• comprise entre 20 et 65 535

 Les Datagrammes dont la longueur dépasse la


zones de données (MTU : Maximum Transmission
Unit) du réseau sous-jacent doivent être
fragmentés (rappel : MTU Ethernet 1500 octets).
10
DATAGRAMME IP v4
• Pour toute machine ou routeur : une unité maximale de transfert
(Maximum Transfert Unit ou MTU) définit la taille maximale d'un
datagramme véhiculé sur le réseau physique correspondant
• Si le datagramme est routé vers un réseau physique dont le MTU est
plus petit que le MTU courant, le routeur fragmente le datagramme
en un certain nombre de fragments, véhiculés par autant de trames
sur le réseau physique correspondant
• lorsque le datagramme est routé vers un réseau physique dont le
MTU est supérieur au MTU courant, le routeur route les fragments
tels quels

 le destinataire final reconstitue le datagramme initial à partir


11
de
l'ensemble des fragments reçus.
MTU et fragmentation
Maximum Transfer Unit (MTU) :
taille max des données (charge utile) transportées sur
un réseau physique
– Ethernet : 1 500 octets
– Token Ring : 4 ou 16 Ko
– X.25 : 128 octets recommandés (max 255)
– SMDS : 9 188 octets
– Frame Relay : 1 600 octets

• IP fragmente tout datagramme plus grand que le MTU du


réseau qui doit le transporter
• chaque fragment est un datagramme acheminé
indépendamment (peut suivre une route différente des
autres fragments) et peut être à son tour fragmenté
12
MTU et fragmentation

• identification : valeur identifiant le datagramme


d’origine relativement à l’adresse IP Source
• Flags:
– bit D(on’t Fragment) : le datagramme ne doit pas être
fragmenté (détruit et message ICMP si impossible)
– bit M(ore) : à 0 si ce datagramme est le dernier (ou
seul)

Toujours à 0 DF : Don't Fragment MF : More Fragment

0 1 2 13
DATAGRAMME IP v4
◆ La Fragmentation
➢ Drapeau (flags) :
DF = 0 Fragmentation possible.
DF = 1 Fragmentation interdite.
MF = 0 Dernier fragment.
MF = 1 Ce n'est pas le dernier fragment.

Le bit MF si positionné à 1, indique que le datagramme n’est qu’une partie


(fragment) du datagramme d’origine et que ce n’est pas le dernier
fragment. Si à 0, indique que le datagramme est le dernier fragment du
datagramme d’origine. On reconnaît un datagramme non fragmenté
lorsque le bit More est à 0 et que le Déplacement est aussi à 0.
14
DATAGRAMME IP v4
Place du fragment/ Déplacement/
FRAGMENT OFFSET : 13 bits pour indiquer la
position des données du fragment par
rapport au début du datagramme originel
(en mot de 8 octets).
• C'est un multiple de 8 octets ; la taille du fragment est donc
également un multiple de 8 octets.
• chaque fragment a une structure identique à celle du
datagramme initial, seul les champs FLAGS et FRAGMENT
OFFSET sont spécifiques.

• Ce champ sert pour la fragmentation. En multipliant sa valeur


par 8, on obtient la position dans le datagramme d’origine du
premier octet de données de ce datagramme. Le Déplacement
est différent de 0 uniquement si le datagramme a été
fragmenté. Il vaut 0 si le datagramme n’est pas fragmenté, ou si
c’est le premier fragment. 15
DATAGRAMME IP v4

16
DATAGRAMME IP v4
La fragmentation

Soit un réseau de MTU de 150 octets.


1. calculer la charge utile d'un paquet IP pour ce
réseau.
2. En déduire la taille réelle d'un fragment dans ce
réseau.

Soit une taille de fragment de 16x8=128 octets


Le datagramme d'origine à une taille de 576 octets.
Son champ ID vaut 4345.
3. En combien de datagramme ce paquet sera-t-il
fragmenté ? 17
DATAGRAMME IP v4

4. Quelle sera la taille en octets du champ "Data" du


dernier fragment?

5. Déterminer en expliquant votre méthode, quelle sera


la valeur du champ offset (déplacement) de chacun des
fragments ?

18
DATAGRAMME IP v4
Soit un réseau de MTU de 150 octets.
1. calculer la charge utile d'un paquet IP pour ce réseau.
150-20=130
2. En déduire la taille réelle d'un fragment dans ce
réseau.
130/8=16.25
Soit une taille de fragment de 16x8=128 octets
Le datagramme d'origine à une taille de 576 octets. Son
champ ID vaut 4345.
3. En combien de datagramme ce paquet sera-t-il
fragmenté ?
576 – 20 (En-tête) = 556 octets
556/128 = 4.34 soit 4 fragments de 128 octets et un
19
cinquième.
DATAGRAMME IP v4

4. Quelle sera la taille en octets du champ "Data" du


dernier fragment?
44 octets
5. Déterminer en expliquant votre méthode, quelle sera
la valeur du champ offset (déplacement) de chacun des
fragments ?
OFFSET FRAG1 = 0
OFFSET FRAG2 = 16
OFFSET FRAG3 = 32
OFFSET FRAG4 = 48
OFFSET FRAG5 = 64
20
Format du datagramme IP

21
DATAGRAMME IP v4
La Durée de Vie (TTL : Time To Live)
• codé sur 8 bits
• indiqué par l’émetteur pour limiter :
– la ”durée de vie” du datagramme (en secondes)
– le nombre de routeurs traversés par le datagramme
• décrémenté par routeurs et stations traitant le
datagramme :
– de 1 à chaque traversée d’un routeur
– du temps passé en file d’attente
• si atteint 0, le datagramme est détruit, et l’émetteur est
informé par un message ICMP
• évite qu’un datagramme ne circule indéfiniment
• évite que des fragments ne soient gardés inutilement
22
DATAGRAMME IP v4

Réassemblage
• réalisé par le destinataire final :
• met en attente les fragments des datagrammes
incomplets
• les réordonne
• détruit tous les fragments d’un datagramme si le
TTL de l’un d’eux passe à 0 (et envoie un message
ICMP à l’émetteur)

23
DATAGRAMME IP v4
Protocole

Couche 4 TCP
Protocole = 6

Couche 3 RARP ARP IP

Type 0835 Type 0806 Type 0800

Couche 2 ETHERNET

24
DATAGRAMME IP v4
Protocole

• code sur 8 bits


• indique le protocole devant recevoir les données
du datagramme
• les valeurs de ce champ sont gérées par
l'autorité centrale et accessibles sur le site
www.iana.org

25
DATAGRAMME IP v4
Protocole

26
DATAGRAMME IP v4
CheckSum / total de contrôle:
• codé sur 16 bits
• contrôle l'intégrité de l'en-tête uniquement
IP ne vérifie pas si les données ont subi des erreurs de
transmission

• calculé par l‘émetteur


• vérifie lors de la réception (routeurs et destinataire) :
– stocker le checksum
– calculer le checksum
– si différents alors détruire le datagramme
• recalculé et modifié par les routeurs (car modifient au
moins le TTL) 27
DATAGRAMME IP v4
CheckSum / total de contrôle:

Calcul :
• Égal au complément à 1 de la somme des mots de
16 bits (excepté le checksum).
• Cette somme est recalculée par chaque routeur
(modification du champs TTL)

Lors du calcul:
• le champ HEADER CHECKSUM est supposé contenir la
valeur 0.
28
Format du datagramme IP

29
DATAGRAMME IP v4
◆ Options : Elles comprennent la découverte du
MTU, l’enregistrement d’une route suivie par un
datagramme, le routage à la source, etc.

◆ En cas de fragmentation, certaines options sont


copiées dans tous les datagrammes (comme le
routage à la source), d’autres ne le sont que dans
le premier (comme enregistrement de la route).

30
DATAGRAMME IP v4
◆ Options : Ce champ est de longueur variable et
peut être nul.
La description d'une option est la suivante :

Option Longueur Paramètre(s)

Longueur est un multiple de mots de 32 bits


(bourrage éventuel avec des 0)
31
DATAGRAMME IP v4

Option Longueur Paramètre(s)

Nombre - 5 Bits pour


Copie de cette Classe numéroter l'option
option dans les 2 Bits dans la classe
fragments
si Bit = 1

0 0 : Contrôle
1 0 : Débogage et mesures
0 1 et 11 réservé à un usage ultérieur
32
DATAGRAMME IP v4
Quelques options du datagramme
• Enregistrement de route (classe = 0, option = 7) permet
à la source de créer une liste d'adresse IP vide et de
demander à chaque passerelle d'ajouter son adresse dans
la liste.
• Routage strict prédéfini par l'émetteur (classe = 0, option
= 9) prédéfinit le routage qui doit être utilisé dans
l'interconnexion en indiquant la suite des adresses IP.
• Routage lâche prédéfini par l'émetteur (classe = 0, option
= 3) autorise, entre deux passages obligés, le transit par
d'autres intermédiaires.
• Horodatage (classe = 2, option = 4) permet d'obtenir les
temps de passage (timestamp) des datagrammes dans les
routeurs. Exprimé en heure et date universelle

33