Protocole OSPF
Le
protocole OSPF (Open Shortest Path First) est un protocole de routage à
état de lien crée en 1988 par l’IETF (RFC 2328). C’est à l’heure actuelle l’IGP
(Interior Gateway Protocol) le plus répandu. OSPF est un protocole libre.
Principales
caractéristiques d’OSPF :
·
Emission des
mises à jour déclenchées par modification(s) topologique(s).
·
Connaissance
exacte et complète de la topologie du réseau.
·
Chaque noeud connaît l’existence de ses voisins
adjacents.
·
Utilisation d’un arbre du plus court chemin d’abord
(SPF Tree) et d’un algorithme du pluscourt chemin d’abord (Algorithme SPF
appelé aussi l'algorithme de Dijkstra) pour générer la table de routage.
·
Envoi des mises à jour topologiques via une adresse
multicast et non broadcast.
·
Utilisation moindre de la bande passante
·
Protocole de routage classless supportant le VLSM.
·
Requiert des routeurs plus
puissants.
·
Domaines de routage exempts de boucles de routage
·
Métrique utilisée : le coût (chaque liaison a un
coût).
·
Détermination et utilisation d’un ou plusieurs
domaines de routage appelés Areas (ou aires) au sein d’un même système autonome
(AS).
·
Les interfaces OSPF distinguent quatre types de
réseaux :
·
Les réseaux multi-accès broadcast (BMA) comme
Ethernet.
·
Les réseaux point-à-point.
·
Les réseaux multi-accès non broadcast ou encore
Nonbroadcast multi-access (NBMA), tel que Frame Relay.
·
Les réseaux point-à-multipoint configuré
manuellement par un administrateur
Vocabulaire
·
Neighbor : Routeur voisin sur le même réseau.
·
HELLO : Protocole permettant la découverte et
le maintient de liens entre les voisins. Les paquets HELLO sont transmis toutes
les 10s pour un réseau de type broadcast multiaccess (BMA) et toutes les 30s
pour un réseau de type NonBroadcast Multi-access (NBMA).
·
LSU : Paquet de mise à jour de données
topologique. Permet d'avoir des informations sur l'évolution topologique du
réseau.
·
LSA : Contenus dans les LSUs, ils permettent
d'avertir qu'une modification topologique à lieu.
·
SPF tree : L'arbre du plus court chemin d'abord
résultant de l'application de l'algorithme de Dijkstra.
·
Algorithme de Dijkstra : L'algorithme de
Dijkstra (ou algorithme SPF), publié par le scientifique allemand du même nom
en 1959 est utilisé pour le calcul de l'arbre du plus court chemin d'abord.
·
Adjacencies database : Base de données
contenant les informations relatives aux voisins.
·
Topological database : Base de données qui
contient toutes les informations sur la topologie du réseau.
·
Routing table : Table de routage avec les
meilleures routes à destination de tous les sous-réseaux de la topologie.
·
Flooding : Processus qui consiste à envoyer par
tous les ports.
·
DR (Designated Router) : Routeur élu pour centraliser
toutes les informations topologiques.
·
BDR (Backup Designated Router) : Routeur élu
pour prendre le relais du DR en cas de panne.
·
NBMA (Non Broadcast Multi-access) : Réseau
multi-accès Non broadcast tel que Frame Relay.
·
ABR (Area Border Router) : Routeur situé à la
bordure d’une ou plusieurs aires.
Fonctionnement
d'OSPF
3.2.1.
Les aires
L'établissement
de la base de données topologique, ainsi que le calcul du plus court chemin d'abordimpose
une grande charge de traitements pour chaque routeur.
Pour
diminuer la taille de la base donnée topologique, les routeurs peuvent être
regroupés en plusieurs aires (area) au sein d'un même système autonome (SA).
On parle alors de multiple area OSPF (voir schéma ci-dessous), mais
le cursus CCNA 3 ne s'attarde que sur l'emploi de single area OSPF.
3.2.2.
Le protocole HELLO
Avant
tout échange d'informations de données topologiques, le routeur implémentant
OSPF doit s’assurer qu'il a des routeurs adjacents utilisant eux aussi OSPF.
Ces routeurs adjacents sont appelés des « voisins » et chacun d’entre eux peut
être voisin d’un ou de plusieurs routeurs.
Pour
découvrir leurs voisins, chaque routeur utilisant OSPF comme protocole de
routage va devoir recourir au protocole HELLO qui permet d'établir et de
maintenir un échange avec les routeurs voisins.
Celui-ci
va permettre à chaque routeur d’envoyer des paquets HELLO à intervalles
réguliers sur chacune de leurs interfaces en utilisant l’adresse multicast 224.0.0.5.
Les voisins découverts seront ensuite enregistrés dans une base de données de
voisinage appelée Neighbor Database.
3.2.3.
Les tables OSPF
OSPF
utilise 3 tables : la table de voisinage, appelée Neighbor Database (dont
on a vu le fonctionnement précédemment) ; la table topologique, appelée Topological
Database ; et enfin la table de routage, appelée routing table. La
table topologique est établie de la manière suivante :
3.2.4.
Dans un réseau point-à-point
Une
fois que chaque routeur a appris l’existence de ses voisins, il va leur envoyer
les informations concernant tous les réseaux qui lui sont directement
connectés.
Ces
informations envoyées vont permettre à chaque noeud de mettre rapidement à jour
leur base de données topologique (Topological Database) et d’obtenir
ainsi une connaissance complète de la topologie réseau.
Ces
mises à jour topologiques, déclenchées à l’initialisation du protocole OSPF sur
les routeurs et par
la suite lors de chaque modification
topologique, se font grâce à l’envoi de paquets LSU (Link State Update)
contenant des LSA (Link State Advertisement) comme le montre le schéma
ci-dessous.
3.2.5.
Dans un réseau multi-accès
Les
réseaux multi-accès fonctionnent suivant le même principe que les réseaux
point-à-point, à la différence que dans les réseaux multi-accès tous les
routeurs sont voisins.
Cela
pose cependant un problème puisque chaque routeur maintient un lien avec tous
ses voisins pour l'échange d'informations topologiques. Par conséquent plus il
y a de routeurs sur le réseau, plus ces derniers sont sollicités à envoyer des
paquets de mises à jour topologiques.
Pour
palier à ce problème, le protocole HELLO va élire un DR (Designated
Router) qui sera chargé de centraliser toutes les informations de modifications
topologiques et de les retransmettre par la suite à tous les autres routeurs.
Il
y aura ensuite l’élection d’un BDR (Backup Designated Router) servant de
secours au cas où le DR (designated router) ne pourrait plus assurer son rôle.
Nous verrons le processus d'élection dans la partie suivante.
Tous
les routeurs transmettront donc leurs informations topologiques au DR
(designated router) (ainsi qu’au BDR (backup designated router)) en utilisant
l'adresse multicast 224.0.0.6, tandis que le DR redistribuera ces informations
avec l'adresse multicast 224.0.0.5 à tous les autres routeurs comme indiqué
ci-dessous.
La
table de routage est établie de la manière suivante :
Une
fois que tous les routeurs ont convergé, c'est-à-dire qu’ils ont tous la même
vu complète du
réseau,
chacun d’entre eux va construire, à partir de sa base de données topologique,
un arbre du plus court chemin d’abord (SPF Tree).
Cette
construction va être réalisée grâce à l’algorithme SPF (Shortest Path
First), aussi appelé l'algorithme de Dijkstra, qui va parcourir la base de
données topologique et considérer chaque routeur comme étant des sommets reliés
par des liens point-à-point. Le routeur qui implémente cet algorithme sera
placé à la racine de l’arbre du plus cours chemin d'abord.
La
métrique utilisée par OSPF étant le coût, calculée par les composants Cisco à l’aide
de la formule suivante : coût=108/bande passante (s'exprime en bps), chaque lien
va donc avoir un coût. La métrique d’une route est par conséquent calculée en
faisant la somme de la bande passante de chaque lien de la route.
L'algorithme
de Dijkstra va parcourir ensuite cet arbre du plus court chemin afin de
déterminer lesmeilleures routes pour atteindre chaque réseau de destination
(routes dont le coût est le plus bas). Ces routes seront ensuite ajoutées à la
table de routage.
Au
niveau de la table de routage, chaque route apprise par le protocole de routage
OSPF se manifestera par la lettre « O » devant celle-ci et aura une distance
administrative de 110.
3.2.6. Election DR
(Designated Router) / BDR (Backup Designated
Router)
Dans
le cas d'un réseau multi-acces, nous avons vu qu'il fallait procéder à
l'élection d'un DR et d'un BDR. Cette élection se passe de la manière suivante.
Un
routeur doit répondre à plusieurs critères pour être désigné DR (Designated
Router) dans le réseau multi-accès. L'élection se fait grâce aux paquets HELLO
qui contiennent l'ID du routeur et une priorité.
Lors du processus d’élection, le routeur ayant
la plus grande priorité sur le réseau multi-accès sera élu DR. Dans le cas d’une
égalité des priorités, les routeurs devront comparer leur router-id. Le routeur
qui aura dans ce cas le plus grand router-id sera élu DR.
Une
fois le DR désigné, le processus d’élection devra ensuite déterminer le BDR
(Backup Designated Router). Cette élection se passe de la même manière que pour
le DR, mis à part que le routeur devenu DR n'est pas candidat à l'élection du
BDR.
3.2.7.
Détermination du Router-ID
Si,
lors de l'élection du DR ou du BDR, plusieurs routeurs ont la même priorité, on
va comparer leur router-id, et prendre celui qui aura le plus grand.
Lorsqu’une
instance OSPF est initialisée, un identifiant de routeur appelé router-id est
déterminé. Ce router-id n’est autre qu’une adresse IP définie sur l'une de ses
interfaces.
Le
router-id est déterminé selon les critères suivant :
·
S’il y a présence d’une ou plusieurs interfaces
Loopback sur le routeur, son router-id correspondra à la plus grande adresse IP
de toutes les interfaces Loopback configurées sur celui-ci.
·
Si aucune interface Loopback n’est présente sur le
routeur alors son router-id sera la plus grande adresse IP de toutes les
interfaces actives configurées sur celui-ci.
Pour
fonctionner, un processus OSPF nécessite qu’il y ait au moins une interface
active configurée sur le routeur. Il est donc conseillé, pour éviter toute
interruption du processus OSPF, de faire usage des interfaces Loopback lorsque
l’on configure ce protocole de routage sur un équipement.
3.3.
Configuration
3.3.1.
Commandes générales
· router
ospf {id de processus} : Mode
de configuration globale permet d’active le protocole OSPF sur le routeur.
· network
{préfixe} : Mode
de configuration du routeur permet d'indiquer les réseaux utilisant OSPF
directement connectés au routeur.
· interface
loopback {number} Mode
de configuration globale permet de créer une interface logique.
· bandwidth
Mode de
configuration d’interface Permet de spécifier la bande passante sur
l'interface.
· ip ospf
priority {number} Mode
de configuration d’interface permet de modifier la priorité d’une
interface pour l'élection du DR. la valeur peut aller de 0 à 255.
Attention, une priorité de 0 empêche le routeur d’être élu DR.
· ip ospf
cost {number} Mode
de configuration d’interface permet de spécifier le coût du lien relié à
l'interface.
· ip ospf
hello-interval {intervalle} : Mode
de configuration d’interface Définit la fréquence d'émission des paquets
HELLO.
· ip ospf
dead-interval {intervalle} Mode
de configuration d’interface Définit la durée pendant laquelle un lien
sera considéré comme actif, après que le routeur ait reçu un paquet
HELLO d'un routeur voisin.