Vous êtes sur la page 1sur 45

MOOC Routage et Qualité de Service

Automne 2015

Semaine 1 : Le routage interne

Au cours de cette semaine nous abordons les


principes et les algorithmes qui permettent à un
réseau de déterminer, de manière automatique, les
chemins qu'un paquet doit emprunter pour le
traverser. Nous comparerons les deux grandes
classes d'algorithmes de routage, le routage à
vecteur de distance et le routage à état de lien
avant de nous intéresser aux critères de
performance permettant de comparer deux
protocoles de routage. Enfin, nous verrons les
principes de base du protocole Open Shortest Path
First (OSPF) largement utilisé dans les réseaux
aujourd'hui.
Sommaire

SOMMAIRE
Sommaire .............................................................................................................................. 2
1. Leçon 1 : Introduction ...................................................................................................... 4
1.1. Introduction ............................................................................................................... 4
1.2. Connaissances préalables ........................................................................................ 4
1.3. Acheminement d'un paquet dans un réseau et relayage........................................... 6
1.4. Tables de routage ..................................................................................................... 9
1.5. Rôle d'un protocole de routage ................................................................................. 9
1.6. Cette semaine... ..................................................................................................... 11
2. Leçon 2 - Le routage à vecteur de distance................................................................... 12
2.1. Le principe .............................................................................................................. 12
2.2. Fonctionnement de l'algorithme .............................................................................. 13
2.3. Gestion des pannes ................................................................................................ 16
2.4. Le problème du comptage vers la valeur infinie ...................................................... 17
2.5. Résumé .................................................................................................................. 19
3. Leçon 3 - Le routage à état de lien ................................................................................ 19
3.1. Principe de l'algorithme........................................................................................... 19
3.2. Construction d'une table de voisinage .................................................................... 20
3.3. Acquisition de la cartographie du réseau ................................................................ 21
3.4. L'algorithme de Dijkstra .......................................................................................... 22
3.5. Résumé .................................................................................................................. 25
4. Leçon 4 - Performance des algorithmes de routage ...................................................... 26
4.1. Quelques stratégies de routage alternatives ........................................................... 26
4.2. Surcoût du protocole............................................................................................... 29
4.3. Longueur des routes ............................................................................................... 30
4.4. Roobustesse........................................................................................................... 31
4.5. Réactivité ................................................................................................................ 32
4.6. Synthèse ................................................................................................................ 33
5. Leçon 5 - Open Shortest Path First (OSPF) .................................................................. 35
5.1. Principe général...................................................................................................... 35
5.2. Découverte de voisinage - les paquets Hello .......................................................... 35
5.3. Acquisition de la cartographie du réseau ................................................................ 39
5.4. Utilisation d'un routeur désigné ............................................................................... 40
5.5. Notion d'aire ........................................................................................................... 42

2
5.6. Résumé .................................................................................................................. 43
6. Leçon 6 - Conclusion .................................................................................................... 43
6.1. C'est quoi une table de routage ? ........................................................................... 43
6.2. Pourquoi a-t-on besoin d'un protocole de routage ? ................................................ 43
6.3. Qu'est-ce qui les distingue les différents protocoles ? ............................................. 43
6.4. Quelles sont les grandes familles de protocoles de routage ? ................................ 44
6.5. Et en termes de protocoles ? .................................................................................. 44
6.6. Quelles sont les limitations d'OSPF ? ..................................................................... 44
6.7. Comment aller plus loin ? ....................................................................................... 44

3
1. LEÇON 1 : INTRODUCTION
1.1. INTRODUCTION

Bienvenue dans cette série de leçons dans lesquelles nous allons aborder le routage
au sein d'un réseau. Nous traiterons ici de réseau de tailles modeste, relativement,
c'est-à-dire de réseaux appartenant à une entreprise ou un opérateur, par exemple.

1.2. CONNAISSANCES PREALABLES


Pour suivre ce cours dans de bonnes conditions, il est nécessaire d'avoir quelques
bases en réseaux et notamment d'être conscients de quelques faits :
- Tout d'abord, vous devez savoir à quoi ressemble un réseau. Les mots routeurs,
commutateur, lien de communication et interconnexion doivent vous être
familiers.

- Vous devez aussi avoir compris les concepts de base du


modèle OSI décomposant une communication en 7
couches. Nous nous placerons ici uniquement au niveau
de la couche 3, la couche réseau.

4
- Vous devez avoir compris ce qu'est la commutation de paquets. Un flux
d'informations, pour être transmis sur un réseau, est tronçonné en petits bouts
appelés paquets et chaque paquet va avoir sa vie propre sur le réseau

- Enfin, vous devez avoir bien compris ce qu'est une adresse IP et un masque de
sous-réseau.

Si ces notions vous semblent floues, je


vous encourage à aller voir l'énorme
masse de ressources disponibles sur
Internet. Quelques recherches sur les
bons mots-clés vous amèneront vite à
des ressources pertinentes. Vous
pouvez par exemple suivre le cours en
ligne "Principe des réseaux de données"
disponible sur France université
numérique.

5
1.3. ACHEMINEMENT D'UN PAQUET DANS UN RESEAU ET RELAYAGE
Entrons maintenant dans le vif du sujet. Le travail d'un réseau consiste
essentiellement à trouver les bons chemins pour amener chaque paquet à sa
destination.

On peut comprendre pas mal de choses en prenant l'analogie de la circulation d'un


véhicule. Si un véhicule représente un paquet, le réseau qui nous intéresse ici serait
le réseau des routes d'une ville par exemple.

Du point de vue d'un véhicule (et donc d'un paquet), on part de chez soi, on traverse
des villes, des villages, des autoroutes jusqu'à arriver à destination. À chaque
intersection, on se pose la question de quelle route prendre. Au final, on essaie de
prendre le chemin que l'on veut, le plus court pour économiser du carburant, ou le
plus rapide pour aller vite, ou le plus sûr pour éviter de casser sa voiture, ou le moins
cher en évitant les péages.

Le travail du réseau, quant-à-lui, consiste à donner aux véhicules les indications dont
ils auront besoin pour ne pas se tromper de direction. Quand on est loin de sa
destination, on suit la direction des grandes villes proches et plus on se rapproche,
plus les indications se font précises.

Le processus d'acheminement dans un réseau IP est semblable, à ceci près que ce


n'est presque jamais le paquet qui décide du chemin à prendre, mais le réseau. Le
paquet connaît l'adresse à laquelle il souhaite se rendre et à chaque carrefour, c'est-
à-dire à chaque routeur, il demande son chemin. Le routeur lui indique seulement la
route à emprunter jusqu'au prochain carrefour, à la manière d'un GPS.

6
C'est donc au routeur de connaître le chemin vers la destination, au moins le réseau
de destination, ainsi que d'être conscient des aléas tels que les routes fermées ou
ouvertes, les pannes ou les nouvelles liaisons.

Tout d'abord, on peut dire qu'un paquet de


