Vous êtes sur la page 1sur 61

Semaine 5 : le routage

Introduction..................................................................................................................................1
Notion de chemin..........................................................................................................................2
La table de routage........................................................................................................................6
Lalgorithme de la meilleure correspondance.............................................................................10
Introduction.................................................................................................................................11
Le routage statique......................................................................................................................13
Le routage dynamique................................................................................................................15
En rsum...................................................................................................................................16
Introduction................................................................................................................................17
Lalgorithme de Dijkstra.............................................................................................................18
Prise en compte des pannes........................................................................................................26
....................................................................................................................................................26
En rsum...................................................................................................................................27
Introduction................................................................................................................................28
Vision de la topologie.................................................................................................................29
....................................................................................................................................................32
Les messages changs...............................................................................................................33
La structuration en aire...............................................................................................................37
En rsum...................................................................................................................................39
Introduction................................................................................................................................40
Introduction................................................................................................................................49
....................................................................................................................................................49
En rsum...................................................................................................................................61

Sance 1 : la fonction de relayage

Introduction

Aujourdhui, nous allons voir comment ladresse est utilise pour acheminer le trafic dans le
rseau.
Notion de chemin

Un rseau est constitu dun ensemble dquipements et de machines relies pour pouvoir
communiquer, par exemple, par des cbles, des fibres optiques, des liaisons sans fil, les courants
porteurs... Ceci constitue une voie de communication entre deux nuds du rseau.

On peut dfinir la notion de chemin dans le rseau par la suite de liens et de nuds intermdiaires
parcourus pour aller de la source la destination dans le rseau.
Prenons lexemple de ce rseau fictif. Vous voyez une carte de France avec des nuds qui
reprsentent des endroits o on trouve un quipement rseau important et des liaisons qui
joignent ces diffrents quipements. Si lon souhaite envoyer du trafic de Rennes Paris, il
existe plusieurs chemins pour joindre Paris partir de Rennes, qui passent par exemple par :
Rennes Caen Rouen et Paris
ou Rennes Nantes Angers Orlans Paris

Dans les rseaux, nous allons en gnral garder un chemin principal pour acheminer les donnes
et nous allons voir comment nous allons parcourir ce chemin grce la fonction de relayage. Il
existe de nombreuses mthodes pour acheminer les donnes. Nous ne traiterons ici que le
mcanisme utilis par IP. Vous trouverez dans le livre, au chapitre 6, dautres mthodes : circuit
virtuel, routage par la source
Dans IP, lors du relayage, on dit que lacheminement est fait par la destination. Cela veut dire que
lon va considrer uniquement ladresse de la destination pour savoir vers o envoyer la donne
pour quelle atteigne la destination finale.

Chaque nud intermdiaire va excuter un algorithme assez simple :


regarder dabord le paquet reu et considrer son adresse destination pour la comparer
ladresse du nud
o Si elles correspondent, le paquet est arriv la destination, qui va pouvoir le
traiter.
o Si elles ne correspondent pas, il va falloir choisir quel est le prochain saut et
envoyer le paquet vers ce prochain quipement.
Reprenons lexemple de la communication entre Rennes et Paris sur le rseau fictif que nous
avons vu prcdemment.

Le chemin slectionn par le rseau est Rennes-Rouen-Caen-Paris.

Rennes tant la source, le paquet (PDU IP) descend dans les couches protocolaires pour tre mis
sur le support physique. Le paquet arrive Caen. Le paquet remonte dans les couches
protocolaires jusqu la couche rseau qui examine ladresse destination et excute lautomate
suivant : lentit protocolaire IP stocke le paquet et compare son adresse propre celle de la
destination indique dans le paquet. Comme il ny a pas correspondance, lentit IP relaye le
paquet vers le prochain saut : Rouen. Le paquet redescend alors travers les couches 2 et 1 pour
tre transmis sur le lien entre Caen et Rouen.

Le paquet arrive maintenant Rouen. Le mme algorithme sera excut par lquipement de
Rouen. On dit quil transite par Rouen.
Lentit IP (par simplification, on dit aussi lquipement) constate que la destination nest pas
Rouen et le transmet vers le prochain saut : Paris. Arriv Paris, le paquet remonte jusqu la
lentit IP de la couche rseau qui saperoit que le paquet a atteint sa destination. Il sera donc
dlivr la couche de niveau suprieur sur le SAP indiqu dans le champ Protocole du paquet IP
(en gnral une entit de la couche transport).

La table de routage

