OSPF 8. Opérations OSPF
Il est maintenant nécessaire de reprendre l'ensemble des concepts vu dans les sections précédentes et d'envisager globalement les opérations d'OSPF au sein d'une zone.
Etape 1 : Etablir ladjacence des routeurs.
Cette étape correspond à un des 7 états décrits dans la section 5, Les états OSPF. Dans des conditions de configuration correcte, les routeurs iront au moins jusqu'au Two-Way State. Si la liaison est point-à-point, les routeurs voisins deviendront adjacents. Dans le cas dun réseau multiaccès, les routeurs vont entrer dans un processus délection pour devenir DR, BDR ou aucun des deux (DROTHER).
Si une élection est nécessaire, autrement dit si les interfaces partagent un réseau multiaccès, les routeurs entrent dans l'étape 2 : Election dun DR et dun BDR. Sinon, les routeur entrent dans l'état ExStart (cf. section 5.A) décrit dans l'étape 3 : Découverte des routes.
Etape 2 : Election dun DR et dun BDR.
Parce que les réseaux multi-accès peuvent comporter plus de deux routeurs, OSPF élit un DR pour être le point central des mises à jour link-state. Le rôle du DR est critique. Pour cette raison, un BDR est élu comme remplaçant immédiat du DR. Cette élection est fonction dun type de réseau (une interface LAN dans un réseau multiaccès). Cela signifie qu'un routeur qui a trois interfaces LAN OSPF pourrait prendre trois rôles OSPF à la fois (voir Election DR-BDR).
Le processus électoral du DR ou du BDR peut être truqué Ainsi, les paquets Hello contiennent un champ « Router Priority » (8 bits) qui pourra déterminer une élection. Le routeur avec la plus haute priorité par rapport à ses routeurs voisins gagnera l'élection DR. Le second avec la plus haute priorité gagnera l'élection BDR. Une fois que l'élection est terminée, les rôles sont déterminés jusquau moment où l'un est en panne, même si de nouveaux routeurs s'ajoutent au réseau avec une plus haute priorité. Les paquets Hello informent les nouveaux venus de l'existence et de l'identification des DR et BDR.
Par défaut, tous les routeurs OSPF ont la même priorité dune valeur de 1. Une priorité prendra une valeur de 8 bits, de 0 à 255. Elle est assignée sur une interface, le cas échéant, manuellement. Une priorité de 0 assurera un routeur quil ne gagnera pas une élection sur une interface tandis qu'une priorité de 255 assurera sa victoire. Le champ « Router ID » est utilisé pour départager des routeurs qui auraient éventuellement la même priorité. On a vu plus haut que ce champ prendra la valeur de l'adresse IP la plus élevée sur le routeur, avec sur les IOS Cisco, une préférence absolue pour les interfaces de loopback.
Quand une élection est finie et qu'une communication bidirectionnelle est établie, les routeurs sont prêts à échanger des informations de routage avec les routeurs adjacents et à construire leur base de données de liens.
Etape 3 : Découverte des routes.
Les routeurs sont maintenant prêts à sengager dans le processus Exchange décrit plus haut. Dans létat ExStart, les routeurs vont déterminer qui commence à envoyer les informations. Ici, le principe est détablir une relation Maître/Esclave entre deux routeurs. Le routeur qui déclare la plus haute ID (la priorité nintervient plus) commencera et orchestrera léchange en tant que maître.
Une fois que ces rôles sont établis, les routeurs entrent dans létat Exchange à proprement dit. Le maître mène lesclave à un échange de paquets Database Description (DBDs) qui décrivent la base de données de liens de chaque routeur dans les détails. Ces descriptions comportent le type détat de lien, ladresse du routeur qui fait la publicité, le coût du lien et un numéro de séquence.
Les routeurs confirment la réception des DBDs en envoyant des paquets LSAck (Type 5), qui contiennent une correspondance aux numéros de séquences envoyés dans les DBDs. Chacun compare les informations quil reçoit avec ce quil sait déjà. Si des DBDs annoncent des nouveaux états de lien ou des mises à jours détat de lien, le routeur qui les reçoit entre alors en état Loading et envoie des paquets LSR (Type 3) à propos des nouvelles informations. En réponse aux paquets LSR, lautre enverra des informations complètes détat de lien des paquets LSUs (Type 4). En fait, les LSUs transportent des LSAs.
Quand létat Loading est terminé, les routeurs entrent en Full Adjacency. Il faudra quils entrent dans cet état dadjacence totale avant de créer leur table de routage et de router le trafic. A ce moment, les routeurs dune même zone ont une base de données détat de lien identique.
Etape 4 : Sélection des routes appropriées.
Après quun routeur ait complété sa link-state database, il peut créer sa table de routage et commencer à transférer le trafic. Comme mentionné plus haut, OSPF utilise comme métrique le coût (Cost) pour déterminer le meilleur chemin vers une destination. La valeur par défaut du coût dépend de la valeur de la bande passante dun lien. En général, plus la bande passante diminue plus le coût est élevé. Voici les valeurs par défaut du coût par rapport au type de média sur les IOS Cisco :
-
Medium
Coût
Ligne série 56kbps
1785
T1 (ligne série 1544kbps)
64
E1 (ligne série 2048kbps)
48
Token Ring 4 Mbps
25
Ethernet
10
Token Ring 16Mbps
6
Fast Ethernet 100Mbps, FDDI
1
Où la formule est : 108 / bandwidth = 100 000 000 /bandwidth
Pour calculer le coût le plus faible vers une destination, le routeur exécutera lalgorithme SPF. Pour simplifier, lalgorithme SPF fait la somme des coûts à partir de lui-même (root) vers tous les réseaux de destination. Sil y a plusieurs chemins possibles vers une destination, celle qui a le coût le plus faible est choisie. Par défaut, OSPF inscrit quatre routes équivalentes dans sa table de routage pour permettre la répartition de charge (Load Balancing).
Il arrive que certaines lignes, comme des lignes sérielles, se montent ou se descendent rapidement (flapping). Le flapping provoquera lenvoi de LSUs qui pousseront les routeurs destinataires à ré-exécuter lalgorithme SPF pour recalculer les routes. Le flapping prolongé peut toucher sévèrement les performances des machines. Les calculs SPF répétés prendront beaucoup de ressources en CPU. Aussi, elles pourraient empêcher la base de données de lien de converger.
Pour combattre ce problème l
IOS Cisco utilise un compteur de retenue SPF (SPF hold timer).
Après avoir reçu un paquet LSU, le compteur ne
commencera le calcul SPF quaprès un certain laps de temps.
La commande timers spf active lajustement de ce temps
qui est de 10 secondes par défaut.
Etape 5 : Maintien des informations de routage.
Quand un routeur a installé ses routes dans la table de routage, il doit maintenir minutieusement ses informations de routage. Lorsquil y a changement dun état de lien, les routeurs OSPF utilisent un processus dinondation (flooding) pour avertir les autres routeurs. Lintervalle de mort (dead interval) du protocole Hello fournit un mécanisme simple pour déclarer un lien rompu. Quand une interface na plus de nouvelles dun lien après cette période (habituellement 40 secondes), le lien est réputé down. (au sens OSPF cf. flooding)
Le routeur qui a constaté le lien down envoie un LSU avec les nouvelles information détat de lien. Oui, mais à qui ?
Sur un réseau point-à-point, il ny ni DR ni BDR. Les nouvelles informations détat de lien sont envoyés sur ladresse Multicast 224.0.0.5. Tous les routeurs OSPF écoutent à cette adresse.
Sur un réseau multi-accès, un DR et un BDR existent et maintiennent les adjacences avec tous les autres routeurs du réseau. Si un DR ou un BDR a besoin denvoyer une mise à jour détat de lien, il le fera à destination de ladresse 224.0.0.5. Quoi quil en soit, les autres routeurs du réseau sont adjacents uniquement au DR ou au BDR et nenvoient des LSUs quà ceux-ci. Cest pour cette raison que les DR et BDR ont leur propre adresse de destination multicast 224.0.0.6. Les routeur qui ne sont pas DR/BDR envoient leurs LSUs sur 224.0.0.6, autrement dit, « tous les routeurs DR/BDR ».
Quand un DR reçoit et accuse réception dun LSU destiné à 224.0.0.6, il inonde de LSU tous les autres routeurs du réseau sur 224.0.0.5. Chaque routeur accusera réception du LSU avec un LSAck.
Si un routeur OSPF est connecté à un autre réseau, il inonde de LSU les autres réseaux en transférant le LSU au DR dun réseau multi-accès ou au routeur adjacent sur un réseau P2P. Le DR, à son ton tour, « multicaste » le LSU à ses routeurs non DR/BDR de son propre réseau
Dès quun routeur reçoit un LSU, il met à jour sa link-state database et met en uvre lalgorithme SPF pour calculer les nouvelles routes à inscrire dans sa table de routage. Après lexpiration du compteur SPF, la route est inscrite dans la table de routage.
Sur les routeurs Cisco, une vieille route est toujours utilisée pendant que lalgorithme SPF calcule la nouvelle route et jusquau moment où le calcul sera fini.
Il est important de remarquer que même si aucun changement topologique nintervient, les informations de routage OSPF sont régulièrement rafraîchies. Chaque entrée LSA a sa propre durée de vie. Le compteur a une durée par défaut de 30 minutes. Après que sa durée de vie soit écoulée, le routeur à lorigine de cette information renvoie un LSU au réseau pour vérifier que le lien est toujours actif.