Created by potrace 1.10, written by Peter Selinger 2001-2011
Finger in the net
Blog d'administration réseau
Created by potrace 1.10, written by Peter Selinger 2001-2011

Le protocole OSPF

Finger In The Net
"Le protocole OSPF est un protocole de routage dynamique. De ce fait, il va récupérer des informations de routage de ces voisins afin de choisir la meilleure route. Avant de récupérer des informations de ces voisins, il a besoin de les identifier."

Vous ne savez pas lequel choisir entre RIP, EIGRP et OSPF ?

  • RIP = Trop vieux.
  • EIGRP = propriétaire CISCO.
  • OSPF = Protocole normalisé et tout le monde n’a que ce protocole en bouche.

Donc vous vous tournez vers le protocole OSPF … Parfait ! On va justement en parler maintenant !

Le but d’un protocole de routage c’est que tous les routeurs annoncent les réseaux qu’ils connaissent !

OSPF = Open Shortest Path First

Shortest Path First = Algorithme qui permet de calculer le chemin le plus court vers toutes les destinations via le nombre de sauts et le coût des liaisons.

Le protocole OSPF
NormalisationRFC 2328
Type de routageDynamique
Classless / ClassfulClassless
IGP / EGPIGP
ProtocoleIP protocol type 89.
Choix d'itinéraireEn fonction de la bande passante. (metric)
AuthentificationPlain-text / MD5
CHAPITRE 1 :

La table de voisinage

Présentation

Le protocole OSPF est un protocole de routage dynamique. De ce fait, il va récupérer des informations de routage de ces voisins afin de choisir la meilleure route. Avant de récupérer des informations de ces voisins, il a besoin de les identifier.

Notre routeur va donc créer une « table de voisinage » afin de recenser ces collègues de travail. Cette table s’appelle « Neighbors table » et se visualise grâce à la commande suivante :

R1# show ip ospf neighbor

Neighbor ID     Pri    State      Dead Time    Address     Interface
10.10.10.2      1      FULL/DR    00:00:39     1.1.1.2     FastEthernet0/2
10.10.10.3      1      FULL/DR    00:00:39     2.2.2.2     FastEthernet0/3
10.10.10.4      1      FULL/DR    00:00:39     3.3.3.2     FastEthernet0/4

Les chapitres ci-dessous répondront aux questions suivantes :

  • C’est quoi les Address ?
  • C’est quoi la Priorité ? (Pri)
  • Quelles sont les différentes relations de voisinage ? (State FULL )
  • Que signifie DR ? (State DR)
  • C’est quoi le Dead Time ? (Paquet Hello)

IDENTITÉ DE MON ROUTEUR :
Le Router-ID

Neighbor ID

Router-ID = Adresse IP de notre routeur OSPF.

Notre routeur a besoin d’une identité afin de se présenter à d’autres routeurs. Cette identité s’appelle le Router-ID.

Un Router-Id est une adresse IP.

Le Router-ID est défini comme suit :

  • Priorité 1 : le router ID renseigné dans le processus OSPF.
  • Priorité 2 : l’adresse IP la plus élevée configurée sur une interface loopback.
  • Priorité 3 : l’adresse IP la plus élevée configurée sur une interface physique.

Cette adresse IP permet de pouvoir être identifié par les routeurs OSPF voisins.

Le Router-ID de nos voisins est appelé : Neighbor-ID

CONSEIL : La première étape de la configuration du protocole OSPF est de définir un Router-ID. Ceci vous facilitera grandement la vie croyez-moi 😉

MOYEN DE COMMUNICATION :
Les paquets HELLO

Une fois le protocole OSPF configuré, ce dernier va partir à la recherche de voisins. Pour se faire, il utilise des paquets appelés « Hello ». 

L’envoi d’un paquet « Hello » :

  • Se font toutes les 10 secondes par défaut (on parle de « hello interval »).
  • Permets de s’annoncer à ses voisins.
  • Est envoyé sur l’adresse multicast 224.0.0.5 (224.0.0.6 pour les DR).

La réception d’un paquet « Hello » :

  • Permets de vérifier la disponibilité de ses voisins.
  • Remets à zéro le compteur « Dead-interval ».
  • Est envoyé sur l’adresse multicast 224.0.0.5 (224.0.0.6 pour les DR).

Il existe deux intervalles de temps :

  • Hello interval = Intervalle de temps entre deux envoi de paquet hello
  • Dead-interval = À partir de quand je considère mon voisin « hors ligne »

 