Dans lexemple prcdent, nous avons considr que le nud intermdiaire connat le prochain
saut utiliser pour joindre la destination. O trouve-t-il cette information ? Dans la table de
routage.
Chaque nud intermdiaire dispose dune table locale qui associe, pour chaque destination
connue, le prochain saut utiliser ; un peu comme dans un carrefour routier o les panneaux
indicateurs donnent les directions pour vous diriger vers votre destination. Les panneaux
indicateurs constituent la table de routage en un nud du rseau routier. La destination peut tre
dsigne dans la table de routage IP soit par son adresse IP si cest une machine, soit par le
prfixe du rseau auquel elle appartient.
Le terme de table de routage est ambigu. Il cache deux notions : Le relayage : la table est utilise
par la fonction de relayage de lentit IP pour acheminer le paquet vers le prochain saut.Le
routage : un protocole va calculer les meilleurs chemins (donc, pour chaque nud le prochain
saut) et mettre jour les informations dans la table (nous verrons cela ultrieurement).

En anglais, on utilise le terme de FIB : Forwarding Information Base ; Forwarding voulant dire
relayage.
Prenons un exemple de table de routage. Vous voyez ce tableau qui possde plusieurs colonnes et
plusieurs lignes. Chaque ligne dsigne une destination connue. On va pouvoir trouver la route
vers ces quipements connus dans les lignes de la table de routage. La premire colonne dsigne
la destination. On y trouve ladresse IP dune machine ou un prfixe rseau. La colonne suivante
dsigne le prochain saut utiliser. La dernire colonne indique linterface (la voie locale) de
sortie pour aller vers ce voisin. Vient ensuite une notion de cot associ la route et divers
renseignements dans les colonnes suivantes.
Vous noterez une ligne particulire o on trouve une route par dfaut. Si la destination du paquet
ne figure pas dans la table de routage, il faut quand mme pouvoir latteindre. On va donc
transmettre ce paquet un routeur qui a plus dinformations ou de connaissance et qui, on
lespre, saura, lui, lacheminer correctement. On appelle ce routeur, le routeur par dfaut .
Dans la table de routage, on a soit des lignes dcrivant comment atteindre une destination, soit
une entre pour le routeur par dfaut (en quelque sorte le panneau autres directions du
carrefour routier).
Lalgorithme de la meilleure correspondance

La fonction de relayage utilise la table de routage en appliquant lalgorithme de la meilleure


correspondance. Quand on veut transmettre un paquet, on regarde ladresse de sa destination et
on la cherche dans la table de routage. Le routeur va ainsi parcourir toute la table de routage
jusqu trouver ladresse de la machine, si elle est connue, ou trouver le prfixe qui correspond le
mieux au rseau de la machine.
Imaginons quil ne connaisse pas ce rseau. On va parcourir toute la table de routage et
sapercevoir que lon na pas trouv de correspondance. On utilisera alors ladresse du routeur
par dfaut qui, on lespre, aura une meilleure connaissance dInternet et pourra transmettre le
paquet vers la destination.
On voit bien linfluence de la taille de la table de routage quand on va vouloir transmettre un
paquet : plus elle sera grande, plus on passera du temps la parcourir pour trouver le prochain
saut.
Sance 2 : protocole de routage

Introduction

Dans la sance prcdente, nous avons vu comment utiliser les informations de la table de
routage pour acheminer les paquets dans le rseau. Nous allons maintenant tudier comment
calculer, construire, et maintenir les informations de la table de routage grce au protocole de
routage.

Nous avons dj vu que plusieurs chemins sont disponibles dans le rseau. Nous avons aussi vu
que la taille de la table de routage peut tre importante et que lalgorithme de la meilleure
correspondance a un impact non ngligeable sur le temps de traitement des paquets. Le protocole
de routage va donc devoir faire un compromis entre le nombre de routes gardes pour chaque
destination et la taille de la table de routage. En gnral, on ne garde quun chemin vers chaque
destination. Nous verrons plus loin comment organiser le rseau pour limiter la complexit des
tables de routage en le dcomposant en aires.
Le protocole de routage va devoir choisir un chemin dans le rseau selon un certain critre. Cela
peut tre la distance kilomtrique, le cot montaire de chacune des liaisons, la distance rseau
(le nombre dquipements intermdiaires parcourir sur le chemin), le dlai associ au chemin
On peut imaginer toutes sortes de critres.
Le choix de ce critre revient ladministrateur du rseau et les calculs sont effectus par le
protocole de routage.
Ce critre permettra de donner une mtrique (un cot) qui sera associe au chemin. Dans la table
de routage, on gardera le chemin de plus petit cot.

Le routage statique

Une fois la route choisie, il faut rentrer les informations dans la table de routage. Une mthode
simple serait dutiliser du routage statique. Ladministrateur configure alors explicitement les
quipements et les routes utilises dans les tables de routage de toutes les machines du rseau.
Cette mthode a lavantage dtre simple et est suffisante pour un petit rseau. Mais elle pose des
problmes importants de passage plus grande chelle : ladministrateur devra configurer toutes
les machines du rseau.

De plus, cela ne prend pas en compte la dynamicit du rseau. Si un lien tombe (la topologie
change), alors ladministrateur devra reconfigurer les tables de routage de toutes les machines du
rseau pour prendre en compte la nouvelle route pour dtourner le trafic.
Le routage dynamique