données qui doit traverser un réseau n'a a priori
aucune idée du chemin qu'il va devoir suivre. Il
fait entièrement confiance aux indications
fournies par les routeurs, espérant que celles-ci
soient les plus fiables possibles.

Chaque routeur va donc devoir orienter le paquet


sur la base d'une et une seule information :
l'adresse de la destination du paquet. On parle ici
de relayage.

7
Au sein d'un réseau, le relayage consiste essentiellement à trouver la bonne sortie,
celle qui mènera un paquet au plus proche possible de sa destination, et à trouver au
sein du réseau le chemin qui mènera le paquet à cette sortie.

En effet, il existe au sein d'un réseau plusieurs chemins possibles. De multiples


chemins peuvent être utiles en cas de panne d'un équipement ou d'un lien de
communication, ou tout simplement pour augmenter la capacité du réseau. Plus on a
de routes disponibles, moins on aura de paquets sur chaque route.

8
1.4. TABLES DE ROUTAGE
Pour choisir les bons chemins, les routeurs se basent sur une table de routage. Une
table de routage, c'est une grande liste qui contient toutes les destinations possibles
et des instructions pour rejoindre ces destinations.

Total number of IP routes: 687

Destination NetMask Gateway Port Cost


137.194.2.0 255.255.254.0 137.194.4.254 v10 2
137.194.4.0 255.255.255.248 137.194.4.253 v10 2
137.194.4.8 255.255.255.248 137.194.4.251 v10 11
137.194.4.192 255.255.255.192 0.0.0.0 v10 1
137.194.6.0 255.255.254.0 137.194.4.254 v10 2
137.194.8.0 255.255.248.0 137.194.4.251 v10 20
137.194.16.0 255.255.255.128 137.194.160.230 v160 11
137.194.16.128 255.255.255.128 137.194.192.102 v192 11
137.194.16.144 255.255.255.240 137.194.192.102 v192 11
137.194.16.176 255.255.255.240 137.194.192.103 v192 20
137.194.17.0 255.255.255.0 137.194.192.103 v192 2

Par exemple, ici, on voit que pour joindre le réseau 137.194.2.0, il faut passer par
l'interface v10, c’est-à-dire sur le lien de communication qui le relie au routeur dont
l’adresse IP est 137.194.4.254.

Notez que pour éviter que la table ne grossisse trop, on ne stocke pas l'adresse de
chaque machine, mais des adresses de réseaux. Ici la dernière ligne de la table est
valable pour toutes les machines dont les 24 premiers bits forment le préfixe
137.194.17.

Vous devez saisir, à ce stade, l'importance d'avoir une table de routage actualisée et
précise. Notamment cette table va évoluer au gré des pannes et des changements
importants dans le réseau. C'est le travail du protocole de routage de maintenir
cette table.

1.5. ROLE D'UN PROTOCOLE DE ROUTAGE


Il existe, en réalité, plusieurs manières
pour mettre à jour cette table. On peut
bien évidemment centraliser
totalement la procédure au niveau
d'un centre de contrôle qui décide de
tout.

Ce centre de contrôle doit avoir une


vision complète du réseau, calculer les
bons chemins à chaque changement
majeur et renvoyer les tables de
routage à tous les routeurs du réseau.

9
Cette approche, appelée routage centralisé ou routage statique, a des avantages
et des inconvénients.

L'avantage principal est de permettre au gestionnaire du réseau de contrôler


finement ce qui s'y passe et d'éviter d'avoir à faire confiance à une boîte noire qu'il
ne maîtrise pas totalement. Cependant, plus on a affaire à de grands réseaux, plus
cette approche est difficile.

De plus, en cas de panne du


centre de contrôle ou si celui-ci
vient à être isolé d'une partie du
réseau, le réseau peut être
paralysé ou du moins être
incapable de réagir aux
événements.

C'est pour cette raison qu'on


préfère souvent laisser un
algorithme distribué et itératif
décider de manière autonome des évolutions des tables de routage.

Cet algorithme est distribué, ce qui veut dire que chaque routeur va l'exécuter,
récupérer un certain nombre d'informations puis faire des calculs et prendre une
décision concernant sa propre table de routage. Un routeur ne décide pas de la table
de routage de son voisin.

10
L'algorithme est itératif car il est exécuté en permanence ou au moins
périodiquement et ne s'arrête jamais. On parle alors de routage dynamique et on a
besoin d'un protocole de routage pour régir les échanges d'information entre
routeurs.

Dans tous les cas, il faut que l'algorithme ait


certaines propriétés : les routes calculées
doivent être valides et cohérentes. On ne doit
pas générer de boucles comme dans l'exemple
ci-contre.

De la même manière, on ne doit pas créer de


trou noir duquel il serait impossible de sortir. Allons même plus loin, il faut que les
routes soient efficaces, c'est-à-dire courtes, rapides, sûres, etc. Et tout cela pour un
prix modique : il ne faut pas que l'algorithme ait besoin d'échanger des giga-octets de
données par seconde pour fonctionner.

1.6. CETTE SEMAINE...


Dans cette semaine, je vais vous expliquer comment ces algorithmes dynamiques
fonctionnent. Nous verrons de quelles informations ils ont besoin et comment ils font
pour l'acquérir. Je vous présenterai les deux grandes familles d'algorithmes de
routage et nous nous intéresserons ensuite aux critères pouvant influencer le choix
d'un protocole de routage. Nous étudierons enfin l'un des protocoles les plus
déployés à ce jour : OSPF (Open Shortest Path First).

11
2. LEÇON 2 - LE ROUTAGE A VECTEUR DE DISTANCE
Dans cette leçon, je vais vous présenter une des grandes familles d’algorithmes de
routage qu’on appelle le routage à vecteur de distance. Il s’agit d’un algorithme
assez simple pour remplir une table de routage qui est à la base de plusieurs
protocoles qui sont utilisés dans les réseaux, notamment le protocole RIP (Routing
Information Protocol).

2.1. LE PRINCIPE
On va se placer du point de vue d’un routeur qui cherche à remplir sa table de
routage. Il cherche donc à déterminer le chemin le meilleur, disons le plus court qui
mèneront les paquets vers n’importe quelle destination.

Destination NetMask Gateway Port


Cost
137.194.0.0 255.255.0.0 ??.??.??.?? ?? ??


Supposons déjà qu’on s’intéresse à une destination précise, par exemple le réseau
de l’Institut Mines Télécom.

Reprenons l’analogie avec l’orientation


d’un véhicule ou d’un piéton en ville. Le
routage à vecteur de distance
consisterait, dans ce cas, à évaluer à
chaque carrefour combien de temps il
faudrait pour aller vers notre destination
en passant par chacune des routes
disponibles, puis d’emprunter la plus
courte. On peut évidemment adapter
cela à d’autres critères tels que le prix, la
distance, etc.

On ne sait pas, au niveau de chaque intersection, par quel chemin on passera, on a


uniquement connaissance des temps, prix ou distance par chacun des chemins
possibles. On répète ce processus à chaque intersection, jusqu’à arriver à
destination.

