Vous êtes sur la page 1sur 51

CCI

Réseaux Grande Distances

Chap 3: Routage dans les réseaux

Pascale PRIMET VICAT-BLANC


Maî
Maître de Confé
Conférences à l’l’ECL
Laboratoire LIP
Responsable de l’é
l’équipe-projet
quipe-projet INRIA RESO
Pascale.Primet@ens-lyon.fr

http://www.mi.ec-lyon.fr/3A/Ré
http://www.mi.ec-lyon.fr/3A/Réseaux
http://perso.ens-lyon.fr/pascale.primet/ECL

P. Primet Vicat-Blanc 1
Remerciements

n Certains transparents sont basé


basés sur des supports de cours de :
– Olivier GLUCK (LYON1)
– Alain MILLE (LYON 1)
– CongDuc PHAM (LYON 1)
– Daniè
Danièle DROMARD (PARIS 6)
– Andrzej DUDA (INP Grenoble/ENSIMAG)
– Shivkumar KALYANARAMAN (RPI/ECSE)
– Laurent Toutain (ENST Bretagne)
– Michel RIVEILL (Université
(Université de Nice/ESSI)
– l’Institut National des Té
Télécommunications (INT)
– L’Unité
Unité Ré
Réseau du CNRS (UREC)
– L’EPFL Ecole Polytechnique Fé Fédérale de Lausanne(M. GrossGlauser )
n Des figures sont issues des livres cité
cités en bibliographie

P. Primet Vicat-Blanc 2
Routage dans les réseaux

– Objectifs et principes généraux


– Etat des liens: Algorithme de Dijkstra
– Vecteurs distance: Algorithme de Ford Bellmann
– Routage dans Internet: routage hiérarchique
n IGP
n EGP

P. Primet Vicat-Blanc 3
Objectifs du routage

déterminer un «!bon!» chemin (suite de routes)


à travers le réseau pour aller de la source vers la destination

P. Primet Vicat-Blanc 4
Objectifs et principes généraux

Objectif:
Objectif: bon!
bon!chemin = au meilleur coû
coût!
- diffé
différentes mé
métriques possible: nombre de saut, niveau de congestion, dé
délai, dé
débit…
bit…

Abstraction GRAPHE pour les algorithmes de routage


Les graphes sont pondé
pondérés ou non
G= (S,A) avec
S: ensemble de sommets (routeurs)
A: ensemble d’
d’arcs (liens physiques avec coû
coût associé
associé ou non)

P. Primet Vicat-Blanc 5
Objectifs

n Réduire le dé
délai de transmission
n Assurer le dé
débit maximum
n Pré
Prévenir la congestion du ré
réseau
n Prendre en compte les changements du ré
réseau (topologie, trafic)
n Tolé
Tolérer les dé
défaillances des lignes et des nœ
nœuds de commutation

fi Un algorithme ne peut atteindre simultané


simultanément tous ces objectifs.
fi Compromis et choix à faire en fonction du domaine d’
d’application
fi Critè
Critère d’
d’optimalité
optimalité gé
général est la recherche du plus court chemin (le moins
de sauts de messages possible)

P. Primet Vicat-Blanc 6
Classification des algorithmes

n Algorithme déterministe ou adaptative


– Déterministe: tables de routage dé
définies une fois pour toute
– Adaptative: tables recalculé
recalculées pé
périodiquement ou à chaque changement
d’état.
’état.
n Algorithme centralisé ou réparti
– Centralisé
Centralisé: un site calcule les tables de l’l’ensemble des nœ
nœuds du ré
réseau
– Réparti: chaque nœ
nœud calcule sa propre table
n Information globale ou décentralisée
– Globale: tous les nœ
nœuds connaissent toute la topologie et le coû
coût des
liens
– Décentralisé
centralisée: les nœ
nœuds n’
n’ont que la connaissance de l’é
l’état
tat de leur
voisinage

P. Primet Vicat-Blanc 7
Algorithmes déterministes

n Routage par inondation:


– Chaque nœud envoie une copie du paquet à chacun de ses voisin
et récursivement
n Risque de congestion
n Convergence trè
très rapide
n Routage fixe:
– - Un chemin unique spécifié entre tout couple émetteur-
destinataire.
n Conserve l’l’ordre des messages
n Solution efficace
n Ne ré
résiste pas aux dé
défaillances (=> routage alterné
alterné)

P. Primet Vicat-Blanc 8
Algorithmes adaptatifs

n Cas centralisé:
– Informations centralisées
– Tables calculées périodiquement ou à chaque changement d’état
fi Simple à mettre en œuvre
fi Non tolérant aux défaillances du site et des lignes y arrivant
n Cas réparti:
– Information globale => Dijkstra => OSPF
– Information décentralisée= > Ford-Bellman Ë RIP

P. Primet Vicat-Blanc 9
Algorithme de Dijkstra

La topologie du réseau et le coût des liens sont connus de tous les


Nœuds:
- routage par inondation de l’état des liens
- tous les nœuds ont la même information

Calculer le cout le plusfaible d’un nœud vers tous les autres


- détermine la table de routage pour ce nœud

Algorithme itératif: après k itérations, le plus court chemin de k


vers dest est connu.

P. Primet Vicat-Blanc 10
Algorithme de Dijkstra

Notations

C(i,j): coût du lien du nœud i au nœud j s’il ne sont pas


voisins directs
D(v): valeur courante du coût de la source vers la destination V
P(v): nœud prédecesseur sur le chemin de la source vers la
destination, c’est à dire avant v
N: ensemble de nœuds dont le coût minimal est connu
(nœuds traités)

P. Primet Vicat-Blanc 11
Algorithme de Dijkstra

P. Primet Vicat-Blanc 12
Dijkstra: exemple

P. Primet Vicat-Blanc 13
Dikjstra: discussion

Complexité de l’algorithme: n nœuds


-à chaque itération: vérifier tous les noeuds
w qui ne sont pas dans N
n*(n+1)/2 comparaison: O(n**2)
Implémentations plus efficaces en O(nlogn)

Oscillation possible:
-par exemple si le coût des liens correspond
au trafic transporté.

P. Primet Vicat-Blanc 14
Algorithme Vecteur distance
(Ford Bellman)

n Algorithme itératif
– - continue jusqu’à ce qu’il n’y a plus d’échange entre les
nœuds
– Self-terminating: pas de signal d’arrêt
n Asynchrone:
– Les nœuds n’échangent pas d’information pendant le
calcul.
n Distribué: chaque nœud communique uniquement
avec ses voisins.

P. Primet Vicat-Blanc 15
Algorithme Vecteur distance
Ford Bellman

n Notations:
– structure table de distances: chaque nœud possède sa
table
– Une ligne pour chaque destination possible
– Une colonne pour chaque voisin direct
– Exemple au noeud X vers dest. Y via Z
– Dx(Y,Z) = distance de X à Y via Z comme next hop
= c(X,Z) + minw(Dz (Y,w))

P. Primet Vicat-Blanc 16
Vecteur distance: exemple

P. Primet Vicat-Blanc 17
Vecteur distance: tables

P. Primet Vicat-Blanc 18
Algo

P. Primet Vicat-Blanc 19
Algo

P. Primet Vicat-Blanc 20
Vecteur distance: exemple

P. Primet Vicat-Blanc 21
Vecteur distance: exemple

P. Primet Vicat-Blanc 22
Problèmes du vecteur distance

n Temps de convergence de l’algorithme


n Comptage jusqu’à l’infini
n Horizon partagé

P. Primet Vicat-Blanc 23
Changement état des liens

P. Primet Vicat-Blanc 24
Comptage jusqu’à l’infini

P. Primet Vicat-Blanc 25
Choix d’un algorithme de routage

n Obtenir de bonnes performances sur le réseau, tout en maintenant


un fort débit
n -mesurer les paramètres nécessaires
– -état des liaisons, estimation du trafic, dé
délais sur les liaisons, buffers…
buffers…
– Type de trafic:
n Régulier, irré
irrégulier, inconnui, cahotique
– Adaptativité
Adaptativité:
n Calcul pé
périodique (toutes les 10s, les 30s)
n Calcul lorsque c’
c’est né
nécessaire
– Exemples: si trafic ré
régulier: routage fixe meilleur
– Si trafic irré
irrégulier, inconnu ou cahotique: routage adaptatif conseillé
conseillé.

P. Primet Vicat-Blanc 26
Routage dans Internet: routage hierarchique
Algorithmes de routage définis dans un cas idéal:
- tous les routeurs identiques
- réseau plat
- la réalité est différente…

•Passage à l’échelle : 200 millions de destinations:


• mémoire: on ne peut pas stocker toutes les
•Destination dans les tables
•Bande passante: échanges de tables!
•Autonomie administrative:
•Internet = réseau de réseaux
•Chaque réseau veut contrôler ses routes

P. Primet Vicat-Blanc 27
Systèmes autonomes
Organisation: l’internet global est une interconnexion de systèmes
autonomes appelés AS

- AS souche:
- Petit organisme.
- Un lien vers autre AS
- AS multihomed:
- Grand organisme.
- Pas de transit.
- Plusieurs liens
- AS transit:
- Fournisseur de service.
- Interconnecte plusieurs AS

Deux niveaux de routage:


- inter-AS: un seul standard: BGP
- Intra-AS: chaque administrateur choisit son algorithme et sa
politique.
P. Primet Vicat-Blanc 28
P. Primet Vicat-Blanc 29
Intra-AS et inter-AS routing

P. Primet Vicat-Blanc 30
Intra-AS et inter-AS routing

P. Primet Vicat-Blanc 31
Le routage dans IP
n Routeur :
– passerelle entre sous-réseaux
– une adresse IP par interface (par sous-réseau)
– communications à l'intérieur d'un même sous-réseau sans passer
par un routeur
– acheminement à partir de l'@ destination (& logique avec le
netmask de chaque entrée de la table de routage)
n Mise à jour de la table de routage :
– Manuelle = routage statique
n commande "route" des stations unix
n langage de commande des routeurs (ip route ...)
– Automatique = routage dynamique
n processus sur les stations et les routeurs
n échanges d'informations de routage : protocoles de routage