Les conditions dans le rseau changent. Des liens peuvent tomber et des quipements peuvent
tre en panne. Il faut prendre en compte ces vnements lors que lon construit les routes. Ainsi,
on fera du routage dynamique. Les routeurs changent des informations pour construire une
connaissance commune du rseau de faon distribue et dcouvrir les chemins possibles.
Le routage dynamique apporte une certaine robustesse face aux pannes. En revanche, il apporte
un problme puisque, lorsquon va recalculer la route de dtour, il faudra faire attention ne pas
crer de boucle. En effet, une boucle sur un chemin fait que le trafic narrive pas destination. De
plus, on utilise inutilement la bande passante sur ce chemin.

Quand on va chercher recalculer la nouvelle route, le rseau se trouve dans un tat instable.
Pendant ce temps de convergence, il est possible que des boucles transitoires existent sur le
rseau.

En rsum

Afin de construire des chemins sans boucle, on construira un arbre couvrant du rseau, aussi
appel arbre des plus courts chemins. Cet arbre rpertorie les plus courts chemins entre une
source et toutes les destinations atteignables dans le rseau. Dans la prochaine sance, nous
verrons comment utiliser lalgorithme de Dijkstra pour construire cet arbre.
Sance 3 : Dijkstra

Introduction

Le rseau rel est maill : il existe un grand nombre de chemins possibles pour aller dun point
un autre. Lalgorithme de Dijkstra permet de construire, partir du rseau rel, un arbre, dit
couvrant car toutes les destinations sont couvertes / atteintes, des plus courts chemins dans le
rseau, et assure que les chemins nont pas de boucle. Dans cette session, nous allons voir le
principe de lalgorithme de Dijkstra.

Lalgorithme de Dijkstra est issu de la thorie des graphes. Pour lappliquer, nous transformons la
reprsentation du rseau en graphe maill :
Les quipements sont des sommets.
Les liaisons sont des arcs.
Les cots associs aux liens sont les poids des arcs.

Nous connaissons donc pour chaque nud ses voisins et le cot pour atteindre
chaque voisin.
Lalgorithme de Dijkstra
Lalgorithme de Dijkstra construit larbre des plus courts chemins partir du nud courant. On
va placer ce nud la racine de larbre. Lide est ensuite dexplorer tous les sommets du graphe
en commenant par la racine puis chaque itration considrer un nouveau sommet.
A chaque itration, on regardera ce que ce nouveau sommet peut nous apprendre sur le graphe :
o quel nud il nous permet datteindre ;
o quel cot.
On ne gardera dans larbre que les chemins de plus petit cot.

Lalgorithme va commencer la construction de larbre en insrant la racine le nud courant


(Rennes). En effet, nous cherchons les chemins de plus petits cots de ce nud vers tous les
nuds du rseau. Nous voulons construire larbre des chemins de plus petit cot de la racine vers
toutes les destinations du rseau.
Ensuite, nous insrons tous les voisins de Rennes en indiquant le cot pour les atteindre : Caen
avec un cot de 10 et Nantes avec un cot de 20. Pour ltape suivante, nous allons choisir un de
ces sommets et explorer ce que lon peut apprendre partir de celui-ci. Afin de converger plus
vite vers la solution, nous choisirons le sommet de plus petit cot. Ici, ce sera Caen.
A partir de Caen, nous pouvons atteindre Rouen, Rennes et Angers :
o Rouen avec un cot de 20 car pour aller Caen nous avions dj un cot de 10, et nous
ajoutons larc Caen Rouen qui a un cot de 10 galement ;
o Angers avec un cot de 110 ;
o Rennes avec un cot de 20 ; cette branche ne sera pas garde car pour aller de Rennes
Rennes, il nest pas utile de passer par Caen.
Nous venons de considrer le nud de Caen. Nous linsrons dans T, liste des sommets du graphe
dj visits. cette itration, T contient Rennes et Caen.
Nous allons pouvoir passer litration suivante et choisir le nud de plus petit cot non encore
explor. Nous avons le choix entre Rouen et Nantes qui sont de cot gal. Il faut en choisir un :
choisissons Rouen.
Rouen a pour voisins Nantes, Caen et Paris :
Nantes aura un cot de 120 ; ce qui est plus grand que le cot du chemin que nous avions
dj puisquil possde un cot de 20. Cette branche ne sera pas garde.
Caen aura un cot de 30 alors que nous avions dj une route avec un cot de 10. Cette
branche ne sera pas garde non plus.
Paris aura un cot de 30, ce qui amliore notre connaissance puisque Paris navait pas
encore t dcouvert dans larbre.