DEVENIR VOISIN :
Les conditions

Un neighbor (voisin) est une relation entre deux routeurs OSPF.

Ils vont tous les deux s’envoyer des paquets « Hello » (« Bonjour ») afin de se présenter.

Conditions pour devenir neighbor (voisin) :

  • OSPF – Authentification identique
  • OSPF – MTU identique
  • OSPF – Aire OSPF identique
  • OSPF – Appartenir à un même type d’aire OSPF (Regular/Stub/NSSA)
  • OSPF – Hello interval + Dead Timer identique
  • OSPF – Appartenir à un même réseau
  • OSPF – Router-ID unique
Conditions pour devenir Neighbor (Voisin)
Conditions pour devenir neighbor (voisin)

 

LES RELATIONS ENTRE VOISIN :
States

Avant de devenir les meilleurs amis du monde, nos deux routeurs vont passer par plusieurs états. Pourquoi ? Car ils doivent faire connaissance, s’échanger des informations, élire un chef d’orchestre et mettre à jour leurs tables LSDB. À la fin de ce processus, l’état de voisinage passera enfin en FULL.

Il existe 8 états :

  • Down = Le dead-interval est venu à son terme.
  • Attempt = Le neighbor a été rentré manuellement, il envoie donc ses paquets Hello en unicast, mais ne reçoit pas de réponse.
  • Init = Notre routeur a reçu un paquet Hello d’un autre routeur, mais il n’est pas encore sûr que ce dernier le voit.
  • 2-ways = Notre routeur a reçu un paquet Hello d’un autre routeur. Nos deux routeurs se voient.
  • Ex-start = Élection du slave et master (router-ID le plus haut).
  • Echange = Nos deux routeurs s’échangent le sommaire de leurs link state database (LSDB).
  • Loading = Nos deux routeurs s’échangent les LSA manquantes.
  • Full = Les LSDB de nos deux routeurs sont identiques et à jour.

Afin de migrer d’un état à l’autre, le protocole OSPF utilise ce type de message :

  • Hello = Découvrir le réseau, se construire des nouvelles relations de voisins et s’assurer de leurs disponibilités.
  • DataBase Description (DBD ou DD) = Sommaire de la LSDB (Link State DataBase).
  • Link State Request (LSR)  = Demande à son voisin des LSA spécifiques.
  • Link State Update (LSU) = Envoi des LSA demandées.
  • Link State Acknowledge (LSAck) = Accusé de récéption.
 
OSPF States
OSPF States

Voilà le résultat dans notre table de voisinage : 

R1# show ip ospf neighbor

Neighbor ID     Pri    State      Dead Time    Address     Interface
10.10.10.2      1      FULL/DR    00:00:39     1.1.1.2     FastEthernet0/2
10.10.10.3      1      FULL/DR    00:00:39     2.2.2.2     FastEthernet0/3
10.10.10.4      1      FULL/DR    00:00:39     3.3.3.2     FastEthernet0/4

Pour aller plus loin

PARTIE I : PRÉSENTATION


Important : Concerne uniquement les réseaux broadcast et non-broadcast (NBMA)

Rappel : « Un Neighbor (Voisin) est une relation entre deux routeurs qui sont directement reliés entre eux et qui appartiennent à un même réseau. »

Imaginons le cas de figure suivant :

Architecture de base
Architecture de base

Tous les routeurs présents sur cette architecture vont devenir Neighbor.

Ils vont donc s’échanger des packets Hello , des LSA , ect … Ce qui représente un trafic OSPF énorme !

Trafic énorme !
Trafic énorme !

La Solution ? Il faut que nos routeurs élisent un « chef d’orchestre  » comme ça chaque routeur va envoyer ses mises à jour uniquement à ce dernier. Celui-ci aura la charge de remettre les mises à jours aux autres routeurs. Ce rôle s’appelle le DR (Designated Router)

DR (Designated Router)
DR (Designated Router)

Si ce routeur vient à tomber , il faut quelqu’un qui soit prêt à le remplacer , ce routeur s’appellera le BDR (Backup Designated Router).

BDR (Backup Designated Router).
BDR (Backup Designated Router).

Les rôles DR et BDR seront mis en place uniquement si nos routeurs sont liés entre eux via un équipement de niveau 2 et qui partagent une même plage d’adresse IP.

Si notre réseau OSPF est uniquement en point à point. Il n’y aura pas de rôle DR et BDR.

PARTIE II : ELECTION DU DR ET BDR


