Vous êtes sur la page 1sur 35

IPv4 :Internet Protocol version 4

Format du datagramme IPv4

1
Format du datagramme IPv4

 Version ( 4 bits) :
– Numéro de version du protocole IP
– La version actuelle est 4 (IPv4), 0100 en binaire
– Une transition vers IPv6 est en cours.

Format du datagramme IPv4

 Longueur En-tête (4 bits) :


– Champ IHL (Internet Header Length)
– Longueur de l’en-tête en mots de 32 bits
– Nécessaire puisque la longueur du champs
«options » est variable
• La valeur minimale est 5, sans options.
• La valeur maximale est de 15, soit 60 octets au
maximum pour l’en-tête IP.

2
Format du datagramme IPv4

 Longueur Totale (16 bits) :


– Indique la longueur totale, en octets, du
datagramme en-tête compris (20 < Longueur
Totale < 65536 octets

Format du datagramme IPv4

 Options (variable) :
– Liées au routage ou à la qualité de service
– La plupart des datagrammes ne contiennent pas
d’options

3
Format du datagramme IPv4

 Informations liées au routage


– Adresses IP de la source et de la destination
– TOS (8 bits) : Type Of Service, critères de qualité
de service
• Dans la pratique actuelle, le type de service est ignoré
par les routeurs
– TTL (8 bits) : Time To Live, durée de vie du
datagramme dans le réseau

TTL (Time To Live)

 TTL ou Durée de Vie : compteur qui sert à


limiter la durée de vie des datagrammes.
 Lorsqu’un datagramme traverse un routeur,
celui-ci décrémente la valeur du TTL.
– Ceci permet d’empêcher que des datagrammes
n’errent sans fin (boucle sans fin) dans le réseau.
 En effet, un paquet pourrait «jouer »au ping
pong entres routeurs et ce en fonction des
informations de routage que ces derniers
possèdent (état des lignes, métriques, …)

4
TTL (Time To Live)

 Le paquet est délivré

TTL (Time To Live)

 Le paquet est détruit

5
Format du datagramme IPv4

 Informations liées à la fragmentation


– Identifiant de datagramme (16 bits) :
• Il permet à l’hôte destinataire de déterminer à quel
datagramme appartient un fragment reçu.
• Tous les fragments d’un datagramme contiennent la
même valeur d’identification.

Format du datagramme IPv4

 Informations liées à la fragmentation


– FLAG (3 bits dont le premier n’est pas utilisé) :
indication d’état de fragmentation
• DF (Don’t Fragment): un bit qui permet de demander
aux routeurs intermédiaires de ne pas fragmenter le
datagramme. Dans certains cas, le destinataire n’est pas
en mesure de recomposer les datagrammes qui
seraient fragmentés.
• MF (More Fragments): ce bit est positionné à 1 pour
tous les fragments sauf le dernier.

6
Format du datagramme IPv4

 Informations liées à la fragmentation


– Déplacement dans le fragment :
• indique la position (déplacement, offset) du fragment
dans le datagramme courant (même identification).
• Tous les fragments (à l’exception du dernier) doivent
avoir un multiple de 8 octets.
• Ce champ contient 13 bits, soit une valeur maximale de
8.192 (= 2^13) fragments par message (unité du niveau
4).
• 8.192 x 8 = 65.536 octets au total.

Fragmentation

 Exemple :

7
Fragmentation

 Pour assurer le réassemblage, IP doit attendre


l’arrivée de tous les fragments.
 Les opérations de fragmentation et de
réassemblage sont coûteuses en terme de
puissance de calcul et de mémoire.
 De plus, en mode datagramme, la perte d’un
seul fragment provoque une reprise par la
couche TCP de la totalité du segment
fragmenté.

Format du datagramme IPv4

 Protocole:
– spécifie à quel processus de la couche transport
doit on passer le datagramme
• 6 : TCP
• 17 : UDP
• 1 : ICMP

8
Format du datagramme IPv4

 Somme de contrôle d’en-tête :


– permet de détecter les erreurs générées par des
mots mémoire erronés dans un routeur.
– Cette somme de contrôle doit être recalculée dans
chaque routeur. Pourquoi ?
• car au moins le TTL change à chaque passage dans un
routeur.

ICMP

9
ICMP

 ICMP = Internet Control Message Protocol


(RFC 792)
 ICMP est un module obligatoire d'IP
 Il assure deux fonctions principales :
– informer la source d’une erreur réseau (message
d’erreur)
– formuler une demande d’état à un système
(message d’information)

ICMP

 les messages ICMP sont de deux natures :


– les messages d'erreurs : suite à une erreur
constatée sur un datagramme (qui entraîne le plus
souvent sa destruction)
– les messages d'interrogation/information :
messages divers contribuant au (ou informant sur
le) bon fonctionnement des équipements

10
ICMP

 Les messages ICMP sont encapsulés dans un


datagramme IP (champ Protocole =1)

ICMP

 mais IP utilisant ICMP, les deux se situent au


même niveau

11
ICMP

 IP est un service non fiable


 les causes rendant impossible la remise d'un
datagramme peuvent être nombreuses
– panne de ligne de transmission, ou d'un processeur
– destinataire déconnecté
– TTL insuffisant
– congestion des routeurs intermédiaires
– checksum erroné
– mauvaises tables de routage
– …
 néanmoins, les erreurs ne sont pas toutes
détectables

ICMP

 lorsqu'une erreur (dans la remise d'un datagramme) est


