Vous êtes sur la page 1sur 71

TCP/IP - Le routage dynamique

Ce cours est la propriété de la société CentralWeb.


Il peut être utilisé et diffusé librement à des fins
non commerciales uniquement.

CentralWeb 11, Rue de Vanves - 92100 BOULOGNE-BILLANCOURT


Tel : +33 01.46.10.36.36 Fax: +33 01.49.10.00.29
info@centralweb.fr / www.centralweb.fr

© CentralWeb - 1998 1
Plan
✦ INTRODUCTION

✦ Les techniques de routage


✦ L’évolution du routage
✦ Autonomous Systems
✦ Les algorithmes de routage
✦ Vector-Distance
✦ Link-state
✦ EGP
✦ RIP
✦ OSPF

© CentralWeb - 1998 2
Introduction
✦ La technologie TCP-IP est de type «bout en bout» en opposition aux
technologies «point à point» (Cf X25),
✦ L’acheminement des paquets est réalisé par routage plutôt que par
commutation :
● IP est dit «sans états»

● X25/X75 maitiennent des états associés au circuit virtuel (adresse du prochain

relais, nombre de paquets restant à transmettre, contrôle de flux, etc.); si un de


ces états est perdu, la communication est rompue.
✦ Les éléments de l’interconnexion ne doivent fournir qu’un service
minimum: router du mieux qu’ils peuvent (best efford);
✦ IP over everything
✦ les services nécessaires à la communication (Contrôle de flux, gestion
des d’erreurs, congestion, etc.) sont réalisés de bout en bout à un autre
niveau (Cf TCP).

© CentralWeb - 1998 3
Introduction (suite)
✦ Paradoxalement le mode «bout en bout» est le plus robuste que le mode
point à point connecté; si un relais tombe en panne :
● les voisins du relais IP recalculent les tables de routage, et acheminent les

paquets suivants par une nouvelle route.


● dans la technologie «point à point», le circuit est rompu et la connexion

avortée.
✦ Conséquence : le routage IP doit être dynamiquement adaptatif
==> cohérence des tables de routage en permanence.
✦ Afin de limiter la taille des tables de routage et le traitement associé:
● Le routage IP est effectué de saut en saut («next hop») depuis la source

jusqu’à la destination,
● A chaque saut, il y a prise de décision autonome afin de sélectionner la route

qui acheminera le datagramme (VS technologies point à point),


● A chaque étape, un relais n’a qu’une connaissance partielle du routage

● Le concept de route par défaut est au cœur du routage IP.

© CentralWeb - 1998 4
Les techniques de routage
✦ Routage statique
● convient uniquement pour des sites de taille modeste

● généralement le routage est modifié après découverte du problème

● ne peut gérer les changements de topologie non triviaux.

✦ Routage dynamique
● indispensable dès que la topologie devient complexe,

● ==> protocoles de routage dont :

◆ le but est de maintenir des informations associées aux routes de

manière cohérente
◆ le rôle n’est pas de router.

● les protocoles de routage sont de natures différentes selon qu’ils :

◆ traitent des informations de routage à l’intérieur d’un domaine de

routage ,
◆ relient plusieurs domaines de routage.

© CentralWeb - 1998 5
L’évolution du routage
ARPANET
BACKBONE

P1 P2 P3

Réseau local Réseau local Réseau local


1 2 3

Core Gateways Pi = route défaut( Rli )

Arpanet : interconnexion de réseaux locaux -> Routage circulaire


pour mettre en œuvre le routage par défaut.
R.L 2 vers R.L 1 ==> P2->P3->P1
Inefficacité du routage par défaut

© CentralWeb - 1998 6
L’évolution du routage
L1
Passerelles
externes L2 Ln

CORE
L3 L7
SYSTEM

L4 L6 Passerelles du core
interconnectées
L5

Le Core System : système centralisé évitant le routage par défaut


✦ les passerelles internes au Core system connaissent la route pour atteindre n’importe quelle
station (pas de route par défaut)
✦ Les passerelles externes routent par défaut vers le Core.
✦ Devient impossible à gérer quand le système est de taille importante

© CentralWeb - 1998 7
L’évolution du routage
ARPANET M2
M1 BACKBONE

P1 P2 P3

M3 NFSNET M4
BACKBONE

✦ La conception de «core» ne convient pas à l’interconnexion de


backbones:
● il y plusieurs choix de routes possibles entre 2 stations

exemples : M1->P1-M4 ou bien M1->P1->P2->P3->M4


● il faut maintenir la cohérence entre toutes les machines des 2 backbones

● les routes par défaut peuvent introduire des boucles

© CentralWeb - 1998 8
Autonomous System
✦ Les limites imposées par le «Core»
● impossibilité de connecter un nombre arbitraire de réseaux,

● le core ne connaît qu’un seul réseau (local) par passerelle connectée

● les tables de routage et le trafic associé deviennent gigantesques

● quasi impossibilité de modifier les algorithmes de routage (base installée)

✦ amenèrent le concept de «Système Autonome» (AS) :


● Domaine de routage (réseaux + routeurs) sous la responsabilité d’une

autorité unique.
● Architecture de routage indépendante des autres systèmes autonomes

● Exemple : réseau R3T2; un réseau de société multinationale, un provider

● correspond à un découpage de l’Internet.

● Un AS est identifié par un numéro unique (16 Bits) attibué par le NIC.

✦ A l’origine, les AS étaient connectés sur le noyau ARPANET qui


constituait également un AS, aujourd’hui, il existe seulement des AS
interconnectés.
© CentralWeb - 1998 9
Autonomous System (suite)
✦ La connexité d’un AS implique que tous les routeurs de celui-ci soient
interconnectés: 2 réseaux locaux d’une même société nécessitant un
autre AS pour communiquer ne peuvent constituer un AS unique.
✦ La connexité implique que les routeurs d’un AS échangent les
informations de routage:
● un routeur dans un AS est dit «internal gateway»

● le protocole de routage entre «internal gateways» est appelé «Exterior Gateway

