Architecture des réseaux · Étape 25

Fais converger des routes avec OSPF

Construis un triangle de trois routeurs, observe les voisins et les coûts OSPF puis mesure le basculement vers un chemin de secours.

Durée indicative · ~2 hNiveau intermédiairePrérequis conseillé · Leçons 23 et 24 — exigences, topologie et dimensionnementPratique · TP
L’idée reçue

« Le routage dynamique choisit toujours immédiatement le meilleur chemin. »

Il faut d’abord détecter le changement, mettre à jour l’état du réseau, recalculer les routes et installer le nouveau chemin. Cette période est la convergence ; elle doit être observée et mesurée.

Tu vas construire un triangle de trois routeurs. Le chemin direct entre R1 et R2 a le coût le plus faible. R3 fournit une route de secours plus coûteuse.

LAN siège10.80.10.0/24host A → R1
CheminsR1–R2 ou R1–R3–R2coût 10 ou 40
LAN dépôt10.80.20.0/24R2 → host B

01Préparer FRRouting

Sur une VM Debian ou Ubuntu dédiée au laboratoire :

sudo apt update
sudo apt install -y frr frr-pythontools iproute2 iputils-ping

Le script utilise des pathspaces FRR associés à des network namespaces. Il ne modifie pas la configuration FRR principale ; il crée uniquement les répertoires temporaires /etc/frr/m5-r1, m5-r2 et m5-r3.

02Construire le triangle OSPF

chmod +x module5b-routing-ha-lab.sh
sudo ./module5b-routing-ha-lab.sh ospf
R1–R210.80.12.0/30coût 10 — chemin préféré
R1–R310.80.13.0/30coût 20
R3–R210.80.23.0/30coût 20
Aire0.0.0.0tous les liens du laboratoire

03Observer les voisinages

sudo vtysh -N m5-r1 -c 'show ip ospf neighbor'
sudo vtysh -N m5-r2 -c 'show ip ospf neighbor'
sudo vtysh -N m5-r3 -c 'show ip ospf neighbor'
R1 doit voir R2 et R3. R2 doit voir R1 et R3. L’état Full indique que les voisins ont synchronisé les informations nécessaires à leur base d’état de liens.
Comprends ce que partage OSPF

OSPF ne se contente pas d’annoncer « je connais ce préfixe ». Les routeurs diffusent l’état de leurs liens sous forme de LSA, construisent une LSDB cohérente puis calculent localement les meilleurs chemins.

04Lire le chemin choisi

sudo vtysh -N m5-r1 -c 'show ip route ospf'
sudo ip -n m5-r1 route get 10.80.20.10
sudo ip netns exec m5-ha traceroute -n 10.80.20.10 2>/dev/null || true

La route vers 10.80.20.0/24 doit utiliser R2 directement via 10.80.12.2. Le chemin par R3 reste disponible mais son coût cumulé est supérieur.

05Mesurer la convergence

Dans un premier terminal, lance un ping horodaté :

sudo ip netns exec m5-ha ping -D -i 0.2 10.80.20.10

Dans un second terminal, coupe le lien préféré :

sudo ./module5b-routing-ha-lab.sh ospf-fail

Puis observe :

sudo vtysh -N m5-r1 -c 'show ip route ospf'
sudo ip -n m5-r1 route get 10.80.20.10
La nouvelle route doit passer par R3. Compte les requêtes perdues et calcule la durée approximative entre la dernière réponse avant panne et la première réponse après convergence.
1Détectionle lien ou le voisin disparaît
2Diffusionl’état modifié est propagé
3Calculun nouveau chemin est choisi
4Installationla route rejoint la table Linux

06Restaurer et comparer

sudo ./module5b-routing-ha-lab.sh ospf-recover
sudo vtysh -N m5-r1 -c 'show ip route ospf'

Le chemin direct doit redevenir préféré. Consigne le retour dans le fichier CSV : nombre de pertes, délai, prochain saut avant et après, et commande utilisée comme preuve.

Panne volontaire

Voisin présent, route absente

  1. supprime temporairement l’annonce du LAN dépôt dans la configuration de R2 ;
  2. recharge FRR ;
  3. montre que le voisinage R1–R2 peut rester Full alors que la route métier disparaît ;
  4. distingue santé du protocole et présence du préfixe attendu ;
  5. rétablis l’annonce et valide.

07Nettoyer

sudo ./module5b-routing-ha-lab.sh cleanup

Ce que tu retiens

OSPF apprend la topologie, choisit un chemin selon ses coûts et recalcule les routes après un changement. Un voisinage sain, une route présente et un service accessible sont trois preuves différentes.

Ta progression

Chargement de l’état… Se connecter pour synchroniser.