Vous êtes sur la page 1sur 34

Chapitre 6: Le protocole IP

Hend Marouane Sihem Chaabouni


ENET’COM

1GT1, 1GT2, 1GT3

2019-2020

1
Plan

• Introduction

• Format du datagramme IP

• Fragmentation IP

• Conclusion

2
Introduction

IP (Internet Protocol) : protocole de la couche réseau


responsable de:
• Adressage.
• Fragmentation et réassemblage du Datagramme IP.
• Routage: acheminer les datagrammes IP à travers un
ensemble de réseaux interconnectés pour atteindre le
destinataire.

3
Protocole IP: Caractéristiques

Un réseau IP est :
➢ En mode DATAGRAMME: Les différents fragments
peuvent suivre des chemins indépendants pour atteindre
le même destinataire

➢ Sans connexion : une seule phase c’est la phase de


transfert de données (pas de phase de connexion et de
déconnexion)

➢ Non fiable: pas de contrôle d’erreur, la remise des


paquets et non garantie.

4
Format du datagramme IP
un datagramme IP= entête +données

5
Format du datagramme IP
0 4 8 16 31
Version IHL Type of service Total length

Identification D M Fragment offset


0
F F
Partie fixe de l'en- Time to live Protocol Header checksum
tête IP (TTL)
de taille 20 octets
Source address

Destination address

Partie optionnelle de
l'en-tête IP Options
de taille variable Padding

Données

6
Le datagramme IP
l’entête
• L’entête IP comporte:
– des champs prédéfinis sur 20 octets c’est l’en-tête par
défaut ou l’en-tête fixe.
– Une partie option qui est optionnelle de taille variable.

• Un en-tête par défaut = un en-tête sans option.

7
Le DATAGRAMME IP

◆ Version : formé de 4 bits et indique la version du datagramme IP


utilisée. Exemple : version = 0100, pour indiquer qu’il s’agit de
l’IPv4.
◆ Header Length (HLEN) ou Internet Header Length (IHL): codé
sur 4 bits et donne la longueur de l'en-tête IP en multiple de 32
bits.
Exemple: si le champs comporte la valeur « 1100 » qui est équivalent
à 12 en décimal.
C’est-à-dire la taille de l’en-tête est 12*32= 384 bits = 48 octets tel
que 20 octets pour l’en-tête fixe et 28 octets pour la partie option,

8
Le DATAGRAMME IP
◆ Type de Service (TOS :Type Of Service) formé par 8 bits qui se
décomposent ainsi:

Priorité

D T R C 0
0 1 2 3 4 5 6 7

Zone utilisée spécialement pour le routage.


9
Type of service

• Priorité: codé sur 3 bits et définit la priorité du


datagramme.

• Bits D, T, R et C : indiquent le type d'acheminement


désiré du datagramme, permettant à un routeur de choisir
entre plusieurs routes (si elles existent) : D signifie délai
court, T signifie débit élevé, R signifie grande fiabilité et C
signifie le coût minimum.

10
Le DATAGRAMME IP
◆ Longueur totale du Datagramme (Total Length) : codé sur 16 bits
et indique la longueur totale du datagramme IP (En-tête +
Données).

◆ Identification, DF (Don´t Fragment), MF (More Fragment) et FO


(Fragment Offset) : ces champs seront expliqués dans la partie de
la fragmentation.

11
Le DATAGRAMME IP
◆ La Durée de Vie (TTL : Time To Live)
– Ce champ indique la durée de vie du datagramme IP en
précisant le nombre maximum de routeur que peut traverser le
datagramme entre la source et le destinataire. La machine qui
émet le datagramme définit sa durée de vie.

– A chaque passage par un routeur, la valeur du champ TTL sera


décrémentée de « 1 ». Si la valeur du TTL atteint 0, le routeur
détruit le datagramme et envoie un message d’erreur ICMP
(Internet Control Message Protocol) à l´émetteur.

– Le TTL a pour but d’éviter qu’un datagramme tourne