Nous ajoutons Rouen lensemble T des sommets visits et nous passons lexploration du
sommet suivant : Nantes.
Nantes a pour voisins : Angers (avec un cot de 30), Rennes (avec un cot de 40) et Rouen (avec
un cot de 120). Les branches vers Rennes et Rouen napportent pas de meilleures connaissances
et ne seront pas gardes. En revanche, le chemin pour aller de Rennes Angers avec un cot de
30 en passant par Nantes est plus intressant que le chemin que nous avions en passant par Caen
et qui avait un cot de 110. Nous allons donc la garder et dtruire dans larbre le chemin qui allait
de Rennes Angers en passant par Caen.
Nous ajoutons Nantes lensemble T des sommets visits et nous passons lexploration du
sommet suivant. Nous avons le choix entre deux chemins de plus petits cots et quivalents :
Rennes Angers ou Rennes Paris . Prenons Angers.
A partir dAngers, nous dcouvrons les deux sommets voisins suivants :
Orlans avec un cot de 40 ;
Nantes avec un cot de 40.
Le chemin pour Nantes ne nous intresse pas, il napportent pas de meilleure connaissance et ne
sera pas gard. En revanche, le chemin pour aller de Rennes Orlans avec un cot de 40 est
intressant car Orlans ne figurait pas dans larbre.

Vous noterez au passage que deux chemins diffrents peuvent avoir le mme cot. Le chemin
allant de Rennes Orlans passant par Rouen et Paris, bien quayant le mme cot que celui
passant par Nantes et Angers, est abandonn car trouv en second. Le choix entre deux chemins
de mme cot est donc arbitraire.

Nous ajoutons Angers lensemble T des sommets visits et nous passons lexploration du
sommet suivant : Paris.
Nous insrons deux branches supplmentaires : Orlans avec un cot de 40 et Rouen avec un
cot de 40. Les cots sont suprieurs la connaissance que nous avons dj : Paris ne nous
apprend rien de nouveau.
Nous ajoutons Paris lensemble T des sommets visits et nous passons lexploration du
sommet suivant : Orlans.
Orlans a pour voisins Angers et Paris mais ces branches namliorent pas notre connaissance et
ne seront pas gardes.

Nous ajoutons Orlans lensemble T des sommets visits. Nous avons visit tous les sommets
du graphe et avons donc termin les itrations.

Une fois larbre des plus courts chemins calcul, la racine, Rennes, peut mettre sa table de
routage jour.
Prise en compte des pannes

En cas de panne dun lien ou dun quipement, de nombreuses routes ne seront plus valides. Il
faudra alors recalculer un nouvel arbre couvrant pour trouver des chemins de secours.
Imaginons que la panne survienne entre Rennes et Caen. Les nuds vont alors excuter
nouveau lalgorithme de Dijkstra pour trouver un nouvel arbre couvrant. Le chemin le plus long
dans larbre permet datteindre Caen avec un cot de 70. Rennes peut alors mettre jour sa table
de routage et, pour toutes les destinations, le prochain saut sera Nantes.

En rsum

Dans cette sance, nous avons vu lalgorithme de Dijkstra qui permet de calculer larbre des plus
courts chemins dun nud vers tous les autres nuds du rseau. Cet arbre est utilis pour
renseigner la table de routage. Lun des principaux avantages de lalgorithme de Dijkstra est quil
a une terminaison en un temps polynomial. En effet, il se termine quand tous les nuds ont t
examins. Son principal problme, pour son utilisation dans un rseau, est quil suppose que
chaque nud du rseau ait une connaissance complte de la topologie du rseau.
Sance 4 : OSPF

Introduction

Lalgorithme de Dijkstra que nous avons vu est utilis de faon distribue par chaque routeur
pour slectionner les prochains sauts garder dans la table de routage. Pour sexcuter, cet
algorithme doit connatre la topologie du rseau. Les protocoles de routage (RIP, OSPF, ISIS)
proposent, en plus dun algorithme de slection du prochain saut, des formats de messages et des
mcanismes pour changer des informations et dcouvrir cette topologie.
Dans cette sance, nous allons aborder lun dentre eux : le protocole OSPF (Open Shortest Path
First) qui met en uvre le routage par le plus court chemin disponible vers la destination.

OSPF est un protocole de routage standardis lIETF. Il sadresse des rseaux maills de
grande taille (quelques dizaines voire centaines de nuds).
Comme tout protocole de routage distribu, il sexcute sur chaque routeur du rseau et suppose
un dialogue entre les routeurs. Ce trafic de signalisation, transport au dessus dIP reste faible.
Ce protocole est de type tat de liens link state ; cest--dire que chaque routeur dispose dune
vision complte et exacte de la topologie du rseau.
Vision de la topologie

OSPF sappuie sur la connaissance de la topologie par chaque nud. Pour construire cette vision
localement, chaque routeur va diffuser lensemble du rseau la liste de ses voisins et le cot
pour les atteindre. Ceci est fait par un mcanisme dinondation.
Nous avons vu que le terme de table de routage est ambigu. Dans OSPF, on diffrencie la table
servant au relayage des paquets : la FIB (Forwarding Information Base), de la table qui permet
de calculer et de choisir les chemins : la RIB (Routing Information Base), aussi appele base de
donne OSPF, qui contient la topologie.