détectée par un routeur ou la station destinataire, un
rapport d'erreur (message ICMP) est envoyé à l'émetteur
d'origine) du datagramme

12
ICMP
 le message inclut au moins 28 octets (l'en-tête et
les 64 premiers bits) du datagramme ayant causé
l'erreur, contenant les en-têtes des protocoles de
niveau supérieur, ce qui permet notamment de
déterminer le processus émetteur pour l'informer
 il n'est envoyé qu'à l'émetteur du datagramme
qui, parfois, n'y peut rien (exemple d'une
mauvaise table de routage d'un routeur
intermédiaire)
 aucun message d'erreur n'est envoyé si le
datagramme en cause contient un message ICMP
de la catégorie erreur

Structure générale

 Type (1 octet) : type de service ICMP


 Code (1 octet) : subdivision du type de service
 Total de contrôle (2 octets) : protection du
contenu du message ICMP (même algorithme
que IP)

13
Structure générale

 Autres champs (4 octets), selon la valeur du


champ Type (numéro de séquence,
identificateur, adresse IP…)
 Données ICMP:
– données (Echo), adresse IP, masque d’adresse,
date...
– en-tête IP et 8 premiers octets du datagramme en
erreur (messages d’erreur)

Format du message ICMP


 Type
– 0 Réponse d'écho
– 3 Destination inconnue
– 4 Limitation du débit par la source
– 5 Redirection (changement de route)
– 8 Requête d'écho
– 11 TTL de datagramme expiré
– 12 Paramètre IP inintelligible
– 13 Requête d'horodatage
– 14 Réponse d'horodatage
– 17 Requête de masque d'adresse
– 18 Réponse de masque d'adresse

14
Format du message ICMP

 le champ Code (8 bits) est utilisé pour préciser


le message
– Code d'erreur, fonction de type :
• Type 3 (Destination inaccessible)
» Réseau inaccessible.
» Host
» Protocole
• Type 5 (Redirection)
» Par réseau
» Par Host

Format du message ICMP

 Somme de contrôle
– le champ Total de Contrôle (ou checksum) : est
codé sur 16 bits porte sur (contrôle) la totalité du
message ICMP
– calculée de la même manière que le checksum IP

15
Destination inaccessible (Destination Unreachable)

 Message ICMP renvoyé par un routeur ou par


l’hôte destinataire si un datagramme ne peut
pas être remis

