Cisco - OSPF
Alasta 4 Novembre 2015 cisco cisco ccnp route cli
Description : Nous allons parler d'OSPF sur Cisco ainsi que de son implémentation.
Introduction :
OSPF (Open Shortest Path First) est un protocole de routage standard, de type IGP à état de lien (link-state).
Sa distance administrative (AD) est de 110. Sa métrique est la somme des coûts et il est identifié par O dans la table de routage.
La métrique :
Chaque interface à un coût qui est basé sur la bande passante (BW) exprimée en bits/s.
Métrique = 108 / BW
108 représente 100Mb/s.
Exemples :
FastEthernet 100Mb/s coût = 1
Ethernet 10Mb/s coût = 10
1Mb/s coût = 100
Serial 1,544Mb/s coût = 64
Pour 1Gb/s -> 108 / 109 = 0.1 -> qui sera aarondi à 1 donc 1Gb/s = 100Mb/s.
Adaptation de la formule :
En global
1 router OSPF <Process_ID>
2 auto-cost reference-bandwidth <Valeur_en_Mb/s>
3 ! 1000 pour tenir compte des BW allant jusqu'à 1Gb/s
Ceci est à faire sur tous les routeurs.
Par interface
1 interface f0/0
2 ip ospf cost <Valeur_en_Mb/s>
Le routeur ne tiendra plus compte de la BW de l'interface pour le calcul du coût de l'interface.
Modifier la BW de l'interface
1 interface f0/0
2 bandwidth <Valeur_en_kb/s>
Attention d'autres protocoles seront impactés par cette modification, comme EIGRP par exemple.
Distance Vector vs Link-State :
Le DV envoie une partie de sa table de routeur à son voisin si la route a étée ajouté à sa table de routage.
Exemple : un routeur reçoit une annonce (Net 1.1.1.0/24, 5 hops et AD 120), ai-je une meilleure route pour atteindre ce réseau ?
Le LS envoie à ses voisins les routes auxquels il est connecté (via LSA).
Exemple : un routeur reçoit une annonce (Net 1.1.1.0/24, 5 hops et AD 110), je rajoute la route dans ma topologie sans me poser de question.
Les annonces
Les annonces s'appellent des LSA (Link State Advertissement)
Elles contiennent : - le router-ID de l'annonçeur - le réseau/masque annoncé - l'AD - le coût du lien - l'âge (exprimé en secondes) - ...
Lorsque que le champ "Link-state age" passe à 30 minutes : - le routeur aynat généré le LSA renvoie ce même LSA après avoir incrémenté son numéro de séquence.
Par rapport à un DV, le LS optimise la BW.
Lorsque le le champ "Link-state age" passe à 1 heure : - Le LSA est supprimé de la base de donnée LSDB.
Sur réception d'un LSA :
1- Soit ce LSA n'est pas présent dans la LSDB :
- alors le routeur le rajoute dans sa LSDB
- il envoie un accusé réception
- il envoie le LSA à tous ses voisins
- il execute SPF et met à jour sa table de routage
2- Soit ce LSA est déjà présent dans la LSDB avec le même numéro de séquence :
- alors le routeur ignore ce LSA
3- Soit ce LSA est déjà présent dans la LSDB avec un numéro de séquence inférieur :
- idem cas 1
4- Soit ce LSA est déjà présent dans la LSDB avec un numéro de séquence supérieur :
- alors le routeur envoie un LSA de sa LSDB au routeur qui lui avait envoyé le LSA
Le numéro de séquence
- codé sur 4 octets
- commence par la valeur 0x80000000, mais réservé donc la première valeur est 0x80000001
- termine avec la valeur 0x7fffffff (0x80000000 - 1)
- incrémenté de 1 à chaque MAJ
1 R1#show ip ospf database
2
3 !--SNiP--
4
5 Link ID ADV Router Age Seq# Checksum Link count
6 10.1.1.1 10.1.1.1 79 0x80000001 0x00F981 2
7 10.2.2.2 10.2.2.2 81 0x80000001 0x00F37E 2
8 100.100.100.100 100.100.100.100 80 0x80000001 0x00595D 4
9
10 !--SNiP--
Link ID : peut être le réseau ou le router-ID en fonction des cas.
ADV Router : le router-ID
Age : l'âge de l'information
Seq# : numéro de séquence du LSA
Link count : nombre d'interface dans le réseau (attention en certaines interface ne valent X au lieu de 1)
Le router-ID :
C'est une adresse IP ou au format adresse IP.
Configuration manuelle :
1 router ospf 100
2 router-id 1.1.1.1
Conffiguration automatique :
- Une loopback existe ?
- Oui : le router-id = la plus grande des IP des interfaces de loopback
- Non : la plus grande des IP des interfaces UP au moment ou l'on a taper "router ospf"
Les rôles :
- R1 : ASBR (Autonomous System Border Router) -> il fait de la redistribution de routes
- R2 / R3 : ABR (Area Border Router) -> routers connectés à 2 areas
- R4 : Internal Router
- Area 0 : Area Backbone -> toutes les autres aires doivent lui être attachées.
L'intérêt des Area :
R5 (internal router) n'aura donc qu'une seule LSA pour le 4 réseaux de R4.
- Moins de RAM nécessaire pour conserver en mémoire la cartographie du réseau.
- Moins de CPU pour éxecuter l'algorithme (si bagottage d'un réseau, aucun impact sur les routes summary)
- Pas de perte de connectivité.
Note : faire des Areas et ne pas mettre en place de summerisation et le type de stub ne sert à rien.
Trois étapes :
- Découvrir tous mes voisins directs.
- Construire la cartographie du réseau.
- Décider du chemin le plus court pour atteindre chaque sous-réseau annoncé.
Configuration OSPF :
1 router ospf <Process_ID>
2 network <subnet> <wildcard_mask> area <#_area>
Ici on déclare les interfaces qui vont participer au routage OSPF.
Exemple :
1 router ospf 1
2 network 10.0.0.0 0.0.0.255 area 0
Signifie : activer OPSF sur toutes les interfaces dont l'adresse IP appartient au réseau 10.0.0.0/24 et positionner cette interface dans l'area 0.
10.0.0.1/24 | Oui |
10.0.1.1/24 | Non |
10.1.1.1/24 | Non |
10.0.0.1/28 | Oui |
10.0.0.55/24 | Oui |
Par interface (depuis l'IOS 12.3(11))
1 interface serial 1/1
2 ip ospf 100 area 0
Les masques extrêmes :
Activer toutes les interfaces en une seule commande :
1 network 0.0.0.0 255.255.255.255 area 0
2 ! pour des raisons de simplification on peut écrire
3 network 0.0.0.0 0.0.0.0 area 0
Activer une seule interface :
1 network 1.1.1.1 0.0.0.0 area 0
Vérifier les interfaces qui participent à OSPF :
1 R1#show ip ospf interface brief
2 Interface PID Area IP Address/Mask Cost State Nbrs F/C
3 Se1/1 100 0 172.16.1.1/24 64 P2P 1/1
4 Lo0 100 1 10.1.1.1/32 1 LOOP 0/0
5 Se1/0 100 1 10.1.2.1/24 64 P2P 1/1
6 Fa0/0 100 1 10.1.3.1/24 1 BDR 1/1
PID : Process ID OSPF
Cost : coût de l'interface, 1 pour 100Mb/s si reference-bandwidth par défaut
Passive-interface ::
Permet d'éviter la recherche de voisin sur une interface.
2 méthodes :
1 router ospf <Process_ID>
2 passive-interface f0/0
ou
1 router ospf <Process_ID>
2 passive-interface default
3 no passive-interface s0/0
Résumé de commandes de configurations :
1 router ospf <Process_ID>
2 ! le Process_ID peut être différent sur les différents routeur OSPF.
3
4 ! Déclaration des interfaces qui participeront à OSPF.
5 network <subnet> <wildcard_mask> area <#area>
6
7 ! Optionnel
8 !
9 ! Adaptation de la formule pour le calcul de la metric
10 auto-cost reference-bandwidth <Valeur_en_Mb/s>
11
12 ! Déclaration par interface
13 interface serail 1/0
14 ip ospf <Process_ID> area <#area>
15
16 ! passive-interface
17 passive-interface <interface>
18 ! ou
19 passive-interface default
20 no passive-interface <interface>