Chaque routeur reoit les relations dadjacence dans le rseau et peut construire sa vision de la
topologie, localement, qui sera stocke dans la RIB.
Cette vision sera utilise pour excuter lalgorithme de Dijkstra et mettre jour la table pour le
relayage des paquets (FIB).
Un changement dans la topologie peut tre vite signal par les routeurs et pris en compte en
recommenant ces oprations.
Les cots associs aux liaisons dpendent de la mtrique choisie par ladministrateur rseau.
OSPF utilise une mtrique additive qui fait souvent intervenir le dbit des liens. Par exemple,
CISCO calcule un cot faible quand le dbit de linterface est grand. Cela permet de prfrer les
chemins proposant le plus de bande passante.
Reprenons notre exemple pour drouler le protocole :
Le routeur de Rennes est connect deux voisins : Caen et Nantes, avec des liaisons ayant
un cot respectif de 1 et 2. Cette information est fiable. Il la diffuse aux autres routeurs du
rseau.
Tous les routeurs font de mme.
Rennes reoit donc leur information topologique.
Le routeur de Rennes peut donc construire sa vision de la topologie et la stocker dans sa
RIB.
Rennes excute lalgorithme de Dijkstra et met jour sa FIB que lon appelle
communment en franais la table de routage.
Les autres routeurs excutent la mme suite dactions en parallle => la fin, mais pas
forcment au mme instant, tous les nuds ont des FIB jour et peuvent relayer
correctement les paquets.
Les messages changs

OSPF dfinit la notion dadjacence pour dsigner la relation entre deux routeurs qui changent
les informations ncessaires pour faire fonctionner OSPF (la topologie). Le procd utilis pour
diffuser les informations lensemble du rseau est appel inondation et ne sera pas dtaill ici
car il dpend de la nature du rseau. Plusieurs mcanismes peuvent tre utiliss. OSPF dfinit la
notion de routeur dsign. Ce routeur est lu dans le rseau pour maintenir et diffuser la liste des
liens du rseau. Il est adjacent tous les autres nuds et peut permettre linondation.
OSPF est mis en uvre par lchange dun ensemble de messages. On peut distinguer deux types
de messages : ceux qui permettent de maintenir ladjacence, et ceux qui maintiennent la
synchronisation de la base de donnes OSPF dans les diffrents routeurs.

La dcouverte des voisins et le maintien de ladjacence sont mis en uvre par lenvoi priodique
dun message Hello. Lenvoi dun message Hello vers un voisin vrifie que la communication est
possible vers ce voisin. La rception dun message Hello envoy par le voisin montre que la
liaison permet une communication bidirectionnelle.
Le message Hello est court et contient :
la liste des voisins dj dcouverts,
lidentit du routeur dsign et de son remplaant en cas de panne,
lintervalle utilis dans le rseau entre lenvoi de deux messages Hello,
le dlai au bout duquel la liaison sera dclare en panne si les messages Hello ne sont plus
reus.
Une fois ladjacence tablie, les informations sur la topologie peuvent tre changes grce des
paquets de description des bases de donnes. Ces paquets contiennent la liste des annonces des
tats de liens du rseau (LSA Link State Advertisement).
Plusieurs types de LSA existent.
Une dure de vie est associe ces tats de liens. Les messages LinkState Request sont
utiliss pour mettre jour un tat de lien trop vieux dans la base de donnes.
Les messages LinkState Update et Link State Acknowledgement sont utiliss pour
linondation ; cest--dire la diffusion fiable des annonces dtats de liens.

Comme tous les protocole de routage, OSPF ncessite des compromis :


le premier compromis est entre la stabilit des routes et la ractivit aux pannes :
o Ne pas ragir suffisamment vite une panne de lien entraine la perte du trafic. En
ragissant, OSPF calcule un chemin alternatif et dtourne le trafic.
o Sil ragit ds quil apprend la panne dun lien ou dun quipement et si
lquipement nest pas vraiment en panne mais a une interface vacillante, OSPF va
gnrer beaucoup dinstabilit dans les routes ; ce que certaines applications ne
supportent pas.
le second compromis est entre la ractivit du protocole et la quantit dinformations
changes.
o Si les routeurs adjacents changent souvent des informations, ils auront une vision
trs jour du rseau et pourront prendre de bonnes dcisions de routage...
o mais auront gnr beaucoup de trafic ; ce qui consomme de la bande passante qui
ne pourra pas tre utilise pour les flux utilisateurs.
La structuration en aire