Protocol» Exemple : EGP.


● Le protocole de routage à l’intérieur d’une «interior gateway» est appelé

«Interior gateway Protocol»; Exemple de IGP’s: RIP, OSPF, IGRP.


✦ Les IGP’s n’échangent que les tables de routage internes à l’AS, mais
certains routeurs doivent d’autre part, dialoguer avec les «exterior
gateways» pour découvrir les réseaux externes à l’AS.
✦ EGP (External Gateway Protocol) a pour fonction l’échange d’information
sur la connectivité entre AS’s. Cette information exprime un ensemble de
réseaux connectés.
© CentralWeb - 1998 10
Autonomous System (suite)
IGPs

EGP

IGPs
AS 1 AS 2
© CentralWeb - 1998 11
Les algorithmes de routage
Deux classes d’algorithmes existent : les algorithmes Vector-Distance
et les algorithmes Link-State.

✦ Algorithmes Vector-Distance
● Algorithme de Belman-Ford, calcul de routes distribué.

● Un routeur diffuse régulièrement à ses voisins les routes qu’il connaît.

● Une route est composée d’une adresse destination, d’une adresse de

passerelle et d’une métrique indiquant le nombre de sauts nécessaires pour


atteindre la destination.
● Une passerelle qui reçoit ces informations compare les routes reçues avec

ses propres routes connues et met à jour sa propre table de routage :


◆ si une route reçue comprend un plus court chemin (nombre de

prochains sauts +1 inférieur),


◆ si une route reçue est inconnue.

© CentralWeb - 1998 12
Algorithme Vector-distance
Destination Distance Route Destination Distance

Net1 0 Direct Net1 0


Net2 0 Direct Net4 3
Net4 8 Gate L Net17 6
Net17 5 Gate M Net21 4
Net24 6 Gate J Net24 5
Net30 2 Gate K Net30 10
Net42 4 Gate J Net42 3

Table actuelle informations reçues

Mise à jour des entrées dans la table de routage


© CentralWeb - 1998 13
A L 0 B L 0 C L 0
B 1 1 A 1 1 B 2 1
D 3 1 C 2 1 A 2 2
C L 0
D 4 2 D 5 2
B L 0 B
B 2
L 10
E 4 1 E 5 1
A L 1
1 0 A
A 2
1 21
A 1 B 2 C
C L 0
B 2 1
A B 4 1
A 2 2
A 3 1 A 6 2 B L 0
L
D L 0 3 D 6 1 4 A 1 1
0 E L 0
B 4 1
A 6 2
D 6 E 5
D 6 1
A
B 34 1 C 5 1 E L 0
A
B 1
6 1
2 A
D 6
L 2
0 B 4 1
E 6 1 D 6 1 A 6 2 Vector-Distance :
A 3 1 E L 0 D 6 1
D L 0 E L 0
contruction des tables
© CentralWeb - 1998 14
A L 0 B L 0 C L 0
B 1 1 B L 0 A 1 1 B 2 1
D 3 1 A 1 1 C 2 1 A 2 2
C 1 2 C 2 1 D 4 2 D 5 2
E 1 2 D 4 2 E 4 1 E 5 1
E 4 1
A 1 B 2 C
B L 0
Convergence C 5 A
1 1 1
A L 0 B!L 0
B 1 1 B 4 CC
1 2 1
C 5 1A 1 1
A 6 DD
2 4 2
D 3 1 3
B 4 1C 2 1 4
D 6 EE
1 4 1
C 5 1
C 1 2 1C
A 6 2D 4 2
E L 0
B 4
E 1 2 A 6 2D
D 6 1E 4 1
E L 0 D 6 1E
6 5 E L 0
D E
C 6 2 C 5 1
A
B 1
6 1
2 B 4 1
E 6 1 A 6 2 Vector-Distance : la
A 3 1 D 6 1 convergence
D L 0 E L 0
© CentralWeb - 1998 15
A L 0 B L 0 C L 0
B 1
3 inf
3 A 4
1 3
inf B L 0 B 2 1
D 3 1 C 2 1 A 1 inf A 5
2 3
inf
2
C 1
3 inf
3 D 4 2 C 2 1 D 5 2
E 1
3 inf
2 E 4 1 D 4 2 E 5 1
E 4 1
A 1 B 2 C

C 6 2 Reconstruction terminée
C 5 1
A
B 1
6 1
2 C 5 1 B 4 1
C 5 1
E 6 1 3 B 4 1 4 A 6 2
B 4 1
A 3 1 A 6 2 D 6 1
A 6 2
D L 0 D 6 1 E L 0
D 6 1
E L 0 E L 0
D 6 E 5
C 6 2 C 5 1
A
B 1
6 1
2 B 4 1
E 6 1 A 6 2 Vector-Distance : la
A 3 1 D 6 1 rupture
D L 0 E L 0
© CentralWeb - 1998 16
A L 0 B L 0 C L 0
B 1 1 A 1 1 B 2
5 inf
11
1
D 3 1 C 2
1
4 inf
1
3
12
11
5 A 2
5 inf
12
C 1 2
4
6
11
12 C 4 11 D 4 2 D 2
5 11
inf
E 1 2 E 4 1 E 2
5 inf
10
C 4 5
1 3
2
4
A 1 B 2 C
Vers C : Rebond entre
A et B jusqu’au TTL
C 5 10
Convergence !!
C 4 4
1 2 3 Et le temps passa 4 C 1 3 C L 0
jusqu’à ... 12 C 1 5 sans effet
C 5 10 C L 0
C 5 4 104 B+A+D+E
D 6 E 5 coût liaison 5 = 10
C 3
6 12
11
3
5 C 5 4 10
2
4
6
11
A
B 1
6 1
2 B 4 1
E 6 1 A 6 2 Vector-Distance :
A 3 1 D 6 1 L’effet rebond
D L 0 E L 0
© CentralWeb - 1998 17
Algorithme V-D : Inconvénients
✦ La taille des informations de routage est proportionnelle au nombre
de routeurs du domaine,
✦ Métrique difficilement utilisable : lenteur de convergence,
✦ Bouclage, éventuellement à l’infini,
✦ Pas de chemins multiples
✦ Coût des routes externes arbitraire.