Destination inaccessible (Destination Unreachable)

 Champ Code permettant de distinguer plusieurs cas.


 Exemples :
Code Signification
0 Réseau inaccessible
1 Hôte inaccessible
2 Protocole inaccessible
3 Port inaccessible
4 Fragmentation nécessaire et flag DF (Don’t
Fragment) activé
5 Echec du routage par la source

16
Expiration de délai (Time exceeded)

 Message envoyé par un routeur lorsque après


avoir décrémenté le champ TTL d’un
datagramme, la durée de vie est nulle et le
datagramme est écarté
– rappel : un routeur décrémente le champ TTL chaque
fois qu’il traite un datagramme. Cela évite que, s’il
existe des chemins en boucle, du fait de tables de
routage erronées, ou modifiées suite à des pannes de
liens, un datagramme circule sans fin
 Autre cas : message envoyé par l’hôte de
destination dont le temporisateur de
réassemblage expire avant réception de tous les
fragments d’un datagramme

Expiration de délai (Time exceeded)

 Le format du message ICMP de délai expiré est


le suivant :

17
Expiration de délai (Time exceeded)

 le champ Code :
– 0 : le TTL a expiré sur un routeur. Le message est
émis sur le routeur ayant détruit le datagramme ;
– 1 : le délai de réassemblage des fragments a
expiré sur l’ordinateur destinataire. Le message
est émis par cet ordinateur.

Test d'accessibilité
 ICMP : Format du message d’écho/reply

– Type : (8 bits) Sa valeur indique s’il s’agit d’une demande ou d’une réponse
d’ECHO :
• 0 : réponse à une demande d’ECHO
• 8 : demande d’ECHO
• Code : (8 bits) est toujours à 0

18
Test d'accessibilité
 ICMP : Format du message d’écho/reply

• Somme de contrôle : 16 bits champs de contrôle


• Identificateur : Permet l’indentification (unique) de la demande
• Numéro de Séquence : incrémenté à chaque demande

Test d'accessibilité
 ICMP : Format du message d’écho/reply

• Données : est composé de données optionnelles de longueur


variable émises par la requête d'écho et devant être renvoyées par
le destinataire si présentes

19
Routage IP

Routage

 On appelle "routage" toute technique basée


sur des adresses de niveau 3 réseau
permettant d'aiguiller une trame quelconque
émise par un nœud d'un sous-réseau vers un
nœud de destination pouvant être situé sur un
autre sous-réseau.
 Des dispositifs matériels (comportant des
logiciels) permettant d'effectuer cette tâche
s'appellent des Routeurs.

20
Routage

 Routeurs

Routage

 C’est quoi un routeur : c’est un élément


d’interconnexion de niveau 3 qui achemine
(route) les données vers un destinataire
identifié par son adresse de niveau 3

21
Routeur

 Un routeur est une machine possédant


plusieurs interfaces.
 Il est connecté à plusieurs réseaux en même
temps et peut faire passer un paquet d'un
réseau à un autre.

Routeur

 Un routeur assure deux tâches essentielles :


– La commutation de paquets (datagram
forwarding) : choisir la meilleure interface de
sortie en fonction de la destination d’un paquet et
des informations de la table de routage
– La gestion des protocoles de routage : échanger
des informations avec d’autres routeurs pour
maintenir et faire évoluer sa table de routage
• Dans le cas d’un routage statique, cette fonction peut
être absente

22
Routage

 les routeurs acheminent les paquets selon des


informations contenues dans des tables dites
tables de routage

Routage : Tables de routage

 Les informations contenues dans cette table


sont:

Destination Passerelle Interface


Au réseau de destination Adresse du prochain Interface utilisée pour
routeur envoyer les paquets

 Elle est composée de plusieurs lignes.


– Chaque ligne correspond à une route vers un
réseau

23
Routage

 Machines et routeurs participent au routage :


