OSPF single area: les fondamentaux d'OSPFv2
Définition
OSPF (Open Shortest Path First, RFC 2328) est un protocole de routage link-state standard, ouvert à tous les éditeurs, qui utilise l'algorithme de Dijkstra pour calculer les chemins les plus courts. En CCNA, le périmètre est OSPFv2 en single area (area 0), protocol IP 89, multicast 224.0.0.5 (tous les routeurs OSPF) et 224.0.0.6 (DR/BDR uniquement).
Les attributs à connaître par cœur
| Attribut | Valeur |
|---|---|
| Type | Link-state (IGP) |
| Standard | Ouvert (RFC 2328 pour IPv4, RFC 5340 pour OSPFv3) |
| Transport | IP protocole 89, pas de TCP/UDP |
| Multicast | 224.0.0.5 (ALLSPFRouters), 224.0.0.6 (ALLDRouters) |
| AD | 110 |
| Métrique | Coût cumulatif, coût interface = 10^8 / bande passante |
| Référence bande passante | 100 Mbps par défaut |
| Hello / Dead | 10 s / 40 s sur broadcast et point-à-point; 30 s / 120 s sur NBMA |
| Convergence | Secondes (inondation LSA + SPF) |
| Classless | Oui: VLSM et CIDR natifs, aucune auto-summary |
Avec la référence à 100 Mbps, FastEthernet (100 Mbps) coûte 1 et GigabitEthernet (1000 Mbps) coûte aussi 1: IOS arrondit au minimum 1. Sur un réseau tout en GbE, tous les liens paraissent identiques. La solution est auto-cost reference-bandwidth 1000 (ou 10000), à configurer à l'identique sur tous les routeurs OSPF du domaine.
Configuration de base (single area 0)
R1(config)# router ospf 1
R1(config-router)# router-id 1.1.1.1
R1(config-router)# network 10.1.12.0 0.0.0.255 area 0
R1(config-router)# network 192.168.1.0 0.0.0.255 area 0
R1(config-router)# passive-interface default
R1(config-router)# no passive-interface GigabitEthernet0/0
Détails qui tombent à l'examen :
router ospf 1: le 1 est un process-id LOCAL, il n'a aucune valeur d'adjacence. Deux voisins peuvent avoir des process-id différents.- Wildcard mask : 0 = bit doit correspondre, 1 = bit ignoré. C'est l'inverse du masque de sous-réseau.
0.0.0.255couvre un /24. passive-interface: l'interface publie son réseau en LSA mais n'envoie pas de hello (pas de voisin possible).passive-interface default+ exceptions actives est la bonne pratique de sécurité.- Alternative moderne :
ip ospf 1 area 0directement sur chaque interface, sansnetwork.
Le Router ID
Identifiant 32 bits en notation IPv4 qui nomme le routeur dans la LSDB. Ordre de sélection au démarrage du process :
router-id x.x.x.xconfiguré manuellement (le plus stable, recommandé).- Plus haute adresse IPv4 parmi les interfaces loopback up.
- Plus haute adresse IPv4 parmi les interfaces physiques up à l'instant du démarrage.
Un Router ID déjà élu ne change pas tout seul : après modification de la config, il faut clear ip ospf process (redo, pas reload du routeur). Deux voisins avec le même Router ID ne formeront jamais d'adjacence correcte.
Voisins et adjacences: les états
OSPF passe par plusieurs états avant de partager une base :
| État | Signification |
|---|---|
| Down | Aucun hello reçu |
| Init | Hello reçu, pas encore de notre Router ID dedans |
| 2-Way | Bidirectionnel établi (voisinage fini; état final d'un DROther en broadcast) |
| ExStart | Négociation maître/esclave et numéro de séquence |
| Exchange | Échange de DBD (descriptions de LSA) |
| Loading | Demandes de LSA complètes (LSR/LSU) |
| Full | LSDB synchronisée (adjacence complète) |
Conditions d'adjacence (paramètres qui doivent correspondre entre voisins directs) : hello/dead timer, area ID, masques réseau sur le lien, authentification, flag stub area, et Router IDs différents. Un mismatch de timer est la cause n°1 d'un voisinage bloqué en ExStart/Init: show ip ospf interface côté à côté.
La LSDB et les LSA essentielles
Chaque routeur de la zone possède exactement la même base de données de LSA (Link-State Advertisements). Types vus en CCNA :
- Type 1 (Router LSA) : généré par chaque routeur, décrit ses liens, inondé dans sa zone.
- Type 2 (Network LSA) : généré par le DR sur les réseaux broadcast, décrit les routeurs attachés.
- Type 3 (Summary LSA) : inter-area, produit par l'ABR (hors périmètre single area, à connaître pour la théorie).
- Type 5 (AS External) : routes redistribuées depuis un autre domaine, marquées
O E2dans la table.
Après synchronisation, chaque routeur lance SPF avec lui à la racine et installe les routes : toutes les routes OSPF apparaissent avec [110/coût].
Vérification et commandes de contrôle
R1# show ip ospf neighbor ! état 2-Way/Full, DR/BDR, timer
R1# show ip ospf interface brief ! interfaces actives, area, coût
R1# show ip ospf ! Router ID, nombre de LSA, temps de SPF
R1# show ip route ospf ! routes apprises
R1# show ip protocols
R1# clear ip ospf process ! relance (redemande l'éligibilité des voisins)
La sortie de show ip ospf neighbor attend un State = FULL/ - (ou DR/BDR en broadcast). INIT ou 2-WAY collés = problème de timers, d'area ou d'ACL 224.0.0.5.
Exemple concret
Deux routeurs reliés par GigabitEthernet, sous-réseau 10.1.12.0/30 (R1 .1, R2 .2). Config R1 : router ospf 1 + network 10.1.12.0 0.0.0.3 area 0. R2 identique. En 40 s maximum (dead timer), show ip ospf neighbor sur R1 affiche FULL/ - et la table de R1 contient O 10.1.20.0/24 [110/2] via 10.1.12.2 (coût 1 pour le lien + 1 pour le lien LAN interne de R2). Si le lien G0/0 tombe, R1 détecte le silence en 40 s, inonde une LSA modifiée et tous les routeurs de la zone recalculent en moins de 2 s: c'est la convergence link-state vue dans la pratique.