© CentralWeb - 1998 18
Algorithme Link State
✦ Basés sur la technique Shortest Path First (SPF) :
● les passerelles maintiennent une carte complète du réseau et calculent les

meilleurs chemins localement en utilisant cette topologie.


● les passerelles ne communiquent pas la liste de toutes les destinations

connues (cf Vector-Distance),


● une passerelle basée sur l’algorithme SPF, teste périodiquement l’état des

liens qui la relient à ses routeurs voisins, puis diffuse périodiquement ces
états (Link-State) à toutes les autres passerelles du domaine.
● Les messages diffusés ne spécifient pas des routes mais simplement l’état

(up, down) entre deux passerelles.


● Lorsque un message parvient à une passerelle, celle-ci met à jour la

carte de liens et recalcule localement pour chaque lien modifié, la nouvelle


route selon l’algorithme de Dijkstra shortest path algorithm qui détermine
le plus court chemin pour toutes les destinations à partir d’une même
source.

© CentralWeb - 1998 19
Algorithme Link State: principes
A 1 B 2 C

De à L D
3 4
A B 1 1
A D 3 1
B A 1 1
6 5 B C 2 1
D E
B E 4 1
C B 2 1
Tous les noeuds ont la même base de donnée C E 5 1
==> pas de boucle. D A 3 1
Paquet de A vers C ==> calcule le + court chemin D E 6 1
et sélectionne B, qui calcule à son tour E B 4 1
le + court chemin vers C. E C 5 1
E D 6 1
© CentralWeb - 1998 20
Algorithme Link State: la rupture
A B inf
A 1 B 2 C
B A inf
B A inf
B A inf
B A inf De à L D
3 A BLorsqu’un
inf message 4 correspond à un état
déja connu, le message n’est pas retransmis A B 1 inf
==> fin de l’inondation A D 3 1
A B inf B A inf
B A inf B A 1 inf
6 5 B C 2 1
D E
B E 4 1
A B inf A B inf
C B 2 1
C E 5 1
Etat A-B down : inondation sur tous les
D A 3 1
interfaces sauf l’interface émetteur.
D E 6 1
E B 4 1
E C 5 1
E D 6 1
© CentralWeb - 1998 21
Algorithme Link State: incohérences
A 1 B 2 C
E D inf
Tables de B,
A et
C,E
D
De à L D
E D inf
3 D E inf 4 A B inf 1
E D inf A D 3 1
B A inf 1
B C 2 1
D 6 E 5 B E 4 1
C B 2 1
C E 5 1
Le calcul SPF corrige les incohérences : D A 3 1
A et D noteront que B, C, E sont inaccessibles; D E 6 1
B,C,E noteront que A et D sont inaccessibles. E
inf B 4 1
E C B 54 1
E D C 65 1
© CentralWeb - 1998 inf
E D 6 22 1
Algorithme link state
✦ Cohérence des bases
● les copies de chaque noeud doivent être identiques aux périodes de

transition près.
● on améliore le processus en protégeant les bases contre les erreurs :

◆ procédure d’inondation avec acquittement,

◆ transmission des paquets sécurisés,

◆ enregistrements de la base protégés par cheksum,

◆ enregistrements de la base soumis à temporisation et supprimés si non

rafraîchis à temps.
◆ messages pouvant être authentifiés.

✦ Métriques multiples
● plus haut débit,

● plus bas délai,

● plus bas coût,

● meilleure fiabilité.

© CentralWeb - 1998 23
Algorithme Link State (suite)
✦ Avantage des algorithmes Link State :
● convergence rapide sans boucle,

● possibilités de chemins multiples,

● métriques précises et couvrant plusieurs besoins,

● traitement séparé des routes externes.

● chaque passerelle calcule ses routes indépendamment des autres.

● Les messages diffusés sont inchangés d’une passerelle à l’autre et

permettent un contrôle (debug) aisé en cas de dysfonctionnement.


● les messages ne concernent que les liens directs entre passerelles et ne sont

donc pas proportionnels au nombre de réseaux dans le domaine (VS V-D).

✦ En conclusion, les algorithmes SPF sont mieux adaptés au facteur


d’échelle que les algorithmes Vector-Distance.

© CentralWeb - 1998 24
EGP : Protocole de routage extérieur
✦ EGP (Exterior Gateway Protocol): utilisé pour échanger les
informations de routage relatives au systèmes autonomes.
✦ EGP: essentiel dans la connectivité Internet (Core, inter-provider , ...)
✦ EGP : RFC827

✦ EGP a trois fonctions principales :


● support d’un mécanisme d’acquisition permettant à une passerelles de

requérir, auprès d’une autre passerelles, qu’elles échangent leurs


informations de routage,
● test continu de l’accessibilité des passerelles EGP voisines,

● échange de messages d’information de routage avec les passerelles EGP

voisines.

© CentralWeb - 1998 25
EGP : les messages
✦ Acquisition Request : Requête d’acquisition auprès d’une passerelle,
✦ Acquisition Confirm : Réponse positive à la requête d’acquisition,
✦ Acquisition Refuse : Réponse négative à la requête d’acquisition,
✦ Cease Request : Requête de terminaison auprès de la passerelle,
✦ Cease Confirm : Réponse positive à la requête de terminaison,
✦ Hello : Requête de réponse “alive”
✦ I heard you : Réponse à la requête Hello,
✦ Poll Request : Requête de mise à jour de routage
✦ Routing Update : Information d’accessibilité,
✦ Error : réponse à un message incorrect.

© CentralWeb - 1998 26
EGP : format des messages
0 8 16 24 31
Version Type Code Status
Checksum Numéro d’AS
Numéro de séquence Données ...

✦ VERSION : version du protocole EGP pour contrôle de cohérence,