Un routeur va agir de la même manière avec le routage à vecteur de distance : il va


évaluer le temps nécessaire pour atteindre chacune des destinations possibles en
demandant à chacun de ses voisins à quelle distance ils se situent de la destination.
La distance, ici se mesure par exemple en nombre de sauts c’est-à-dire en nombre
de routeurs à traverser. Sur ce schéma, on voit que le routeur central se situe à 9
sauts du réseau de l'Institut Mines Télécom par son interface i1, à 24 sauts par son
interface i2, à 10 sauts par son interface i3, à 14 sauts par son interface i4 et à 7
sauts par son interface i5.

12
Il sélectionnera le chemin le plus court parmi tous ceux qui lui sont proposés ; dans
notre exemple la cinquième interface. Il modifiera sa table de routage en
conséquence.

Destination NetMask Gateway Port


Cost
137.194.0.0 255.255.0.0 123.45.67.89 i5 8


2.2. FONCTIONNEMENT DE L'ALGORITHME


En réalité, un routeur ne demande pas
explicitement les informations de distance à
tous les routeurs proches. Chaque routeur
les transmet automatiquement et
périodiquement à tous ses voisins. Un
routeur reçoit donc de tous ses voisins des
informations mises à jour régulièrement et
peut sélectionner les chemins qui lui
apparaissent comme les meilleurs en faisant
une simple comparaison.

13
Prenons un exemple simple pour illustrer comment
l’information se propage dans un réseau. Imagions
que l’on dispose d’un réseau qui fonctionne bien,
dans lequel les tables de routage sont stables.

Imaginons maintenant que l’on connecte à ce réseau


un nouveau routeur, R8, qui est à l'interface d'un
réseau 3.2.1.0 / 24, pour lequel aucun routeur du
réseau initial n'a une entrée dans sa tables de routage.

R8 commence immédiatement à annoncer sa présence


et le fait qu’il connaît un réseau, nommé 3.2.1.0, auquel
il est directement connecté. Son voisin, R1, connaît
alors l’existence de ce nouveau réseau et ajoute une
entrée à sa table de routage.

14
Il l’annoncera alors à son tour à ses voisins.

Le processus continue ensuite et l’information se


propage ainsi de proche en proche. Les routeurs voisins
de R8 auront connaissance de l’apparition du nouveau
réseau au bout d’une étape de communication, leurs
voisins de deux étapes, et ainsi de suite.

Notons le cas de R5. R5 reçoit deux


annonces, la première provenant de
R3 lui indiquant un chemin de
longueur 3 sauts, la seconde
provenant de R4 lui indiquant un
chemin de 4 sauts. Il choisira
naturellement de diriger tous les
paquets à destination de 3.2.1.0 via
R3, ce dernier offrant un chemin plus
court.

Si l’on regarde maintenant le cas de R7,


ce routeur reçoit 3 annonces comparables
de R4, R5 et R6. Les trois chemins
annoncés sont, en effet, de longueur 4.
Pour choisir entre les trois il se basera sur
un critère tel que le nom du routeur ou
son adresse IP pour éviter de choisir au
hasard.

15
À l’issue de quelques étapes, le processus aura convergé et les tables de chacun
des routeurs accueilleront une nouvelle entrée pointant vers le réseau 3.2.1.0. Ce
tableau vous indique quels chemins seront choisis par les différents routeurs. Notez
que cet algorithme sélectionne un et un seul chemin vers chaque destination. Par
conséquent certains liens de communication ne seront pas utilisés, en tout cas pour
cette destination, jusqu’à ce qu’une panne ne survienne.

Routeur Distance Gateway


R1 2 R8
R2 3 R1
R3 3 R1
R4 4 R2
R5 4 R3
R6 4 R3
R7 5 R4

2.3. GESTION DES PANNES


Examinons, justement, ce qui se passe lorsqu’une panne survient dans le réseau.
Supposons par exemple que le routeur R4 tombe en panne. Le routeur R7 ne
possède alors plus de route vers 3.2.1.0 à ce moment là.

16
R7 se rendra assez rapidement compte que le routeur R4 a disparu. Il existe
plusieurs techniques pour cela, de la mesure d’une résistance aux bornes du câble
jusqu’à l’absence de réception de plusieurs messages consécutifs.

Lorsqu’il s’en rendra compte, il associera alors un coût infini à la route vers 3.2.1.0 et
attendra de recevoir une meilleure proposition de route. Une telle proposition ne
tardera pas à arriver de R5 ou R6. R7 pourra alors mettre à jour sa table de routage
en conséquence.

L’annonce périodique des destinations d’un routeur à tous ses voisins permet donc
de résoudre les cas de pannes sans changer l’algorithme. Il suffit qu’une panne se
traduise par une augmentation drastique du coût d’un chemin. Le processus
converge donc, mais cette convergence est-elle toujours rapide ?

2.4. LE PROBLEME DU COMPTAGE VERS LA VALEUR INFINIE


Pour répondre à cette question,
intéressons-nous à un autre cas
d’étude. Dans ce scénario, un routeur,
R1, dispose de deux chemins lui
permettant de rejoindre le réseau
3.2.1.0. Le premier passe par R2 puis
R3 et a une longueur de 3 sauts. Le
second passe par une succession de
routeurs et est nettement plus long,
disons 20 sauts par exemple.

17
R3 tombe en panne. À ce moment
là, R2 se rend compte qu’il ne
dispose plus d’aucune route valide
à destination de 3.2.1.0.
Heureusement, avant qu’il n’ait eu
le temps de crier au secours, il
reçoit de la part de son voisin, R1,
l’annonce d’une route de longueur
3 sauts à destination du réseau
perdu. Il met immédiatement à
jour sa table de routage et note
qu’il est maintenant à 4 sauts de
3.2.1.0.

Il s’empresse d’annoncer cette


nouvelle à tous ses voisins, dont R1.
R1 à la réception de ce message
comprend que le coût de la route qu’il
empruntait à destination de 3.2.1.0
vient d’augmenter. Soit. Cela reste
compétitif tout de même, il met à jour
sa table de routage et note qu’il est
maintenant à 5 sauts de la
destination. Il annonce ceci à ses
voisins.

Vous voyez ici que des échanges auront lieu jusqu’à ce que la route alternative de
longueur 20 sauts devienne la plus courte, ce qui peut être très long.

Ce problème, connu sous le nom de comptage vers la valeur infinie, est connu et
provient du fait que les annonces de route ne contiennent qu’une distance. Un
routeur n’est donc pas capable a priori de détecter lorsqu’une route annoncée passe
par lui.

Plusieurs techniques ont été développées pour résoudre ce problème, dont


l’annonce du prochain saut de chaque route, ce qui représente toutefois une

18
information supplémentaire à transmettre avec chaque route et donc du trafic réseau
supplémentaire.