– Ils possèdent tous deux une table de routage,
– les machines doivent déterminer si le datagramme
doit être délivré sur le réseau physique sur lequel
elles sont connectées ou bien si le datagramme
doit être acheminé vers un routeur, elle doit
identifier le routeur appropriée.
– les routeurs effectuent le choix de routage vers
d’autres routeurs afin d’acheminer le datagramme
vers sa destination finale.

Routage

 La table de routage est présente dans les


hôtes comme dans les routeurs.
– La différence entre la table de routage d'un hôte
et celle d'un routeur, réside dans le fait qu'un hôte
ne route que des datagrammes émis par lui-
même, alors que le routeur transmet les
datagrammes provenant d'autres nœuds IP.

24
Mise à jour des tables de routage

 Configurer les routeurs afin que les paquets


empruntent le meilleur chemin disponible
– Plus-court-chemin au sens d’une métrique de coût
• nombre de routeurs traversés
• délai
• en km, distance réelle
• coût financier
• etc.
– Une route par préfixe IP (au moins)

Mise à jour des tables de routage

 Changement fréquents dans la table de


routage
– Disparition / apparition d'équipements
– Évolution du coût des routes
 Comment remplir ou mettre à jour des tables
de routage ?
– Routage statique : configuration manuelle des
tables de routage
– Routage dynamique : configuration automatique
par un protocole de routage

25
Routage statique (ou routage fixe)

 Principe : configurer chaque routeur à la main


– Construire, dans chaque routeur, une table
indiquant, pour chaque destination, l’adresse du
routeur suivant.
– Cette table est construite par
l’administrateur du réseau lors
de configuration du réseau et à
chaque changement de
topologie.
– Une fois configurées, les routes
ne bougent plus (statiques)

Routage statique (ou routage fixe)

 Avantage :
– Le routeur n’a pas à consacrer une partie de ses
ressources à l’entretien d’un protocole de routage
(CPU, mémoire, …)
– Aucun bouclage de chemin n’est à craindre
 Inconvénient :
– il n’existe pas de solution de secours en cas de rupture
d’un lien.
– Toute modification (par ex: la panne d’un équipement
ou d’une interface ) requiert la remise à jour manuelle
des tables de la plupart des routeurs

26
Routage statique (ou routage fixe)

 Domaines d’emploi
– Les petits réseaux
– Réseaux dans lesquels il n’existe pas de
redondance dans les routes

Routage dynamique

 Principe : les routeurs discutent entre eux


– Toute modification du réseau est connue de tous
les routeurs
– Une fois configurés, les routeurs mettent à jour
automatiquement leurs tables de routage

27
Routage dynamique

 Le protocole de routage consiste à définir


comment sont échangées les informations de
routage, et donc à :
– découvrir les autres routeurs du réseau
– construire les tables de routage
– maintenir les tables de routage à jour

Routage dynamique

 Deux grandes familles de protocoles de


routage IGP :
– Routage à vecteur de distance (distance vector) :
basés sur algorithme de Bellman-Ford
– Routage à état de lien (link state) : basés sur
algorithme de Dijkstra

28
Routage à plat, routage hiérarchique

 Problème : nombre de réseau aujourd’hui très


grand
– table de routage trop importante
 Solution:
– le réseau est découpé en domaines appelés systèmes
autonomes (AS, Autonomus System).
– Chaque domaine est identifié, les messages
n’appartenant pas au domaine sont éliminés
– Domaine sous la responsabilité d’une autorité unique
• Diminution de la taille de la table de routage
• Architecture indépendante des autres systèmes autonome

Routage à plat, routage hiérarchique

 Ce mode de découpage des réseaux conduit à


définir deux familles de protocoles de routage

29
Routage à plat, routage hiérarchique

 Deux familles de protocoles de routage :


– IGP: protocole de routage entre routeurs d'un AS
(intra AS)
• Interior Gateway Protocol.
• Exemples :
» Distance-vecteur : RIP, IGRP
» État des liens : OSPF, IS-IS
– EGP: protocole de routage entre AS (inter AS)
• Exterior gateway Protocol.
• Exemple : BGP.

