Vous êtes sur la page 1sur 48

Chapitre 4: Protocoles de routage

dynamique: RIP et OSPF

Dr. Safa Boumiza

boumiza.safa@gmail.com

2ème année LM 2023/2024

1
Acheminement des données
• Assurer le transit des blocs d’un point d’entrée à un point de sortie désigné par
son adresse
• Chaque nœud du réseau comporte des tables de routage qui indiquent la route à
suivre pour atteindre le destinataire
Acheminement des données (suite)
• Il faut distinguer entre
• la politique d’acheminement qui indique comment est choisie une route, et
• Le protocole de routage ou simplement routage qui décrit comment sont
construites les tables d’acheminement,
• c’est-à-dire qu’il spécifie les échanges d’information entre les routeurs pour le calcul de
la route
Protocole de routage
• Permettre aux routeurs interconnectés de s'échanger des
informations
• Mettre à jour automatiquement leurs tables de routage (routage
dynamique).
• Configurer les tables de routage (des 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, coût financier, etc.
• Il existe deux critères de classement :
• Portée du protocole
• Algorithme utilisé
Portée du protocole
• Système autonome (SA):
• ensemble de réseaux placés sous le contrôle de la
même autorité (par exemple un FAI).
• C'est une notion administrative et non technique.
• Deux classes de protocoles selon la portée du
protocole :
• Protocoles Internes: Interior Gateway Protocol
(IGP):
• Portée est limitée à un SA
• Protocoles externes: (EGP – Exterior Gateway
Protocol)
• Utilisés entre les systèmes autonomes
Algorithme de routage
• Il existe deux classes d’algorithmes utilisés
• Les algorithmes à Vecteur de distance (Distance-vector)
• RIP v1(Routing Internet Protocol),
• RIP v2,
• IGRP (Interior Gateway Routing Protocol)
• Les algorithmes à état de liens (Link-State)
• OSPF (Open Shortest Path First)
• Il y a des protocoles hybrides (utilisent les deux algorithmes)
• BGP (Border Gateway Protocol)
• EIGRP (Enhanced Interior Gateway Routing Protocol)
Routage à vecteur de distance
Routage à vecteur de distance
• Méthode itérative par transmission des tables de routage.
• Chaque routeur
• Transmet sa table de routage initiale à ses voisins immédiats.
• Fusionne sa table avec les tables reçues de ses voisins immédiats.
• En cas de modification, transmet la nouvelle table à ses voisins
immédiats
→ Algorithme de Bellman-Ford (1957)
Routage à vecteur de distance
• Un routeur envoi périodiquement vers ses voisins directs des messages avec la
liste des chemins qu’il connaît
• Les chemins sont indiqués sous forme de couples {destination; distance}
• Les messages sont envoyés aux routeurs voisins uniquement
• À la réception d'un message,
• un voisin compare les chemins avec les chemins de sa table de routage
• En cas de découverte d’un meilleur chemin vers une destination
• on remplace l’ancien chemin dans la table de routage par le nouveau (indiqué par le
message)
• L’information se propagera vers les voisins de ce routeur lors du prochain
envoi
• Itération du processus à l'infini
Routage à vecteur de distance: Exemple
• 5 routeurs et 6 liens de coûts différents
• 2 réseaux (N1 et N3) connectés au routeur
• Tables de routage initiales:
Routage à vecteur de distance: Exemple
• Première étape de communication
Routage à vecteur de distance: Exemple
• Deuxième étape de communication
Routage à vecteur de distance: Exemple
• Troisième étape de communication
• Aucune modification!
→ Le protocole a convergé
Routage à vecteur de distance: Exemple
• En cas de panne d’un lien:
• B détecte le problème
• Il associe un coût infini à N1 et N3
Routage à vecteur de distance: Exemple
• La liaison entre A et B est rompu !
Routage à vecteur de distance: l’Algorithme
• Chaque routeur envoie à tous ses voisins périodiquement sa table de
routage sous forme (@destination, coût)
• A la réception d’un message de routage arrivant d’un routeur voisin
d’adresse @routeur_voisin, pour chaque (@destination, cout)
contenue dans le paquet reçu faire
• Si @destination inconnue
• Rajouter dans la table de routage l’entrée (@destination, @routeur,
• coût+cout_vers_routeur_voisin)
• Si @destination connue : apparait dans la table de routage →
(@destination, @routeur_suivant, coût_présent)
• Si @routeur_voisin= @routeur_suivant alors
• Changer table (@destination, @routeur_voisin, coût +cout_vers_routeur_voisin)
• Si @routeur_voisin ≠ @routeur et coût
• +cout_vers_routeur_voisin<coût_présent alors
• Changer table (@destination, @routeur, coût+cout_vers_routeur_voisin)
Routage à vecteur de distance: problème
• Comptage vers l’infini
• Deux routeurs se considèrent mutuellement comme prochain saut vers une
destination
• On doit attendre d’avoir atteint une grande valeur du coût pour conclure que la route est
défaillante
• Solutions possibles
• Limiter le coût maximal (limite assez basse ; exemple : 15 sauts)
• Que faire des routes effectivement plus longues ?
• Dimensionnement important
• S’échanger l’adresse du prochain saut dans les messages
• Si un routeur se reconnait il ne prendra pas en compte la route
• Augmente la taille des messages et donc le trafic!
• Ne pas annoncer une route à un voisin si la route passe par ce voisin (horizon partagé)
• Nécessité de distinguer les routeurs voisins 1 à 1 → construire un message diffèrent pour
chaque routeur voisin
Routage à vecteur de distance: RIP
• RIP «Routing Information Protocol»
• Une implémentation du Routage à vecteur de distance
• Routage interne à un système autonome (AS) : IGP «Interior Gateway
Protocol»
• Les routeurs n’ont pas une vue globale du réseau
• Il s’échangent les distances qu’ils connaissent
• Il existe deux versions RIPv1 et RIPv2
RIPv1
• Exécution de l’algorithme Routage à vecteur de distance
• Un routeur diffuse sa table de routage avec une période de 30s
• Un message de routage contient au maximum de 25 routes
• Il n’y a pas d’accusé de réception des messages
• RIP utilise deux messages
• Requête :
• Message transmis au démarrage par chaque interface du routeur
• Demande à tous les voisins RIP de transmettre leur table de routage
• Réponse
• Message transmis au routeur demandant la table de routage
• Ou périodiques toutes les 30 secondes
RIPv1 (suite)
• Si on ne reçoit aucun message durant 180 secondes qui rappelle ou met à
jour une route
• une route est déclarée inaccessible
• → à chaque fois qu’une route est indiqué par un message un temporisateur est
actionné
• Si le temporisateur atteint 180s et aucun rappel ou mise à jour n’est reçu la route est
suprimée
• La visibilité d’un routeur est limitée à 15 sauts
• un coût de 16 représente une route non joignable.
RIPv1: Quelques problèmes
• Ne contient aucune information sur le masque de sous-réseau
• le routeur doit disposer localement de cette information
• le masque de sous-réseau doit être identique sur tout le réseau
• Limitation de la visibilité d’un routeur à 15 sauts
• diffusion des tables toutes les 30 s → un trafic important et un temps de convergence
(stabilisation des tables) grand pour les grands réseaux (jusqu’à plusieurs minutes)
• Convergence lente
• Les changements de topologie ne sont pas immédiatement pris en compte
• Il faut que le changement soit détecté́ et que l’information se propage
• Les routeurs sont nombreux et éloignes
• Le rebond
• Des boucles peuvent être créées : des paquets y circulent sans fin (trous noirs)
• Incrémentation infinie
• La distance des destinations inaccessibles s’accroît (lentement) jusqu’à l’infini
RIPv1: Quelques problèmes (suite)
• Les messages ne sont pas authentifiés.
• Possibilité de générer des messages RIP avec des coûts tels que toutes les
routes passent par un même routeur.
• Le routeur attaqué devient un goulet d’étranglement
• Le réseau peut ainsi être complètement paralysé (congestion).
RIPv2
• RIP v2 remédie à certains inconvénients de RIPv1 en restant compatible avec lui
• Utilise les champs non-utilisés dans RIPv1
• Permet de diffuser le masque de sous-réseau
• Permet d’insérer un champ d’authentification entre l’en-tête RIP et la première
entrée
• sa portée, toujours limitée à 15 sauts, le destine aux petits et moyens réseaux.
Routage à état de liens
Routage à état de liens
• Routage à état de liens : Link state
• Méthode non itérative par transmission d’état des liaisons.
• Principes:
• Un nœud envoie à tous les nœuds du réseau les informations au sujet de
ces voisins.
• Les nœuds ont une copie complète de la carte du réseau
• Chaque nœud exécute algorithme de Dijkstra pour chercher les plus court
chemins vers les autres nœuds
• Pas de problème de convergence.
Routage à état de liens
• Avantages:
• Chaque routeur calcule indépendamment la carte du réseau
→ l’algorithme converge plus rapidement que le routage à vecteur de distance
• Inconvénients:
• nécessite un espace mémoire plus important pour le stockage de la carte du
réseau
• et les calculs sont assez complexes
• Exemple : OSPF (Internet), IS-IS (DECnet, CLNP, Internet, Netware)
Routage à état de liens : Fonctionnement
• Chaque routeur :
• surveille activement l'état de tous ses liens
• détermine ses voisins (via des messages HELLO)
• mesure les coûts vers chacun de ses voisins (via des messages ECHO).
• Construit un message avec l’état de ces liens (LSA : «Link State
Advertisements») qui inclut
• Son adresse
• Un numéro de séquence et une durée de vie (âge)
• La liste de ces voisins et les coûts d’acheminement associés
• diffuse ce message LSA à tous les autres routeurs via ses voisins.
• construit une carte topologique et calcule les plus courts chemins (algorithme
de Dijkstra).
Routage à état de liens : Fonctionnement
• Calcul des routes
• Deux listes :
• PATH:(ID,coût,direction) liste des nœuds avec un chemin définitif
• TEMP: liste des nœuds avec des chemins intermédiaires
• Algorithme:
• Initialisation :
1- Placer mon identifiant (ID, 0, 0) dans PATH
• Boucle:
2- Prendre N le dernier nœud placé dans PATH :
i. Développer les voisins de N
ii. Ajouter les voisins de N à TEMP (si pas dans PATH) ou mettre à jour leurs coûts si déjà dans
TENT
3- Prendre le nœud avec le moindre coût de TENT et l’ajouter a PATH
4- Recommencer à 2.
Routage à état de liens : Fonctionnement
Routage à état de liens : Fonctionnement

• Calcul de la table de R1
• Etape 0
R1 R2
100

10 000 1 000 100


R1 R2 R3 R4 R5 R6 1 000 R4
1 500
R3
R5
0 . . . . .
100
100
1 000 R6

7
Routage à état de liens : Fonctionnement
• Calcul de la table de R1
• Etape 1 (voisins directs de R1)

R1 R2
100

R1 R2 R3 R4 R5 R6
10 000 1 000 100
1 000 R4
0 . . . . . R3
R5 1 500

10000
100 (R2) . 1000 (R5) . 100
(R4)
100
1 000 R6

7
8
Routage à état de liens : Fonctionnement
• Calcul de la table de R1
• Etape 2 (voisinage de R2)

R1 R2
100
R1 R2 R3 R4 R5 R6
10 000 1 000 100
0 . . . . . 1 000 R4
1 500
R3
R5
10000
. 100 (R2) . 1000 (R5) . 100
(R4)
100
1 100 1 000 R6
. . 200 (R2) .
(R2)

7
8
Routage à état de liens : Fonctionnement
• Calcul de la table de R1
• Etape 3 (voisinage de R3, R6, R5 et R4)

R1 R2
100
R1 R2 R3 R4 R5 R6
10 000 1 000 100
1 000 R4
0 . . . . . R3
R5 1 500

10000 100
. 100 (R2) . 1000 (R5) .
(R4) 100
1 000 R6
1100
. . 200 (R2) .
(R2)

. . . 400 (R6) . 300 (R3)

7
8
OSPF
• « Open Shortest Path First », RFC 1247, 1583
• Protocole ouvert non lié à un constructeur
• Routage IGP «Interior Gateway Protocol» interne à un
système autonome (AS)
• Accepte une variété de métriques : distances, délais, débits,...,
• Basé sur un algorithme dynamique, capable de s’adapter aux
changements topologiques
• Acceptation du routage par « type de service »
• Gestion d’un niveau de sécurité pour éviter l’attaque des
tables de routage
• Intègre la notion d‘air de routage
Routage hiérarchique
• Besoin apparue avec l’extension d’Internet
• Problème nombre de réseaux aujourd’hui
• Taille des tables de routage trop grandes
• Solution:
• Regroupement des routeurs par zone
• Chaque table de routage contient le chemin pour accéder
• aux routeurs de sa zone,
• à au moins un routeur de niveau supérieur (ligne de la table de routage particulière
«!default!»)
• Au sommet les routeurs possédant des tables de routage quasi- complète
Routage hiérarchique
• Découpage des systèmes autonome (AS, Autonomus System) en aires:
• Chaque aire contient :
• des routeurs intra-aire (niveau1),
• au moins un routeur inter-aire (niveau2).
• Un routeur intra-aire connait tous les routeurs de l’aire
• Un routeur inter-aire ne connait que les routeurs inter-aire et les routeurs intra-aire de son aire
• Permet de:
• Simplifier le calcul des routes
• Réduire la taille des tables de routage et le trafic généré pour le calcul de ces tables
Routage hiérarchique
• Il faut ne pas confondre la notion d’aire et celle de système autonome.
• C’est les AS qui seront décomposés en Aires

Routeurs de bordure

EGP Système
Autonome
(AS)
IGP
Système
Autonome
(AS)

INTERNET
Aire de routage OSPF
• Un réseau OSPF est divisé en plusieurs aires (Area)
• Zone ou aire «area» :
• un ensemble de réseaux contigus qui se comporte comme un réseau
indépendant
• elle ne connaît que l'état des liaisons internes à la zone
• Chaque aire est désignée par un identifiant de 32 bits sous la forme X.Y.Z.T.
• Cet identifiant ne correspond pas forcément à l’adresse réseau
Aire de routage OSPF
• Les aires se connectent à une aire centrale de distribution appelée zone
fédératrice (Backbone Area)
• l’épine dorsale du système autonome: assure l’acheminement des données
entre les zones et l’interconnexion
• tout autre zone est connectée à la zone 0

• Le numéro 0.0.0.0 identifie la zone fédératrice.


• Si le réseau OSPF ne comporte qu’une seule zone, cette zone est
obligatoirement la zone 0.0.0.0
• La hiérarchie définie par OSPF est limitée à 2 niveaux.
Aire de routage OSPF
AS Y AREA 0

AREA 4
AREA 2 AREA 3
AREA 1

AS X

routeur inter-zones «Area Border Router»


routeur intra-zone fédérateur «Backbone Router»
routeur intra-zone interne «Internal Router»
routeur inter-systèmes autonomes «Autonomous System Boundary Router»
Routeurs OSPF
• OSPF définit plusieurs types de routeurs selon leurs positions dans le réseau et leurs
rôles
• Internal Router (IR)
• Remplit des fonctions au sein d’une zone uniquement : Annonce que les routes internes à leur
zone.
• Permet d’entretenir à jour sa BD des liens avec tous les réseaux de sa zone.
• En principe, on limite une zone à 50 routeurs au maximum ;
• Area Border Router (ABR) :
• des routeurs qui assurent la connexion d’une zone au backbone
• Et qui annoncent les routes extérieures à la zone.
Routeurs OSPF
• Backbone Router (BR) :
• Routeur appartenant à la zone 0.
• Autonomous System Boundary Router (ASBR) :
• Des routeurs à la frontière de système autonome
• assurent l’échange d’information avec les autres systèmes autonomes.
• Les routes extérieures au système autonome sont apprises par des protocoles autres qu’OSPF
(routage statique, EGP, BGP...)
• Ce type de routeur est une passerelle d’autres ASs.
Routeurs OSPF
Système autonome

Aire 0.0.0.1 Aire 0.0.0.0


R6
R5

R1
R7
ABR

R4
R8

ASBR
Aire 0.0.0.2 R3
R9
R10

R2

R11

ABR

Backbone area
Routeur désigné
• Réduction du nombre de routeurs par zone de diffusion
→Limitation du trafic de gestion
• Mais les échanges entre routeurs sont encore très nombreux.
• si N est le nombre de routeurs, le nombre de liens possibles entre ces routeurs est N (N – 1)/2
• le nombre d’annonces est donc de N (N – 1).
• Pour limiter ce trafic, OSPF définit des routeurs désignés (DR, Designated Router)
• assurent la diffusion des messages vers les routeurs de la zone
→ ne nécessite plus que N messages (1 message vers le DR et N – 1 message du DR vers les hôtes)
Routeur désigné

Sans Avec

N*(N-1)/2 N échanges
échanges
Routeur désigné
• Plusieurs routeurs peuvent être connectés au même LAN
• l’un d’entre eux est retenu pour servir d’intermédiaire pour l’échange des messages d’annonce
de liens entre les routeurs du LAN et les autres routeurs dans la zone.
• Routeur désigné « Designated Router »
• En plus un routeur de secours « Backup Designated Router ».

LAN

Ro u t eu r d és ig n é ( D R )
Chemins OSPF
• Trois types de chemins :
• Chemin intra-zone: le plus simple, puisque chaque routeur d’une zone connaît la topologie de
la zone
• Chemin inter-zone, il nécessite 3 étapes :
• Aller de la source vers l’épine dorsale (dans la zone source)
• Transiter à travers l’épine dorsale jusqu’à la zone de destination
• Transiter dans la zone destination: du routeur de bordure jusqu’à la destination
• Chemin inter-systèmes autonomes
• Nécessite un autre protocole de routage
• Bases de données maintenues sur un routeur :
• « Adjacencies Database » => les voisins
• « Topology Database » => toutes les routes
• « Forwarding Database » => les meilleures routes
Fonctionnement d’OSPF
• Le fonctionnement d’OSPF peut se décomposer en quatre étapes :
• Election du routeur désigné et de son backup;
• Synchronisation des données topologiques;
• Mise à jour des bases de données;
• calcul du chemin le plus court.
• OSPF met en œuvre trois sous-protocoles :
• Protocole Hello: utilisé entre deux routeurs adjacents pour synchroniser leur base de
connaissance ;
• Protocole d’échange : permet, lors de l’initialisation d un routeur, l’acquisition des entrées de
sa base de données ;
• Protocole d’inondation : utilisé par un routeur pour signaler la modification de l’état d’un
lien qui lui est rattaché.

Vous aimerez peut-être aussi