2.5. RESUME
En résumé, nous avons vu dans cette leçon le principe de base du routage à vecteur
de distance. Cette stratégie de routage se base sur l’algorithme de Bellman-Ford,
conçu au milieu des années 1950. Il est à la base de protocoles de routage tels que
RIP ou EIGRP qui ont été largement utilisés pour mettre à jour les tables de routage
dans un réseau.

Il converge rapidement : le temps de propagation d’une information étant directement


lié au diamètre du réseau, c’est-à-dire à la longueur du plus grand chemin en son
sein.

En termes de coût, il est nécessaire que chaque routeur transmette périodiquement


sa table de routage à tous ses voisins, ce qui peut être assez coûteux compte tenu
de la taille d’une table de routage : de l’ordre de quelques centaines de milliers
d’entrées dans Internet. Toutefois, le réseau étant relativement stable, il peut être
suffisant de ne transmettre que les changements de route, ce qui permet de réduire
sensiblement ce coût.

3. LEÇON 3 - LE ROUTAGE A ETAT DE LIEN

Dans cette leçon, je vais vous présenter une autre façon de construire des tables de
routage qu’on appelle routage à état de lien. Il s’agit encore une fois d’une
méthode pour construire les tables de routage en échangeant des informations entre
les routeurs faisant partie du même réseau.

Dans le cas du routage à vecteur de distance, nous avons vu qu’un routeur


demandait à ses voisins à quelle distance ils se trouvaient de chaque destination. Il
prenait une décision en comparant ces annonces.

3.1. PRINCIPE DE L'ALGORITHME


L’idée sous-jacente au routage à état de lien est différente : chaque routeur va se
débrouiller pour obtenir la cartographie complète du réseau et trouver lui-même le
chemin le meilleur pour arriver à chaque destination.

19
La différence est subtile, dans le premier cas, vu précédemment, aucun routeur ne
connaît le réseau. Il n’y en a pas besoin pour trouver les bons chemins, il n’est donc
pas toujours utile de récupérer cette information. Comme toute information transmise
représente un coût en termes de bande passante, cette stratégie peut s’avérer
économique dans certains réseaux. Le routage à état de lien, lui, fait le pari inverse.
La stratégie la plus efficace dépend, bien sûr des caractéristiques du réseau (de sa
taille, de sa dynamique, …) et de ce qui est important pour l’administrateur.

3.2. CONSTRUCTION D'UNE TABLE DE VOISINAGE


Dans le routage à état de lien, chaque routeur va tout d’abord se charger d’identifier
ses voisins directs afin de construire une table de voisinage : qui sont les autres
routeurs qui lui sont directement connectés ? Il pourra aussi mesurer la qualité de
chaque liaison en termes de débit, de délai ou de n’importe quel autre critère
numérique.

Voisin Qualité lien


B 1 Gb/s
C 10 Gb/s

Pour cela, il va échanger périodiquement des messages avec ses voisins. On


appelle souvent ces messages "Hello", car ils ne contiennent pas beaucoup plus
d’information qu’un simple bonjour.

20
3.3. ACQUISITION DE LA CARTOGRAPHIE DU RESEAU
Au bout de quelques temps, un routeur aura identifié tous ses voisins directs grâce à
ces paquets Hello. Il va alors mettre ces informations dans un paquet, les unes à la
suite des autres, et envoyer ce paquet à tous les routeurs du réseau.

On ne parle pas ici de ses voisins directs comme dans les protocoles à vecteur de
distance, mais bien de tous les routeurs qui appartiennent au même réseau.

On voit ici la limite du protocole, il n’est pas possible d’envoyer un message à tous
les routeurs d’Internet. Même si le nombre de routeurs composant Internet n’est pas

21
connu, il est de l’ordre du million. Par conséquent, l’utilisation de ce genre de
protocoles est, en général, limitée au réseau d’un opérateur ou d’une entreprise.

Il ne faut pas en conclure, toutefois, qu’il s’agit d’une limitation propre à cette famille
d’algorithmes. Le routage à vecteur de distance souffre de limitations semblables,
mais pour des raisons différentes.

Un routeur recevra donc de la part de tous ses homologues, des messages décrivant
le voisinage de chaque routeur. Il pourra ainsi reconstituer la carte du réseau global
et suivre ses évolutions. Une fois qu’il a acquis cette carte, il lui faudra trouver les
chemins au sein de ce réseau qui pourront mener chaque paquet vers les différentes
destinations.

3.4. L'ALGORITHME DE DIJKSTRA


Pour cela, le routeur exécutera sur cette carte un algorithme de recherche de plus
courts chemins tel que l’algorithme de Dijkstra. L’algorithme de Dijkstra date, lui
aussi des années 1950. Son créateur, Edsger Dijkstra, a été un des pionniers de
l’informatique.

Prenons un exemple pour illustrer son fonctionnement. Supposons que l’on a un


réseau dont on connaît la carte.

22
Le routeur A, qui exécutera
l’algorithme, cherche à trouver
les chemins les plus courts,
ou de manière plus générale
les meilleurs, l’amenant à
chaque autre routeur du
réseau.

Pour commencer, A va diviser


l’ensemble des routeurs du
réseau en deux groupes :
ceux vers lesquels il connaît
déjà le meilleur chemin et les
autres. Au départ, il considère
qu’il ne connaît le meilleur
chemin que vers lui-même. Il
est donc le seul membre du
premier groupe et le second
comprend tous les autres
routeurs.

Il va commencer par choisir


l’un de ses voisins directs :
celui vers lequel il possède la
meilleure liaison, selon le
critère choisi. En cas d’égalité
il pourra choisir au hasard ou
en comparant, par exemple,
les noms des routeurs. Ce
premier voisin va rejoindre le
groupe des voisins pour
lesquels on connaît le meilleur
chemin.

23
À la deuxième étape de l’algorithme,
A va examiner tous les liens entre un
routeur appartenant au premier
ensemble et un routeur appartenant
au second ensemble. Il va comparer
les qualités de ces liens, ici leurs
débits, et va sélectionner le meilleur.
Le routeur qui se situe à l’extrémité
du lien sélectionné passera alors
dans le premier groupe.

À la troisième étape, on
recommence en comparant
l’ensemble des liens reliant un
routeur du premier groupe à
un routeur du second groupe.
Remarquez que les liens
reliant deux routeurs
appartenant au même groupe
ne sont pas examinés car on
cherche à ajouter un nouveau
routeur au premier groupe.

24
On va répéter ce processus
jusqu’à ce que l’ensemble des
routeurs ait rejoint le premier
groupe, soit pendant un nombre
d’étapes égal au nombre de
routeurs composant le réseau.
En effet, on ajoute au premier
groupe un routeur à chaque
étape.

L’idée sous-jacente, c’est qu’en


appliquant cet algorithme, le
premier groupe contient toujours
les routeurs pour lesquels il
n’existe pas de meilleur chemin.
Il peut y avoir, au pire, un chemin
équivalent, mais aucun meilleur.

Pour s’en convaincre, il faut analyser ce qui se passe pendant une étape. En
choisissant le meilleur lien, on s’assure que cette propriété reste vraie. En effet, tout
autre chemin menant vers le même routeur serait nécessairement moins bon.

