Académique Documents
Professionnel Documents
Culture Documents
L’OSPF est l’un des protocoles de routage les plus utilisés aujourd’hui. Il possède de très
bons atouts, et convient très bien aux grands réseaux. De plus, c’est un protocole standard, et
donc utilisable par tous les constructeurs.
Dans cette série d’article, nous allons revenir sur toutes les notions à connaitre, en allant du
niveau CCNA au niveau CCNP.
1) Présentation de l’OSPF
L’OSPF a été développé vers la fin des années 80, afin de pallier aux failles du protocole RIP.
Par contre, ce protocole est plus complexe à mettre en place, et consomme plus de CPU /
RAM (par rapport à RIP).
En OSPF, il est possible de découper son réseau en zone, ce qui permet d’alléger le travail des
routeurs.
Enfin, il faut savoir que l’OSPF est un protocole à état de lien (Link State).
1.2 Un protocole à état de lien
Ce veut dire que tous les routeurs connaissent la topologie complète du réseau.
A partir de la topologie et des caractéristiques des liens, le routeur peut choisir le meilleur
chemin pour chaque destination.
Les valeurs indiquées sur les liens, représentent leur coût (la métrique). Plus il est faible,
meilleur est le lien.
Le calcul du coût est le suivant : 100 000 Kbps / bande passante du lien (en Kbps).
La valeur la plus faible est 1. Il est possible de modifier le calcul de la formule en cas de lien
ayant une bande passante supérieure à 100 Mbps.
Il va utiliser l’algorithme de Dijkstra, pour trouver le plus court chemin (en se basant sur le
coût des liens).
J’incite les plus curieux d’entre vous à se renseigner sur cet algorithme.
Ici, le plus court chemin est donc : R4 -> R2 -> R3 -> R5 -> R6.
A retenir :
A état de lien
Le routeur connait toute la topologie
Métrique : coût (bande passante)
Algorithme : Dijkstra ou plus court chemin (Shorted Path First)
Pour ce qui est des autres zones, les routeurs n’ont connaissance que des réseaux accessibles
(des routes).
Prenons un exemple :
Dans chacune des zones, tous les routeurs se connaissent.
R2 connait donc R1 et R3
Néanmoins, les routeurs ont connaissance des routes vers les autres zones.
Par exemple, R1 connait la route pour 10.2.7.0 /24. Il sait juste qu’il doit passer par R3.
Il est très fréquent de vouloir résumer les routes, pour ensuite les annoncer dans une autre
zone.
Il ne serait donc pas possible d’ajouter une zone 3, dernière la zone 2 (simplement connectée à
R7).
En réalité, nous verrons qu’il y a moyen d’outrepasser cette restriction (de manière provisoire
de préférence).
Les routeurs qui connectent deux zones sont appelé des ABR – Area Border Router.
Enfin, les ASBR – Autonomous System Border Router sont des routeurs qui font le lien
avec d’autres protocole de routage. Ils injectent dans OSPF des routes venant d’autres
protocoles de routage.
Par exemple, R8 pourrait être connecté à un réseau RIP. Il aurait alors pour rôle de
redistribuer les routes RIP dans nos zones.
En bref, les zones permettent donc d’alléger le processus OSPF. Les routeurs n’ont pas besoin
de retenir la topologie complète du réseau. De plus, le calcul du plus court chemin sera plus
simple (moins de ressources CPU utilisées, convergence plus rapide).
A retenir :
Utilité des zones : localiser les MAJ à la zone, réduire la taille de la topologie à connaitre
Toutes les zones doivent être connectées à la zone 0
L’adressage doit être hiérarchique (pour le résumé entre les zones)
ABR : fait le lien entre plusieurs zones
ASBR : injecte des routes venant d’autres protocoles de routage
Le Hello
Afin de découvrir les voisins, et d’entretenir les relations de voisinage, le routeur envoie des
messages HELLO.
Ceux-ci sont envoyés toutes les 10 secondes, en multicast sur l’adresse 224.0.0.5 (toutes les
30 secondes sur un réseau NBMA).
Il contient :
L’ID du routeur
Le Netmask (masque de sous réseau) *
L’ID de l’area *
Les timers Hello et Dead *
La liste de voisin
La priorité du routeur (élection maitre esclave, élection DR / BDR)
L’IP du DR et du BDR
La password (si configuré) *
Les champs marqués d’une étoile doivent correspondre entre les routeurs (sinon, la relation
n’est pas possible).
Résumé de tous les liens que le routeur connait. Quand un voisin voit un lien non connu dans
le DBD, il le demande avec un LSR
Ces différents types seront plus évidents après avoir abordé la pratique. Nous reviendrons
dessus plus tard. Pas d’inquiétude pour le moment.
Accusé réception des DBD, LSR, LSA, LSU (les Hello n’ont pas d’accusé réception)
Il est important de bien les comprendre. Ainsi, le fonctionnement d’OSPF sera plus clair.
Il est possible de choisir l’ID à la main, avec la commande « router-id » suivie d’une adresse
IP.
S’il n’y a pas de Loopback, le routeur prend l’IP la plus haute d’une interface physique.
S’il n’y a pas d’interface physique … et bien le routeur ne peut de toute façon pas
communiquer sur le réseau !
Pour qu’un changement d’ID soir pris en compte, il faut redémarrer le processus OSPF.
Pour que le routeur envoie des messages HELLO, il faut lui dire sur quelle interface le faire.
Pour cela, nous verrons qu’il faut utiliser la commande « network … ».
Comme dit précédemment, les messages HELLO permettent de créer et d’entretenir les
relations de voisinage.
L’ID du routeur
Les Timer HELLO et DEAD *
Le masque de sous réseau *
L’ID de l’Area *
La liste de voisin
La priorité du routeur (pour devenir DR, à 1 par défaut, la plus grande gagne)
L’adresse du DR / BDR
Le mot de passe pour l’authentification (si utilisée) *
Les champs marqués avec des étoiles doivent correspondre entre les routeurs, pour qu’une
relation se forme.
Si le routeur qui reçoit le HELLO se voit dans la liste de voisin inclue dans le HELLO, cela
veut dire que le routeur à l’origine du HELLO le connait déjà.
Si le routeur ne se voit pas dans la liste de voisin, une nouvelle relation commence.
Entre les deux voisins, le routeur ayant la plus haute priorité devient le maitre. En cas
d’égalité, le plus haut routeur ID gagne l’élection.
Celui qui est devenu le maitre envoie alors un DBD – Data Base Description.
A partir des résumés de la base de données, le routeur détermine ce que le voisin connait et
qu’il ne connait pas.
L’esclave envoie donc des LSR – Link State Request au maitre, pour lui demander des infos
plus détaillées sur certains liens
Ensuite, c’est au maitre d’envoyer des LSR, et à l’esclave de répondre par des LSU.
Une fois cela fait, le maitre et l’esclave auront synchronisé leur base de données.
Tous les liens connus par le maitre, seront connus par l’esclave (et inversement).
Il ne faut pas oublier qu’une fois les 8 étapes passée, les voisins continues de s’échanger des
Hello (étape 1 à 5). Ils s’échangent aussi des LSU à chaque fois qu’un changement sur le
réseau requière une MAJ.
A retenir :
1. Déterminer le routeur ID (choix manuel > plus haute IP Lopback > Plus haute IP interface)
2. Ajout d’interface (commande « network »)
3. Envoie de Hello toutes les 10s (30s en NBMA)
4. Réception de Hello (vérification des champs Hello, Netmask, Area ID, Password)
5. Envoi d’un Reply (reset Dead Timer ou création d’une nouvelle relation de voisinage)
6. Election du maitre esclave puis envoi de DBD – Data Base Description
7. Echange LSR – Link State Request et LSU – Link State Update
8. Synchronisation finie, lancement de l’algorithme Dijkstra
Down : Nous n’avons pas encore reçus de Hello du voisin, mais nous essayons de le joindre
Init : On reçoit un Hello du voisin, mais notre routeur n’est pas listé dans le champ Neighbors
2-Way : La relation est créée (notre routeur est listé dans le champ Neighbors). Election DR / BDR si
nécessaire
Sur un réseau Multi Access, le protocole OSPF pet engendrer un engorgement du réseau.
Voici un exemple :
Dans ce cas-là, chaque routeur va établir une relation avec les 5 autres routeurs.
Ensuite, chaque relation va faire l’objet de multiples échanges (DBD, LSR, LSU, etc…).
OSPF propose donc d’élire un routeur comme DR – Designated Router, et un autre comme
BDR – Backup Designated Router.
Quand un routeur souhaite envoyer une MAJ de routage, il l’envoie au DR et au BDR sur l’IP
224.0.0.6.
Celui qui gagne l’élection est celui qui a la priorité la plus élevée. En cas d’égalité, c’est celui
qui à l’ID de routeur de plus haut.
Seule les relations avec le DR et BDR passent en état FULL.
Les relations avec les autres routeurs (les DROthers) restent en 2-Way.
A retenir :