Qui va être élus DR et BDR ?
Celui qui a :
 
  • La priorité la plus haute (compris entre 0 et 255 / 0 = ignoré / 1 par défaut )
    Si tout le monde a la même priorité :
  • Le Router-ID le plus élevé

Nous distinguons 3 types de routeurs :

  • DR = Chef d’orchestre
  • BDR = Chef d’orchestre adjoint
  • DROTHER = Membre de l’orchestre
Élection du DR et BDR
Élection du DR et BDR

R1 (Priority = 1 / RID = 1.1.1.1) = DROTHER
R2 (Priority = 1 / RID = 2.2.2.2) = DROTHER
R3 (Priority = 1 / RID = 3.3.3.3) = BDR
R4 (Priority = 1 / RID = 4.4.4.4) = DR

Jouons un peu sur les priorités voir ce qu’il se passe 🙂

R1(config)# interface range FastEthernet 0/0 - 2
R1(config-if)# ip ospf priority 200

R3(config)# interface FastEthernet 0/0 - 2
R3(config-if)# ip ospf priority 100
Élection du DR et BDR
Élection du DR et BDR

Ce qui nous donne :

R1 (Priority = 200 / RID = 1.1.1.1) = DR
R2 (Priority = 1 / RID = 2.2.2.2) = DROTHER
R3 (Priority = 100 / RID = 3.3.3.3) = BDR
R4 (Priority = 1 / RID = 4.4.4.4) = DROTHER

 

PARTIE III : LES ECHANGES


2-WAY :

  • Échanges de paquets « Hello » afin de maintenir les relations de voisins

FULL :

  • Échanges de paquets « Hello » afin de maintenir les relations de voisins
  • Nos LSDB sont synchronisés
  • Nos deux routeurs vont se tenir au courant des mises à jour éventuel en termes de réseaux

Type de relation :

  • Entre DR et BDR = FULL
  • Entre DR et DROTHER = FULL
  • Entre BDR et DROTHER = FULL
  • Entre DROTHER et DROTHER = 2- WAY
Echanges OSPF
Échanges OSPF

 

Présentation


  • Broadcast (Ethernet)
  • Point-to-point (Serial/Tunnel)
  • Loopback
  • NonBroadcast (ATM/Frame Relay)
  • Point-to-Multipoint
  • Point-to-Multipoint nonbroadcast (NBMA)

Broadcast


  • Découverte automatique de Neighbor
  • Hello Interval = 10s / Dead Interval = 40s
  • Election de DR / BDR

Point-to-Point


  • Découverte automatique des Neighbor.
  • Pas d’éléction DR et BDR vu que c’est une liaison point à point.
  • Une adresse réseau par liens.

Non-Broadcast


  • Election de DR et BDR.
  • Configuration manuel des Neighbors

Point-to-Multipoint


  • Découverte automatique des Neighbors.
  • Pas d’élection DR et BDR vu que c’est une multitude de liaisons point à point.
  • Une seule plage d’adresse IP pour toute la liaison Point-MultiPoint
  • Si c’est un support Frame-Relay, assurez vous que le broadcast soit activé.

Point-to-Multipoint Non-Broadcast


  • Pas d’élection DR et BDR vu que c’est une multitude de liaisons point à point.
  • Configuration manuel des Neighbors.
  • Une seule plage d’adresse IP pour toute la liaison Point-MultiPoint.

Broadcast ou point à point :

  • Hello interval = 10s
  • Dead-interval = 40s (4×10)

NonBroadcast ou point multipoint :

  • Hello interval = 30s
  • Dead-interval = 120s (4×30)
CHAPITRE 2 :

LA Link State DataBase (LSDB)

Le protocole OSPF 1

CHAPITRE 3 :

La table de routage

Le protocole OSPF 1

CHAPITRE 4 :

Les aires OSPF

Le protocole OSPF 1

CHAPITRE 5 :

Comment OSPF choisit le meilleur chemin

Le protocole OSPF 1

CHAPITRE 6 :

Le LSA Filtering

Le protocole OSPF 1

CHAPITRE 7 :

Configuration

Le protocole OSPF 1

CHAPITRE 8 :

Vérification

Le protocole OSPF 1

Noël NICOLAS

Expert Réseau
11 ans d’expérience
CCNP Routing and Switching
Fondateur du site FingerInTheNet

Created by potrace 1.10, written by Peter Selinger 2001-2011

Débloque l'intégralité des cours !

Abonnement