3.5. RESUME
En résumé, nous avons vu dans cette leçon le principe de base du routage à état de
liens Cette stratégie de routage se base sur l’algorithme de Dijkstra, conçu au milieu
des années 1950. Il est à la base de protocoles de routage tels qu’OSPF qui sont
aujourd’hui très largement déployés dans des réseaux réels.

Il converge lui aussi rapidement : le facteur limitant étant ici le nombre de routeurs : il
est nécessaire d’acquérir la topologie entière du réseau avant de pouvoir appliquer
l’algorithme de calcul des chemins.

En termes de coût, chaque routeur doit acquérir la connaissance de ses voisins : qui
ils sont et la qualité du lien qui les relie. Une fois qu’il a bien identifié ses voisins, un
routeur peut communiquer cette information à tous ses homologues. Ce second
message n’a pas besoin d’être envoyé périodiquement, ou du moins pas très
souvent. Il suffit souvent de ne l’envoyer qu’en cas de changement dans le
voisinage, ce qui permet de limiter le trafic réseau.

Quand on compare les deux stratégies que nous venons de voir, le routage à vecteur
de distance nécessite de transmettre un gros volume d’information à ses seuls
voisins directs, alors que le routage à état de lien se contente de petits paquets,
contenant assez peu d’informations, mais doit les transmettre à tous les routeurs du
réseau.

Il n’y a pas, dans l’absolu, de meilleure stratégie. Tout dépend du réseau auquel on
a affaire et du critère sur lequel on se base. Un protocole pourra être plus réactif aux
changements de topologie mais au prix d’un plus gros volume de trafic par exemple.

25
4. LEÇON 4 - PERFORMANCE DES ALGORITHMES DE
ROUTAGE
Dans les leçons précédentes, je vous ai présenté deux grandes familles
d'algorithmes routage : le routage à vecteur de distance et le routage à état de liens.
Nous avons évoqué brièvement les aspects liés à la performance de ces
algorithmes : quels échanges sont nécessaires pour leur fonctionnement ? Ces
échanges occupent-ils une part importante de la capacité des liens ? À quelle vitesse
convergent-ils ?

C'est ce type de critères qui va rentrer en ligne de compte lorsqu'un gestionnaire de


réseau devra choisir et régler les paramètres d'un protocole de routage. Dans cette
leçon, nous allons évoquer ces différents critères permettant de comparer les
algorithmes de routage.

Il faut bien se souvenir que le routage au sein d'un réseau consiste essentiellement à
trouver, pour chaque paquet, un chemin vers la bonne sortie du réseau. Le paquet
entre par un routeur et doit ressortir par un autre routeur qui le rapproche le plus
possible de sa vraie destination qui peut faire partie du réseau qui nous intéresse ou
être en dehors de celui-ci.

4.1. QUELQUES STRATEGIES DE ROUTAGE ALTERNATIVES


Pour trouver la bonne sortie et le bon chemin vers cette sortie, toutes les stratégies
que vous pouvez imaginer peuvent fonctionner. Vous devez avoir à l'esprit les
principes du routage à vecteur de distance et du routage à état de lien.

J'avais aussi évoqué le cas du routage statique dans lequel un centre de contrôle
acquiert la connaissance de la cartographie complète du réseau, exécute un
algorithme de calcul des plus courts chemins tel que l'algorithme de Dijkstra, puis
renvoie les routes ainsi calculées à tous les routeurs.

26
Ce type de routage est en fait assez semblable au routage à état de lien, si ce n'est
que les messages contenant la cartographie locale sont envoyés à un récepteur
unique, le centre de contrôle, qui effectue le calcul avant de disséminer les routes.
Nous appellerons cette stratégie routage statique centralisé par la suite.

Si l'on veut économiser l'étape d'envoi des routes aux différents routeurs, on peut
tout à fait envoyer tout le trafic vers le point central qui connaît toutes les routes et va
ensuite inclure dans le paquet directement la liste des routeurs à parcourir.

C'est un peu comme si la poste centrale indiquait sur l'enveloppe d'un courrier la liste
des centres de tris successifs à parcourir.

Chaque routeur va examiner l'en-tête du paquet pour déterminer le prochain routeur


et aucun routeur n'a alors besoin de maintenir une table de routage puisqu'il suffit de
lire ce qui est indiqué dans l'en-tête du paquet. Appelons cette stratégie routage
pré-calculé.

27
À l'extrême, on peut tout à fait concevoir une stratégie totalement aléatoire. À chaque
fois qu'on doit relayer un paquet, on choisit une direction au hasard et on espère que
tôt ou tard on tombe sur le bon routeur saura vraiment quoi faire du paquet.

Bien évidemment, un paquet peut errer très longtemps dans le réseau avec une telle
stratégie qu'on appellera routage aléatoire.

À l'extrême inverse, un routeur A peut aussi transmettre chaque paquet provenant


d'un routeur B à tous les routeurs connectés à A, sauf B bien sûr qui l'a déjà
retransmis. Cette stratégie, qu'on appelle inondation, offre la garantie de trouver la
bonne sortie assez rapidement puisqu'on va explorer en parallèle tous les chemins
possibles.

En bref, toutes ces stratégies peuvent fonctionner pour acheminer des paquets vers
un routeur de destination dans un réseau. Cependant vous voyez bien que toutes
ces stratégies ne sont pas aussi efficaces les unes que les autres.

28
4.2. SURCOUT DU PROTOCOLE
Tout d'abord, examinons le volume de trafic de contrôle. Il s'agit de l'ensemble des
messages échangés par les routeurs pour calculer les routes, connaitre leur
voisinage, etc. En gros, il s'agit de tout le trafic qui n'est pas explicitement du trafic de
données, qu'on appelle aussi surcoût du protocole.

Le débit correspondant à ce surcoût vient se soustraire au débit disponible pour


acheminer des paquets de données et ne doit donc pas être trop conséquent.

Le routage aléatoire ainsi que l'inondation ne nécessitent aucune connaissance. Par


conséquent, le volume de trafic de contrôle nécessaire pour ces stratégies est nul.

Le routage à vecteur de distance nécessite de transmettre toute la table de routage


de chaque routeur à ses voisins directs. On a donc de gros paquets de données
envoyés par tous les routeurs à un nombre limité d'autres routeurs. Le volume de
trafic de contrôle provient ici de la taille des paquets échangés.

À l'inverse, le trafic de contrôle d'un routage à état de lien ne se compose que de


paquets de tailles modestes. Les paquets Hello servant à identifier les voisins d'un
routeur sont petits et les paquets annonçant le voisinage de chaque routeur à tous
les autres sont de taille limitée, en comparaison de la taille d'une table de routage.
En revanche, les premiers sont envoyés périodiquement à tous les voisins d'un
routeur, les seconds sont diffusés dans tout le réseau. Le volume de trafic de
contrôle provient ici essentiellement du nombre de retransmissions nécessaires pour
disséminer cette information à tous les récepteurs.