✦ TYPE : identifie le type de message
✦ CODE : sous-type des différents messages
✦ STATUS : erreurs propres aux messages
✦ CHECKSUM : résultat du calcul de contrôle effectué comme IP
✦ Numéro d’AS : numéro de système autonome de passerelle émettrice,
✦ SEQUENCE NUMBER : numéro que l’émetteur utilise afin de
synchroniser les messages et les réponses.

© CentralWeb - 1998 27
EGP : Messages d’acquisition
✦ Avant d’échanger des informations de routage, les routeurs adjacents,
doivent devenir «voisins».
✦ Devenir «voisins» ==> procédure d’acquisition (synchronis. bilatérale)
✦ La passerelle adressée est spécifiée (configurée) par les organisations
responsables des systèmes autonomes correspondant.
✦ En plus de l’en-tête commune, les messages d’acquisitions
comprennent deux champs de 16 bits chacun :
● HELLO INTERVAL : intervalle de temps à utiliser pour tester

l’accessibilité de la passerelle,
● POLL INTERVAL : fréquence maximale (N/s) de mise à jour du routage;

✦ Valeur du champs CODE :


● 0 : Acquisition Request,
● 1 : Acquisition Confirm,
● 2 : Acquisition Refuse (exemple: manque de mémoire, interdiction adm.),
● 3 : Cease Request (exemple : arrêt en cours)
● 4 : Cease Confirm.
© CentralWeb - 1998 28
EGP : messages d’accessibilité
✦ EGP met en oeuvre des mécanismes d’accessibilté des réseaux ==>
échanger les listes de réseaux accessibles via chacun des voisins.
✦ La procédure consiste en des interrogations à intervalle régulier de
liste auprés de son voisin.
✦ Les messages échangés dans ce processus :
● HELLO et I-HEARD-YOU (I-H-U) pour le contrôle d’accessibilité des

passerelles voisines,
● POLL Request sollicitant des réponses (Routing Update) sur les

informations de routage.
● Les messages HELLO et I-H-U sont composées uniquement de l’en-tête

commune, CODE = 0 pour le message HELLO et 1 pour le message I-H-U.


● POLL Request et Routing Update comprennent, en plus de l’en-tête

commune, le champ IP SOURCE NETWORK (32 bits) qui spécifie un


réseau commun aux deux systèmes autonomes sur lesquelles sont reliées
les deux passerelles. (Prefixe IP de classe A, B, C).
© CentralWeb - 1998 29
EGP : message d’accessibilité
✦ Les réponses (Routing Update ) contiennent des routes dont les
distances sont mesurées par rapport aux passerelles reliées au
réseau IP SOURCE NETWORK; les raisons pour lesquelles l’émetteur
de l’interrogation, indique l’adresse IP source sont les suivantes :

● un routeur EGP peut être connecté à plusieurs interfaces et si l’adresse IP


était absente, il ne saurait pas à quel réseau s’adresse la requête

● La passerelle souvent rassemble l'ensemble des informations de routage de


tout le système autonome : une suite de paires (adresse réseau, passerelle);
la passerelle spécifiée pour atteindre le réseau dépend de l'entrée dans le
système autonome c'est à dire du champ IP SOURCE NETWORK.

© CentralWeb - 1998 30
EGP : messages d’accessibilité
(P2, réseau 2)
(P1, réseau 1)
(P3, réseau 3)
(P3, réseau 4)
IP Source Network

EGP

P1 P3 P2
réseau 1 réseau 2

réseau 3

IGP P4 réseau 4

© CentralWeb - 1998 31
EGP : messages «Routing Update»
✦ Une passerelle extérieure émet des requêtes de mise à jour
d'information de routage (routing update),afin d'informer les passerelles
voisines appartenant à d'autres systèmes autonomes.

✦ Les messages de mises à jour sont composés de deux types de listes:

● une liste interne contenant tout ou une partie des passerelles du système
autonome et les réseaux accessibles à travers elles,

● une liste externe structurée de la même manière mais identifiant des


destinations extérieures au sytème autonome. Seules les passerelles
appartenant à l’interconnexion (Core, Provider, BB) peuvent propager ces
informations.

© CentralWeb - 1998 32
EGP : Messages «Routing update»
Version Typ Code Status
Checksum
e Numéro
Numéro de Non utilisé
d’AS
séquence Réseau IP Source
Adresse IP du routeur 1 (host id: 1,2,3 octets)
# distances
distance 1 # réseaux
Réseau 1,1,1
Réseau 1,1,2
...
distance 2 #
Réseau 1,2,1
réseaux
Réseau 1,2,2
...
Adresse IP du routeur n
# distances
distance 1 # réseaux
Réseau n,1,1
Réseau n,1,2
distance. .2 . # ...
Réseau n,2,1
réseaux
Réseau n,2,2
...
© CentralWeb - 1998 33
EGP : annonces des routes
✦ EGP peut ne pas annoncer les routes auxquelles il est relié.
N’annonce pas la route vers By

AS «X»
Ax

Backdoor EGP AS
Provider

By
AS «Y»

N’annonce pas la route vers Ax


© CentralWeb - 1998 34
EGP : les métriques
✦ EGP annonce des métriques comprises entre 0 et 255 (inaccessible)
✦ Le mécanisme permet de couvrir les besoins inhérents aux IGPs et les
liaisons multiples entre AS
Liaison Principale Liaison Provider
Métrique annoncée: Mp Métrique annoncée: Mp

AS «X» Mp < Mb AS «Y»


AS «X»

Liaison Backdoor
Liaison Backup Métrique annoncée: Mb Mp >Mb AS
Provider
Métrique annoncée: Mb

AS «Y»

Métrique annoncée par le provider généralement assez grande (128) pour laisser fonctionner le backdoor
© CentralWeb - 1998 35
EGP : les contraintes
✦ Conçu pour un réseau hierachique de type BackBone (exemple
Arpanet/Nsfnet -> Réseaux régionnaux ->campus).
● Ajourd’hui le réseau est maillé et des boucles apparaissent

● Les routes multiples ne sont pas prises en compte

