Chaque routeur OSPF possède une base de données (LSDB) contenant des messages appelés LSA (Link State Advertisement).Cette base de données permet à chaque routeur de lancer le process SPF et calculer le chemin le plus court vers chaque destination.
Pendant mon expérience j’ai rarement rencontré des personnes qui sont capables de lire la LSDB et construire la topologie OSPF.
Dans cet article, on va essayer de dessiner la topologie OSPF en déchiffrant les messages LSAs de la base de donnés OSPF.
J’ai construit un lab avec sept routeurs OSPF pour cet article,les noms des routeurs ainsi que leur routeur ID sont listé dans le tableau ci-dessous:
Commençant par le routeur R1,si on tape la commande « show ip ospf database » on aura un ouput qui ressemble à ça :
Ici je peux déduire que le routeur R1:
- utilise 1.1.1.1 comme routeur-id
- Le process OSPF N° 1
- Quatre routeurs dont R1, font partie de l’aire 0
Une dernière information importante dans cet ouput, c’est le nombre des liens dans l’aire 0 par routeur. Ici on voit que le routeur R1 et le routeur R4 ont trois liens chacun et les routeurs R2 et R3 ont deux liens chacun.
Continuant notre lecture de la LSDB du routeur R1
La ligne ci-dessus représente le Network LSA qui m’informe qu’il y a un DR (Disgnated Router) dans l’aire 0 pour le segment 192.168.255.1/x et ce DR ce n’est que mon R1.
On rentrera plus tard dans les détails de NET LSA pour déchiffrer le mask du segment « 192.168.255.1 »
Descendant un petit peu en bas et là je vois un nouveau type de LSA,c’est le Summary Network LSA.
Ces LSA sont générés principalement par les ABRs (les routeurs qui connectent plus qu’une aire) pour décrire l’ensemble des routes dans une aire voisine.
L’ABR ici cache les informations sur la topologie de l’aire voisine et nous demande de passer par lui si on veut rejoindre les réseaux décrits dans les Summary Net LSA.
Le prochain LSA est bien le Summary ASBR LSA (LSA 4),je la nomme LSA incognito car rares ceux qui savent à quoi sert-il .Ce LSA est annoncé par les ABRs de chaque aire et il contient les informations nécessaires pour joindre l’ASBR. Quand un ASBR publie une route externe dans le domaine OSPF, cette route aura l’ASBR comme next-hop, donc ce LSA est utilisé par les routeurs OSPF pour rejoindre l’ASBR et puis les routes externes.
Avec les informations ci-dessus je sais clairement qu’il y a un ASBR (R5) avec un routeur ID 5.5.5.5 dans le domaine OSPF ainsi que deux ABRs dans l’aire 0 qui sont R2(RID:2.2.2.2) et R4(RID:4.4.4.4)
Au suivant !!!
Les dernières lignes dans la LSDB sont associées au AS-External LSA. c’est à dire les routes externe redistribuées dans le protocole OSPF.
L’ASBR génère un type 5 LSA par route externe redistribuée, toi qu’a redistribué la table globale internet dans l’OSPF tu sais mieux pourquoi ton routeur a planté ? 😉
Grâce à l’output ci-dessus, je sais que j’ai deux réseaux externes. Le réseau 7.7.7.7 et la route par défaut.
Avec les informations que j’ai récolté jusqu’à maintenant je peux dessiner un schéma qui ressemble à celui-là:
La topologie n’est pas complète car il ne manque les informations sur les interconnexions inter-routeurs.
Pour cela,on doit revenir à la case départ et relire la LSDB en rentrant plus dans le détail.
Prêt, allons-y !!!!
Les routeurs OSPF dans la même aire partagent la même LSDB (une base de donnée distribuée) donc techniquement à partir du R1 je pourrais dessiner les connectiques de l’aire 0 n’est-ce pas ?
Je commence par la commande « show ip ospf database router 1.1.1.1 » qui va me retourner normalement l’output suivant:
Ici on voit bien que R1 est connecté dans l’aire 0 par 3 liens dont 2 en mode Stub et un en mode transit.
- Stub Network : signifie que l’OSPF ne voit aucun voisin à travers cet interface, c’est le cas d’une interface LAN ou une interface loopback. R1 a deux interface en mode stub 1.1.1.1/32 et le 172.168.1.0/24
- Transit Network : c’est un réseau broadcast de transit qui connecte un ou plusieurs routeurs OSPF et qui dit réseau de broadcast dit la présence obligatoire d’un DR (Designated Router). Ici le DR est bien le routeur qui possède l’interface IP 192.168.255.1 et ce n’est que l’interface du routeur R1.
Toujours sur le routeur R1. Pour connaitre les connexions du R2, il faut taper la commande « show ip ospf database router 2.2.2.2 »
La seule différence du R2 par rapport à R1,c’est que R2 a une connexion point-to-point vers R4. OSPF représente les connexions Point-to-point en deux liens:
- Un lien (point-to-point) ou on peut extraire le routeur ID du voisin ainsi que l’adresse IP du lien point à point.
- Un lien Stub qui m’affiche clairement le réseau d’interconnexion et le masque 192.168.24.0/30
On va rajouter le routeur R2 dans notre schéma
Maintenant, c’est R3 (RID:3.3.3.3) qu’on va vérifier
Et finalement R4 (RID:4.4.4.4)
L’information manquante dans le schéma qu’on venait de dessiner est bien le masque du réseau broadcast qu’interconnecte les quatre routeurs entre eux. On récupèrera cette information en regardant le network LSA généré par R1.
On a pu dessiner l’ensemble des connexions de l’aire 0 à partir du R1 maintenant si on veut aller plus loin dans notre dessin, on doit absolument bouger vers un des deux ABRs, R2 ou R4.
Je choisis le R2.
Oh,un nouveau routeur (R6 avec RID 6.6.6.6) que je ne connais pas jusqu’à présent parce que les ABRs m’ont cachés son existence dû à l’agrégation de la topologie.
l’aire voisine est l’aire 1
Allant plus vite maintenant pour déchiffrer la topologie
Ce que je retiens en lisant le router LSA ci-dessus:
- R2 a une interface dans l’aire 1
- Cette interface est de type point-to-point
- l’adresse de l’interface est 192.168.26.1/24
- Le RID du routeur voisin est 6.6.6.6
En lisant le router LSA ci-dessus je déduit que :
- R4 a une interface dans l’aire 1
- Cette interface est de type point-to-point
- l’adresse de l’interface est 192.168.45.1/30
- Le RID du routeur voisin est 5.5.5.5
R5 dans l’aire 1 possède:
- Une interface de type stub avec l’adresse ip 5.5.5.5/32
- Une interface point-to-point avec l’adresse IP 192.168.56.1/30 vers R6
- Une interface point-to-point avec l’adresse IP 192.168.45.2/30 vers R4
R6 dans l’aire 1 possède:
- Une interface de type stub avec l’adresse ip 6.6.6.6/32
- Une interface de type stub avec l’adresse ip 192.168.1.1/32
- Une interface de type stub avec l’adresse ip 192.168.2.1/32
- Une interface de type stub avec l’adresse ip 192.168.3.1/2
- Une interface de type stub avec l’adresse ip 192.168.4.1/32
- Une interface point-to-point avec l’adresse IP 192.168.56.2/30 vers R5
- Une interface point-to-point avec l’adresse IP 192.168.26.2/24 vers R2
J’ai terminé mon dessin ? Non pas complétement, il nous reste les LSA (type 5) associés aux routes externes.On savait de leurs présence via les LSAs (type 5) et de leurs provenance via le LSA ASBR summary (Type 4).
Allons vérifier alors R5:
2 routes externes sont annoncées par R5, 0.0.0.0/0 et 7.7.7.7/32
L’architecture finale est donc :
J’espère que cet article vous a aider à mieux comprendre la base de donnée OSPF.
Si vous avez des questions ou vous avez besoin d’un complément d’informations, n’hésitez pas à laisser un message en commentaire de la page ou nous contacter directement à l’adresse : contact@mhd-experts.com.
Dino
mai 1, 2020Bonjour,
Merci beaucoup pour cet article intéressant!
J’ai décelé une petite erreur concernant les ABRs, je vous l’indique ci-dessous :
« Avec les informations ci-dessus je sais clairement qu’il y a un ASBR (R5) avec un routeur ID 5.5.5.5
dans le domaine OSPF ainsi que deux ABRs dans l’aire 0 qui sont R3 (RID:3.3.3.3) et R4 (RID:3.3.3.3) »
Correction => R2 (RID : 2.2.2.2) et R4 (RID : 4.4.4.4)
« On a pu dessiner l’ensemble des connexions de l’aire 0 à partir du R1 maintenant
si on veut aller plus loin dans notre dessin, on doit absolument bouger vers un des deux ABRs, R2 ou R3. »
Correction => R2 ou R4
Bien à vous.
Dino
driss jabbar
mai 2, 2020Bonjour Dino,
Je vous remercie pour votre commentaire. les erreurs ont été bien corrigées.
Bien à vous