Dans le cas d'un routage statique centralisé, les paquets décrivant le voisinage de
chaque nœud ne sont plus envoyés qu'à une seule destination, ce qui permet
d'économiser du trafic de contrôle. En revanche, il est encore nécessaire de
retransmettre les tables de routage calculées par le centre de contrôle à chaque
routeur, ce qui représente un trafic assez important.

Cette dernière étape n'est pas nécessaire dans le cas du routage pré-calculé. Le
centre de contrôle qui est le seul à connaître les routes, mais on voit que dans ce cas
ce centre de contrôle sera sur le chemin de chaque paquet et devra faire face à un
volume de trafic très important.

29
Information
Algorithme Destinataire(s)
transmise
Routage aléatoire Aucun
Inondation Aucun
Vecteur de distance Toute la table de routage Voisins immédiats
Hello Voisins immédiats
État de lien
Voisinage Tous les routeurs
Voisinage Centre de contrôle
Statique centralisé
Tables de routage Tous les routeurs
Pré-calculé Voisinage Centre de contrôle

On voit donc qu'au delà du simple volume de trafic de contrôle, on doit se poser la
question de l'efficacité du processus de relayage.

4.3. LONGUEUR DES ROUTES


Si chaque paquet doit parcourir un chemin beaucoup plus long que le chemin le plus
court avant d'atteindre sa destination, l'économie réalisée sur le trafic de contrôle
risque d'être assez rapidement compensée par les transmissions inutiles.

Par exemple le processus d'inondation ou le routage aléatoire vont provoquer un


nombre de réémissions du même paquet beaucoup plus important que nécessaire
puisqu'on va dupliquer les paquets à l'extrême dans un cas et prendre des chemins
très longs dans le second cas.

Et c'est justement là que les protocoles tels que le routage à vecteur de distance ou
à état de lien sont très efficaces. Ils sont capables de déterminer non pas un chemin
valide mais le meilleur chemin au sens d'un critère tel que la longueur des routes, la
bande passante, le délai de bout en bout, etc.

30
Algorithme Qualité des routes

Routage aléatoire Potentiellement très mauvaise


Inondation Toutes, dont la meilleure et la plus mauvaise
Vecteur de distance Optimale
État de lien Optimale
Statique centralisé Optimale
Pré-calculé Passage par un intermédiaire

Le routage statique centralisé, lui aussi, calcule a priori les meilleures routes
possibles mais de manière centralisée. Le désavantage du routage statique
centralisé, que nous avons déjà évoqué, est sa fragilité. Si le centre de contrôle
tombe en panne, le réseau perd sa capacité à s'adapter aux changements de
configuration et risque de ne plus fonctionner du tout. On voit ici se dessiner les
contours d'un autre critère de performance : la robustesse du protocole de routage.

4.4. ROOBUSTESSE

Algorithme Robustesse
Routage aléatoire peu sensible
Inondation peu sensible
Vecteur de distance peu sensible
État de lien peu sensible
Statique centralisé Un point faible : le centre de contrôle
Pré-calculé Un point critique : le centre de contrôle

Le routage centralisé n'est pas très robuste. Le routage pré-calculé l'est encore
moins puisque la connaissance des routes dans le réseau n'est présente qu'en un
seul point.

Dans le cas d'un routage statique centralisé une panne du centre de contrôle
empêchera seulement le réseau de s'adapter aux changements, mais les routes
calculées pourront tout de même fonctionner si aucun autre événement ne survient.

Dans le cas du routage pré-calculé, le centre de contrôle étant un point de passage


obligé, tout le réseau sera en panne.

À l'inverse, le routage aléatoire et l'inondation sont totalement insensibles aux


pannes puisqu'ils ne nécessitent aucune connaissance. Aucun élément n'est
indispensable.

31
Les protocoles de routage distribués, tels que le routage à vecteur de distance ou à
état de lien sont, eux aussi, très robustes puisqu'aucun point n'est privilégié. On peut
perdre n'importe quel routeur, tant qu'il existe un chemin du point A au point B,
l'algorithme trouvera ce chemin plus ou moins rapidement.

4.5. REACTIVITE
La réactivité est elle aussi un critère de performance important. On peut la définir
comme le temps nécessaire entre le moment où un événement tel qu'une panne
survient et le moment où le changement induit est pris en compte dans tous les
routeurs du réseau.

On a vu que dans le cas du routage à vecteur de distance ce temps était fonction de


la distance entre le point de l'événement et le point le plus éloigné dans le réseau.
On a vu aussi que cet algorithme pouvait, dans certains cas, mettre un certain temps
à converger.

Le routage à état de lien est, a priori, beaucoup plus réactif puisqu'il suffit que le ou
les routeurs ayant détecté le problème transmettent un paquet de notification à tous
les autres routeurs du réseau. Le temps nécessaire est le temps d'inonder le réseau
une fois, ce qui est généralement assez faible.

32
Algorithme Temps de convergence

Routage aléatoire aucun

Inondation aucun

Vecteur de distance fonction du diamètre du réseau

État de lien Constant : temps d’inondation

Statique centralisé Constant : temps d’inondation

Pré-calculé Rapide : prévenir le centre de contrôle

4.6. SYNTHESE
Nous avons donc vu dans cette leçon que le terme performance d'un protocole de
routage peut être caractérisée selon plusieurs critères tels que le volume de trafic de
contrôle nécessaire à son fonctionnement, la qualité des routes calculées, sa
robustesse ou encore sa réactivité face aux événement.

Vous pouvez voir, sur le tableau ci-dessous qu'aucun algorithme n'est parfait et que
tout est une question de compromis.

Un administrateur réseau aura pour tâche de sélectionner le protocole de routage qui


réalise le compromis qu'il désire dans son réseau, en prenant en compte les
caractéristiques de celui-ci.

La taille du réseau, son étendue, la fiabilité matérielle des équipement


d'interconnexion la charge imposée au réseau ou encore les besoins en qualité de
service des flux de données sont autant de critères qui pourront faire pencher la
balance vers une stratégie ou une autre.

Même les stratégies les plus incongrues telles que le routage aléatoire ou
l'inondation peuvent être le meilleur choix, par exemple dans des réseaux dont tous
les éléments, même les routeurs, sont mobiles.

33
Qualité des
Algorithme Surcoût Robustesse Réactivité
routes

Routage aléatoire

Inondation

Vecteur de
distance

État de lien

Statique
centralisé

Pré-calculé

34
5. LEÇON 5 - OPEN SHORTEST PATH FIRST (OSPF)
Dans cette leçon nous allons maintenant examiner le fonctionnement d'un des
protocoles les plus utilisés par les gestionnaires de réseau : le protocole OSPF.
OSPF, pour Open Shortest Path First, est un protocole basé sur l'algorithme de
routage à état de lien qui a été conçu dans les années 1980 et qui est standardisé
par l'IETF sous forme de RFC. La dernière version en date de ce protocole, spécifiée
dans la RFC numéro 2740, date de 1999 et permet de relayer des paquets IPv4
comme IPv6.

