Grande Échelle
Le protocole OSPF
1
Routage à état de lien
Dans le routage à état de lien, chaque
routeur dans le domaine (une zone dans un
système autonome) doit connaitre la topologie
entière du domaine, et il utilise l'algorithme de
Dijkstra pour construire sa table de routage.
Après convergence, Il diffuse sur le réseau que les
modifications qu’il a détectées dans la topologie
du réseau : lien inaccessible, coût modifié,…
La métrique c’est le coût. plusieurs métriques
peuvent être utilisées simultanément (débit,
bande passante, distance...).
Concept du routage à état de lien
3
Information sur d'état de lien
4
Construire les tables de routage
Dans le routage à état de lien, six opérations sont nécessaires pour assurer que
chaque routeur a une table de routage indiquant les chemins de moindre coût
pour aller à tous les autres routeurs.
1. Chaque routeur apprend sur ses propres liens, grâce aux réseaux
directement connectés
2. Chaque routeur se charge de trouver les voisins dans les réseaux
directement connectés. (Paquets Hello OSPF)
3. Création de l’état des liens par chaque routeur, appelé link state packet
(LSP)(Link State Advertissement (LSA) dans OSPF)
4. Diffusion du LSP de manière fiable à tous les autres routeurs, qui vont les
stockés dans une BDD (le processus est appelé inondation).
5. Construction d'un arbre du plus court chemin vers chaque routeur.
6. Calcul d'une table de routage basé sur l'arbre du plus court chemin
5
Construire les tables de routage
Création du « Link State Packet » LSP (appelé LSA dans OSPF)
Ce paquet contient en autre :
1. l’Identité du routeur Pour construire la topologie
2. La liste des liens avec leur état
3. Numéro de séquence Pour distinguer les nouveaux LSP des anciens
4. Âge Empêche les anciennes LSP de rester dans le
domaine pour longtemps
(Les numéros de séquence OSPF sont sur 32 bits. Le premier numéro de séquence
valide est 0x80000001. Un numéro plus élevé signifie LSA plus récent
Le numéro de séquences ne change que sous deux conditions:
Le LSA a été modifié suite à un lien ajouté ou supprimé.
l’Âge du LSA est expiré (3600s dans cisco)
Les LSP sont générés dans deux situations :
1. Quand il ya un changement dans la topologie du domaine : Déclenchement de
la diffusion des LSP est le principal moyen d'informer rapidement tous les
routeurs dans le domaine pour qu’ils fassent la MAJ dans leur topologie
2. De manière périodique: chaque 30mn, 60 mn ou 120 mn (selon les
implémentations) 6
Construire les tables de routage
7
Algorithme SPF (informel)
8
Exemple 1 : Application de l’algorithme SPF sur le Noeud A
10
OSPF ?
11
Hist orique
• Début du travail sur ce protocole en 1987 par le groupe IETF
• Spécification du protocole OSPFv1
• Initié en 1989 et publié dans la RFC 1131 (version expérimentale
jamais utilisée)
• 1991 : OSPFv2 (RFC 1247)
• Amélioration technique significative
• L’ISO commence à travailler en même temps sur le protocole
IS-IS
• 1998 : Spécification OSPFv2 mise à jour (RFC 2328)
• 1999 : Spécification publiée d’OSPFv3 (RFC 2740)
12
Les principes d'OSPF
Le protocole Open Shortest Path First (OSPF) est un protocole de routage intra-domaine
basé sur le routage à état de lien. Son domaine est un système autonome (AS).
13
Caractéristiques d’OSPF
Il supporte le VLSM/CIDR (Protocole de routage Classless comme RIPv2)
Il inclus le masque de sous réseau dans les informations de routage
Permet l’équilibrage de charge
Nombre de sauts illimité
Distance administrative 110
Métrique basée sur le coût (108/Bande passante)
Il introduit la notion de «Area» (domaine , zone ou aire) pour éviter des grandes
tables de routage
Il devise les Systèmes Autonome en des « Area » (zone ou aire)
Les MAJ sont envoyés sur les multicasts (224.0.0.5 et 224.0.0.6) et sur l’unicast
Trigerred MAJ : quand il ya changement dans la topologie
Périodique MAJ : chaque 30mn pour rafraichir LSDB (CISCO)
Il active dans la couche de transport du modèle TCP/IP. Il utilise son propre
protocole de transport (protocole number 89).
Les paquets OSPF sont encapsulés directement dans des datagrammes IP
Il est ouvert (standardisé par RFC 2328)
Utilise l’algorithme SPF de DIJIKSTRA pour choisir le meilleur chemin
pour toutes les destinations
14
Lien et état d’un lien
15
Voisinage et adjacence
16
Les AREAs d’OSPF
Les area dans un Système Autonome (S.A.)
• Le routeur de bordure ABR (Area Border Router) : connecte une aire ou plus à
l’area backbone, c’est la passerelle pour le trafic inter-area. Le routeur ABR a au
moins une interface appartenant à l’area backbone. il doit entretenir autant de
LSDB que d’area connectées. il résume la topologie de l’area ou des area
connectées puis publie ces résumés vers l’area backbone à l’aide de LSAs d’un
certain type.
19
Etapes d’OSPF
• Chaque routeur OSPF commence par découvrir et former une adjacence avec ses
voisins
– Envoi de paquets de type Hello sur chaque interface liée à OSPF
• Tous les voisins OSPF s’échangent les informations de leurs réseaux connectés entre
eux (Flooding)
– Chaque routeur diffuse sa liste de réseaux connectées via des paquets LSA
(Link-State Advertisement)
– A l’initialisation ou après chaque changement de topologie : génération et envoi
d’un nouveau LSA (Link-State Advertisement)
– A réception des LSA, le routeur met à jour sa base de donnée de topologie
(LSDB)
• Chaque routeur calcule le coût de chaque chemin en se prenant lui-même comme
point de départ (racine de l’arbre dans l’algorithme SPF)
– Utilisation de l’algorithme SPF (Shortest Path First) basé sur l’algorithme de
Dijkstra
– Ce calcul s’effectue pour chaque area sur laquelle le routeur est connecté
– Le routeur injecte finalement la meilleure route pour chaque réseau dans la table
de routage. 20
Principe du fonctionnement
21
Traitement des LSA
Diffusion (Inondation) des LSAs
Après qu’un routeur prépare un LSA, il doit le diffuser à tous les autres routeurs
via ses voisins ( le LSA va transiter de voisin en voisin jusqu’à atteindre tous les
routeurs ) . Le processus est appelé inondation.
1. Un routeur, une fois ajouté envoie une copie du LSA par chacune de ces
interfaces
2. Un routeur qui reçoit un LSA. Il le compare avec les LSA dans sa LSDB
S’il est nouveau, il l’ajoute à la LSDB, il envoi un ACK au voisin émetteur
du LSA , il envoi ce LSA à tous ses voisins (sauf celui qui a émis ce LSA) et
lance l’algorithme SPF à nouveau
Si le LSA existe déjà dans la LSDB, il compare les N° de séquence.
Si le nouveau LSA est plus récent (N° séquence élevé) il est gardé
dans le LSDB et envoyé aux autres voisins. l’ancien LSA est rejeté.
l’algorithme SPF est lancé
Si le nouveau LSA est plus ancien, le récent LSA dans le LSDB est22
renvoyé à celui qui a envoyé l’ancien.
Traitement des LSA
23
La métrique
24
La métrique (cas particulier)
25
La métrique (cas particulier)
26
Conclusion
Sélection de route :
1. Routes internes/intra-area (o)
2. Routes inter-areas(IR)
3. Routes externes (E)
4. Coût différent Le plus petit coût
5. Meme coût Partage de charge (4 à16)
27
Identification d’un routeur
30
Type de réseaux
31
Type de réseaux
• Reseau BMA (Broadcast Multiaccès)
– Réseaux Ethernet, Token Ring, FDDI
– Election d’un DR/BDR
– Timers : Hello = 10s, Dead = 40s
33
Type de réseau
• Réseau NBMA (Non Broadcast Multiaccès)
– Réseaux X25, Frame Relay, ATM
– Pas de possibilité de diffusion, la découverte des voisins nécessite une
configuration supplémentaire
– DR/BDR configuré statiquement
– Les réseaux NBMA, par leur définition, ne supportent pas le multicast
(impossible d’élire DR/BDR dynamiquement)
– Les autres routeurs devraient être configurés avec une priorité OSPF à 0.
– Configuration manuelle des voisins avec la commande neighbor
– Timers : Hello = 30s, Dead = 120s
– Multicast non supporté, l’ensemble des paquets OSPF est émis vers des
adresses unicast
– Mot-clé utilisé pour désigner ce mode dans la configuration :non-broadcast
34
Élection du Designated Router (DR)
et Backup Designated Router (BDR)
• Le DR est élu suivant le principe suivant :
• Chaque routeur possède une priorité
• Le routeur qui envoie un message Hello avec la plus grande priorité OSPF
est élu DR
• Si deux ou plus possèdent la plus haute priorité, celui avec le plus grand
RID est élu DR
• Généralement, celui avec la 2ème plus grande priorité ou avec le 2ème
plus grand RID devient BDR
• Les valeurs des priorités varient entre 0 et 255
• Une priorité de 0 signifie que le routeur ne sera jamais élu ni DR, ni BDR
• Si un DR est élu et qu'un routeur apparaît dans le réseau avec une priorité
supérieure, le DR ne sera réélu que si une défaillance du DR ou du BDR a
lieu
• Si le DR est en panne, le BDR devient DR et un nouveau BDR est élu
• Si le BDR est en panne, un nouveau BDR est élu
35
Election du DR
36
Election du DR
37
Election du DR
38
Échanges de MAJ
• Sur une interface sans DR (liaison point à point (série) par exemple)
• Les mises à jour OSPF sont envoyées directement au voisin adjacents
en utilisant l’adresse multicast 224.0.0.5
• Sur une interface avec un DR, les routeurs «non DR» (DROTHERS)
envoient leurs mises à jour (« LSA update » et « LSA Acknowledgment » au
DR et BDR en utilisant l'adresse multicast 224.0.0.6
• Cette adresse désigne tous les routeurs OSPF DR, ce qui signifie que
le DR et le BDR doivent être en écoute de cette adresse
• Le BDR reçoit les mises à jour mais ne les forward pas. Il se tient juste
près au cas où le DR tombe en panne 39
Échanges de MAJ
40
Les messages OSPF
Les messages OSPF sont encapsulés dans des paquets IP
41
Types de paquets OSPF
Il ya cinq différents types de paquet OSPF. Chacun a un objectif spécifique dans le processus
de routage OSPF :
1. Hello (Type 1) - les paquets Hello servent à découvrir puis à maintenir le voisinage avec
des routeurs OSPF voisins et a élire un DR et un BDR dans les réseaux BMA (Ethernet)
2. Dat aBase Descript ion- DBD -(Type 2) - le paquet descripteur de base de données
contient une liste abrégée de la base de données du routeur expéditeur (liste des routeurs
qu’il connait) et est utilisé par le routeurs destinataire pour contrôler sa base de données
(voir ce qui lui manque)
3. Link-st at e request - LSR (Type 3) - le routeur de destination (celui qui a été le
destinataire de DBD) peut alors demander plus d’information sur n’importe quelle entrée du
DBD (les états de liens des routeurs qui lui manquent), en envoyant un paquet LSR (Link-State
Request).
4. Link-st at e update- LSU (Type 4) - les paquets LSU (Link-State Update) sont utilisés pour
répondre aux LSR, ainsi que pour annoncer de nouvelles informations. Les LSU contiennent
cinq types différents de LSA (Link-State Advertisements).
5. Link-st at e Acknowledgem ent - LSAck (Type 5) - lors de la réception d’un paquet LSU
ou DBD, le routeur envoie un paquet LSAck (Link-State Acknowledgement) pour en confirmer
la bonne réception. 42
Types de paquets OSPF
Types de paquets OSPF
44
Le paquet HELLO (Type1)
45
Découverte des voisins
• Pour découvrir les routeurs OSPF voisin, un routeur OSPF diffuse par
multicast un message du type OSPF Hello
• Les paquets Hello sont envoyés en multicast à l'adresse 224.0.0.5, c'est à
dire à tous les routeurs qui « parlent» OSPF
Ces paquets sont envoyés toutes les
46
DÉCOUVERTE DES VOISINS
• Chaque routeur a besoin de savoir si l'expédition de son message
Hello est bien arrivé à destination
• Pour cela, si un routeur A reçoit d'un routeur B un message Hello
Il va prévenir B qu'il a bien reçu son message Hello en ajoutant
B dans la liste de ses voisins dans le prochain message Hello
qu'il expédiera à B
• Ensuite, B fera de même en ajoutant A dans la liste de ses
voisins dans son prochain message Hello
• Dès qu'un routeur voit son propre RID dans la liste des
voisins incluse dans un message Hello provenant d'un autre
routeur, il sait qu'une communication bi-directionnelle aussi
appelé «two-way communication» est faite.
• A partir de cet instant, des informations LSA sont susceptibles
d'être échangées (Les LSA sont contenus dans des paquets
LSU)
47
CAPTURE D’UN PAQUET HELLO
Ces paramètres
doivent avoir les
mêmes valeurs dans
les deux routeurs pour
qu’ils soient voisins
OSPF 48
49
LES AUTRES MÉCANISMES
50
Le paquet DataBase Description DBD (Type 2))
Format des paquets de description de base de données (DBD)
Par conséquent, dés que le routeur est connecté au réseau, il envoie des
paquets HELLO pour annoncer sa présence à ses voisins.
Si c'est la 1ère fois qu’un des voisin reçois ce HELLO, Il lui envoie un message de
description de base de données (DBD) après avoir établi un 2-way state
avec ce routeur. Ce message DBD ne contient pas les informations complètes sur la
LSDB, il donne seulement un résumé (RID des voisins connus),
Ce routeur nouvellement connecté examine ce résumé et détecte les liens qui
lui manquent. Puis il envoie un ou plusieurs paquets (LSR) pour obtenir des
informations complètes sur les liens manquants.
Lorsque deux routeurs veulent échanger des paquets LSDB, un d'eux prend le
rôle du maître et l‘autre le rôle d’esclave. Parce que le message peut être
très long et le contenu de LSDB peut être divisé en plusieurs messages.
52
Réseau terminal=Stub Network
53
Le paquet Link State Request (LSR)(Type 3)
LSR est un paquet qui est envoyé par un routeur qui veut s'informer sur une
route ou plusieurs.
Il est répondu avec un paquet LSU .
Il peut être utilisé par un routeur nouvellement connecté pour demander plus
d'informations sur quelques routes après la réception de la DBD.
Les trois champs du paquet LSR font partie de l’en-tete générale des LSA. Ils
sont répétés s’il ya plusieurs LSA demandés
Format du LSR
55
Link State Update (LSU) (type 4)
❑Link state type : définit le type de LSA. il ya cinq types : router link (1),
network link (2), summary link to network (3), summary link to AS boundary router (4), and
external link (5).
56
Link State Update (LSU) (type 4)
Entête générale des LSA
❑ Link state ID: La valeur de ce champ dépend du type du lien (type de LSA)
type 1 (Router link) : c’est le Router ID du routeur émetteur du LSA (par IR)
type 2 (Network link) : c’est l'adresse IP de l’interface du DR émetteur du LSA. (par DR)
type 3 (Summary link to network) : c’est l’adresse IP d’un réseau de destination d’une
autre Area– (par ABR)
type 4 (Summary link to AS boundary router) : c’est le router ID du AS
Boundary Router (ASBR)- (par ABR)
type 5 (External link) : c’est l’adresse IP du réseau externe- (par ASBR )
❑Advertising router : c’est le Router ID du routeur qui a envoyé ce LSA.
❑ Link state sequence number: C'est un numéro d'ordre attribué à chaque LSU
❑Link state checksum: pour le contrôle d’érreur
❑Length : définit la taille de l'ensemble du paquet en octets. 57
Format des 5 types de LSA
58
Le paquet Link State Acknowledgment -LSAck
(Type 5)
OSPF est est protocole de routage fiable grâce au paquets LSAck
Chaque routeur doit accuser réception de chaque LSU ou DBD reçu
Format du LSAck
59
Opérations et Etats OSPF
1. Établir une communication bidirectionnelle avec les
routeurs voisins:
Down State : Aucun HELLO Reçu
Init State : Hello reçu, sans le Router ID du routeur
“Salut, je m’appele R1” “salut, je m’appel R2”
Two-way State : Hello reçu avec le Router ID du routeur
“Salut R2, my name is R1.” “Salut, R1, my name is R2.”
(ExStart State si besoin d’élire DR/BDR)
2. Élire le routeur désigné et le routeur désigné de secours (DR
et BDR)
ExStart State avec DR et BDR
Two-way State avec tous les autres routeurs
3. Découverte des routes
ExStart State The DR et BDR élu, Link-State
Exchange State Exchange commence
4. Ajouter des routes appropriés
Loading State
Full State
5. Maintenir les informations de routage 60
61
62
63
EXEMPLE (down, init ,two-way) entre RTB et RTA
Hello 10.6.0.1
2-way
Down
Init 2-way
Down
Init
Hello 10.5.0.1
• Chaque routeur envoie un paquet Hello en multicasts (224.0.0.5), annoçant son Router ID (RID)
• RTA et RTC reçoivent Hello de RTB (RTB reçoit Hello de RTA et RTC),
• Dés cette réception de paquets Hello (RTA et RTC rentrent en init state) ,(RTB rentre en init state).
• RTA et RTC ajoutent le RID de RTB (reçu dans le paquet précédent) dans le champs Neighbor ID du
paquet hello à retourné à RTB (RTB fait de meme).
• RTB reçoit les paquets Hello depuis RTA et RTC et trouve son propre RID (10.6.0.1) dans le champ
Neighbor ID des deux paquets . Il rentre alors dans two-way state
• RTA et RTC reçoivent les paquets Hello depuis RTB et trouvent leur propre RID (10.5.0.1(RTA),
10.6.0.2(RTC)) dans le champs Neighbor ID . Il rentrent alors dans two-way state
• Maintenant RTB (par exemple) doit passer à l’état suivant mais cela dépend de :
– Si l’interface est point-à-point il passe directement à l’état Exchange State
– Si BMA network(ethernet,…) , rester dans two-way state jusqu’a éléction de DR et BDR
(si ce n’est pas encore fait)
64
Election des DR et BDR
(Two-way, ExStart)
Hello DR 10.6.0.1
ExStart
2-way ExStart
2-way
BDR DR
Hello DR 10.5.0.1
65
Après élection des DR et BDR :
Les routeurs autre que DR et BDR entre dans l’état ExStart state avec
DR et BDR et two-way state entre eux
DR et BDR entre dans l’état ExStart state avec tous les autres
routeurs
Les routeurs autre que DR et BDR établissent une adjacence
complete (full state) qu’avec DR et BDR
Tous les routeurs continuent à envoyer des hellos en multicasting sur
224.0.0.5 chaque 10 mn pour faire le suivi des voisins.
Les LSA sont envoyés en multicast (224.0.0.6 ) aux DR et BDR et le DR
les envoie à tous ses adjacents
66
Les tables d’OSPF
• Table des voisins (neighbor table)
– Aussi appelé BDD d’adjacence
– Contient la liste des routeurs directement connectés
– # show ip ospf neighbor
67
DETAILS SUR LES LSA
68
69
70
71
72
73
74
75
76
77
78
Configur ation d'OSPF
79
Configurat ion exem ple
80
Configurat ion basique
Act ivat ion du rout age OSPF
Router(config)#router ospf pr o c e s s - i d
Process-id ent re 1 et 65535
• Significat ion locale uniquem ent
• Perm et d'avoir plusieurs processus OSPF
• Pour des usages et configurat ions inhabit uelles
81
Configurat ion basique
• Définit ion du réseau
• Ne t wo r k a dr e s s e wi l dc ar d_mas k ar e a _i d
• adr e s s e : réseau devant êt re ut ilisé pour diffuser et écout er les
m essages OSPF
• wildcard : l'inverse du m asque (255.255.255.255-m asque)
• ar e a_i d : zone dans laquelle le réseau figure (doit êt re le m êm e part out
dans la zone)
82
Configurat ion basique
Visualiser le Rout er ID
3 solut ions :
show ip prot ocols
show ip ospf
show ip ospf int erface
83
Configurer le loopback
85
La com m ande ospf priorit y
86
Vérifier les configurat ions
87
Configurat ion basique
Command Description
88
La t able de rout age
89
Les m ét riques OSPF
• OSPF calcule le coût d'un lien par la form ule
• 10 8 / bande passande
• Le m eilleur rout e sera la rout e avec le plus pet it coût
• La référence pour la bande passant e est 100 Mb/s
• Possibilit é de la m odifier avec la com m ande :
auto-cost reference-bandwidth
90
Calcul du coût
Le coût t ot al d'une rout e est la som m e des coût s de
chaque lien
91
Visualiser le coût d'un lien
La com m ande show interface perm et de visualiser la
bande passant e définie sur une int erface
92
Modifier le coût
93
Redist ribut ion d'une rout e défaut OSPF
Le rout eur connect é à Int ernet est ut ilisé pour propager la rout e défaut à t ous les
aut res rout eurs OSPF dans une zone
Dans la t erm inologie OSPF, un rout eur sit ué à la front ière ent re une zone OSPF et
une zone non-OSPF est appelé Aut onom ou s Syst e m Bounda r y Rout e r ( ASBR)
94
Redist ribut ion d'une rout e défaut OSPF
Sim ilaire à RIP, OSPF requiert l'ut ilisat ion de la com m ande
default -inform at ion originat e
pour propager la rout e st at ique 0.0.0.0/0 aux aut res rout eurs dans
la zone
95
Virt ual Links
96
Virt ual Links
97
Configurat ion Virt ual Links
98