✦ La distance est utlisée uniquement comme évaluation d’accessibilité


(car la métrique est propre à un AS vs mesure universelle)
✦ Taille des messages importante ==> fragmentation de datagrammes

✦ Successeur d’EGP : BGP développé fin des années 80 qui permet :


● des mises à jour incrémentales ( vs tailles des messages),

● la conversion avec IGP’s des informations de routage (==>cohérence

entre métriques de routeurs interieurs et extérieurs)


● évite les boucles dans une topologie maillée

© CentralWeb - 1998 36
RIP : Routing Information Protocol
✦ Protocole intérieur (Cf AS), RFC 1058.
✦ Berkeley made (BSD/routed)
✦ Conçu à l’origine pour les réseaux locaux, étendu aux réseaux distants
✦ Peu performant, mais le plus employé au monde
✦ De type Vector/Distance
✦ Deux Version 1.0 et 2.0
✦ Fonctionne au dessus d’UDP/IP ; port 520 (Cf <1024)
✦ Si une route n’est pas rafraichie dans les 3 Mns la distance=infini
✦ Mode Actif : Routeurs, Mode passif : machines (Historique :
Espionnage d’hôtes passifs dans les réseaux locaux).
✦ Les informations de routage sont émises toutes les 30 secondes et
indiquent pour un routeur donné, la liste des réseaux accessibles avec
leur distance (next hop).
✦ Les routes diffusées sont les routes propres + les routes acquises

© CentralWeb - 1998 37
RIP Format des messages
0 8 16 24 31
1 : Request Commande Version Zéro
Version =1
2 : Response
ID. Famille d’adresse Zéro
Structure d’adresse Adresse IP Réseau 1
Socket / unix Zéro
Zéro
Valeur 1 à 16 ! Métrique (Distance vers Réseau 1)
Adresse IP Réseau 2
Zéro
and so on !
Zéro
Métrique (Distance vers Réseau 2)
...
© CentralWeb - 1998 38
Sa
RIP : traitement des messages
Vérification des champs du message
Ma: Adresse destination Si (entrée n’existe pas dans la table)
Mm : Métrique associée { si (Mm < infini)
{ /* ajouter entrée dans la table */
Mn : Adresse Next hop
Ea=Ma; Em=Mm; En=Mn;
Message reçu
Et=f(t); init(Eaj);
}
Ea: Adresse destination } sinon /* Entrée existante */
Em: Métrique associée { si (Em >Mm)
En: Adresse Next hop { Em=Mm; En=Mn; Et=f(t); init(Eaj);
}
Eaj: MAJ récente
sinon si (En=sa) /* émetteur=NH */
Et:Temporisations { Em=Mm; Et = f(t); init(Eaj);
Entrée de la table }
de routage }
Algorithme de MAJ de la Base de routage
© CentralWeb - 1998 39
RIP : les contraintes
✦ RIP 1 : Pas de routage par sous réseaux (masque non transmis) .

10.2.0.0 unreachable
10.1.0.0 10.2.0.1
(255.255.0.0)

10.0.0.0
10 (255.0.0.0)
Solution: liaison point.2à point dédiée
RIP 1 annoncent le réseau et
.0
au routage des 2 sous-réseaux non pas le sous-réseau
.1
10.0.0.0
(255.0.0.0)
10.2.0.0
(255.255.0.0)

© CentralWeb - 1998 40
RIP : les contraintes
✦ inconvénients des techniques Vector-Distance :
● taille des informations de routage (proportionnelle au nombre de routeurs)

● Métrique difficilement utilisable, limitée à 16, pas de cohérence entre domaine

de routage (pas d’universalité entre AS),


● Bouclage, éventuellement à l’infini,

● Pas de chemins multiples

✦ Amélioration apportée par RIP Version 2


● Gestion de sous-réseaux et super-réseaux (Cf CIDR)

● utilisation de Multicast IP (224.0.0.9) au lieu de Broadcast IP

● Suppression de pics de transmission de messages : supprimer les

synchronisations involontaires des émissions de messages : introduction de


gestion aléatoire du déclenchement des émissions (14 à 45 secondes).
✦ Problèmes residuels importants
● Boucles,

● Métriques non appropriées aux réseaux modernes (Cf commerciaux )

● Pas de chemins multiples

© CentralWeb - 1998 41
OSPF : Open Shortest Path First
✦ Protocole link state (RFC 1247) destiné à remplacer les protocoles
intérieurs propriétaires et RIP.
✦ OSPF utilise la fonctionnalité “type de service” offerte par IP
● permet d’installer plusieurs routes pour une même destination,

● selon des critères différents (ex : délai court, débit important).

● si plusieurs routes vers une même destination sont de coût équivalents,

OSPF répartit la charge équitablement parmi ces routes.


✦ OSPF supporte l’adressage en sous-réseaux (subnets);
✦ Découpe d’un système autonome en aréas
● isolement des informations de routage à l’intérieur de ces aréas

● ==> limitation des informations de routage dans le système autonome .

✦ Des liens virtuels peuvent être établis dans la topologie de l’AS afin de
cacher les connexions physiques d’une partie du réseau.
✦ Les liens extérieurs avec d’autres systèmes autonomes (via EGP par
exemple) sont pris en compte.
✦ Echanges entre routeurs authentifiés ==> l’intégrité des messages.
© CentralWeb - 1998 42
OSPF : les concepts, areas
✦ Le problème : dans les sytèmes de routage, si le réseau est trop grand
● overhead du traffic dans le réseau,

● calculs trop longs,

● dimensionnement mémoire trop grand

✦ La solution : routage hiérachique


● découpage du réseau en parties indépendantes (Areas)

● reliées par un BackBone (Area BackBone)

✦ La fonctionnalité
● chaque area constitue un réseau indépendant

◆ la table des liaisons ne contient de les liaisons de l’Area,

◆ le protocole d’inondation s’arrête aux frontières de l’Area,

◆ les routeurs ne calculent que des routes internes à l’Area

● certains routeurs (area border routers) appartiennent à plusieurs Areas (en

général une Area inférieure et une Area BB) et transmettent les


