Fonctionnement
Activation d'OSPF
Il est possible pour un routeur d'exécuter plusieurs instances OSPF séparées advenant qu'il appartienne à plus d'un système autonome. Nous garderons ici la configuration simple avec une seule instance par appareil. En MikroTik, on parle de créer une "instance" identifiée par un nom textuel alors qu'en Cisco on parler de créer un "routeur" avec un identifiant numérique. Ces identifiants demeurent interne à chaque routeur, cette information ne sera pas échangée entre les routeurs. À chaque instance sera lié un identifiant pour ce routeur qui sera une information partagée en avertissement d'état de lien de type 1. Cet identifiant est une valeur binaire de 32 bits et est notée sous la même forme qu'une adresse IPv4 pour en faciliter la lecture.
Dans l'exemple suivant, l'instance du MikroTik sera nommée "main" et le MikroTik aura comme identifiant 0.0.0.1. L'instance du Cisco aura comme identifiant "100" et le routeur aura comme identifiant 0.0.0.2.
MikroTik :
/routing ospf instance
add disabled=no name=main router-id=0.0.0.1 routing-table=main
Cisco :
router ospf 100
router-id 0.0.0.2
Il sera aussi nécessaire de créer une zone au sein de laquelle tous les routeurs connaîtront la topologie entière entre les routeurs de cette zone. Ces zones peuvent contenir jusqu'à 50 routeurs. Ces zones sont identifiées tout comme les routeurs par une valeur binaire de 32 bits et tout comme les identifiants de routeur, elle sera représentée sous la même forme qu'une adresse IPv4.
La zone 0.0.0.0 est la zone décrite comme étant la zone "dorsale" et devrait représenter le coeur de votre réseau. Cette zone est généralement mandatoire. En MikroTik, il est possible de créer une zone sans l'attribuer à un réseau IP ou une interface tandis que Cisco regroupe sur la même ligne le réseau dans lequel il recherche des voisins ainsi que l'identifiant de la zone.
En MikroTik, si l'identifiant de la zone est 0.0.0.0, celui-ci ne s'affichera pas lors d'une exportation de la configuration mais s'affichera lors de l'affichage de l'état OSPF. Ceci sera réflété dans l'exemple suivant.
Il est aussi important de noter que Cisco s'attend à des "wildcard bits" (masque de sous-réseau inversé) plutôt qu'un masque de sous-réseau avec une notation traditionnelle. Il est possible d'inscrire un masque de sous-réseau traditionnel mais celui-ci sera traduit dans la configuration.
Utiilisons ici le réseau 172.16.31.252/30 pour établir le lien entre nos routeurs.
MikroTik :
/routing ospf area
add disabled=no instance=main name=backbone
[admin@R1-Tik] > /routing/ospf/area/print
Flags: X - disabled, I - inactive, D - dynamic; T - transit-capable
0 name="backbone" instance=main area-id=0.0.0.0 type=default
Cisco :
router ospf 100
network 172.16.31.252 0.0.0.3 area 0.0.0.0
Projet GNS3 lié à cette machine virtuelle
Établissement du voisinage
À fin d'assurer le fonctionnement d'une zone OSPF, les routeurs devront tout d'abord établir une connexion avec leurs voisins immédiats pour leur permettre de rejoindre le voisinage des routeurs situés dans la zone correspondante.
La première configuration qui sera requise pour assurer le bon fonctionnement d'OSPF entre deux routeurs sera de mentionner aux routeurs à quel endroit chercher des voisins. En Cisco, les sous-réseaux sur lesquels chercher des voisins seront déterminés par la commande "network" et l'instance exécutant OSPF détectera automatiquement sur quelles interfaces chercher à établir un voisinage en fonction des adresses IP configurées sur ces interfaces. MikroTik permet de mentionner tant un réseau IP qu'une interface, dans le cas ou seulement une interface serait mentionnée, le réseau IP correspondant à l'interface sera utilisé pour rechercher un voisin.
Ces liens de voisinage établis sont des avertissements d'état de lien de type 2 et correspond à un réseau sur lequel un voisinage entre plusieurs routeurs est établi.
Établissons ici le voisinage entre notre MikroTik et notre Cisco. Lorsque nous avons configuré la zone de notre Cisco, nous avons déjà dû attribuer un réseau IP à notre zone 0.0.0.0 (nous avons choisi 172.16.31.252/30). Configurons les adresses IP des interfaces reliées ensemble et assignons la zone dorsale à ce lien sur notre MikroTik.
MikroTik :
/ip address
add address=172.16.31.253/30 interface=ether8 network=172.16.31.252
/routing ospf interface-template
add area=backbone disabled=no networks=172.16.31.252/30
Cisco (le sous-réseau IP est déjà associé à la zone) :
interface Ethernet1/3
ip address 172.16.31.254 255.255.255.252
no shutdown
À partir de ce moment, chaque routeur fera parvenir à destination de l'adresse IP 224.0.0.5 (adresse IP de classe D dédiée aux protocoles de "broadcast") un "Hello Packet" à un intervalle régulier (par défaut aux 10 secondes) indiquant l'existance du routeur avec l'adresse IP de son interface. Si ce "Hello Packet" d'un voisin n'est pas reçu dans le délai imparti par le paramètre de "Dead Peer Detection" ou "DPD", le voisinage entre ces deux routeurs sera coupé.
Annonce du MikroTik :
Frame 1: 82 bytes on wire (656 bits), 82 bytes captured (656 bits) on interface -, id 0
Ethernet II, Src: 0c:85:f2:ca:00:07, Dst: 01:00:5e:00:00:05
Internet Protocol Version 4, Src: 172.16.31.253, Dst: 224.0.0.5
Open Shortest Path First
OSPF Header
Message Type: Hello Packet (1)
Source OSPF Router: 0.0.0.1
Area ID: 0.0.0.0 (Backbone)
Auth Type: Null (0)
Auth Data (none): 0000000000000000
OSPF Hello Packet
Network Mask: 255.255.255.252
Hello Interval [sec]: 10
Options: 0x02, (E) External Routing
Router Priority: 128
Router Dead Interval [sec]: 40
Designated Router: 172.16.31.253
Backup Designated Router: 172.16.31.254
Active Neighbor: 0.0.0.2
Annonce du Cisco :
Frame 4: 114 bytes on wire (912 bits), 114 bytes captured (912 bits) on interface -, id 0
Ethernet II, Src: aa:bb:cc:00:01:31, Dst: 01:00:5e:00:00:05
Internet Protocol Version 4, Src: 172.16.31.254, Dst: 224.0.0.5
Open Shortest Path First
OSPF Header
Version: 2
Message Type: Hello Packet (1)
Packet Length: 48
Source OSPF Router: 0.0.0.2
Area ID: 0.0.0.0 (Backbone)
Auth Type: Null (0)
Auth Data (none): 0000000000000000
OSPF Hello Packet
Network Mask: 255.255.255.252
Hello Interval [sec]: 10
Options: 0x12, (L) LLS Data block, (E) External Routing
Router Priority: 1
Router Dead Interval [sec]: 40
Designated Router: 172.16.31.253
Backup Designated Router: 172.16.31.254
Active Neighbor: 0.0.0.1
On note donc lici l'identifiant de la zone, les identifiants du routeur émettant l'annonce et le voisin auquel l'annonce est destinée ainsi que le délai suite auquel chaque routeur considèrera son voisin comme étant absent (40 secondes).
On peut aussi noter ici dans l'en-tête OSPF les paramètres "Auth Type" et "Auth Data", il est possible de configurer un mécanisme d'authentification entre les routeurs pour éviter qu'un intrus se joigne à notre topologie. Ceci sera abordé plus tard.
Sans trop se pencher sur le contenu exact de l'échange qui prendra place entre les deux routeurs, suite à leur échange de poignée de main, la description des bases de données des deux routeurs sera échangée puis le nouveau voisin demandera la liste des états de liens de la base de donnée du routeur désigné (maître de la base de données de la topologie) et indiquera lorsqu'il aura appliqué cette liste de règles.
Le voisinage entre les deux routeurs passera donc à travers quelques états. Il est pertinent de comprendre ces états pour dépanner la configuration en cas d'erreur d'établissement de voisinage.
- Down
En cas d'état "Down", ceci signifie que le voisin est absent, cet état changera lorsqu'un "Hello Packet" sera reçu de la part de ce voisin. Cet état s'affichera seulement lorsqu'un voisin statique sera configuré. - Init
En cas d'état "Init", un "Hello Packet" a permis la détection du voisin et le routeur attend d'entrer en relation avec son voisin. Cet état devrait être passé rapidement mais peut y rester en cas d'erreur d'authentification à titre d'exemple. - Two-Way
En cas d'état "Two-Way", ceci signifie que le routeur a reçu confirmation de son voisin qu'il a été observé et que les routeurs sont en relation.
Les autres états seront abordés plus loin dans ce document. Ces 3 états sont ceux qui s'afficheront lors de l'établissement d'un voisinage.
Projet GNS3 lié à cette machine virtuelle
Élection des routeurs désignés
Deux routeurs dans chaque voisinage seront élus en tant que routeur désigné ainsi que routeur désigné de relève. Le premier routeur se joignant à une topologie se considèrera lui-même comme étant le routeur désigné et indiquera sa priorité dans ses "Hello Packets".
ProjetIci, GNS3notre liéCisco est le seul appareil allumé et s'annonce comme étant routeur désigné avec une priorité de 1.
OSPF Hello Packet
Network Mask: 255.255.255.252
Hello Interval [sec]: 10
Options: 0x12, (L) LLS Data block, (E) External Routing
Router Priority: 1
Router Dead Interval [sec]: 40
Designated Router: 172.16.31.254
Backup Designated Router: 0.0.0.0
Le MikroTik tentera ensuite de se joindre à cettela machinetopologie. virtuellePuisqu'il s'agit de son premier "Hello Packet", il n'a pas encore déterminé s'il doit se proclâmer DR (routeur désigné) ou BDR (routeur désigné de relève) et par conséquent n'en indiquera pas dans son "Hello Packet". Il indiquera par contre sa priorité ici de 128.
OSPF Hello Packet
Network Mask: 255.255.255.252
Hello Interval [sec]: 10
Options: 0x02, (E) External Routing
Router Priority: 128
Router Dead Interval [sec]: 40
Designated Router: 0.0.0.0
Backup Designated Router: 0.0.0.0
La plus haute priorité l'emporte. En cas de priorité égale, ce sera l'identifiant de routeur le plus élevé qui l'emportera. Un DR et un BDR seront établis par domaine de broadcast. Si seulement deux routeurs sont reliés en point à point, il n'y aura seulement qu'un DR et un BDR mais si plus de deux routeurs sont reliés ensemble dans un seul domaine de diffusion, les routeurs n'étant pas DR ou BDR seront notés comme étant "DROther".
Avertissements d'état de liens
Pour permettre aux routeurs désignés de déterminer la topologie de la zone OSPF, chaque routeur devra lesfaire informerparvenir sa base de données aux DR et BDR qui eux se chargeront de redistribuer l'information au reste de la topologie. Leur rôle sera aussi de fournir à tout nouveau voisin l'état de la topologie actuelle.
Projet GNS3 lié à cette machine virtuelle
Changement de topologie
Projet GNS3 lié à cette machine virtuelle