infiniment sur le réseau.
12
Le DATAGRAMME IP
◆ Protocole : Ce champ indique le protocole de couche supérieur
qui recevra les données IP :
– 6 : TCP
– 17 : UDP
– 1 : ICMP
– 2 : IGMP
– etc…
TCP=6 - UDP = 17
Couche 3 TCP
Protocole = 6

Couche 2 RARP ARP IP

Couche 1 ETHERNET
13
Le DATAGRAMME IP
◆ Header checksum: Ce champ de 16 bits permet de détecter (sans
corriger) les erreurs de l'en-tête IP du datagramme. Les étapes de
calcul du champ header checksum sont les suivantes:

– On initialise la valeur du champs header checksum à 0.


– On fait la somme sur 16 bits de tous les champs de l’en-tête IP.
– La valeur du header checksum sera alors le complément à 1 (en
binaire) de la somme trouvée.
– Le contrôle d’erreur est assuré par le récepteur à sa réception du
datagramme.
– Le header checksum permet de détecter l´existence d´une erreur dans
l’entête mais il ne la localise pas.

14
LE DATAGRAMME IP
• xxxx xxxx xxxx xxxx (VERS, HLEN, TYPE OF SERVICE)
• xxxx xxxx xxxx xxxx (TOTAL LENGTH)
• xxxx xxxx xxxx xxxx (ID. FLAGS, FRAGMENT OFFSET)
• xxxx xxxx xxxx xxxx (TIME TO LIVE, PROTOCOL)
• 0000 0000 0000 0000 (HEADER CHECKSUM)
• xxxx xxxx xxxx xxxx (IP SOURCE )
• xxxx xxxx xxxx xxxx (IP SOURCE)
• xxxx xxxx xxxx xxxx (IP DESTINATION)
• xxxx xxxx xxxx xxxx (IP DESTINATION)
• ... (OPTIONS éventuelles + PADDING)

• Tous les équipements de niveau 3, tel que les routeurs,


devront recalculer le checksum, car il décrémente le
champs TTL.
15
LE DATAGRAMME IP

• Source address : représente l’adresse IP de la station


émettrice.

• Destination address : représente l’adresse IP du récepteur.

16
Le DATAGRAMME IP
◆ Options : ce champ optionnel est de longueur variable (comprise
entre 0 et 40). Si les options ne sont pas multiples de 4octets, il
faut ajouter à la fin le champ padding. La partie options définit des
options de sécurité ou de routage.
◆ Padding: (champ de bourrage une suite de bits égaux à 0 et qui
n´ont aucune signification) pour assurer l’alignement sur 4 du
datagramme.
◆ Un Datagramme IP peut avoir plusieurs options.

Exemple: si on veut ajouter une option de taille 3 octets il faut avoir


un champ bourrage de 1 octets pour avoir une entête de taille
20+3+1= 24 octets et par la suite IHL prendra la valeur 0110.

17
LA FRAGMENTATION IP
OU LA SEGMENTATION

18
PROBLEMATIQUE

• L'utilisateur doit être capable de transmettre des unités de


données de tailles quelconques,

• Les réseaux offrent des unités de données de tailles


limitées : exemple les données à transporter pour une trame
Ethernet < =1500 octets.

➔Adaptation de la taille des unités de données à transmettre


à la taille des unités supportée par le réseau. .

19
MTU

Sur tout réseau, 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,
MTU

IP Packet

20
MTU
On définit les notions suivantes:
• MTU-link : MTU caractérisant les différentes liaisons.
• MTU-path: MTU caractérisant le chemin entre l’émetteur et le
récepteur, Il est définit par : MTU-path= min{MTU-link}
EXEMPLE: soit la figure ci dessous

MTU-link={620 octets, 1500 octets}


MTU-path= 620 octets
21
FRAGMENTATION IP
• Lorsque le datagramme transite vers un réseau physique dont
le MTU est plus petit que sa taille l’émetteur ou le routeur
fragmente le datagramme en un certain nombre de fragments,
véhiculés sur le réseau physique correspondant,

MTU <taille du datagramme IP