P. Primet Vicat-Blanc 32
Systèmes autonomes (rappels)
n Autonomous System (AS)
– ensemble de réseaux et de routeurs sous une administration
unique (entreprise, campus, réseau régional, cœur de réseau
national, …)
– permet de limiter les échanges d'informations de routage
– chaque AS se voit attribuer un numéro d'AS (16 bits)
– -> protocoles de routage internes (IGP) et externes (EGP)

Routeurs de bordure
AS1 AS3
IGP AS2 IGP
EGP IGP

P. Primet Vicat-Blanc 33
Protocoles de routage de l'Internet
n Protocoles de routage internes (intra-AS)
– RIP (RFC 1058), RIP-2 (RFC 1721 à 1724)
n Routing Information Protocol
n type vecteur de distance
– OSPF - Open Short Path First (RFC 2178)
n type état de liens

n Protocoles de routage externes (inter-AS)


– EGP - Exterior Gateway Protocol (RFC 827)
n premier protocole externe utilisé dans Internet
– BGP - Border Gateway Protocol (RFC 1771)
n définit les échanges internes au domaine (iBGP) et externes
(eBGP)

P. Primet Vicat-Blanc 34
RIP - Principe
n Un nœud construit sa table de routage en fonction des
vecteurs de distance reçus de ses voisins
n métrique = nombre de sauts (entre 1 et 15)
– 16 = valeur maximum (représente l'infini)
– utilisable uniquement à l'intérieur de domaines peu étendus
n Le routeur diffuse toutes les 30 secondes un message RIP
à ses voisins contenant la liste des réseaux qu'il peut
atteindre avec leur distance
– si aucun message pendant 180s, route inaccessible (d=16)
n Implantation : démons gated, routed, zebra sous Unix ou
matériel propriétaire (Cisco, …)

P. Primet Vicat-Blanc 35
RIP - Message RIPv1
n Encapsulé dans un datagramme UDP (port 520)
32
bits Command : type (request,
En-tête IP (20 octets) response)
En-tête UDP (8 octets) Version : 1 (RIPv1) ou 2
(RIPv2)
Command Version 0x0000
0x0000

20 octets = 1 route
512 octets max (25

Address Family Address Family : type


IP Address d'adresse (2 pour IP)
routes)

0x00000000 IP Address : adresse


destination connue
0x00000000
Metric : nombre de sauts
Metric
pour atteindre cette @
au maximum 24 autres routes

P. Primet Vicat-Blanc 36
RIP - avantages/désavantages
n Avantages
– très utilisé et très répandu sur tous les équipements
– s'adapte automatiquement (panne, ajout de réseau, …)
n Désavantages
– la distance ne tient pas compte de la charge, du débit, du coût
des lignes, …
– distance maximale = 15
– trafic important (toutes les 30s) + temps de convergence
– pas d'authentification des messages (attaques de routeurs en
générant des "faux" messages RIP)
n Conclusion
– utiliser RIP sur un petit réseau que l'on contrôle est très
efficace mais pas adapté aux grands domaines
P. Primet Vicat-Blanc 37
RIP - RIPv2