informations récapitulatives des Areas qu’ils relient.
© CentralWeb - 1998 43
OSPF: Concepts: Areas

BB0 b1 BB2
Routeurs inter-areas

Routeurs externes b2 b6

A1 a2 AB1 BC1 c1 C2

a1 Area A b3 b5 Area C c2
A2 a3 AB4 b4 BC3 c3 C4

BB
AS

© CentralWeb - 1998 44
OSPF, concepts : le routeur désigné
✦ Le problème: Sur un réseau où il y N
routeurs il y a N*(N-1)/2 adjacences. A B
● Chaque routeur doit annoncer N-1 liaisons

vers les autres routeurs


● Chaque routeur doit annoncer ses routes vers

un «réseau terminal» (Cf sous-réseaux).


C D
● soit N² annonces (problème du carré de N)

N(N-1)/2 adjacences

✦ La solution: Un routeur est désigné plus A B


«égal que les autres»
● Les autres routeurs établissent une

adjacence avec ce routeur uniquement


● Le routeur désigné annonce vers le réseau

terminal C D
● soit N annonces
A est le routeur désigné
© CentralWeb - 1998 45
OSPF, Fonctionnement
✦ Chaque routeur du système autonome où d’une area construit sa
propre base d’information décrivant la topologie de l’AS complet ou
bien de l’area.
✦ Au départ les routeurs utilisent des message "Hello" pour découvrir
leurs voisins; une "adjacence" est formée lorsque deux routeurs
communiquent pour échanger des informations de routage.
✦ L’information élémentaire échangée entre routeurs décrit l’état (link
state) des adjacences; cette information est fournie par un routeur
donné puis propagée dans l'area ou l’AS.
✦ A partir de sa base d’information (collection d’états des routeurs),
chaque routeur construit un arbre du plus court chemin (SPF tree)
dont il est la racine.
✦ Cet arbre indique toutes les routes pour toutes les destinations du
système autonome, plus les destinations extérieures.

© CentralWeb - 1998 46
OSPF, la Base topologique
✦ La base d’information topologique d’un système autonome décrit un
graphe orienté. Les noeuds du graphe sont des routeurs ou bien des
réseaux tandis que les liens représentent les connexions physiques.
✦ Les réseaux sont dits de transit si plusieurs routeurs y sont
connectés ou terminaux dans le cas contraire.
✦ A chaque réseau est associé une adresse IP et un masque réseau.
✦ Une machine seule (host) est considérée comme un réseau terminal
avec un masque égal à 0xFFFFFFFF.

© CentralWeb - 1998 47
N12 N13 N14
N 3 8 8 8
1
1 RT1 1 8 8
N3 RT4 RT5
7 6
AS
border
1 Router
N 3 8 6 la
RT3 RT6
2 RT2
7
2
N4 2 N12
N 6
3
RT9 1 RT7 9 N16
1
lb
1 1
5
1 2 N 3 1
N9 RT11 RT10 N6
8
slip
1 1
N 4 N
1 RT12 H1 RT8
2 10 OSPF : exemple 7
0
© CentralWeb - 1998 48
N12 N13 N14
N 3 8 8 8
1
1
* RT1
*
1 8
N3
* RT4
8 *
RT5
6
7
1 * 1 * 6 *
N
3 RT3
8
* RT6 *
2
* RT2
2 6 7
N
* 6
2 N12
N4
RT9
3
*
1
1
* RT7 9 N16
OSPF: Le graphe orienté

*
1 5 *1
1 N 3
N9
* RT11
2 * 8 * RT10
1 * N6

1
N 1
* * N
1
*2
RT12
* H1 annonces routeur
0
10
annonces réseau
RT8
*4 7
© CentralWeb - 1998 49
N12 N13 N14
N 3 8 8 8
1 RT1 1
1 8
N3 RT4 RT5
8
7
6
1
1
N 8
3 RT3 RT6
2 RT2
6
2
2 N12
N 7
N4
RT9 3 1 RT7 9 N16
1
1 6
5
1 N 3
N9 RT11 RT10 N
2 8 1 6
N 1 1
1 RT12
2 10 H1 OSPF : Le plus court chemin RT8 N
0 4 7
© CentralWeb - 1998 50
N12 N13 N14 Dest. Next hop Distance
N 3 RT1 8 8 8
N3
1 N1 RT3 10
RT4
RT5 N2 RT3 10
N3 RT3 7
1 N4 RT3 8
6
N6 RT10 8
RT3 RT6 N7 RT10 12
3 RT2
N N8 RT10 10
2 6
2 N9 RT10 11
N N10 RT10 13
3 1 N4 N11 RT10 14
RT9
1 7 H1 RT10 21
RT5 RT5 6
RT7 RT10 8
N12 RT10 10
1 RT11 N13 RT5 14
N9 N14 RT5 14
3 N15 RT10 17
N
RT10
8 1
RT12 H1 2 N12
10 N6 7
N 2 9 N15
RT7
1
0 La table de routage de R6
RT8
© CentralWeb - 1998 4 N7 51
Area 1 N12 N13 N14
N 3 8 8 8
1
1 RT1 1 8 8
N3 RT4 RT5
7 6
AS
border
1 Router
N 8 6 la
3 RT3 RT6
2 RT2
2 7
N4 2 N12
6
3 Area 3
OSPF : Configuration en areas RT7 9 N16
N RT9
1 lb
5 1
1 1
1 2 N 3 1
N9 RT11 RT10 N6
8
N 1 internes 1
1 4 N
RT12 H1 Area border RT8
0 2 10 7
AS border Area 2
© CentralWeb - 1998 52
Area 1
N 3 1
N1 4
1 RT1 1
N3 RT4 N2 4

1
1 N3 1
N
2
3
RT2
RT3 N4 3
2
N4 N1 4

N2 4

N3 1
N4 2

OSPF : Annonces de l’area 1 vers le BackBone

