4 RoutageIP-V2
4 RoutageIP-V2
Modèle TCP/IP
M1
Achraf EN NADI
2021-2022
Couches réseau
et transport : TCP/IP
Partie 9
Routage IP :
Statique - Dynamique
1
Routage : définition
Trouver la meilleure route pour aller d'une
source vers une destination
la meilleure == > critère de coût
distance, nombre de nœuds traversés
temps de réponse
débit
fiabilité
charge
coût financier
Routage : définition
Routage :
terme général
2 fonctions
acheminement (forwarding)
adaptation des chemins (routing)
2
Fonction d'acheminement
table de routage d’un nœud, : pour chaque
destination : le port (la ligne) de sortie pour commuter
le paquet
destination port de
liaisons liaisons
en entrée noeud de en sortie sortie
commutation L1 a L1
k,l k,l
L2 l L2
L3 N L3
3
Protocoles de routage : objectifs
protocole de routage : communiquer des informations
sur la topologie globale du réseau
chaque routeur : prendre une décision locale de routage
information globale
Table de routage
Internet
4 informations A
Destination : réseau, sous- 10.0.0.20
réseau, machine, default 10.0.0.10
B
Netmask
20.0.0.10
Chemin ou prochain saut 0 20.0.0.20
interface locale C
un routeur intermédiaire 30.0.0.20 1
30.0.0.10
Éventuellement
D
coût ou métrique 40.0.0.10
nombre de hops
débit ….
Préfixe réseau Netmask Prochain
saut
10.0.0
20.0.0
30.0.0
Table du nœud C : à remplir 40.0.0
Default
4
Utilisation de la table de routage
Nœud (émetteur ou routeur) : recherche le prochain
saut où envoyer un paquet avec une @destination
Routage direct
une entrée pour l’adresse destination
une entrée pour l’adresse de réseau à laquelle la
destination appartient
Routage indirect
une entrée de routage par défaut (vers un
autre routeur)
Tables de routage : construites et mises à jour
dynamiquement
protocoles d’échanges d’information de routage (RIP, OSPF)
domaine dans lequel se trouve le routeur
Routeur
Le niveau IP présent dans le routeur et dans chacun
des hôtes
routeur : interconnexion des différents réseaux
physiques
protocole IP: indépendance entre les sous-réseaux
129.100.100.55 194.140.10.221
Hôte A Hôte B
Application Application
segment
Routeur segment
TCP
TCP TCP TCP
src=129.100.100.55 segment src=129.100.100.55 segment
dest=194.140.10.221 TCP IP IP IP dest=194.140.10.221 TCP
src= src=129.100.100.55 segment Ethernet Ethernet autre autre src= src=129.100.100.55 segment
@routeur dest=194.140.10.221 TCP @B dest=194.140.10.221 TCP
Réseau 1 Réseau 2
15
5
Entité IP dans l’émetteur
Dans l’émetteur, l’entité locale IP compare l’adresse
destinataire au netmask et décide si le destinataire est
ou non sur le même sous-réseau
Le routage peut être direct ou indirect
Routage direct : même sous-réseau, le paquet est
transmis directement, donc
l’adresse physique suivante = adresse destinataire
Routage indirect : sous-réseau diffèrent, le paquet est
transmis au routeur, donc
l’adresse physique suivante = adresse du routeur
16
17
6
Entité IP dans un hôte récepteur
vérifie le checksum
s’il y a eu fragmentation,
mémorise le paquet
réassemble les fragments une fois reçus
délivre au niveau supérieur
18
Routage statique
Rajouter manuellement des entrées dans la table
de routage
Tables chargées en général automatiquement au
démarrage du routeur
la route par défaut
Une route que l’on choisit si aucune entrée de la table
de routage ne correspond
19
7
Routage statique
Inconvénients
La gestion des changements de topologie du réseau
ou des incidents est à la charge des administrateurs
du réseau
Pas de prise en compte de la redondance
Avantages
Une totale maîtrise des tables de routage = un
routage prédictible
Adapté à de très petits réseau
Pas de consommation de ressources (bande-
passante, CPU) pour maintenir sa table
20
Routage dynamique
Établissement et maintien automatique de la
table de routage : en utilisant un protocole de
routage
Des messages sont échangés entre les routeurs
pour connaître les routes vers les différents
réseaux
Nécessite toujours la configuration manuelle des
interfaces des routeurs (adresse+netmask)
21
8
Routage dynamique
Mécanisme de routage identique au cas statique
Interrogation de la table de routage pour chercher la
sortie
Provenance des informations de la table diffère
22
Protocoles de routage
protocole de routage = mécanisme d’élaboration
et de mise à jour des tables de routage basé sur
l’échange d’informations entre les routeurs
23
9
Système autonome
Autonomous System (AS) : "Ensemble de réseaux et de
routeurs sous une administration unique" Ex.: entreprise,
campus univ.,
Système autonome
• Une seule entité d’administration
• Une seule politique de routage
R
Un campus universitaire AS1 R
Une société AS5
R
R
AS2 R
R AS4
R
AS3
Internet
Internet est vu comme une interconnexion de systèmes autonomes
10000 domaines de routage (1domaine=1AS)
AS : Autonomous System
25
10
Systèmes autonomes
Exterior gateway protocol (EGP)
BGP
R
AS1 R
AS5
R
R
AS2 R
R AS4
R
AS3
Internet
Interior Gateway Protocol (IGP)
RIP, OSPF
BGP : border Gateway Protocol
26
Couches réseau
et transport : TCP/IP
Partie 9
Routage dynamique
Protocole RIP
11
Introduction
RIP : Routing Information Succès de RIP
Protocol SE : Unix 4 BSD, plusieurs
Connu par le processus : sites TCP/IP
routed base du routage local,
Routage cohérent, échange amélioré pour être appliqué
aux WAN
d’informations d’accessibilité
entre les réseaux locaux de Évolution
l’univ. Berkeley
RIP du réseau XNS (Xérox)
Diffusion sur le réseau
RIPv1 [RFC1058], 1988
physique des informations de
routage RIPv2 [RFC1388], 1993
Pas appliqué aux réseaux
WAN
RIP : caractéristiques
Basé sur l’algorithme de vecteur de distance
Algorithme simple (Bellman-Ford)
Annoncer : route/chemin pour atteindre un réseau
Sous la forme d’un vecteur (réseau, distance)
Métrique simple : nombre de sauts
Convergence lente
Problèmes de boucles
Adaptés aux réseaux de petite taille (LAN)
Ne supporte pas le sous adressage
Classification :
Routeur actif : diffuse les informations
Routeur passif : en écoute des informations, adapter les routes et
garder les meilleurs chemins
29
12
Vecteur de Distance : Principes
Les protocoles de type « Distance vector » : basés sur
des algorithmes de Bellman-Ford
Il y a aussi
Novell’s IPX RIP
AppleTalk’s Routing Table Maintenance Protocol
(RTMP)
31
13
RIP : Fonctionnement
Routeur RIP actif
Diffusion aux nœuds voisins (immédiats)
Initialement : chaque routeur connaît ses
interfaces et ses connexions directes (métrique
= 1)
Utilisé une métrique en nbre de sauts pour
déterminer le plus court chemin, ne garantie pas
une solution optimale
32
RIP : Fonctionnement
Routeurs RIP passifs : mise à jour des tables de routage
en fonction des informations reçues
(@IPdestination, distance, @IPNextHop)
Destination inconnue et distance < ∞ : ajouter nouvelle entrée
(@IPdestination, distance+1, @IPRouteurDiffusion)
Destination connue et coût meilleur : remplacer entrée
(@IPdestination, distance+1, @IPRouteurDiffusion)
Destination connue et coût moins bon qui vient du même
@IPNextHop= @IPRouteurDiffusion : remplacer entrée
(@IPdestination, distance+α, @IPRouteurDiffusion)
Destination connue et coût égale :
Rien faire
Sinon, rien modifié : destination connue et coût moins bon
provenant d’un autre routeur
33
14
Exemple RIP
LAN 1
R1
Diffusion (1,1)
LAN 2
Mise à jour de table de routage
Route pour (1, 2, R1) R2 R4
LAN 3 Diffusion (1,2)
Mise à jour de table de routage
Route pour (1, 3, R1) R3 R5
Diffusion (1,3)
LAN 4 LAN 5
34
RIP : Problèmes
Convergence lente -- > cause : algo DV
Nombre de routeurs, distance entre ces routeurs
Création de boucles -- > datagramme
Valeur infinie : routeur tombe en panne --> coût
Croissance de la distance --> ∞
RRéésseeaauu11
x R1 R2 R3
(1,2)
(1,16)
RRéésseeaauu11
R1 R2 R3
(1,1)
(1,3) 35
15
RIP : Solutions
mise à jour de l'horizon éclaté : Split horizon
update
Pas de diffusion de route sur l’interface qui a servie à
la réception de l’information de son existence
Éviter le bouclage mais ne le supprime pas
Infini limité
Limiter le nbre de boucles, max=16 (∞= 16)
Conséquence : limiter l'étendu du domaine géré par
RIP
37
RIP : Solutions
Route time-out
durée limitée de validité des entrées de la table de
routage (3mn 6Xupdate messages perdus)
Toute entrée dont on a plus de nouvelles devient
inaccessible
Mécanisme de gel : Hold down
routeur : détecté un réseau est inaccessible (entrée
∞), refuse pendant un certain temps toutes les routes
vers ce réseau,
temps est supérieur au temps nécessaire à la
diffusion des informations valides sur tout le réseau
(2mn=4x30sec)
38
16
RIP : Solutions
Antidote : Poison reverse
Sauvegarde des routes inaccessibles pendant
plusieurs cycle de mise à jour, distance infinie (16)
Diffusion instantanées des routes inaccessibles aux
voisins : sans attendre le cycle suivant
Poison reverse combiné avec triggered update
(mise à jour déclenchée)
39
RA RB RC
sous réseau 1 sous-réseau 2 sous-réseau 3 sous réseau 4
sous réseau 1 sous réseau 4
sous-réseau 5
sous-réseau 6
RD
40
17
Distance vector – rupture
RA sous-réseau 2 RB RC
sous réseau 1
sous réseau 1
sous-réseau 3 sous réseau 4
sous réseau 4
sous-réseau 5
sous-réseau 6
RD
42
RIP : message
Message RIP encapsulé dans un datagramme
UDP (port 520)
Demande d’informations de routage
Informations de routage
Diffusion immédiate
Diffusion périodique
43
18
Format message RIP
0 78 15 16 31
entête
Commande Version doit être 0
20 octets
Adresse IP sur 32 bits
doit être 0
doit être 0
informations d’entête
45
19
Format message RIP
famille d'adresse :
= 2 pour IP (AF_INET)
2 octets suivants doivent être mis à zéro
@ IP (IPv4)
réseau, sous-réseau ou machine, routeur par défaut
(0.0.0.0)
2 champs suivants doivent être mis à zéro
Métrique : nbre de sauts/ @IP indiquée
précédemment (max= 16)
46
Conclusion
RIP Routing Information Protocol
Protocole IGP de type DV
Simple et facile à configurer
convergence lente
routed , gated : Unix RIP routing deamon
netstat -r : visualise la table de routage
route : modifie la table de routage
/etc/hosts : la table de routage initiale
RIP + UDP + IP : port n°520 (service RIP)
Domaine limité = 16 hops
Une seule métrique, pas optimale (nbre de
sauts)
47
20
Conclusion
Plusieurs temporisateurs
Tempo de mise à jour (update timer) : Intervalle de
transmission des paquets de mise à jour (Défaut à 30 secondes).
Tempo d’invalidité (invalid timer) : Temps de non mise à jour
d'une entrée pour une route avant qu'elle soit marquée comme
invalide dans la table de routage (Défaut à 180 secondes).
holddown timer : Temps après lequel l'entrée non mise à jour
dans la table de routage n'est plus examinée durant la phase de
recherche du meilleur chemin (Défaut à 180 secondes).
flush timer : Temps après lequel l'entrée non mise à jour sera
supprimée de la table de routage (Défaut à 240 secondes).
Délai aléatoire de diffusion immédiate des MdR [0-5 s]
Combine : Split horizon, poison reverse, triggered
update, hold down
48
Limitations RIPv1
Utilisé dans le cas de l’adressage IP conventionnel
Ne supporte pas le subnetting : masque de sous réseau
Extension :
@ indiquées : @hôtes ou @sous-réseau
Routeurs puissent les interpréter sans ambigüité
Mise à jour partielle : transmise sur le réseau dont le préfixe
correspond au ss-réseau
Nouvelle version RIPv2
Nouveau format de message
Authentification, utilisation du multicast, VLSM (masque)
49
21
Couches réseau
et transport : TCP/IP
Partie 9
Routage dynamique
Protocole OSPF
Introduction : OSPF
OSPF : Open Shortest Path First
Protocole Intra-domaine (IGP) : type Link-State
Mise à jour de tables de routage
Calcul des routes les plus courtes
Algorithme SPF (Dijsktra)
Open : norme disponible et gratuite
Equipementiers :remplacer les protocoles
propriétaires
OSPFv1 défini dans la RFC 1131, amélioré dans RFC
1247
OSPFv2 version actuelle, RFC 2328
51
22
OSPF : Caractéristiques (1)
Rapide : détection de changement (topologie)
et convergence
Basé sur l’état des liens reliant les routeurs
Chaque routeur maintient une base de données
de l’état des liens dans le réseau et des routeurs
Dédié à IP
Supporte les adresses en multicast
224.0.0.5 pour atteindre tous les routeurs du réseau
224.0.0.6 pour atteindre les routeurs désignés
52
53
23
OSPF : Avantages et inconvénients
Adapté aux réseaux de grande taille
Notion de « routing area »
Optimal en termes de trafic de gestion
54
24
Protocole Link State : Principes
Les LSP sont construits et envoyés
périodiquement ou suite à un événement :
Découverte d’un nouveau voisin
Changement du coût d’un lien existant
Panne d’un lien vers un voisin
56
HELLO B
A 2 C
1
3 4 5
6 HELLO
D E
25
Exemple : inondation
Chaque routeur diffuser sur toutes ses interfaces
l’état de ses liens
De A à B =1 A B
De A à D =1 1 2 C
3 4 5
6
D E
58
59
26
Algorithme du plus court chemin
Arbres vus de A et de C
1 2
A B C C
A
3 4
5
D E
B
B 6
E
D
A
C
D
E
À dérouler
60
A B
1 2 C
X
4 5 Comment vont réagir les
3 routeurs A et B ?
6
D E
63
27
Synthèse comparative : VD - LS
A remplir
64
OSPF : Fonctionnement
Découverte et contrôle de la connectivité
Diffusion de l'état des liaisons
Construire BDD des liaisons OSPF
Connaissance totale de topologie du réseau
Calcul de routes
Définir le "next hop" pour chaque destination,
l’interface de sortie ainsi que le coût
En se basant sur un algorithme : plus court chemin
d'abord (Algo Dijkstra)
Coût = 108 bit/s / Débit
65
28
OSPF : Fonctions et objets
HELLO
Découvrir ses voisins et vérifier leurs états
Élire le routeur désigné
Mise à jour
Inonder une aire
Garantir que tous les routeurs reçoivent la même
information (ne pas perdre de messages)
Synchronisation des informations
Un routeur arrivant sur le réseau doit être capable de
récupérer les informations qui lui manquent
Diffusion des tables construites en bordure
d’aire
66
OSPF : Hello
Chaque routeur OSPF découvre des voisins en
envoyant un paquet Hello sur ses liens
tt les 10sec : présence du routeur et bon
fonctionnement du lien
Si pas de réponse après 40sec == > absence du
routeur ou panne de liaison
Hello sert également à désigner le routeur
désigné
67
29
OSPF : Link State Advertisement LSA
69
30
OSPF : Routage hierarchique
Le routage est hiérarchisé pour
limiter la propagation des changements
Réduit le volume du trafic de routage
simplifier le calcul des routes
Découpage du système autonome (AS) en aires
(AREA)
Une aire est un ensemble de réseaux contigus
Chaque aire se comporte comme un réseau indépendant
identifiée au moyen d’un numéro sur 32 bits (décimale pointée),
pas forcément une @IP
70
71
31
3 classes d’Aires de routage
Aire backbone (Area 0)
chemin obligatoire
pour passer
d'une aire à l'autr e
Aires secondaires
Tous les nœuds de routage ont
Aires terminales (stub area)
une vue complète de la carte du
réseau Même comportement que les aires
ils calculent localement la secondaires
meilleure route entre une source sauf : ne mémorisent pas les informations
et une destination sur les routes externes
Toutes les routes externes sont récapitulées
dans une route par défaut
72
73
32
Synthèse comparative :RIP - OSPF
RIP v1 OSPF
A remplir
74
OSPF : message
Message OSPF un datagramme IP (port 89)
Entête OSPF: taille fixe =24 octets
Identificateur de la zone
Authentification (octets 0 à 3)
Authentification (octets 4 à 7)
75
33
Format de message OSPF
Type : type de message
Type signification
1 Hello (pour tester l’accessibilité)
2 Base de données de description de topologie
3 Demande d’état de lien
4 Mise à jour d’état de lien
5 Ack de mise à jour d’état de lien
IP source : @émetteur
ID zone : numéro zone (32bits)
Type authentification : mode d’authentification
utilisé. Par exemple : 0 (sans), 1 (mdp)
76
0 78 15 16 31
Masque réseau
Routeur désigné
Adresse IP du voisin 1
…
Adresse IP du voisin n
77
34
Descriptif du message Hello
Masque : masque de ss réseau sur lequel le
message a été émis
Tempo de panne : durée (sec)
Au bout de laquelle un routeur qui ne répond pas est
considéré en panne
Période Hello : (sec)
Durée qui sépare 2 messages Hello consécutifs
Priorité routeur : utilisé pour le choix d’un routeur
désigné de secours
R désigné, R de secours désigné : @IP
Adresse IP voisin i : tous les voisins dont le
routeur a reçu des messages Hello
78
Doit être à 0 I M S
Type de lien
Identificateur de lien
35
Message de description de BDD
taille de la BDD grande : Identificateur de lien
plusieurs messages Dépend du type de lien
bits IMS
@IP réseau, @IP routeur
I = 1, premier message Routeur
M = 1, messages qui suivent @IP du routeur responsable
S = 1, message émis par un de propagation des infos
maitre; esclave sinon relatives à ce lien
N°de séquence : N°séq du lien
Entier généré par Routeur
Numérotation séquentielle,
valeur initiale aléatoire Garantie : perte, hors
Détection de perte de séquence
message Total de contrôle
Type de lien Garantie d’infos correctes
Age du lien
Type signification Ordonner les messages
1 lien de routeur Nbre de sec écoulées depuis
2 lien de réseau l’établissement du lien
3 résumé des liens (réseaux IP)
4 résumé des liens (vers un routeur frontière)
5 lien externe (vers un autre résea)
80
Type de lien
Identificateur de lien
…
81
36
Message de mise à jour d’état de lien
0 78 15 16 31
Entête OSPF de type 4
Nbre d’information d’état de lien
Messages utilisé par les routeurs pour diffuser l’état des liens
Message composé d’une liste d’informations
0 78 15 16 31
Age du lien Type de lien
Identificateur du lien
Routeur qui diffuse les informations Entête
Numéro de séquence du lien
Total de contrôle du lien Longueur du lien
82
Couches réseau
et transport : TCP/IP
Partie 10
Protocole ICMP
37
ICMP
Internet Control Message Protocol
Même niveau qu’IP
84
Messages ICMP
Format : les messages ICMP ont tous le même format pour le premier
mot de 32 bits
champ type
Type Message Objet
0 Echo Reply Réponse en écho.
3 Destination Unreachable Destination inaccessible.
4 Source Quench Interruption de la source.
5 Redirect Redirection, changement de route.
8 Echo Demande d'écho.
11 Time Exceeded Temps de vie d'un datagramme dépassé.
12 Parameter Problem Datagramme mal formé.
13 Timestamp Demande de date d'estampillage.
14 Timestamp Reply Réponse à une demande d'estampillage.
15 Information Request Demande d'information.
16 Information Reply Réponse à une demande d'information.
17 Address Mask Request Demande de masque d'adresse.
18 Address Mask Reply Réponse à une demande de masque
d'adresse.
85
38
Message ICMP
Les messages ICMP sont encapsulés dans un datagramme IP avec
un en-tête IP décrit comme suit :
Time To Live = en secondes (et supérieur au nombre de passerelles à
traverser)
Protocol : ICMP = 1
Header Checksum
Source Address : l'adresse de la passerelle ou de l'hôte qui a émis le
message ICMP
Destination Address : l'adresse de la passerelle ou de l'hôte à qui le
message est destiné
le champ de données contient le message ICMP. Le premier octet indique
le type de message ICMP et détermine donc le format du champ de
données restant.
le problème est indiqué par les champs Type et Code de ICMP
86
Message ICMP : 3 et 5
les messages de contrôle fournissent
une information de retour sur les problèmes de l'environnement
de communication
non pas de rendre IP fiable
Destination inaccessible
Routeur : message envoyé lorsqu’il est incapable de délivrer ou
de retransmettre
Erreur de redirection
Routeur : signal à l’émetteur une nouvelle route
Construire une table de routage plus optimale
machine
(1) datagramme IP
(3) redirection ICMP
(2) datagramme IP
R1 R2
87
39
Outils : ping, traceroute
Ping : principe
exploite la fonction d'écho de ICMP
un routeur ou un hôte recevant un "echo request" retourne un
"echo reply«
tester l'accessibilité d'une machine
obtenir des statistiques sur la qualité de la route
Traceroute : principe
transmet des paquets vers une destination, en partant
d'un TTL de 1 et en l'incrémentant
S R1 R2 R3 D
TTL=1
TTL=2
TTL=3
TTL=4
40