BSCI: OSPF – Open Shortest Path First
Introduction
OSPF est un protocole de routage à état de liens (Link-state routing protocol). Il utilise l’algorithme SPF (Shortest Path First) de Dijkstra. Les protocoles à états de liens possèdent plus d’infos et ont une vue globale de la topologie. Cela réduit le traffic réseau (plus besoin d’autant d’update), mais nécessitent plus de mémoire pour le stockage de la topologie et de CPU pour le calcul des routes.
OSPF est:
- Classless – permet la summarization
- Convergence rapide
- Standard ouvert – Peut intéragir dans des environnements hétérogènes.
- Présèrve la bande passante
- Multicast (plutôt que broadcast)
- Updates incrémentaux
- Utilise le coût comme métrique
Protocol
Protocol Type | Link-state |
Algorithm | SPF (Shortest Path First) |
Internal AD | 110 |
Specification | Open |
Transport | IP/89 |
Authentication | None, plain-text, MD5 |
Multicast IP | 224.0.0.5 / 224.0.0.6 |
Hello Timers | 10 seconds (LAN), 30 seconds (WAN) |
Paquets
- HELLO – Etablie la communication avec les voisins
- DBD (Database description) – Envoi une liste d’ID en tant que LSA. Compare les infos du réseau.
- LSR (Link State Request) – Suis les DBD pour les LSA manquants
- LSU (Link State Update) – Suis un LSR avec des données
- LSAck (Link State Acknowledgment) – Confirme réception d’un LSR
Les routeurs à état de liens annoncent une liste de connections. Quand un lien deviens UP ou DOWN, un LSA (Link State Advertisement) est généré. Les LSA sont échangés entre voisins et une base topologique LSDB (Link-state Database) ou table topologique est créée. Chaque routeur process ça table topologique avec l’algorithme SPF et place les meilleurs routes vers les différents réseaux dans sa table de routage.
Voisinage et adjacences
Les routeurs envoient les changements en multicast sur l’adresse 224.0.0.5, puis les routeurs échangent leurs tables de routages respectives.
Les Hello sont envoyés toutes les :
- 10 secondes – Sur un lien Broadcast
- 30 secondes – Sur un lien non-Broadcast
Contenu d’un Paquet HELLO:
- Router ID (32 bit)
- HELLO et Dead Intervalle
- Neighbor List
- Area ID
- Priority (Le plus grand sera le DR)
- DR/BDR (adresses IP)
- Authentification (Password)
- Stub area flag (si nous sommes dans une zone de stub)
Voici un schéma qui montre les échanges entre routeurs et les différentes phases d’initialisations:
Après ces échanges, les LSA sont envoyés à 30 minutes d’intervalle, ou lors d’un changement d’état topologique.
Métrique
Cost = 100 000 000 bps / LinkSpeed
100 Mb par défaut, mais peut être modifié ultérieurement.
Designated Router & Backup Designated Router
- DR – Designated Router : Maintiens les adjacences du segment. Il est sélectionné grâce aux informations contenues dans les HELLO.
- BDR – Backup Designated Router : Backup du DR
Les DR sont créées sur des liens MultiAccess car le nombre d’adjacences augmente.
Pour un réseau de n routeurs, le nombre d’adjacences requises devrait être:
Adjacences = n(n-1) / 2
Adjacences en fonction des topologies:
Le DR reçoit les updates, et les renvoi aux routeurs du segment. Il s’assure de la bonne réception des LSA et de la bonne synchronisation des LSDB. Les routeurs envoient les changements sur 224.0.0.6 (AllDR). Le DR envoi les LSA sur 224.0.0.5, puis chaque routeur ACKnowledge.
Le BDR écoute passivement et maintiens des relations avec tous les routeurs. Si le DR n’envoi pas de HELLO, le BDR se promu automatiquement et assume le rôle de DR.
Usefull sur les liens Multiaccess car les DR et BDR réduisent les adjacences (voir le schéma ci-dessus). il ne sont pas utilisés sur les Liens Point-to-point.
Election de DR / BDR
Pour élire un DR, chaque routeur se voit attribuer un ID, qui sera soit la priorité, soit l’adresse IP de Loopback.
- Priorité de 1 = Défault
- Priorité de 0 = Aucune élection possible
Le DR est le routeur avec la priorité la plus grande. La priorité est entre 1 et 255.
Commande:
router(config-if)#ip ospf priority number
Forcer un élection de DR:
- Reboot du routeur
- clear ip ospf process 1
Configuration OSPF (Single Area)
Required:
- OSPF Process
- Interfaces qui participent au process
- Area
- Router ID
! Activation d'OSPF Router(config)#router ospf process-number ! Interfaces/réseaux participant au routage OSPF Router(config-router)#network ip wildcard-mask area number
Router ID et Interface Loopback
L’ID permet la stabilité d’OSPF, donc moins de bagots des interfaces physiques d’OSPF.
Voici les deux façons de configurer un ID:
Router(config)#router ospf process-number Router(config-router)#router-id ip-address
ou
Router(config)#interface loopback number Router(config-if)#ip address ip-address subnet-mask
Changer le cout par défaut
Par défaut, le cout est à 100Mb, mais voici comment le changer:
Router(config-if)#ip ospf cost value number (1 < 65 535)
On peut également changer le numérateur de calcul automatique, la valeur par défaut est 100, mais voici comment le changer:
Router(config-router)#ospf auto-cost reference-bandwidth number (1 < 4 294 967)
ATTENTION: Si on change le numérateur à un endroit, il faut le changer dans toute l’aire OSPF.
Vérifier la configuration OSPF
- show ip ospf
- show ip ospf database
- show ip ospf interface
- show ip ospf neighbor
- show ip protocols
- show ip route
Debugs
- debug ip ospf events
- debug ip packet
Comments are Disabled