Une faon de rsoudre ces compromis est dorganiser le rseau en aires : des zones excutant
chacune le protocole OSPF. Cela permet de rduire le nombre de destinataires de linondation et
de passer lchelle. Ceci est particulirement important car OSPF est destin de grand
rseaux. OSPF, pour rduire limpact de linondation en nombre de messages, incite
ladministrateur structurer le rseau en le dcoupant en aires contenant un sous-ensemble de
rseaux, de stations, et des routeurs pour les connecter.
OSPF introduit deux niveaux de hirarchie : les aires, et un backbone (appel aire 0) qui les
interconnecte. Chaque aire dispose dau moins un routeur de bordure qui appartient la fois
laire et au backbone. Son rle est de faire linterface entre les deux. La rpartition des rseaux et
des quipements dans les aires relve du savoir-faire de ladministrateur du rseau. Pour rduire
le trafic d au protocole, il essaiera de rassembler des rseaux ayant des plages dadresses
contigus.
Dans chaque aire, on excute une instance dOSPF. Les changes sont restreints laire, et le
routeur de bordure transmettra un rsum des tats de liens dans le backbone. Cela permet de
cacher certains changements de routes qui nont pas besoin dtre annoncs en dehors de laire.
Dans laire 0, les routeurs changent les informations sur les rseaux de laire 0 et les rsums
dinformations injects par chaque routeur de bordure. Chaque routeur de bordure peut alors
annoncer dans son aire les routes apprises dans le backbone.

La structuration en aire simplifie le routage :


o Si la destination est dans laire, on achemine le trafic au sein de laire.
o Sinon, le routage se fait en 3 parties :
o une premire partie pour acheminer le trafic vers le routeur de bordure de laire ;
o une seconde partie pour acheminer le trafic dans le backbone jusquau routeur de
bordure de laire contenant la destination ;
o une troisime partie dans laire destination entre le routeur de bordure et la
destination finale.

En rsum

Dans cette sance, nous avons vu un protocole de routage, OSPF, qui dfinit des formats de
donnes, des changes de messages, et utilise lalgorithme de Dijkstra pour choisir les routes.
Nous avons vu que les protocoles de routage doivent faire des compromis entre la prcision et le
trafic quils gnrent. OSPF est destin des rseaux de grande taille et force ladministrateur
structurer le rseau ; ce qui permet le passage lchelle.
Sance 5 : LInternet et le routage entre les rseaux

Introduction

LInternet est form par linterconnexion de nombreux rseaux. Il est impossible de le grer de
faon centralise.

Ces rseaux forment des systmes autonomes sous la responsabilit dun administrateur. Celui-
ci dispose dune complte autonomie de gestion et dfinit, entre autres, son plan dadressage et
sa topologie. Il choisit le protocole de routage utiliser lintrieur de son rseau, sa mtrique,
etc.
Un systme autonome, aussi appel AS, est dsign par un numro court sur 2 octets.
La gestion des numros et des adresses lis lInternet est faite par lIANA (Internet Assigned
Numbers Authority), un organisme mondial. LIANA dlgue son autorit des organismes
rgionaux : des RIR (Regional Internet Registry) qui attribuent les numros dAS et les plages
dadresses dans leur zone gographique.
Du fait de son fort dveloppement, il est impossible de connatre la taille et la topologie de
lInternet. Cependant, des mesures sont faites pour en avoir une vision approximative. Sur le site
potaroo.net, on peut trouver une tude qui a identifi 46000 AS diffrents. Le graphe qui trace le
nombre dAS dcouverts entre 1997 et 2013 montre que ce nombre ne cesse de crotre
rapidement.

Les AS peuvent tre terminaux ou de transit. Sils sont terminaux, ils gnrent ou consomment du
trafic alors que les AS de transit utilisent une partie de leur bande passante pour acheminer du
trafic entre ses AS voisins.
Les relations entre AS sont principalement de deux types : client/fournisseur ou peering. Les
clients souscrivent une offre de service auprs dun fournisseur qui leur vend un accs
lInternet. Quand les deux AS changent du trafic dans des proportions comparables, il est plus
pratique de ngocier un accord de peering grce auquel les deux AS changeront librement et
gratuitement du trafic. Nous reparlerons du peering lors de vido de Franck Simon de France IX :
un point dchange o le peering peut tre mis en uvre.
Ces relations sont lorigine dune classification des systmes autonomes selon 3 niveaux. Dans
le premier niveau, les AS appels Tier 1 sont tous compltement interconnects par des relations
de peering. Ces grands fournisseurs de service rseau sont par exemple AT&T, Global Crossing,
Level 3, NTT, Sprint, Tata, ...
Les AS de niveau 2 (ou Tier 2) utilisent la fois des relations de peering et des relations
client/fournisseur pour acheter du transit. On peut trouver Comcast ou Tele2...
Les AS de niveau 3 (ou Tier 3) nutilisent que des relations de client/fournisseur.
Ce graphique permet de visualiser les relations entre AS. Il est disponible sur le site de CAIDA et
a t gnr grce des mesures faites avec loutil Archipelago. La partie rouge reprsente les AS
ayant le plus de voisins ; cest--dire le cur de lInternet. Si on regarde la version du graphe
comportant le nom des AS, sur le site de CAIDA, on peut sapercevoir que les Tier1 sont dans
cette partie rouge.
Le routage dans lInternet est complexe car il doit reflter les relations entre les AS et, par-dessus
tout, respecter les politiques de routages choisies par ladministrateur de chaque AS. En effet, les
relations client/fournisseur ne sont ni rflexives ni transitives : le fournisseur dun AS nest pas le
fournisseur de son client.