© CentralWeb - 1998 53
OSPF : les annonces du Backbone vers l’area 1 N12 N13 N14
8 8 8
Destinations annoncées
dans l’area 1 par RT3, RT4 8 8
Dest RT3 RT4
RT4 8 RT5
7 6
14
N6 16 15
N7 20 19
N8 18 18 8 6
RT3 RT6
N9-11,H1 19 26
7
RT5 14 8
RT7 20 14 14 2 N12
20 6
3 Area 3 RT7 9 N16
N RT9
18 18
1 15 1 1
1 1
19 5 16 19
1 2 N 3 1
N9 RT11 RT10 N6
8 20
N 1
26 =min (N9, 1
N10, N11) par 4 N
1 RT12 H1 RT5>RT6->RT10 RT8
0 2 10 7
Area 2
© CentralWeb - 1998 54
OSPF : les annonces du Backbone vers l’area 1 N12 N13 N14
Distances Backbone 8 8 8
calculées par RT3, RT4 8 8
vers depuis depuis RT4 8 RT5
ABR RT3 RT4 7 6
RT3 * 21 14
RT4 22 *
RT7 20 14
RT10 15 22
8 6
RT3 RT6
RT11 18 25 6
R6 8 15 7
R5 14 8 14 2 N12
R7 20 14 20 6
3 Area 3 RT7 9 N16
N RT9
18 18
1 15 1 1
1 1
19 5 16 19
1 2 N 3 1
N9 RT11 RT10 N6
8 20
N 1
26 =min (N9, 1
N10, N11) par 4 N
1 RT12 H1 RT5>RT6->RT10 RT8
0 2 10 7
Area 2
© CentralWeb - 1998 55
OSPF : La base de données
✦ Les états des liaisons sont enregistrés selon 5 types :
● routeur,

● réseau,

● récapitulation de réseau IP,

● récapitulation de réseau externe,

● externe

✦ L’identifiant de la liaison est choisi par le routeur annonçant


✦ Format d’un enregistrement :
Age de l’EL options Type d’EL
valeur TOS
Identifieur d’état de liaison
Adresse IP généralement
Routeur annonçant (IP)
sur 32 bits, identifie l’antériorité No de séquence d’EL

Depend du type à la IP Checksum d’El longueur


d’enregistrement ...
© CentralWeb - 1998 56
OSPF : La base de données
✦ Les liaisons de routeurs (type EL = 1)
● récapitulent les liaisons attachées à ce routeur

● concernent soit un routeur inter-area, soit un point d’accès externe

● type de la liaison :

◆ point à point vers un autre routeur

◆ reliant le routeur vers un réseau de transit

◆ reliant le routeur à un réseau terminal

Routeur inter area EB 0 nombre de liaisons


ou externe
Identifieur de liaison

LIAISON
LIAISONrouteur
routeur->-> Données de liaison
LIAISON point à point
réseau
réseau
vers unterminal
de transit
autre routeur TOS defaut # TOS métrique, TOS défaut
Adresse
AdresseIP
Identifieur IPOSPF
du
duréseau TOS 1 0 métrique, TOS=1
ou
routeur
sous-réseau
désigné
Adresse
Masque
IP de
Adresseréseau
IProuteur
de ou ...
l’interface
sous
l’interface
réseaulocale TOS n 0 métrique, TOS=n
© CentralWeb - 1998 57
OSPF : La base de données
✦ Les liaisons de réseau (type EL = 2)
● annoncées par les routeurs désignés sur les réseaux de transit

● L’Identifieur de liaison correspond à l’adresse IP du routeur désigné vers

ce réseau

Masque de réseau ou sous-réseau


Routeur connecté
Routeur connecté

...
Routeur connecté

© CentralWeb - 1998 58
OSPF : La base de données
✦ Les liaisons récapitulatives de réseaux IP (type EL=3)
● annoncées par les routeurs inter-area

● un message par annonce (pas de groupage)

● Identifieur de liaison = adresse IP de réseau ou sous-réseau

Masque de sous - réseau


TOS defaut 0 métrique, TOS défaut
TOS 1 0 métrique, TOS=1
...
TOS n 0 métrique, TOS=n

© CentralWeb - 1998 59
OSPF : La base de données
✦ Les liaisons récapitulatives de routeurs externes (type EL=4)
● annoncées par les routeurs externes

● un message par annonce (pas de groupage)

● Identifieur de liaison = adresse IP du routeur externe

Masque = FFFFFFFF
TOS defaut 0 métrique, TOS défaut
TOS 1 0 métrique, TOS=1
...
TOS n 0 métrique, TOS=n

© CentralWeb - 1998 60
OSPF : La base de données
✦ Les liaisons externes (type EL=5)
● annoncées par les routeurs externes (Cf EGP, BGP)

● un message par annonce (pas de groupage)

● Identifieur de liaison = adresse IP du réseau ou sous-réseau destinataire

Masque de réseau ou sous-réseau


E, TOS defaut 0 métrique, TOS défaut
Identifiant de route externe (defaut)
E=extern
E, TOS 1 0 métrique, TOS=1
Identifiant de route externe (1)

...
E, TOS n 0 métrique, TOS=n
Identifiant de route externe (n)

© CentralWeb - 1998 61
OSPF : Le calcul des routes
✦ La base de données permet de calculer les tables de routages
✦ Le calcul est effectué après tout changement de topologie
✦ Selon l’algorithme «link state» qui détermine
● les chemins les plus courts

● les chemins aussi courts

✦ OSPF transmet la table de routage à IP en transcodant les valeurs de


TOS selon la RFC 1349

© CentralWeb - 1998 62
OSPF : les sous-protocoles
✦ Le protocole Hello
● vérifie que les liaisons sont opérationnelles

● permet l’élection du routeur désigné ainsi que le routeur back-up

● établit une connexion bilatérale entre 2 routeurs

En-tête OSPF : hello bit T : routeur