n Remédie à certains inconvénients de RIPv1 en


restant compatible (et en utilisant les champs
0x0)
– permet le routage des sous-réseaux (véhicule le netmask
dans le vecteur de distance)
– diffusion multicast (224.0.0.9) : permet aux routeurs
RIPv1 d'ignorer les messages RIPv2
– possibilité d'authentification (cryptée ou non) des
messages
P. Primet Vicat-Blanc 38
OSPF - Aires
n Le routage est hiérarchisé pour
– limiter la diffusion (inondation)
– réduire le temps de calcul des routes (Dijkstra)
n Un AS est divisé en aires (area) ou zones
– une aire ne connaît que l'état des liaisons internes à l'aire
– deux niveaux de routage : intra-area et inter-area
– chaque aire est identifiée par un numéro sur 32 bits
n Ne pas confondre AS et aires
– AS : un ou plusieurs réseaux sous une même autorité ; deux AS
peuvent utiliser un protocole interne différent
– Aire : toutes les aires OSPF utilisent le protocole OSPF
P. Primet Vicat-Blanc 39
OSPF - Hiérarchie des aires (1)
n Un AS contient une aire "épine dorsale" ou
fédératrice (la zone 0.0.0.0) qui assure
l'acheminement entre les autres aires
n Toutes les autres aires sont reliées à la zone
backbone par au moins un routeur
n Chaque routeur qui est relié à deux zones ou plus fait
partie de l'épine dorsale
n Trois catégories de routeurs
– routeurs internes à une zone (50 max par zone)
– routeurs fédérateurs ou inter-zones qui connectent au moins
deux zones
– routeurs inter-AS (routeurs de bordure) qui échangent les
informations de routage entre les AS (BGP)
P. Primet Vicat-Blanc 40
OSPF - Hiérarchie des aires (2)