Ainsi, lenjeu du routage entre les AS est avant tout lutilisation des ressources de lAS, tout en
garantissant la connectivit, en favorisant la stabilit des routes, et en vitant les boucles.
Accepter un trafic en transit consomme de la bande passante de lAS.
Les mcanismes mis en uvre entre les AS doivent vrifier trois grandes proprits :
lautonomie, la confidentialit et la scalabilit.
o Un AS doit disposer de son autonomie de gestion. Le mcanisme ne peut imposer lAS
une numrotation des machines, un plan dadressage, un protocole interne, une mtrique...
Cest la proprit dautonomie.
o La confidentialit indique que ltat interne de lAS ne doit pas tre diffus. Ainsi, on ne
peut diffuser la topologie de lAS, les renseignements sur les points dentre ou de sortie
de son trafic, ses performances.
o Enfin, tout mcanisme entre les AS doit passer lchelle et limiter limpact sur ses
performances du grand nombre dAS dans lInternet.
Les protocoles de routage sont diviss en deux familles : les IGP Interior Gateway Protocol (tels
quOSPF, IS IS) qui rgissent le routage au sein dun AS, en intradomaine, et lEGP Exterior
Gateway Protocol (BGP) qui dfinit le routage entre les AS, en interdomaine.

LIGP encourage la coopration entre les routeurs de lAS pour avoir la meilleure connectivit,
contrairement lEGP qui respecte avant tout les politiques de routage.
Il vaut mieux ne pas offrir de connectivit un AS voisin si aucune relation de client/fournisseur
ou peering na t tablie.
Afin de pouvoir mettre en uvre le routage entre les AS, tous doivent excuter le mme
protocole : BGP Border Gateway Protocol.
Sance 7 : BGP
Introduction

BGP (Border Gateway Protocol) rgit le routage entre les AS en cohrence avec les politiques de
routage dfinies par les administrateurs.
Il est standardis lIETF et met en uvre un protocole de type vecteur de chemin (Path
Vector). Il ncessite un tablissement explicite dune session dchanges fiables entre deux
routeurs grce TCP.

BGP a pour rle dinformer de lexistence de rseaux en transmettant des annonces, de mettre en
uvre la politique de routage de lAS, de sinterfacer avec le protocole de routage interne de lAS
tout en minimisant le trafic gnr sur les liens par le protocole et en favorisant un routage stable.
Un AS peut tre connect un seul fournisseur de service rseau. Il na besoin que dune route
par dfaut vers ce voisin pour atteindre lInternet. Le recours BGP devient ncessaire quand
un AS met en uvre des connections avec plusieurs fournisseurs de service rseau (on dit
quils sont multidomicilis) ou lorsquils offrent un service de transit. Il faut alors choisir les
routes qui seront injectes dans la table de routage.
Le protocole BGP tablit explicitement des relations externes avec certains routeurs des AS
voisins et des relations internes entre tous les routeurs excutant BGP. Ces routeurs de bordure
dAS dialoguent et changes les annonces apprises par le protocole de routage interne ou des AS
voisins.

Transmettre une annonce nest pas anodin. Cela signifie que lon accepte de transporter du trafic
destination du rseau annonc. Ainsi, quand un AS A annonce un rseau alpha un AS B, il
indique implicitement quil accepte de transporter le trafic envoy par B destination de Alpha.
Quand un AS B reoit lannonce du rseau Alpha en provenance de lAS A, il choisit de lintgrer
dans son routage ou non. Il peut refuser, si sa politique ne permet pas de passer par lAS A pour
joindre le rseau Alpha, ou sil a dj une route meilleure vers ce rseau.
BGP met en uvre un routage par omission. En effet, un AS peut avoir une connaissance totale
des prfixes de lInternet sil est bien connect. Par contre, il nannonce pas tout. Lenjeu dun
bon routage est la connectivit ; mais surtout, lemploi des ressources de lAS par ses voisins si le
routage est mal fait.
Pour choisir un chemin, on ne peut se contenter dappliquer une mtrique et deffectuer un
algorithme de Dijkstra. Dune part, parce quon ne peut diffuser la topologie complte de
lInternet et des AS pour dterminer le plus court chemin, dautre part parce quon ne peut
imposer une mtrique unique tous les AS. Enfin, les routes choisies doivent respecter les
politiques de routages dfinies par ladministrateur. Elles peuvent reflter des contraintes
conomiques, politiques, de scurit...
Un AS peut recevoir plusieurs annonces pour un mme rseau. Pour limiter la taille des tables de
routage, il nen gardera quune. Dans la plupart des cas, le chemin choisi par BGP sera le plus
court en nombre dAS traverss, ou celui qui est dsign comme le meilleur aprs avoir appliqu
une srie de critres.