5.1. PRINCIPE GENERAL


Pour permettre à chaque routeur de découvrir son voisinage et de le disséminer à
tous les autres routeurs, OSPF se charge de maintenir une base de données propre
à chaque routeur. Cette base de données, nommée LSDB — link state data base —,
contient la cartographie du réseau, c'est-à-dire de l'ensemble des routeurs
composant le réseau et des liens entre ces routeurs. Elle se construit à la réception
de paquets de contrôle et elle est utilisée, une fois constituée, pour calculer
localement les routes par le biais de l'algorithme de Dijkstra.

5.2. DECOUVERTE DE VOISINAGE - LES PAQUETS HELLO


Examinons tout d'abord le processus qui permet à un routeur d'identifier tous ses
voisins directs. Pour cela, OSPF s'appuie sur l'envoi régulier de paquets Hello par
chaque routeur à tous ses voisins, comme nous l'avons déjà expliqué lors de la
description du routage à état de lien.

Mais qu'est-ce que ça veut dire, en pratique, d'être voisin d'un autre routeur ? Un
routeur possède plusieurs interfaces, c'est-à-dire plusieurs prises qui le connectent
chacune à un réseau ou à un autre routeur. Chacune de ces interfaces a sa propre
adresse IP et fait, a priori, partie d'un sous-réseau différent des autres interfaces.

35
Un routeur peut donc être vu comme
l'élément matérialisant la frontière de
plusieurs sous-réseaux. Il fait partie
de chacun de ces sous-réseaux.

Deux routeurs sont dits voisins s'ils


ont tous les deux une interface
faisant partie du même sous-réseau.

Ces deux interfaces ne sont pas


forcément connectées directement
par un câble. Elles peuvent être
séparées par un réseau, en général
un réseau composé uniquement de
commutateurs, c'est-à-dire
d'équipement d'interconnexion qui
travaillent en dessous de la couche
réseau.

Un routeur va donc envoyer dans chaque sous-réseau auquel il est connecté un


paquet Hello qui annonce sa présence à tous les autres routeurs du même sous-
réseau.

36
Ce paquet n'intéresse pas les terminaux qui ne participent pas au processus de
routage, le paquet sera en pratique envoyé à destination d'une adresse IP Mutlicast
qui permet d'atteindre l'ensemble des routeurs OSPF, et eux seulement.

Dans la configuration standard d'OSPF, un tel paquet Hello est envoyé toutes les 10
secondes ou toutes les 30 secondes selon le type de réseau.

Outre la découverte des nouveaux voisins, ces paquets permettent à un routeur


d'avoir confirmation que ses voisins sont toujours présents et actifs sur le réseau, ce
qui lui offre un moyen de détecter les pannes. Un routeur s'attend en effet à recevoir
un paquet toutes les 10 ou 30 secondes et en l'absence de réception de quatre de
ces paquets d'un voisin connu, le routeur considèrera que ce voisin est en panne et
le supprimera de sa liste de voisins. Le temps de détection d'une panne, en utilisant
ce mécanisme, est donc de l'ordre d'une ou deux minutes.

Le paquet Hello contient en réalité plus d'informations que la simple identification des
voisins. Il contient notamment les options de configuration du protocole, ainsi que la
liste des voisins du routeur qui émet ce paquet.

Pourquoi inclure dans les paquets Hello sa liste de voisins ? Il y a plusieurs raisons à
cela.
Cela permet notamment à un routeur de confirmer à ses voisins la réception des
messages Hello antérieurs. Si A annonce qu'il est voisin de B, cela signifie que A a
bien reçu récemment un message Hello provenant de B. Ce mécanisme permet
d'augmenter la fiabilité du processus d'identification des voisins.

37
En outre, on s'assure de cette manière que la communication sur le lien reliant A à B
peut avoir lieu dans les deux directions. C'est important car une bonne partie du
trafic Internet, notamment TCP, nécessite qu'un chemin existe dans les deux
directions de communication.

Le paquet Hello contient en outre une identification du type de réseau qui sépare les
deux routeurs. Ce type de réseau permet à un routeur d'associer une métrique, une
sorte de score, à chaque relation de voisinage. Plus le réseau reliant deux routeurs
est rapide, plus la valeur de cette métrique sera petite et donc plus ce lien sera
favorisé dans le processus de sélection des chemins. Par exemple, dans certains
routeurs, la valeur associée à un lien est égale au ratio entre une valeur standard de
capacité, 100 Mb/s typiquement, et la capacité du lien exprimée en bits par seconde.

Un routeur acquiert donc, par l'intermédiaire des paquets Hello, la connaissance de


son voisinage immédiat. Il dispose alors d'une liste de voisins et des caractéristiques
des liens de communication qui le relient à ces voisins.

38
5.3. ACQUISITION DE LA CARTOGRAPHIE DU RESEAU
C'est cette information qu'il va transmettre à tous les autres routeurs faisant partie du
même réseau que lui afin de leur permettre de mettre à jour leur table de liens. Pour
cela, OSPF définit quatre messages.

Le premier, appelé Database description (DBD) contient un résumé de la base de


données. Ce message, émis régulièrement par chaque routeur contient, en général,
le nom de tous les routeurs connus. Le nom d'un routeur est souvent l'adresse IP
d'une de ses interfaces, la plus grande par exemple.

Les routeurs s'échangent ces paquets et les examinent. Lorsqu'un routeur apprend,
en recevant un paquet DBD, l'existence d'un routeur qu'il ne connaît pas encore, il va
demander explicitement à l'émetteur du paquet de lui en dire plus. Pour cela, il va lui
envoyer une requête sous la forme d'un paquet LSR, Link State Request.

Le routeur concerné répondra par un paquet de mise à jour, LSU (Link State Update)
qui contiendra les caractéristiques du routeur visé, ainsi que des liens qui le relient
aux autres routeurs.

Le routeur à l'origine de la requête acquittera enfin la réception de cette information


par un paquet dédié, appelé LSAck. Il est en effet nécessaire que la transmission de
ces messages de description de la cartographie du réseau soit fiable.

Il faut noter que dans certains réseaux, le volume de trafic de contrôle généré par ce
processus risque d'être important. Notamment, plus le nombre de routeurs
augmente, plus le nombre de paquets Hello et d'annonce, les DBD, augmentera.

39
5.4. UTILISATION D'UN ROUTEUR DESIGNE
Pour limiter cette charge, les routeurs ont l'option d'élire un routeur particulier, qu'on
appellera routeur désigné, qui se chargera de recevoir l'ensemble des informations
transmises par les routeurs et de les disséminer ensuite.

Il ne s'agit pas ici de calculer les routes en un seul point comme dans le routage
statique centralisé, mais simplement de collecter toute l'information en un point de
référence pour la renvoyer ensuite, brute, à tous les routeurs qui eux effectueront
leurs calculs.

