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.

OSPF Metric

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 :

OSPF 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 :

OSPF interet des areas

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/24Oui
10.0.1.1/24Non
10.1.1.1/24Non
10.0.0.1/28Oui
10.0.0.55/24Oui

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>