4 AS OSPF
interconnectés
par BGP

P. Primet Vicat-Blanc 41
OSPF - Hiérarchie des aires (3)
n Dans chaque zone, découverte de la topologie de la
zone et calcul des plus courts chemins
n Les routeurs fédérateurs reçoivent les
informations locales à leurs zones pour calculer la
meilleure route pour atteindre chaque routeur de
l'AS
n Cette information est ensuite communiquée à tous
les routeurs inter-zones qui la répercutent au sein
de leurs zones
n Si les réseaux et sous-réseaux d'une zone ont des
adresses IP contiguës, le routeur inter-zones ne
signale qu'une seuleP.route par agrégation
Primet Vicat-Blanc 42
OSPF - Types de messages

n 5 types de messages
– message "Hello" : découvrir les voisins et déterminer le
coût pour les joindre
– message de "description de la base de données" : annonce
les mises à jour dont le routeur dispose
– message de "requête d'état de lien" : demande des
informations à un routeur désigné
– message de "mise à jour d'état de lien" : indique les coûts
depuis le routeur émetteur vers ses voisins
– message d'acquittement d'état de lien : acquittement
d'une réception d'état de lien

P. Primet Vicat-Blanc 43
OSPF - Fonctionnement (1)
n A l'initialisation, avec des messages "Hello"
– élection d'un routeur désigné dans chaque zone
n chargé de la diffusion des informations dans la zone
n permet de limiter les messages d'inondation
n un routeur désigné de backup est également élu
– chaque routeur envoie des messages "Hello" pour découvrir ses voisins