Routeur
Datagramme IP
…..
n 2 1
fragments IP
Fragmentation
22
FRAGMENTATIONS SUCCESSIVES
Le même datagramme IP peut être fragmenté plusieurs fois
pour atteindre son destinataire, dans l’exemple ci-dessous le
datagramme IP est fragmenté par le premier routeur puis les
fragments seront de nouveau fragmentés par le deuxième
routeur pour atteindre son destinataire.

Destination
Source

Fragmentation
23
RÉASSEMBLAGE
- Le destinataire final est le seul à reconstituer le datagramme
initial à partir de l'ensemble des fragments reçus.

- Si un des fragments est perdu, le datagramme initial est


considéré comme perdu.

Source Destination

Réassemblage
24
CHAMPS ASSOCIÉS À LA
FRAGMENTATION

25
IDENTIFICATION
- champ Identificateur (2 octets) : c’est un numéro
d’identification inscrit par l’émetteur du paquet.
- En cas de fragmentation, ce numéro d’identification est
recopié dans tous les fragments associé au même
datagramme IP.
- Ceci permettra au destinataire de repérer tous les fragments
d’un même Datagramme IP et de reconstituer le
datagramme d’origine.

47 47 47 47

Datagramme initial Fragments


26
FLAGS (DRAPEAUX)
• champ Flags (3 bits) : il permet de gérer la fragmentation :
• bit 1: réservé – toujours positionné à 0
• bit 2 : dit bit DF (Don’t Fragment)
– S’il est positionné à 0, la fragmentation est autorisée
– S’il est positionné à 1 la fragmentation est interdite.
• bit 3 : dit bit MF (More Fragment)
– S’il est positionné à 0 il indique qu’il s’agit du dernier fragment.
– S’il est positionné à 1, il indique qu’il s’agit d’un fragment intermédiaire,
mais pas le dernier fragment.
Remarque: Un paquet qui n’a pas été fragmenté aura donc toujours ce bit à 0.

0 0 1 1

Original IP Packet Fragments


27
FRAGMENT OFFSET

Contient, pour chaque fragment, le décalage entre le premier


octet de données du datagramme IP initiale et le premier octet de
données fragmenté qu'il transporte. C'est un multiple de 8 octets.

Remarque: Ce décalage est zéro pour le premier fragment


puisqu'il est aligné avec le datagramme initiale.

Fragment Offset
Du premier fragment
432 216 0
28
EXEMPLE (1)

• Soit un datagramme IP de 1400 octets de données qui doit


suivre le chemins donné par la figure ci-dessous pour
atteindre son destinataire, on donne pour chaque réseau
son MTU.

29
EXEMPLE (2)
• Par défaut , l'en tête IP compte 20 octets.
• Donc un datagramme IP de 1400 octets de données est relatives à un
datagramme IP de taille 1400+20= données + entêtes=1420 octets

• Pas de fragmentation au niveau de l’émetteur sur le réseau 1 car son


MTU est supérieur à la taille du datagramme IP

• La quantité de données maximale que peut transmettre le réseau


intermédiaire (réseau 2) avec un MTU de 620 octets est donc de 620 -
20 = 600 octets. (car il faut avoir toujours la partie réservée à
l’entête) fragmentation au niveau du premier routeur R1

• Pas de problème pour le réseau 3


30
EXEMPLE (3)

31
EXEMPLE (4)

• L’ assemblage interviendra à leur arrivée dans la couche IP


de l'hôte de destination.

• L’ordinateur de destination a tous les éléments en main


pour le faire :
– le champ identification pour repérer les fragments d'un
même datagramme,
– les décalages pour les assembler dans l'ordre,
– le champ MF pour reconnaître le dernier fragment.

32
CONCLUSION

• La fragmentation ne se fait que si les deux conditions


suivantes sont vérifiées:
– Le bit DF=0
– La taille du datagramme IP est supérieur au MTU.

• La fragmentation induit des délais et des traitements


supplémentaires au niveaux des différentes équipements.

33
Merci pour votre attention

34

Vous aimerez peut-être aussi