Cette élection est réalisée au moyen des paquets Hello. On définit tout d'abord un
critère permettant de comparer deux routeurs candidats pour devenir routeur
désigné. Le plus souvent ce critère consiste à comparer les identificateurs des
routeurs, c'est à dire leur nom, le plus grand gagnant sur le plus petit.

Dans chaque paquet Hello, un routeur inclut alors l'identification du routeur qu'il
considère comme étant le routeur désigné du réseau. Un routeur recevant de la part
d'un de ses voisins l'annonce d'un meilleur routeur désigné prendra en compte cette
nouvelle information et changera ses annonces.

40
Au bout d'un certain temps, tous les routeurs du réseau auront identifié le même
routeur comme routeur désigné. On élit en même temps un routeur désigné de
secours au cas où le premier tombe en panne.

41
5.5. NOTION D'AIRE
Enfin, pour améliorer encore le passage à l'échelle et s'assurer que le protocole est
efficace aussi bien dans des petits réseaux que dans des grands, OSPF permet
aussi de diviser un grand réseau en plusieurs petits réseaux.

On appelle ces petits réseaux des aires. C'est à l'administrateur réseau qu'incombe
la tâche de déterminer la composition des aires : quel routeur appartient à quelle
aire.

Il peut y avoir une correspondance entre les aires et les sous-réseaux IP, mais ce
n'est pas nécessaire. La seule contrainte est qu'un sous-réseau doit être confiné à
une seule aire, mais une aire peut contenir plusieurs sous-réseaux.

Une fois le réseau divisé de cette manière, OSPF s'exécutera indépendamment dans
chaque aire comme s'il s'agissait de réseaux distincts. Les routeurs situés à la
frontière de chaque aire devront alors se synchroniser entre eux pour échanger des
informations permettant de calculer des routes dans le réseau global. Pour cela, les
routeurs à la frontière de chaque aire constituent une nouvelle aire particulière
appelée épine dorsale, ou backbone.

Cette division permet de limiter le nombre de récepteurs concernés par chaque


émission ainsi que la taille de la base de données des liens gérée par chaque
routeur. Il s'agit d'une technique classique consistant à diviser un problème en sous-
problèmes pour en réduire la complexité.

42
5.6. RESUME
Nous avons vu, dans cette leçon, les principes de base du protocole OSPF qui est
l'un des protocoles permettant de mettre en œuvre l'algorithme de routage à état de
lien que nous avons vu précédemment. OSPF calcule donc les chemins les plus
efficaces au sens d'une métrique qui reflète la capacité des liens entre chaque
couple de routeurs. Il a été conçu pour fonctionner dans de petits et de grands
réseaux tout en limitant le volume de trafic de contrôle. Il s'agit d'un protocole
distribué, dynamique, capable de s'adapter assez rapidement aux changements de
topologie. OSPF inclut en outre une foule d'optimisations et de détails dont nous
n'avons pas parlé ici lui permettant de s'adapter à diverses situations.

6. LEÇON 6 - CONCLUSION
Concluons maintenant notre présentation du routage interne à un réseau. Nous nous
sommes intéressés à la manière dont un routeur, un équipement d'interconnexion
agissant au niveau de la couche réseau du modèle OSI, met à jour ce qu'on appelle
sa table de routage.

6.1. C'EST QUOI UNE TABLE DE ROUTAGE ?


La table de routage est utilisée par les routeurs au moment du relayage des données
afin de déterminer le chemin que doit suivre chaque paquet à l'intérieur du réseau
pour rejoindre le point de sortie approprié par un chemin, si possible le meilleur.

Il s'agit d'une base de données associant donc à chaque destination possible dans
Internet, en pratique à chaque groupe d'adresses IP, un chemin. Ce chemin se réduit
souvent, au niveau d'un routeur, à l'identification de la bonne interface de sortie.

6.2. POURQUOI A-T-ON BESOIN D'UN PROTOCOLE DE ROUTAGE ?


Le rôle d'un protocole de routage est de mettre à jour cette table de routage. La mise
à jour de cette table est critique au sein d'un réseau puisque cette table définit la
qualité des routes qui seront empruntées pour traverser un réseau.

Avoir des routes valides et efficaces contribue à la fois à une bonne utilisation du
réseau, critère important pour l'opérateur, et à un relayage efficace des paquets,
critère primordial pour assurer une bonne qualité de service à l'utilisateur du réseau.

6.3. QU'EST-CE QUI LES DISTINGUE LES DIFFERENTS PROTOCOLES ?


Nous avons vu qu'on pouvait imaginer une multitude de stratégies pour mettre à jour
cette table ou pour se passer d'une telle table en relayant les paquets aléatoirement
ou en les diffusant.

Cependant toutes les stratégies n'ont pas la même efficacité et il est possible de
comparer ces stratégies sur la base du volume de trafic de contrôle nécessaire à leur
fonctionnement, de leur réactivité, de leur robustesse face aux pannes, ainsi que de
la qualité des routes empruntées par les paquets.

43
6.4. QUELLES SONT LES GRANDES FAMILLES DE PROTOCOLES DE ROUTAGE ?
Nous avons vu le principe des algorithmes de routage à vecteur de distance dans
lequel les routeurs échangent l'intégralité de leur table de routage avec leurs voisins
directs

Nous avons aussi examiné le routage à état de lien dans lequel les routeurs
identifient leurs voisins directs et transmettent leur cartographie locale à tous les
autres routeurs du réseau.

6.5. ET EN TERMES DE PROTOCOLES ?


Nous avons évoqué le fonctionnement du protocole OSPF, standardisé par l'IETF,
qui est une mise en œuvre de l'algorithme de routage à état de liens largement
déployée aujourd'hui dans les réseaux.

6.6. QUELLES SONT LES LIMITATIONS D'OSPF ?


OSPF n'est pas la panacée des protocoles. Il utilise par exemple la capacité des
liens comme critère de sélection des chemins, ce qui est un bon critère mais qui
n'est pas forcément adapté à toutes les applications.

OSPF ne permet pas non plus d'adapter les chemins aux variations de la charge des
liens.
Une telle adaptation serait, en réalité, assez complexe pour un protocole de routage
car la charge des liens évolue en permanence dans un réseau. Il faudrait donc
échanger un volume de trafic de contrôle très important pour que les paquets
empruntent les chemins les moins chargés.

6.7. COMMENT ALLER PLUS LOIN ?


Nous n'avons ici qu'effleuré la problématique du routage interne. En effet, il existe
une multitude d'optimisations et d'alternatives permettant de gérer l'infinie variété des
situations présentes dans l'Internet d'aujourd'hui.

Pour en savoir plus, je vous invite à faire les exercices accompagnant cette leçon,
ainsi qu'à lire les documents de référence et la multitude de ressources disponibles
en ligne.

Merci d'avoir suivi cette leçon et bonne continuation dans ce MOOC.

44
46, rue Barrault
75634 Paris Cedex 13
France
Tél. +33 (0)1 45 81 80 80
www.mines-telecom.fr

Vous aimerez peut-être aussi