n Chaque routeur envoie ses états de liens au routeur désigné avec


des messages "mise à jour d'état de lien"
– après la découverte des voisins ou quand l'état d'un lien change

n Ces messages sont acquittés pour plus de fiabilité

P. Primet Vicat-Blanc 44
OSPF - Fonctionnement (2)
n Chaque message contient un numéro de séquence qui indique l'âge
du message (permet de savoir quelle est l'information la plus
récente)
n Les messages "description de base de données" contiennent les
numéros de séquence de tous les états de lien connus du routeur
émetteur du message
– permet de savoir quel routeur détient l'information la plus récente
– utilisés quand une liaison devient accessible
n Les messages "requête d'état de lien" permet à un routeur de
demander au routeur désigné l'ensemble des états qu'il connaît

P. Primet Vicat-Blanc 45
OSPF - Message OSPF
n Directement au-dessus d'IP (proto=87)
n Adresses multicast
– 224.0.0.5 pour adresser les routeurs de l'aire
– 224.0.0.6 pour adresser
32 les routeurs désignés
bits
En-tête IP (20 octets - proto=87)
Version Type Longueur (en-tê
(en-tête compris)

Adresse IP du routeur émetteur


Numéro de la zone En-tête OSPF
Total de contrôle Type
d'authentification
Authentification
Authentification

DonnéP.esPrimet
OSPF (selon type)
Vicat-Blanc 46
OSPF - Conclusion
n Protocole complexe encore peu mis en œuvre mais
– remédie aux inconvénients de RIP
n temps de convergence
n OSPF adapté aux grands domaines
n OSPF prend en compte plusieurs métriques
– autres avantages d'OSPF
n permet de router les sous-réseaux
n peut assurer un routage différent selon le champ ToS IP (adapte
le type de service demandé à la bonne métrique)
n permet l'équilibrage de charge entre différentes routes de même
coût
n inclut un système d'authentification des messages
P. Primet Vicat-Blanc 47
EGP
n Premier protocole externe utilisé dans Internet
(désormais remplacé par BGP)
n Echanges entre routeurs déclarés comme "pairs"
– deux routeurs de bordure s'échangent à intervalles
réguliers la liste des réseaux accessibles dans leur AS
respective (pas de diffusion)
– tout le trafic entre 2 AS passe par le même chemin
physique

P. Primet Vicat-Blanc 48
source Urec
BGP - Stratégies de routage

n Besoin de prendre en compte dans les stratégies


de routage des considérations d'ordres
– politique : certains AS peuvent refuser de faire transiter
du trafic externe ou le trafic sortant de tel AS préfère
transiter par tel AS que tel autre...
– de sécurité : du trafic en provenance de tel AS ne doit
pas transiter par tel AS
– économique : la traversée d'une AS peut être payante...
n La prise en compte de ces stratégies ne fait pas
partie du protocole (configuration manuelle des
routeurs à l'aide de scripts)
P. Primet Vicat-Blanc 49
BGP - Principe (1)
n Deux routeurs BGP établissent une connexion TCP
pour s'échanger des infos de routage :
– numéro de l'AS
– liste des sous-réseaux de l'AS
– distance relative vers chacun des sous-réseaux de l'AS
– adresse IP du routeur (interne) d'accès à ces réseaux
n Quatre types de messages :
– messages d'ouverture : ouverture d'une session BGP entre
deux routeurs
– messages de mise à jour : signaler à un peer router le
changement d'état d'une route interne à l'AS
– messages de notification : clore une session BGP
– message "Hello" : message signalant que tout va bien au
routeur voisin (Keep Alive)
P. Primet Vicat-Blanc 50
BGP - Principe (2)
n Type vecteur de distance mais les paires s'échangent le chemin complet
correspondant à chaque destination (pas uniquement le coût)
n Exemple : pour la destination D, F utilise actuellement FGCD et apprend
d'autres routes de ses voisins (il peut alors choisir celle qu'il préfère
selon la stratégie choisie)

P. Primet Vicat-Blanc 51