Algorithmes vecteur distance

 Principe des algorithmes vecteur distance


– Routage vecteur distance ou routage de Bellman-Ford
– Chaque nœud du réseau maintient une table de
routage qui comporte une entrée par nœud du réseau
et le coût pour joindre ce nœud.
– Une route est composée de :
• L’adresse du réseau de destination
• L’adresse du routeur pour atteindre le réseau de destination
(next hop)
• La métrique (coût) : nombre de sauts= nombre de routeurs à
traverser pour atteindre le réseau de destination

30
Algorithmes vecteur distance

– Périodiquement chaque nœud diffuse sa table de


routage à ses voisins.
– Le nœud destinataire apprend ainsi ce que son
voisin est capable de joindre.
– En réception, le routeur compare les routes reçues
avec les siennes, il met à jour sa propre table de
routage si :
• Une route reçue est nouvelle
• Une route reçue est meilleure (métrique inférieure) :
» il incrémente le coût de cette entrée du coût affecté au
lien par lequel il vient de recevoir cette route

Algorithmes vecteur distance: Exemple

 Étape 1 : Initialisation

X Y Z W
A B C

A B C
X L 0 Y L 0 Z L 0
Y L 0 Z L 0 W L 0

31
Algorithmes vecteur distance: Exemple

 Étape 2 : Premier échange

A B C

X 0 Y 0 Z 0

Y 0 Z 0 W 0

X Y Z W
A B C

A B C
X L 0 Y L 0 Z L 0
Y L 0 Z L 0 W L 0

Algorithmes vecteur distance: Exemple

 Étape 2 : Premier échange

X Y Z W
A B C

A B C
X L 0 Y L 0 Z L 0
Y L 0 Z L 0 W L 0
Z B 1 X A 1 Y B 1

W C 1

32
Algorithmes vecteur distance: Exemple

 Étape 2 : Second échange


B
A C
Y 0
X 0 Z 0
Z 0
Y 0 W 0
X 1
Z 1 Y 1
W 1

X Y Z W
A B C

A B C
X L 0 Y L 0 Z L 0
Y L 0 Z L 0 W L 0
Z B 1 X A 1 Y B 1

W C 1

Algorithmes vecteur distance: Exemple

 Étape 2 : Second échange

X Y Z W
A B C

A B C

X L 0 Y L 0 Z L 0

Y L 0 Z L 0 W L 0

Z B 1 X A 1 Y B 1

W B 2 W C 1 X B 2

 Le routage dans le réseau a atteint sa stabilité 


convergence des tables

33
Algorithmes vecteur distance

 Avantages :
– Simplicité de l'algorithme (charge CPU faible)
– Totalement décentralisé
– Les bonnes nouvelles se propagent rapidement
 Inconvénients :
– Convergence lente pour les grands réseaux
– La taille des informations de routage est
proportionnelle au nombre de réseaux
– Bouclage, éventuellement à l'infini
– Pas de chemins multiples

Algorithmes à état des liens

 Idée de base : Plutôt que d’envoyer uniquement


la distance vers chaque destination, diffuser sur
tous les routeurs une carte complète du réseau
 Problèmes à résoudre : Comment construire
cette carte ?
– chaque nœud découvre ses voisins et détermine le
coût du lien qui les relie ;
– le lien est testé régulièrement et en cas de
modification de son coût, le nœud diffuse cette
information dans le réseau, sous la forme (A, B, c), le
lien du nœud A vers le nœud B a un coût de c;

34
Algorithmes à état des liens

– chaque nœud entretient une table où figure:


• pour chaque lien, son coût (matrice de coûts).
• À l’aide de ces informations, chaque nœud peut
reconstituer la cartographie complète du réseau ;
– à partir de la matrice des coûts, chaque nœud
détermine alors sa table de routage (algorithme
de Dijkstra).

35

Vous aimerez peut-être aussi