0
Algorithmes de routage et protocoles de routage
Alain AUBERT
1
Rappel
• Un routeur est une machine possédant plusieurs
interfaces. Elles sont connectées à plusieurs réseaux en même temps et peuvent faire passer un paquet d’un réseau à un autre
• Un routeur est un équipement réseau spécialisé, mais sa fonction peut être réalisée par un PC avec plusieurs cartes réseaux
Foundry, Cisco, Nortel, 3com, Lucent, Alcatel,
Bay Networks, ...
2
Principe du routage
• Pour transférer des paquets, le routeur doit déterminer le parcours (ou route) à emprunter
• Cette fonction incombe au protocole de routage et à l’algorithme de routage implanté sur le routeur
• Acheminer un paquet d’une source à une destination revient à l’acheminer entre un routeur source et un routeur destination
3
Introduction au routage
•
4
• Un algorithme de routage repose sur un protocole de routage
— un algorithme a besoin d’avoir des informations des routeurs voisins ces informations sont obtenues par un protocole de routage
— Sa mission : trouver le « bon » parcours entre le routeur source et destination
— Le bon parcours est le parcours le « moins onéreux »
— Le parcours le moins onéreux est le parcours dont la somme des liaisons entre l’expéditeur et le destinataire est la plus faible
Introduction au routage
5
• La décision du routeur est locale, pourtant elle dépend de la topologie globale du réseau
• Chaque protocole de routage doit donc communiquer une information de topologie à chaque routeur pour prendre des décisions optimales
• Cette information est :
— Volumineuse
— Variable dans le temps
— Difficile à collectionner
Introduction au routage
6
Spécifications des protocoles de routages
• Un protocole de routage doit répondre à plusieurs critères (besoin de compromis) :
— Minimiser la table de routage
– L'objectif est de construire des routeurs le moins coûteux possible => minimiser la taille de la mémoire.
– Plus la table de routage est grande, plus les échanges de messages entre routeurs sont volumineux.
— Minimiser les messages de contrôle
– Les messages échangées entre routeurs constituent une surcharge sur le réseau et doivent donc être minimisés
7
• Robustesse:
— Trous noirs : la pire chose que peut faire un routeur est d'envoyer des paquets dans une mauvaise direction, de sorte qu'ils n'atteignent jamais leur destination. On dit qu'ils sont entrés dans un trou noir.
— Boucles : Si les tables de routages sont inconsistantes, des boucles peuvent se former.
— Oscillations : Des oscillations peuvent apparaître si les protocoles de routage choisissent un chemin en tenant compte du trafic dans le réseau.
Spécifications des protocoles de
routages
8
• Utilisation de chemins optimaux:
— Tout paquet devrait suivre le chemin optimal vers sa destination.
— Le chemin optimal :
– le plus court ? (pas nécessairement) – le plus petit délai,
– les liaisons les plus sécurisées – Le coût financier le plus faible, ...
— La détection de chemin optimaux nécessite une collaboration entre tous les routeurs.
Spécifications des protocoles de routages
9
Classification des algorithmes de
routage
10
Classification des algorithmes de routage
Pour constituer sa table de routage, un routeur doit être informé, de la topologie du réseau
Notion de routage centralisé
Mis en œuvre grâce à un superviseur qui se tient informé des caractéristiques de l’ensemble des liaisons entre routeurs
Il peut donc juger de la meilleure route d’un accès à un autre d’un réseau Il en informe chaque routeur qui met à profit ces informations pour mettre à jour sa table de routage
Dans les réseaux de grandes envergures, réseau opérateurs, la supervision des voies de communication est indispensable pour gérer les demandes de connexion qui peuvent varier en qualité de service (QoS): vitesse, bande passante,sécurité, …
11
Pour constituer sa table de routage, un routeur doit s’informer, de la topologie du réseau
Notion de routage distribué
Mis en œuvre par chacun des routeurs du réseau grâce à la diffusion de trames de questionnement/d’information de/vers ses voisins
Des logiciels résidant dans chaque routeur et mettant en œuvre des algorithmes permettent de déterminer les chemins les plus avantageux au regard de la métrique
Avantage: souplesse. Les algorithmes de routage sont attentifs à tout changement de topologie dans les nœuds du réseau et remettent à jour spontanément les tables de routage
Inconvénient: incessant échange d’informations entre routeurs pénalise le trafic dans le réseau
Classification des algorithmes de
routage
12
Routage statique
Consiste à remplir manuellement les tables de routage internes des routeurs du réseau
Avantage: nécessite pour les petits réseaux aucun protocole de routage qui pénalise le trafic par l’échange de trames
d’informations entre routeurs
Inconvénient: toute modification du réseau nécessite la remise à jour des tables de la plupart des routeurs ce qui peut être long et complexe dans de grands réseaux
Classification des algorithmes de routage
13
Routage dynamique
Les tables de routage sont mises à jour automatiquement par des algorithmes de routage
les performances recherchées sont:
•La rapidité de convergence, c’est à dire le temps que mettront l’ensemble des routeurs du réseau à faire l’apprentissage de leur environnement ou à réagir à un changement du réseau pour le consigner dans leurs tables de routage
•leur aptitude à ne pas inonder le réseau de message de services ou de trames dupliquées
•L’efficacité du routage en terme de
•Rapidité d’acheminement des paquets
•Aptitude à ne pas perdre les paquets
•prise en compte des paramètres de qualité de service dans le choix des itinéraires
Classification des algorithmes de routage
14
Classification suivant les informations disponibles
Local ou global
les informations prises en compte pour calculer le chemin sont:
globales: connaissance de l’ensemble du réseau Algorithme à état de liens
locales: connaissance partielle du réseau Algorithme à vecteur de distance
Nombres d’informations prises en compte
La plupart des algorithmes associent un coût à un chemin: on parle de métrique
Ce coût peut faire intervenir plus ou moins de paramètres: temps de propagation, débit, charge moyenne mesurée, etc … mais aussi politique (interdiction de passer par certaines routes)
15
Algorithmes de routage
fondamentaux
16
Algorithmes de routage fondamentaux
• L’algorithme du vecteur de distance : un routeur
transmet à ses routeurs voisins le coût (métrique) pour atteindre chaque destination du réseau
• L’algorithme à état de liens : un routeur transmet à chaque routeur du réseau le coût (métrique) pour atteindre ses voisins
• Ces deux algorithmes supposent que chaque routeur connait l’adresse de ses voisins et le coût pour atteindre ceux-ci
• Ce sont des algorithmes distribués qui conviennent très bien à Internet
17
Algorithmes de routage Vecteur de distance
• Chaque routeur maintient un vecteur de distance (DV), une liste de couples (destination, coût), qu'il recalcule à chaque fois qu’il reçoit une copie du vecteur de distance de l’un de ses voisins
• L’information se propage routeur après routeur à chaque
échange de vecteurs, jusqu’à parcourir tout le réseau
18
Algorithmes de routage Vecteur de distance
• Algorithme à vecteur de distance ou algorithme de Ford- Bellman
• Table de routage initiale
R1
R2
R3
R4
R5
Réseau 1
Réseau 2
Réseau 3
Réseau 7
Table de routage initiale de R2 Destination Distance Route
Réseau 1 0 directe
Réseau 2 0 directe
Réseau 3 0 directe
Réseau 5 0 directe
Réseau 6 0 directe
Réseau 7 0 directe
19
Algorithmes de routage Vecteur de distance
• Table de routage de R2 à un instant t après avoir reçu des messages vecteur de distance
Destination Distance Route
Réseau 1,2,3,5,6 et 7 0 directe
Réseau 4 8 R5
Réseau 17 5 R4
Réseau 24 6 R1
Réseau 30 2 R3
Réseau 42 2 R1
R1
R2
R3
R4
R5
Réseau 1
Réseau 2
Réseau 3
Réseau 7
20
Algorithmes de routage Vecteur de distance
• Message vecteur de distance de R1 vers R2
Réseau 3
Réseau 7
• Table de routage de R2 juste avant message de R1
Destination Distance
Réseau 1 2
Réseau 4 3
Réseau 17 6
Réseau 21 4
Réseau 24 5
Réseau 30 10
Réseau 42 3
Message R1 R2 Destination Distance Route
Réseau 1,2,3,5,6 et 7 0 directe
Réseau 4 8 R5
Réseau 17 5 R4
Réseau 24 6 R1
Réseau 30 2 R3
Réseau 42 2 R1
(1) Il existe un chemin plus court que celui existant
(2) Une distance a été modifiée (3) Une destination inconnue
apparaît
Destination Distance Route Réseau 1,2,3,5,6 et 7 0 directe
Réseau 4 4 R1 (1)
Réseau 17 5 R4
Réseau 24 6 R1
Réseau 30 2 R3
Réseau 42 4 R1 (2)
Réseau 21 5 R1 (3)
• Table de routage de R2 juste après message de R1
21
Algorithmes de routage Vecteur de distance
Inconvénients du routage à vecteur de distance
nécessite l’échange de messages de configurations long: le contenu des tables de routage de chaque routeur
la longueur des messages est donc proportionnel au nombre de routeurs le nombre des messages est lui aussi proportionnel au nombre de routeurs
un réseau où il n’y a aucun changement génère malgré tout un trafic important d’échange des tables
A contrario, un réseau dans lequel il y a beaucoup de changements , risque de rencontrer des incohérences: les échanges ne sont pas instantanés, certains routeurs ont à un moment donné des routes fausses, la modification n’étant pas encore arrivée jusqu’à eux.
Ce type de routage a un mauvais de temps de réponse aux changements de configuration
La convergence n’est pas alors assez rapide
22
Algorithmes de routage Etat de liens
Algorithme à état de liens ou Shortest Path First (SPF)
Principe: donner à chaque routeur la vision complète du réseau par ses propres moyens, donc indépendamment des autres matériels
La philosophie du routage par état de liens est de distribuer la topologie du réseau et le coût de chaque liaison à travers tout le réseau.
Obtention d’une table contenant tous les plus courts chemins pour atteindre tous les routeurs grâce à des calculs découlant de la théorie des graphes
Réduit le temps de convergence de l’algorithme à vecteur de distance
23
Algorithmes de routage Etat des liens
Méthode
test de l’activité des routeurs voisins
message court de type ping (ICMP): LSP (link-state packets)
Si le voisin est vivant ou accessible le lien est considéré comme actif si le voisin est inaccessible le lien est considéré comme tombé propagation à tous les routeurs de l’état des voisins
chaque routeur met à jour sa carte des liens:
S’il y a modification, il recalcule les routes par l’algorithme du plus court chemin (algo de Dijkstra)
Avantages
La taille des messages est limitée
La convergence de l’algorithme est sûre car elle est calculée sur chaque routeur indépendamment.
24
Comparaison algorithmes de routage Vecteur de distance vs Etat des liens
Vecteur de distance Etat de liens
Visualise la topologie du réseau du point de vue de leurs voisins
Dispose d’une vue commune de la topologie
Ajoute des vecteurs de distance d’un routeur à l’autre
Calcule le plus court chemin vers les autres routeurs
Mises à jour périodique
fréquentes et convergence lente
Mise à jour déclenchées par
évènements et convergence plus rapide
Passe des copies des tables de routages aux routeurs voisins
Passe les mises à jour du routage à état de liens aux autres routeurs
25
Le protocole RIP
26
Le protocole RIP
Route Information Protocol
Un des premiers protocoles utilisé dans Internet pour le routage interne au domaine, toujours très utilisé
Algorithme utilisé type vecteur de distance:
les routeurs n’ont pas une vue globale du réseau, ils s’échangent les distances qu’ils connaissent
Algorithme de routage dynamique:
adaptation aux modifications du réseau
Algorithme distribué et local:
Les routeurs n’ont qu’une vision local du réseau
Echange entre routeurs voisins du contenu de leur table de routage
27
Fonctionnement de RIP
Association d’un coût aux lignes de la table de routage
Coût: le nombre de réseaux traversés pour arriver à destination (maximum 15)
RIP détermine le chemin à mettre dans la table de routage en fonction de coût
pas de mémorisation de chemins multiples
Echange des informations entre les routeurs
application particulière (démon) qui utilise le protocole UDP (User Datagram Protocol de la couche transport) et modifie la table de routage en fonction des informations reçus par les routeurs voisins
Un paquet RIP contient une liste (adresse réseau, coût) Les paquets sont émis en broadcast
28
Algorithme de RIP
Chaque routeur envoie à tous ses voisins périodiquement tous les 30s une liste (@réseau,coût) qu’il connaît d’après sa table de routage
A la réception d’un paquet RIP arrivant d’un routeur voisin d’adresse @routeur pour chaque destination (@destination, coût) contenue le paquet, FAIRE
si @destination inconnue
•Ajouter dans la table de routage (@destination,@routeur, coût +1)
•armer timer
si @destination connue et qu’elle apparaît dans la table (@destination ,
@routeur_voisin,coût_présent)
•Si @routeur_voisin=@routeur alors
•changer table (@destination,@routeur, coût +1)
•relancer timer
•Si @routeur_voisin ≠ @routeur et côut +1 < coût_présent alors
•changer table (@destination,@routeur, coût +1)
•relancer timer
29
Algorithme de RIP
• Des routes doivent être retirées de la table gérée par RIP dans deux situations :
1. si un réseau immédiatement connecté devient inaccessible (panne de l'interface, de la ligne, modification de la topologie par l'administrateur, etc.):
– les routeurs RIP reliés à ce réseau affectent dans leur table une distance «infinie» (16 comme indiqué plus haut) à cette route.
– Elle est conservée pendant la durée d'un temporisateur de
«maintien» (garbage collect) de 120 secondes puis est supprimée.
– Immédiatement après, le vecteur avec une distance «infinie»
est diffusé. Un routeur qui reçoit un vecteur avec une
distance de 16 comprend : «il faut que tu retires cette route de ta table car elle est devenue invalide !» De proche en proche, cette information se propage.
30
Algorithme de RIP
2. Si un routeur du réseau tombe en panne.
– Cela veut peut-être dire que les réseaux situés derrière cet appareil sont devenus inaccessibles. Mais comment savoir si un routeur est en panne ?
– RIP considère qu'un routeur qui n'a pas donné de nouvelles depuis trois minutes est hors-service. Pour gérer cette
situation, il attribue à toutes les routes dynamiques un temporisateur initialisé à 180 secondes par défaut.
– A chaque réception d'un vecteur de distance déjà présent dans la table, le compteur est réinitialisé. Mais si jamais ce compteur atteint zéro, la route est considérée comme invalide.
– On se retrouve alors dans la situation précédente (distance infinie, temporisateur de maintien, diffusion de l'information puis suppression de la route).
– Si un autre routeur connaît une route menant vers un des réseaux que l'on vient de retirer, c'est parfait ! Notre routeur intègrera cette nouvelle route dans sa table. De cette façon, RIP permet la tolérance aux pannes.
31
Fonctionnement de RIP
• A l’initialisation des routeurs, les tables de routage sont initialisées avec l’ensemble des adresses des réseaux auxquels le routeur est directement connecté
• Le coût minimum est alors associé à ces adresses destination
• Exemple :
32
Tables de routage
@réseau Masque Interface Nombre de sauts
@réseau Masque Interface Nombre de sauts
33
Tables de routage
•
@réseau Nombre de sauts
195.0.0.0 1
55.0.0.0 1
@réseau Nombre de sauts
138.0.0.0 1
55.0.0.0 1
34
Tables de routage
•
@réseau Masque Interface Nombre de sauts
@réseau Masque Interface Nombre de sauts
35
Protocole RIP
Avantages / Inconvénients
• Avantages
— Très connu, implanté sur tous les équipements de routage.
— S'adapte automatiquement (panne, ajout de réseau ...)
• Inconvénients
— La distance est une information sommaire
– ne tient pas compte de la charge, du débit, du coût des lignes, ...
— Distance maximale = 15
– d = 16 signifie réseau inaccessible (distance infinie)
— Pas de garantie sur l’origine des informations – n'importe qui peut dire n'importe quoi
— Convergence lente
• Utiliser RIP sur un petit réseau que l'on contrôle
— où l'on fait confiance aux administrateurs réseau
36
RIP V2 vs RIP V1
Les améliorations de RIPv2 sont :
• Diffusion des masques de sous-réseaux associés aux adresses réseaux (RIPv1 n'utilisait que les masques réseau par défaut).
• Utilisation d'une adresse de multicast pour diffuser les
vecteurs de distance au lieu de l'adresses de broadcast ; ce qui réduit l'encombrement sur le réseau.
• Support de l'authentification en transportant un mot de passe crypté avec MD5.
• Interopérabilité entre protocoles de routage en diffusant des routes apprises à partir d'autres protocoles.