gérant le TOS BIT
Masque de reseau ou sous-réseau E : émet ou reçoit
Intervalle entre des routes
Intervalle Hello Options Priorité externes
paquets
Intervalle de Mort (tempo.)
O si processus
Routeur désigné (IP) non terminé
O si processus
non terminé Back-up (IP)
Voisin permet la sélection
du «désigné» et
... «backup»
Voisin

© CentralWeb - 1998 63
OSPF : les sous-protocoles
✦ Le protocole d’échange
● consiste en l’échange des tables «link state» entre 2 routeurs

● activé si la connexion bilatérale a réussit

● se situe entre routeur désigné et les autres routeurs sur les liaisons

réseaux et entre backup et autres routeurs En tete OSPF Type = 2


● initie les premiers échanges
0 options 0
● suppléé ensuite par le protocole d’inondation
No Seq dans la base
● Fonctionne en Maitre/Esclave
Type d’EL
● Echanges avec acquittements
Identifieur d’état de liaison
Routeur annonçant (IP)
No de séquence d’EL
Informations de synchronisation Checksum d’El age d’EL
de protocole
...
© CentralWeb - 1998 64
OSPF : les sous-protocoles
✦ Le protocole d’inondation
● Activé lorsque l’etat d’une liaison change et que cet état était préalablement

enregistré.
● Peut aussi être activé sur demande d’état apres connexion bilatérale

● protocole avec acquittement


En tete OSPF Type = 4
● Pour chaque annonce
Nombre d’annonce1
◆ si nouvelle valeur : l’annonce est
Type d’EL
réémises sur tous les interfaces
◆ Acquittement vers l’émetteur Identifieur d’état de liaison
initial Routeur annonçant (IP)
No de séquence d’EL
Checksum d’El age d’EL
...

© CentralWeb - 1998 65
192.1.2.
LS age = 0 ; valeur à l'init
N LS type = 1 ; signifie router link
1 LS ID = 192.1.1.3 ; Router ID de RT3
192.1.3
192.1.3. Advertising router = 192.1.1.3 ; annonceur
1 bit E = 0 ; pas un ASBR
N 3 bit B = 1 ; RT3 = ABR
2 RT2 RT1
#links=2
link ID = 192.1.1.4 ; adr. IP du Des. Rout. RT4
1 1
Link Data = 192.1.1.3 ; RT3 interface
1 Type = 2 ; connecté a un réseau transit
N3 RT4
192.1.1 metric = 1 ; coût

1
18.10.0.6 link ID = 192.1.4.0 ; adresse IP du réseau N4
8 6 Link Data = 0Xffffff00 ; masque du réseau
RT3 RT6
Type = 3 ; connecté a un réseau
7 term.
2
N4 metric = 2 ; coût
192.1.4
Annonces de RT3 vers le BB
© CentralWeb - 1998 66
192.1.2.

N LS age = 0 ; valeur à l'init


1 LS type = 1 ; signifie router link
192.1.3
192.1.3. LS ID = 192.1.1.3 ; Router ID de RT3
1 Advertising router = 192.1.1.3 ; annonceur
N 3
bit E = 0 ; pas un ASBR
2 RT2 RT1
bit B = 1 ; RT3 = ABR
#links=1
1 1
link ID = 18.10.0.6 ; adr. IP du voisin RT6
1 Link Data = 0.0.0.0 ; interface SL
N3 RT4
192.1.1 Type = 1 ; connecté a un routeur
1 metric = 8 ; coût
18.10.0.6
8 6
RT3 RT6
7
2 Annonces de RT3 vers Area 1
N4
192.1.4

© CentralWeb - 1998 67
LS age = 0 ; valeur à l'init
192.1.2. LS type = 4 ; sign. summary link to ASBR
N LS ID = w.x.y.z ; Router ID de RT7
1 Advertising router = 192.1.1.4 ; annonceur
192.1.3
192.1.3. metric = 14 ; coût
1
N 3
2 RT2 RT1

1 1

1
N3
192.1.1
RT4 Annonces de RT4 vers area1
1
pour l’ASBR RT7
18.10.0.6
8 6
RT3 RT6
7
2
N4
192.1.4

© CentralWeb - 1998 68
192.1.2.
Annonces de RT4 (DR) pour N3
N
1
192.1.3
192.1.3.
1 LS age = 0 ; valeur à l'init
N 3
LS type = 2 ; signifie network link
2 RT2 RT1
LS ID = 192.1.1.4 ; Router ID de RT4
Advertising router = 192.1.1.4 ; annonceur
1 1
Network mask = 0Xffffff00 ; masque réseau
1 Attached Router = 191.1.1.4; Routeur RT4
N3 RT4
192.1.1 Attached Router = 191.1.1.1; Routeur RT1
1 Attached Router = 191.1.1.2; Routeur RT2
18.10.0.6 Attached Router = 191.1.1.3; Routeur RT3
8 6
RT3 RT6
7
2
N4
192.1.4 un network link par l’intermediaire du DR
annonce tous les routeurs attachés à ce réseau
© CentralWeb - 1998 69
192.1.2.
LS age = 0 ; valeur à l'init
N LS type = 4 ; sign. summary link to ASBR
1 LS ID = w.x.y.z ; Router ID de RT7
192.1.3
192.1.3. Advertising router = 192.1.1.4 ; annonceur
1 metric = 14 ; coût
N 3
2 RT2 RT1

1 1

1
N3 RT4
192.1.1
1
18.10.0.6
RT3
8 6
RT6 Annonces synthèses de RT4
2
7 vers area1 pour l’ASBR RT7
N4
192.1.4

© CentralWeb - 1998 70
192.1.2.

N
1
LS age = 0 ; valeur à l'init
192.1.3
192.1.3.
LS type = 3 ; sign. summary link to Net
3
N 3 LS ID = 192.1.2.0 ; Adr. IP de N1
2 RT2 RT1 Advertising router=192.1.1.4 ; annonceur
metric = 4 ; coût

1 1

1
N3 RT4
192.1.1
Annonces (syntèses) de RT4
1
18.10.0.6 vers le BB pour le réseau N1
8 6
RT3 RT6
7
2
N4
192.1.4

© CentralWeb - 1998 71