Nous avons introduit le protocole OSPF dans un précédent article (« Introduction au protocole de routage OSPF« ). Dans cet article, je vais utiliser une plateforme de démonstration pour vous aider à apprendre le fonctionnement OSPF dans le but de préparer votre certification Cisco CCNA. Cet article est le second de la série consacrée à OSPF: vous verrez comment activer OSPF sur le routeur Cisco en seulement deux commandes !
Plateforme utilisée pour cet article
Avant de rentrer dans les détails de configuration du protocole OSPF, je vais présenter la plate-forme qui va être utilisée pour les tests. Nous allons utiliser trois routeurs (R1, R2 et R3) raccordés entre eux par des liaisons Fast Ethernet pour former un triangle:
Reproduisez cette plateforme pour vous exercer: pour ce mini-lab, j’ai utilisé GNS3 v1.2.3 avec 3 routeurs Cisco 3745 avec l’IOS « ipservicesk9-mz.124-15.T6 ».
L’attribution des adresses IP est simple:
- pour le routeur R1, toutes les interfaces sont en .1
- pour le routeur R2, toutes les interfaces sont en .2
- pour le routeur R3, toutes les interfaces sont en .3
Interfaces et adresses de Loopback (aparté):
Une adresse IP est attribuée à une interface physique. Ainsi, dans le cas d’un routeur, celui-ci dispose de plusieurs interfaces et, chaque interface, se voit attribuée une adresse IP. En cas de panne de l’une de ses interfaces, il y a perte de connectivité IP l’adresse IP associée à cette interface. Ainsi, si un service IP était associé à cette interface, il devient inutilisable. C’est problématique notamment pour tout ce qui concerne la gestion, l’administration et la supervision du routeur.
C’est la raison pour laquelle il peut être intéressant d’avoir une interface logicielle, c’est à dire non liée à une interface physique. Cette interface est donc toujours dans un état actif et opérationnel. Il s’agit d’une interface dite de loopback.
Pour reprendre l’exemple de notre topologie, le routeur R1 dispose des interfaces Fa0/0 (adresse: 192.168.13.1) et Fa0/1 (adresse 192.168.12.1). Mais pour pouvoir accéder à R1 indépendamment de l’état de ses interfaces physiques, on va créer une interface de loopback dont l’adresse IP sera 1.1.1.1/32. Cette adresse IP peut être considérée comme étant celle du routeur et non celle d’une interface physique du routeur…
La configuration de cette interface se fait comme suit:
Hiérarchie OSPF: Les aires
Dans les réseaux constitués de nombreux routeurs, il est possible d’optimiser les mécanismes internes à OSPF en définissant différentes aires. L’optimisation mise en oeuvre consiste essentiellement à limiter l’impact des modifications topologiques à l’aire dans laquelle cette modification apparait.
Généralement, dans les gros réseaux, un ensemble de routeurs constitue ce que l’on appelle le coeur du réseau, ou l’épine dorsale (backbone) du réseau. Dans le contexte du protocole OSPF, on fait correspondre ce coeur de réseau avec l’aire OSPF backbone, identifiée par la valeur 0 (on parle de l’aire zéro, ou de l’aire backbone OSPF).
A la périphérie du coeur, on va trouver des routeurs qui appartiennent à des aires non-backbones. Ces aires peuvent être identifiées par une valeur non nulle (peut importe la valeur). Le design du protocole OSPF impose que toutes les aires non-backbones disposent d’un accès direct à l’aire Backbone: cette aire sera donc responsable d’identifier les chemins IP entre les aires périphériques. Tous les équipements de l’aire backbone devront donc avoir une vision complète des différents sous-réseaux IP.
Ainsi, lorsque l’on met en oeuvre un réseau IP de taille modeste avec du routage OSPF, on va considérer que les équipements sont dans l’aire backbone. Cela va faciliter les évolutions ultérieures avec l’ajout d’équipements et peut-être donc d’aires périphériques (aires non nulles)…
Configuration OSPF
La configuration du protocole OSPF sur un routeur Cisco se fait en deux étapes:
- Activer le protocole de routage OSPF (ou processus de routage OSPF):
router(config)#router ospf 1
Le numéro 1 correspond au numéro de processus: sa signification est locale à ce routeur et peut être définie de façon indépendante de ce qui est fait sur les autres routeurs.
- Indiquer les interfaces associée à ce processus de routage OSPF.
Il y a deux méthodes pour cela:
Méthode 1: il faut indiquer pour quels réseaux, le protocole OSPF doit être activé et l’aire OSPF associée.
router(config-router)#network 198.168.12.0 0.0.0.255 area 0
Note: On remarque l’utilisation d’un « masque inversé » qui correspond aux bits « joker » (wildcard bit mask en anglais) en lieu et place d’un masque de sous-réseau habituel…
Méthode 2: en mode de configuration de l’interface, on peut directement préciser que l’interface est associée au protocole OSPF (avec le numéro de processus et l’aire OSPF). Cette méthode est indépendante de l’adresse IP de l’interface.
router(config-if)#ip ospf 1 area 0
Ainsi, pour notre plateforme de démonstration, nous pouvons appliquer les différentes méthodes de configuration. Voici, par exemple, comment nous pouvons activer OSPF sur les trois routeurs R1, R2 et R3 en utilisant les différentes possibilités proposées par l’IOS Cisco:
Dans l’exemple précédent, l’activation des deux interfaces (192.168.12.1/24 et 192.168.13.1/24) se fait à l’aide d’une seule commande network en utilisant le masque inversé 0.0.255.255. Ainsi, les deux interfaces (dont l’adresse commence par 192.168) activent OSPF puisque leurs adresses commencent bien toutes les deux par 192.168.
Pour la configuration de R2 (cf. ci-dessous), nous avons été plus précis pour identifier chaque interface. Il nous faut donc deux commandes network:
On remarque, quelques secondes après l’activation d’OSPF sur l’interface 192.168.12.2, que l’IOS envoie un message de log (%OSPF-5-ADJCHG) qui indique qu’une adjacence OSPF se forme avec le voisin 1.1.1.1 (adresse de Loopback du voisin).
Enfin, pour la configuration du routeur R3, dès que le processus OSPF 1 est défini, nous l’associons avec l’interface (quelque soit son adresse).
Cette dernière méthode pour configurer OSPF est plus simple et indépendante de l’adressage IP attribuée aux interfaces. Néanmoins, le résultat est identique et peut être vérifié par la commande IOS:
Router#show ip ospf interface [brief]
Vérifications (commandes show)
Il est donc possible de vérifier l’activation d’OSPF sur les interfaces. La commande passée sur le routeur R2 donne le résultat présenté ci-dessous:
Cette commande montre bien que, sur le routeur R1, les deux interfaces Fa0/0 et Fa0/1 sont associées aux processus OSPF numéro 1 (colonne PID) et toutes les deux sont dans l’aire 0 (colonne Area).
Néanmoins, il peut être important de vérifier que les routeurs sont bien voisins et avec des base de données synchronisées. Pour cela, nous pouvons utiliser la commande IOS:
Router#show ip ospf neighbor
Par exemple, sur le router R2, on voit bien la « détection » des deux autres routeurs R1 et R3:
Cette commande indique, pour chaque voisin (entre autres informations):
- le Neighbor ID , c’est à dire l’identifiant du routeur dans le contexte OSPF (on parle de Router ID). Cet identifiant peut être configuré manuellement (commande router-id en mode de configuration router) mais, sans configuration explicite, une adresse IP est choisie: c’est l’adresse IP la plus élevée associée à une adresse logicielle (de loopback) ou, le cas échéant, à l’adresse la plus élevée attribuée à une adresse physique.
- l’état du voisinage (colonne State): ici, l’indication FULL indique que la base de données est complètement synchronisée avec celle du voisin considéré,
- l’adresse IP de l’interface nous permettant d’accéder à ce voisin (colonne Address),
- l’interface sur laquelle on « voit » le voisin (colonne Interface).
A ce stade, on peut donc vérifier (sur la plateforme de tests): chaque routeur dispose de deux voisins dont l’adjacence est établie, c’est à dire que la base de données topologique OSPF est entièrement synchronisée. Le prochain article montrera, toujours par la pratique, comment cette adjacence est établie et quel est le contenu de la base de données topologique OSPF.
En attendant, si quelque chose n’est pas clair ou pas suffisamment détaillé: laissez-moi un commentaire dans le cadre ci-dessous !
Bonsoir,
Je suis en fin de cycle Master Informatique option Administration Sécurité de Reseaux.. Pour le projet de fin de cycle, nous avions eu comme topologie : une réseau interconnexion des sites distant par MPLS-VPN. Mais, lorsqu’on monte tous les routeurs, on a un problème de redistribution et de convergence EIGRP-BGP; BGP-OSPF pour communiquer MPLS-VPN.
Veuillez m’indiquer une adresse pour que je vous envoie une copie de la topologie.
Dans l’espoir de recevoir de vous une suite favorable, je vous adresse mes salutati
ons.
Bonjour. N’hésitez pas à nous transmettre votre problème, la solution intéresse sûrement d’autres lecteurs du blog. Nous posterons le problème, l’explication et la solution dans un futur article pour que tout le monde en profite !
Envoyez nous la topologie et la configuration de vos routeurs à l’adresse suivante: contact@iplogos.fr
A bientôt.
Super explications many thx ! On attend avec impatience le prochain article traitant de OSPF !
Très ravi de tomber sur votre site. L’explication est claire et ça m’aide dans la rédaction de mon mémoire de fin d’étude master en réseau télécom.
Merci.
Merci
on sait que l’élection du DR et du BDR se base sur l’adresse IP la plus élevée des interfaces de Loopback sur un routeur;
mais ici on constat d’après le résultat de la commande #show ip ospf neighbor, que le routeur R1 dont l’adresse loopback 1.1.1.1
est devenu DR
Merci de m’expliquer