Pour chaque annonce, on dispose dun ensemble dattributs qui permettent de qualifier cette
route. Certains sont obligatoires et chaque routeur doit les mettre en uvre. Dautres sont
optionnels. Une partie des attributs donne une information sur la route ; dautres indiquent la
prfrence dun administrateur de rseau ; dautres permettent dattribuer des traitements
communs plusieurs annonces...

Lattribut NextHop indique ladresse IP de lquipement utiliser comme prochain saut pour
joindre le rseau annonc. Lattribut Origin indique si la route a t apprise par BGP, par le
protocole de routage interne, ou par un autre moyen. Cet attribut est important car apprendre la
route par le protocole de routage interne garantit que le chemin en interne pour utiliser cette route
est connu.
Lattribut ASPath contient la liste des systmes autonomes parcourus par lannonce de la route.
Cela permet de choisir, parmi plusieurs chemins, la route qui traversera le moins dAS. Cet
attribut permet aussi de sassurer que la route ne prsente pas de boucle. En effet, un AS recevant
cette annonce vrifie quil nest pas dj dans lAS Path. Sil y figure dj, il ne propagera pas
lannonce pour ne pas gnrer de boucle. Sinon, il pourra propager lannonce ses voisins si sa
politique de routage le lui permet.
Dans un AS, lorsque plusieurs routeurs peuvent faire sortir le trafic, lattribut LOCAL PREF
permet ladministrateur dindiquer sa route de sortie prfre.
Chaque AS choisit ses routes de faon indpendante ; ladministrateur dun AS ne peut imposer
ses choix aux autres AS.

Lorsque plusieurs routes permettent de faire entrer du trafic dans un AS, BGP offre cependant un
moyen de recommander une route plutt quune autre un AS voisin grce lattribut MED.
Voici un exemple dalgorithme de slection de chemin en BGP : Si le constructeur met en uvre
un poids pour chaque annonce, on peut prfrer celle de plus haut poids. Sinon, on tiendra
compte du Local Pref pour favoriser la route sortant par un routeur de bordure prfr par
ladministrateur. Sinon, on gardera lannonce ayant le plus petit ASPath. Sinon, on retiendra
lannonce faite par le protocole de routage interne plutt que par BGP ou par une origine
inconnue. Sinon, on retiendra lannonce ayant le plus petit attribut MED, favorisant ainsi la route
prfre de lAS voisin. Si cela na pas suffit pour dpartager les annonces, on continuera
parcourir les attributs jusqu dpartager les routes.
Une fois quune nouvelle annonce a t retenue, le routeur de bordure du systme autonome va
lannoncer :
o tous les routeurs de bordure qui participent BGP grce leur liaison BGP interne ;
o ventuellement aux AS voisins grce ses liaisons BGP externes. Il va galement injecter
cette route dans le protocole de routage interne afin de lintgrer la table de routage.
BGP met en uvre plusieurs types de messages.
o Le message douverture de connexion BGP. Rappelez-vous que les routeurs qui
changent des informations par BGP sont explicitement paramtrs par ladministrateur
de lAS. Louverture de la connexion fait suite une dcision administrative dtablir une
collaboration entre les deux AS et une dsignation des machines pour la mettre en uvre.
Cette ouverture de connexion est acquitte par la rception dun message KeepAlive.
o Le message KeepAlive est galement envoy priodiquement pour garder le contact avec
le nud BGP de lAS voisin.
o Le message Update permet denvoyer des informations sur une route et dindiquer une
liste de routes effacer.
o Un message de notification peut tre utilis en cas de derreur avant de fermer la
connexion.

Rsumons les phases du protocole.


Lors de la phase dacquisition des voisins :Un routeur veut changer des informations.
Il envoie un message Open.Si lautre routeur accepte la requte : envoi dun message Keepalive.
Pendant la dure de la connexion, lAS doit garder le contact avec ses voisins (neighbor
reachability). Pour cela, il envoie un message Keepalive de faon priodique.
Dans la phase de mise jour de la connectivit avec les autres rseaux (network reachability),
chaque routeur a une base de donnes de rseaux quil peut atteindre et une route prfre vers
chaque rseau. Si la base de donnes change, on envoie le changement laide dun message
Update.
En rsum

Nous avons abord le protocole BGP. Contrairement au protocole de routage interne, le but nest
pas dchanger le plus dinformations possible pour amliorer la connectivit. Il faut filtrer les
informations diffuser et mettre en uvre explicitement des relations de voisinage qui refltent
les politiques de routage et donc les accords entre les AS.

BGP a pour rle de propager des annonces de rseaux tout en limitant la taille des tables de
routage. Pour cela, on ne garde quune route vers une destination donne. Le choix de la route
garder est fait grce lalgorithme de slection de BGP. Nous avons vu les grands principes de
BGP. Pour aller plus loin dans ltude de ce protocole, je vous invite consulter le rfrences
proposes sur le site du cours et les standards de lIETF.

Vous aimerez peut-être aussi