Sunteți pe pagina 1din 16

Routage dynamique - Le protocole OSPF

Par Pacme Massol


Date de publication : 21 janvier 2014

Cet article est le troisime d'une srie rdige par Pacme Massol sur l'utilisation d'un
systme GNU/Linux comme routeur. L'article a t publi dans le numro 51 de Linux
Magazine en Juin 2003. La version publie ici ne contient que quelques diffrences
mineures sur la prsentation et la configuration du logiciel.
N'hsitez pas commenter cet article !

Routage dynamique - Le protocole OSPF par Pacme Massol

1 - Copyright et Licence.............................................................................................................................................. 3
1-1 - Mtainformation............................................................................................................................................. 3
2 - Avant-propos.......................................................................................................................................................... 3
2-1 - Rsum des pisodes prcdents................................................................................................................3
3 - Les grands principes d'OSPF................................................................................................................................ 4
3-1 - La notion de cot.......................................................................................................................................... 4
3-2 - La base de donnes topologique..................................................................................................................5
3-3 - L'lection des meilleures routes....................................................................................................................5
3-4 - La dtermination d'une table de routage...................................................................................................... 6
4 - Le fonctionnement d'OSPF un peu plus en dtail.................................................................................................7
4-1 - tat initial....................................................................................................................................................... 7
4-2 - tablir la liste des routeurs voisins : Hello, my name is R1 and I'm an OSPF router....................................7
4-3 - lire le routeur dsign et le routeur dsign de secours............................................................................ 7
4-4 - Dcouvrir les routes...................................................................................................................................... 8
4-5 - lire les routes utiliser............................................................................................................................... 8
4-6 - Maintenir la base topologique....................................................................................................................... 8
4-7 - Conclusion partielle....................................................................................................................................... 8
5 - Le concept de zone (area).................................................................................................................................... 9
6 - Place la pratique.................................................................................................................................................9
6-1 - Situation de dpart...................................................................................................................................... 10
6-2 - Activation du processus de routage............................................................................................................11
6-3 - Activation des annonces de routes............................................................................................................. 11
6-4 - Affichage de la configuration.......................................................................................................................12
6-5 - tat des routeurs.........................................................................................................................................13
6-6 - Quelques lments sur la scurit............................................................................................................. 15
6-6-1 - Filtrer la diffusion des routes.............................................................................................................. 15
6-6-2 - Protger les annonces de routes....................................................................................................... 15
7 - Conclusion............................................................................................................................................................16
7-1 - Bibliographie................................................................................................................................................ 16
7-2 - Liens............................................................................................................................................................ 16
8 - Remerciements Developpez................................................................................................................................ 16

-2-

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

1 - Copyright et Licence
Copyright (c) 2002-2005 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software
Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is
included in the section entitled GNU Free Documentation License .
Copyright (c) 2002-2005 Pacme Massol. Permission est accorde de copier, distribuer et/ou modifier ce document
selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License), version 1.1 ou
toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire
de Couverture, et sans Texte de Quatrime de Couverture. Une copie de la prsente Licence est incluse dans la
section intitule Licence de Documentation Libre GNU .

1-1 - Mtainformation
Cet article est crit avec http://www.docbook.org/ XML sur un systme http://www.debian.org/. Il est disponible
en version imprimable au format PDF : zebra.ospf.pdf.
Toutes les commandes utilises dans ce document ne sont pas spcifiques une version particulire des systmes
UNIX ou GNU/Linux. Comme la distribution Debian GNU/Linux est utilise pour l'ensemble des supports du projet
inetdoc.LiNUX, voici une liste des paquets contenant les commandes ncessaires :

net-tools - The NET-3 networking toolkit ;


quagga - Unofficial successor of the Zebra BGP/OSPF/RIP routing daemon ;
quagga-doc - info files for quagga ;
zebra & zebra-doc - anciens paquets non mis jour depuis 2003.

Les copies d'cran prsentes ici correspondent la publication initiale. Depuis, les versions de Zebra puis de Quagga
ont volu et l'affichage des informations de routage a t modifi. Cependant, ces modifications ne devraient pas
gner les lecteurs.

2 - Avant-propos
Ce document est la suite de deux articles publis respectivement dans http://www.unixgarden.com/index.php/
category/gnu-linux-magazine numros 42 de septembre et 43 d'octobre 2002. tant donn que cela remonte dj
quelques temps, un rapide rsum est peut-tre ncessaire avant de passer au vif du sujet : le protocole de routage
dynamique OSPF et sa mise en uvre avec Zebra.

2-1 - Rsum des pisodes prcdents


Le routeur est un lment essentiel dans l'aiguillage des paquets de donnes dans un inter rseau. Pour chaque
paquet reu, il extrait le prfixe rseau de l'adresse IP de destination du paquet et le recherche dans une table qu'il
possde en mmoire. Cette table de routage contient essentiellement une liste d'adresses rseau et, pour chacune,
le moyen de l'atteindre, savoir l'adresse d'un routeur immdiatement voisin et situ sur la route vers la destination.
Si le routeur trouve dans cette table le prfixe rseau, il transmet le paquet sur le rseau du routeur voisin concern.
Ce processus sera renouvel par le routeur voisin et ainsi de suite, de proche en proche le paquet sera orient vers
sa destination.
Seulement voil, il faut saisir les tables de routage ! Travail fastidieux pour les petits doigts agiles de l'administrateur
lorsque les rseaux sont de grande taille. De plus, compte tenu de l'volution du nombre de rseaux interconnecter
dans le cas d'Internet, il est de toute faon devenu impossible de se cantonner au routage statique (souvenez-vous,
dans le document premire partie, routage statique nous nous sommes adonns aux joies de la saisie de routes
statiques avec Zebra).

-3-

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

C'est pourquoi, le routage dynamique a t imagin afin d'allger la charge d'administration mais aussi pour raliser
des rseaux tolrants aux pannes d'un routeur ou d'une liaison. RIP est un bon exemple de protocole de routage
dynamique (reportez-vous au document deuxime partie, routage RIP pour dcouvrir tous ses secrets). Les
routeurs supportant RIP s'changent priodiquement des informations sur les routes qu'ils possdent (les fameux
vecteurs de distance). Si une panne se produit, les routeurs immdiatement voisins notent que certaines routes
sont devenues inaccessibles et propagent l'information aux autres. Mais hlas, RIP souffre de certaines limitations qui
ont pouss l'IETF (http://www.ietf.org/http://www.ietf.org/) plancher sur un protocole plus robuste, plus efficace,
plus paramtrable et supportant des rseaux de grande taille. Cette merveille s'appelle OSPF (Open Shortest Path
First).
Le fonctionnement de ce protocole est dfini dans le document RFC2328. Les logiciels de Zebra et de son successeur
Quagga supportent cette dfinition du protocole OSPF.

3 - Les grands principes d'OSPF


OSPF est un protocole de routage dynamique dfini par l'IETF la fin des annes 80. Il a fait l'objet d'un
historique relativement complexe de RFC (Voir http://tools.ietf.org/wg/ospf/). Ce protocole a deux caractristiques
essentielles :

Il est ouvert : c'est le sens du terme Open de OSPF. Son fonctionnement est connu de tous.
Il utilise l'algorithme SPF pour Shortest Path First, plus connu sous le nom d'algorithme de Dijkstra, afin
d'lire la meilleure route vers une destination donne.

Examinons une topologie qui nous servira de support pour les explications :

Figure 1. Exemple de topologie

3-1 - La notion de cot


Supposons que du routeur R1 on cherche atteindre le rseau 192.168.1.0. Dans une telle situation, Le protocole
RIP aurait lu la route passant par R5 puisque c'est la plus courte en termes de saut. Cependant, imaginez que les
liens reprsents sous forme d'clairs soient rapides (de type FastEthernet 100 Mbps par exemple) et que les
liens reprsents sous formes de segments droits soient lents (de type Ethernet 10 Mbps par exemple). Le choix
du protocole RIP n'est plus du tout pertinent !
Le protocole OSPF fonctionne diffremment. Il attribue un cot chaque liaison (appele lien dans le jargon OSPF)
afin de privilgier l'lection de certaines routes. Plus le cot est faible, plus le lien est intressant. Par dfaut, les
cots suivants sont utiliss en fonction de la bande passante du lien :

-4-

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

Type de rseau

Cot par dfaut

FDDI, FastEthernet

Ethernet 10 Mbps

10

E1 (2,048 Mbps)

48

T1 (1,544 Mbps)

65

64 Kbps

1562

56 Kbps

1758

19.2 Kbps

5208

La formule de calcul est simplissime :


cot =

10^8
------------------------------bande passante du lien en bps

La rfrence 10^8 correspond un dbit maximum de 100 Mbps. Dans le cas o l'on utilise des interfaces avec un
dbit suprieur, il est possible de redfinir la rfrence avec une commande du type autocost reference-bandwidth
1000 pour la valeur 10^9.
Le protocole OSPF privilgie les routes qui ont un cot faible, donc celles qui sont supposes rapides en terme de
dbit thorique.

3-2 - La base de donnes topologique


Avec le protocole OSPF, tous les routeurs d'un mme rseau (on parle de zone dans le vocabulaire OSPF, ceci
vous sera expliqu avant la mise en pratique) travaillent sur une base de donnes topologique identique qui dcrit
le rseau. Cette base a t constitue pendant une premire phase de dcouverte qui vous sera explique un peu
plus loin. Examinons la base de donnes suivante qui dcrit la topologie de la figure 1 :
Arc

Cot

R1, R2

R1, R5

10

R2, R3

R3, R4

10

R3, R5

R4, R5

10

R4, 192.168.1.0

10

3-3 - L'lection des meilleures routes


L'algorithme SPF de Dijsktra va traiter cette base de donnes afin de dterminer les routes les moins coteuses.
Une fois le traitement ralis, chaque routeur se voit comme la racine d'un arbre contenant les meilleures routes.
Par exemple :

-5-

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

Topologie vue de R5

Topologie vue de R1
Dans l'exemple, entre R1 et 192.168.1.0, la meilleure route passe par R2, R3 et R4 pour un cot total de 1 + 1 +
10 + 10 soit 22.

3-4 - La dtermination d'une table de routage


La base de donnes topologique dcrit le rseau mais ne sert pas directement au routage. La table de routage est
dtermine par l'application de l'algorithme du SPF sur la base topologique. Sur R1, voici un extrait de la table de
routage calcule par SPF au sujet du rseau 192.168.1.0 :
Rseau de destination

Moyen de l'atteindre

Cot

192.168.1.0

R2

22

Rseau de destination

Moyen de l'atteindre

Cot

192.168.1.0

R4

20

Sur R5, on aura l'extrait suivant :

-6-

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

4 - Le fonctionnement d'OSPF un peu plus en dtail


Pour administrer un rseau OSPF correctement, il est indispensable de comprendre le fonctionnement interne du
protocole.
l'intrieur d'une mme zone, les routeurs fonctionnant sous OSPF doivent pralablement remplir les tches
suivantes avant de pouvoir effectuer leur travail de routage :

tablir la liste des routeurs voisins ;


lire le routeur dsign et le routeur de secours ;
dcouvrir les routes ;
lire les routes utiliser ;
maintenir la base topologique.

4-1 - tat initial


Le processus de routage OSPF est inactif sur tous les routeurs de la figure 1.

4-2 - tablir la liste des routeurs voisins : Hello, my name is R1 and I'm an OSPF router.
Les routeurs OSPF sont bien levs. Ds qu'ils sont activs, ils n'ont qu'une hte : se prsenter et faire connaissance
avec leurs voisins. En effet, lorsque le processus de routage est lanc sur R1 (commande router ospf), des paquets
de donnes (appels paquets HELLO) sont envoys sur chaque interface o le routage dynamique a t activ
(commande network).
L'adresse multicast 224.0.0.5 est utilise, tout routeur OSPF se considre comme destinataire. Ces paquets ont
pour but de s'annoncer auprs de ses voisins. Deux routeurs sont dits voisins s'ils ont au moins un lien en commun.
Par exemple, sur la figure 1, R1 et R2 sont voisins mais pas R1 et R3.
Lorsque le processus de routage OSPF est lanc sur R2, celui-ci rcupre les paquets HELLO mis par R1 toutes
les 10 secondes (valeur par dfaut du temporisateur appel hello interval). R2 intgre l'adresse IP de R1 dans
une base de donnes appele base d'adjacences (adjacencies database). Cette base contient les adresses des
routeurs voisins. Vous pourrez visionner son contenu grce la commande show ip ospf neighbor. R2 rpond
R1 par un paquet IP unicast. R1 intgre l'adresse IP de R2 dans sa propre base d'adjacences. Ensuite, gnralisez
ce processus l'ensemble des routeurs de la zone.
Cette phase de dcouverte des voisins est fondamentale puisque OSPF est un protocole tat de liens. Il lui faut
connatre ses voisins pour dterminer s'ils sont toujours joignables et donc dterminer l'tat du lien qui les relie.

4-3 - lire le routeur dsign et le routeur dsign de secours


Dans une zone OSPF compose de rseaux de diffusion (broadcast networks) ou de rseaux accs multiples
sans diffusion (NBMA ou non broadcast multiple access networks), pour chacun de ces deux types de rseau, un
routeur doit tre lu routeur dsign (DR ou Designated Router) et un autre routeur dsign de secours (BDR
ou Backup Designated Router). Le routeur dsign (DR) est un routeur particulier qui sert de rfrent pour la
base de donnes topologique reprsentant le rseau.
Pourquoi lire un routeur dsign ? Cela rpond trois objectifs :

rduire le trafic li l'change d'informations sur l'tat des liens (car il n'y a pas d'change entre tous les
routeurs mais entre chaque routeur et le DR) ;
amliorer l'intgrit de la base de donnes topologique (car cette base de donnes doit tre unique) ;
acclrer la convergence (souvenez-vous, c'tait le talon d'Achille de RIP).
-7-

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

Comment lire le DR ? Autrement dit, qui va se taper la corve d'expliquer ses petits camarades la topologie du
rseau ? On ne demande pas qui sait parler anglais ou couper les cheveux comme au temps de la conscription. Mais
comme il faut bien un critre, le routeur lu est celui qui a la plus grande priorit (Router ID ou RID). La priorit est
un nombre sur 8 bits fix par dfaut 1 sur tous les routeurs. Pour dpartager les routeurs ayant la mme priorit,
celui qui est lu a la plus grande adresse IP sur une interface de boucle locale (loopback interface) ou sur un autre
type d'interface active. Le BDR sera le routeur avec la deuxime plus grande priorit.
Afin de s'assurer que votre routeur prfr sera lu DR, il suffit de lui affecter une priorit suprieure 1 avec la
commande ospf priority. Vous devrez faire ceci avant d'activer le processus de routage sur les routeurs car, une
fois lu, le DR n'est jamais remis en cause mme si un routeur avec une priorit plus grande apparat dans la zone.

4-4 - Dcouvrir les routes


Il faut maintenant constituer la base de donnes topologique. Les routeurs communiquent automatiquement les routes
pour les rseaux qui participent au routage dynamique (ceux dclars avec la commande network). Zebra et son
successeur Quagga tant multiprotocoles, ils peuvent galement diffuser des routes provenant d'autres sources que
OSPF, grce la commande redistribute.
Chaque routeur (non DR ou BDR) tablit une relation matre/esclave avec le DR. Le DR initie l'change en
transmettant au routeur un rsum de sa base de donnes topologique via des paquets de donnes appels LSA
(Link State Advertisement).
Ces paquets comprennent essentiellement l'adresse du routeur, le cot du lien et un numro de squence. Ce numro
est un moyen pour dterminer l'anciennet des informations reues. Si les LSA reus sont plus rcents que ceux dans
sa base topologique, le routeur demande une information plus complte par un paquet LSR (Link State Request).
Le DR rpond par des paquets LSU (Link State Update) contenant l'intgralit de l'information demande. Ensuite,
le routeur (non DR ou BDR) transmet les routes meilleures ou inconnues du DR.
L'administrateur peut consulter la base de donnes topologique grce la commande show ip ospf database.

4-5 - lire les routes utiliser


Lorsque le routeur est en possession de la base de donnes topologique, il est en mesure de crer la table de
routage. L'algorithme du SPF est appliqu sur la base topologique. Il en ressort une table de routage contenant les
routes les moins coteuses.
Il faut noter que sur une base de donnes topologique importante, le calcul consomme pas mal de ressources CPU
car l'algorithme est relativement complexe.

4-6 - Maintenir la base topologique


Lorsqu'un routeur dtecte un changement de l'tat d'un lien (cette dtection se fait grce aux paquets HELLO
adresss priodiquement par le routeur ses voisins), celui-ci met un paquet LSU sur l'adresse multicast 224.0.0.6 :
le DR et le BDR de la zone se considrent comme destinataires.
Le DR et le BDR intgrent cette information leur base topologique. Le DR et diffuse l'information sur l'adresse
224.0.0.5 (tous les routeurs OSPF sans distinction). C'est le protocole d'inondation. Toute modification de la topologie
dclenche une nouvelle excution de l'algorithme du SPF et une nouvelle table de routage est constitue.

4-7 - Conclusion partielle


Voil pour les principes fondamentaux d'OSPF mais des notions importantes restent voquer si vous souhaitez
dployer OSPF sur de grands rseaux (en particulier sur le fonctionnement d'OSPF sur un rseau point point et
-8-

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

sur l'agrgation de routes). Si vous voulez approfondir, reportez-vous au livre de C. Huitema cit en bibliographie
qui, bien qu'un peu ancien, est trs complet sur la question. Bien sr, vous pouvez toujours vous plonger dans les
diffrentes RFC qui constituent OSPF (la RFC2328 en particulier) et dont la lecture est toujours aussi agrable et
passionnante ! (je plaisante, bien sr).
Avant d'attaquer la pratique, un dernier concept : les zones OSPF.

5 - Le concept de zone (area)


Contrairement RIP, OSPF a t pens pour supporter de trs grands rseaux. Mais, qui dit grand rseau, dit
nombreuses routes. Donc, afin d'viter que la bande passante ne soit engloutie dans la diffusion des routes, OSPF
introduit le concept de zone (area). Le rseau est divis en plusieurs zones de routage qui contiennent des routeurs
et des htes.
Chaque zone, identifie par un numro, possde sa propre topologie et ne connat pas la topologie des autres zones.
Chaque routeur d'une zone donne ne connat que les routeurs de sa propre zone ainsi que la faon d'atteindre une
zone particulire, la zone numro 0. Toutes les zones doivent tre connectes physiquement la zone 0 (appele
backbone ou rseau fdrateur). Elle est constitue de plusieurs routeurs interconnects. Le backbone est charg
de diffuser les informations de routage qu'il reoit d'une zone aux autres zones. Tout routage bas sur OSPF doit
possder une zone 0.

Figure 2. Rseau dcoup en trois zones


Sur la figure 2, le rseau est dcoup en trois zones dont le backbone. Les routeurs de la zone 1, par exemple,
ne connaissent pas les routeurs de la zone 2 et encore moins la topologie de la zone 2. L'intrt de dfinir des
zones est de limiter le trafic de routage, de rduire la frquence des calculs du plus court chemin par l'algorithme
SPF ainsi que d'avoir une table de routage plus petite (ce qui acclre la convergence). Les routeurs R1 et R4 sont
particuliers puisqu'ils sont cheval sur plusieurs zones (on les appelle ABR pour Area Border Router ou routeur
de bordure de zone). Ces routeurs maintiennent une base de donnes topologique pour chaque zone laquelle il
sont connects. Les ABR sont des points de sortie pour les zones ce qui signifie que les informations de routage
destines aux autres zones doivent passer par l'ABR local la zone. L'ABR se charge alors de retransmettre les
informations de routage au backbone.
Les ABR du backbone redistribueront ensuite ces informations aux autres zones auxquelles ils sont connects.

6 - Place la pratique
Nous allons travailler avec le rseau suivant :

-9-

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

Figure 3. La topologie de travail


Le rseau a t dcoup en trois zones. Vous remarquez que la zone 0 permet de fdrer l'ensemble du rseau. Il
s'agit du backbone dont nous avons dj discut. Le dcoupage de ce rseau en trois zones est un cas d'cole dont
le but est d'examiner la configuration d'OSPF dans un contexte multizone.
Gnralement, on considre qu'une zone peut accueillir plusieurs dizaines de routeurs.
Pour ne pas surcharger ces lignes inutilement, nous nous en tiendrons ici la configuration de R1, R2 et R3. Vous
verrez que la configuration n'est pas trs complexe. Par symtrie, il est facile de l'adapter aux autres routeurs.

6-1 - Situation de dpart


Vous devez crer des fichiers de configuration rudimentaires sur chaque routeur pour les services Zebra ou Quagga :

Fichier /etc/zebra/zebra.conf ou /etc/quagga/zebra.conf pour le dmon principal.


Exemple pour R1 :
hostname R1(ZEBRA)
password foo

Fichier /etc/zebra/ospfd.conf ou /etc/quagga/ospfd.conf pour le dmon ospfd


Exemple pour R1 :
hostname R1(OSPF)
password foo

- 10 -

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

Vous devez ensuite dmarrer (ou redmarrer) les deux dmons zebra et ospfd sur chaque routeur.
Veillez bien respecter l'ordre d'excution des services : d'abord zebra -d puis ospfd ensuite.
Enfin, sur R1 entrez dans le terminal de configuration de ospfd via telnet sur le port 2604 :
Linux# telnet localhost ospfd
Hello, this is zebra (version 0.91a).
Copyright 1996-2001 Kunihiro Ishiguro.
User Access Verification
Password:
R1(OSPF)> enable
R1(OSPF)#

Si vous avez envie de suivre prcisment les changes de messages entre routeurs, Zebra propose un puissant
mcanisme de dbogage grce la commande debug (je vous laisse dcouvrir tous ses paramtres). Supposons
que je veuille garder une trace de tous les messages HELLO mis par R1 :
R1(OSPF)# conf t
R1(OSPF)(config)# log file /var/log/zebra/ospfd.log
R1(OSPF)(config)# debug ospf packet hello send detail

Il faut que le rpertoire /var/log/zebra existe.

6-2 - Activation du processus de routage


Dans le mode config, nous allons activer le processus OSPF :
R1(OSPF)(config)# router ospf
R1(OSPF)(config-router)#

6-3 - Activation des annonces de routes


Le processus de routage OSPF est activ mais rien ne se passe. Comme pour RIP, il faut indiquer sur quel(s)
rseau(x) on souhaite que le routage dynamique soit oprationnel. Ceci se fait par la commande network. Mais,
nouveaut par rapport RIP qui n'intgre pas le concept de zone, il faut indiquer quelle zone sera rattach le
rseau. Sur la figure 3, on voit que R1 est reli deux rseaux. Le rseau 30.0.0.0/8 est attach la zone 0 et le
rseau 11.0.0.0/8 la zone 1. La configuration se fait donc de cette manire :
R1(OSPF)(config-router)# network 30.0.0.0/8 area 0
R1(OSPF)(config-router)# network 11.0.0.0/8 area 1

Que se passe-t-il sur le rseau ? R1 envoie des paquets HELLO sur les interfaces pour lesquelles la commande
network a t saisie. Mais personne n'est l pour les couter. Activez le routage sur R2 en adaptant les commandes
aux spcificits du routeur. Je vous aide un peu. Sur R2, vous raliserez les configurations suivantes :
R2(OSPF)(config-router)# network 11.0.0.0/8 area 1
R2(OSPF)(config-router)# network 12.0.0.0/8 area 1

Enfin, sur R3, vous raliserez les configurations suivantes :


R3(OSPF)(config-router)# network 12.0.0.0/8 area 1
R3(OSPF)(config-router)# network 192.168.3.0/24 area 1

- 11 -

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

Mais sur R3, il y a une particularit. Le rseau 192.168.3.0/24 contient des ordinateurs mais aucun routeur. La
commande network va diffuser sur ce rseau des annonces de routes ce qui consomme inutilement de la bande
passante. Par consquent, nous allons dsactiver cette diffusion :
R3(OSPF)(config-router)# passive-interface eth1

Ainsi, aucune route n'est diffuse sur cette interface. De mme, aucune annonce de route ne sera prise en compte.
Le rseau sera considr comme tant d'extrmit (stub).

6-4 - Affichage de la configuration


Affichons la configuration complte de R1 :
R1(OSPF)(config-router)# end
R1(OSPF)# show running-config
Current configuration:
!
hostname R1(OSPF)
password foo
!
!
!
interface lo
!
interface eth0
!
interface eth1
!
router ospf
network 11.0.0.0/8 area 1
network 30.0.0.0/8 area 0
!
line vty
!
end

Affichons la configuration complte de R3 :


R3(OSPF)# show running-config
Current configuration:
!
hostname R3(OSPF)
password foo
!
!
!
interface lo
!
interface eth0
!
interface eth1
!
router ospf
passive-interface eth1
network 12.0.0.0/8 area 1
network 192.168.3.0/24 area 1
!
line vty
!
end

- 12 -

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

J'espre que vous avez la mme configuration. Si ce n'est pas le cas, vous pouvez annuler une ligne contenant une
erreur en vous remettant au mme endroit o vous avez saisi la commande et en saisissant nouveau la commande,
mais en la faisant prcder de no.
Pour enregistrer la configuration, je vous rappelle que l'on saisit :
R1(OSPF)# copy running-config startup-config

Reproduisez maintenant ces manipulations sur l'ensemble des routeurs du rseau.

6-5 - tat des routeurs


Nos petits routeurs ont, en principe, bien travaill. Dans chaque zone, ils ont lu leur chef, le routeur dsign (DR),
ils ont chang leurs connaissances et calcul une magnifique table de routage, ultraoptimale. En rsum, les deux
stations d'extrmit de la figure doivent pouvoir s'atteindre avec une commande ping. Si jamais ce n'est pas le
cas, c'est que probablement vous vous tes tromp dans une configuration. Dans ce cas, reprenez la configuration
de chaque appareil. Utilisez les outils ping, tcpdump et traceroute pour contrler votre configuration et suivre les
paquets. Et n'oubliez pas que dans un ping, il y a un aller mais aussi un retour !
Afin d'illustrer ce dont nous avons discut dans la toute premire partie de cet article, examinons l'tat du routeur R1.
Nous pouvons faire un diagnostic trs complet de l'appareil en utilisant les nombreuses sous-commandes de show
ip ospf. Vous constaterez que les informations fournies par ospfd sur son tat sont beaucoup plus consquentes
que celles que l'on pouvait extirper de ripd.
Dans un premier temps, je vous propose d'examiner l'tat de sant gnral du routeur R3 :
R3(OSPF)# show ip ospf
OSPF Routing Process, Router ID: 192.168.3.254
Supports only single TOS (TOS0) routes
This implementation conforms to RFC2328
RFC1583Compatibility flag is disabled
SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
Refresh timer 10 secs
Number of external LSA 0
Number of areas attached to this router: 1
Area ID: 0.0.0.1
Shortcutting mode: Default, S-bit consensus: no
Number of interfaces in this area: Total: 2, Active: 2
Number of fully adjacent neighbors in this area: 1
Area has no authentication
Number of full virtual adjacencies going through this area: 0
SPF algorithm executed 13 times
Number of LSA 9

Le premier bloc dcrit le fonctionnement gnral du routeur : l'ID du routeur (gale sa plus grande adresse IP),
conformit aux RFC, valeurs des temporisateurs. Une seule zone est attache ce routeur. C'est la zone 1 (exprime
en notation dcimale pointe). Notre routeur a deux interfaces dans la zone, il n'a qu'un seul voisin. L'algorithme du
SPF a t excut 13 fois. La base de donnes topologique contient neuf tats de liens (LSA). Si notre routeur tait
attach plusieurs zones, le deuxime bloc serait rpt autant de fois que de zones. Vous pourrez le constater
sur R1.
Maintenant, listons nos informations sur les routeurs voisins :
R3(OSPF)# show ip ospf neighbor
Neighbor ID
12.0.0.1

Pri
1

State
Dead Time Address
Full/Backup 00:00:34 12.0.0.1

Interface
eth0

RXmtL
0

RqstL
0

DBsmL
0

- 13 -

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

Dchiffrons ces informations. La diffrence entre la colonne ID et la colonne Address, c'est que l'ID identifie l'appareil
dans le rseau alors que l'adresse correspond l'interface laquelle nous sommes relis avec ce routeur. La colonne
State nous apprend deux choses : il est synchronis avec le routeur dsign (DR) grce la mention Full, c'est le
routeur dsign de secours (BDR) de la zone grce l'indicateur Backup. Ce routeur sera dclar comme inactif si
nous ne recevons pas de message HELLO d'ici 34 secondes (Dead Time).
Voyons le contenu de la base de donnes topologique de R3 :
R3(OSPF)# show ip ospf database
OSPF Router with ID (192.168.3.254)
Router Link States (Area 0.0.0.1)
Link ID
12.0.0.1
30.0.0.1
192.168.3.254

ADV Router
12.0.0.1
30.0.0.1
192.168.3.254

Age
981
952
1063

Seq#
0x80000006
0x80000003
0x80000005

CkSum
0xf9e2
0xb13e
0x15b7

Link count
2
1
2

Net Link States (Area 0.0.0.1)


Link ID
11.0.0.2
12.0.0.2

ADV Router
12.0.0.1
192.168.3.254

Age
981
1063

Seq#
CkSum
0x80000001 0xda39
0x80000001 0x5d0b

Summary Link States (Area 0.0.0.1)


Link ID
21.0.0.0
22.0.0.0
30.0.0.0
172.18.0.0

ADV Router
30.0.0.1
30.0.0.1
30.0.0.1
30.0.0.1

Age
837
702
976
599

Seq#
0x80000001
0x80000001
0x80000001
0x80000001

CkSum
0x0d08
0x64a5
0x33e2
0x4a0d

Route
21.0.0.0/8
22.0.0.0/8
30.0.0.0/8
172.18.0.0/24

Ces trois tableaux prsentent de faon synthtique l'ensemble des LSA stocks dans la base topologique.

Le premier tableau contient des LSA diffuss par chaque routeur. Ils dcrivent l'tat des interfaces de chaque
routeur.
Le deuxime tableau contient des LSA diffuss par le routeur dsign (DR). Ils dcrivent la liste des routeurs
prsents dans chaque rseau.
Le dernier tableau contient un rsum des routes diffuses par le routeur de bordure de zone (ABR). Ce sont
des routes qu'il a reues via le rseau fdrateur (backbone) par les routeurs des autres zones.

L'ge et le numro de squence sont utiliss pour mettre jour la base lorsque des LSA sont reus. La somme de
contrle (checksum not CkSum est utilise pour contrler l'intgrit des LSA.
Pour obtenir des informations dtailles sur chaque LSA, vous pouvez complter la commande show ip ospf
database par les options suivantes : router, network ou summary. Par exemple : show ip ospf database router
192.168.3.254 (qui correspond la troisime ligne du premier tableau) vous apprendra que ce router est reli deux
rseaux : un de transit (12.0.0.0/8) et un d'extrmit (stub) 192.168.3.0/24.
Enfin, si vous voulez consulter la table de routage obtenue aprs traitement par SPF des diffrents LSA, vous n'aurez
qu' saisir un show ip ospf route.
Il existe une diffrence entre cette table et celle utilise par le dmon zebra pour le routage
proprement dit. Souvenez-vous que Zebra et Quagga sont multiprotocoles et qu'ils ont
une architecture modulaire (voir LM 43 : http://inetdoc.developpez.com/tutoriels/routagedynamique-protocole-rip/). Chaque dmon calcule une table de routage partir des
informations dont il dispose (et qui ne sont pas ncessairement les mmes pour chaque dmon).
Ensuite, ils transmettent chacun leur table au dmon zebra qui en fait la synthse. Cette
synthse constitue la vritable table de routage utilise pour router les paquets.
Nous avons fait un tour d'horizon des principales commandes de Zebra permettant de surveiller l'tat de ospfd. Il y
en a encore beaucoup d'autres que je vous laisse dcouvrir (faites un show ip ospf ? par exemple). Il nous reste
- 14 -

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

observer la table de routage obtenue par Zebra. Quittez ospfd et connectez-vous sur le dmon zebra via la commande
telnet localhost 2601 :
R3(Zebra)> show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
B - BGP, > - selected route, * - FIB route
O>*
O
C>*
O>*
O>*
O>*
C>*
O>*
O
C>*

11.0.0.0/8 [110/20] via 12.0.0.1, eth0, 00:12:48


12.0.0.0/8 [110/10] is directly connected, eth0, 00:14:09
12.0.0.0/8 is directly connected, eth0
21.0.0.0/8 [110/40] via 12.0.0.1, eth0, 00:11:18
22.0.0.0/8 [110/50] via 12.0.0.1, eth0, 00:10:16
30.0.0.0/8 [110/30] via 12.0.0.1, eth0, 00:12:13
127.0.0.0/8 is directly connected, lo
172.18.0.0/24 [110/60] via 12.0.0.1, eth0, 00:08:48
192.168.3.0/24 [110/10] is directly connected, eth1, 00:14:19
192.168.3.0/24 is directly connected, eth1

Les routes notes 'O' ont t dcouvertes par OSPF. Entre crochets, on observe la distance administrative du
protocole (110 par dfaut pour OSPF) et le cot de la route pour accder au rseau. Dans le cas de la topologie
tudie, il n'y a que des rseaux 10 Mbps, donc avec un cot par dfaut de 10 pour chaque lien.

6-6 - Quelques lments sur la scurit


6-6-1 - Filtrer la diffusion des routes
Le premier inconvnient d'un protocole de routage dynamique comme OSPF est sa volubilit. Il a tendance dvoiler
tout un tas d'informations sur les rseaux qu'un administrateur consciencieux n'a pas forcment envie de rvler.
Pour limiter la diffusion des routes au strict minimum, ospfd intgre, l'instar de ripd, un mcanisme de liste de
contrle d'accs (access-lists).
Reportez-vous l'article http://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-rip/ publi dans
le numro 43 de http://www.unixgarden.com/index.php/category/gnu-linux-magazine. La configuration est
strictement identique. J'en profite pour faire un peu de publicit : si vous tes intresss par les problmes de scurit,
je vous conseille l'excellent magazine Multisystem & Internet Security Cookbook (MISC). La srie d'articles sur la
protection de l'infrastructure rseau IP constitue sur certains points un approfondissement intressant.

6-6-2 - Protger les annonces de routes


Le deuxime inconvnient d'un protocole de routage dynamique comme OSPF est sa navet. Il croit tout ce qu'on lui
dit ! Un petit malin pourrait s'amuser diffuser des routes farfelues vos routeurs, ce qui pourrait provoquer des dnis
de service. Pour pallier cela, on peut activer l'authentification des annonces sur une zone. Voici les manipulations
raliser sur chaque routeur :
Routeur(OSPF)(config-router)# area 1 authentication message-digest

Ensuite, pour chaque interface participant la diffusion des routes :


Routeur(OSPF)(config)# int ethx
Routeur(OSPF)(config-if)# ospf message-digest-key 1 md5 motdepasse

Vous adapterez le motdepasse vos besoins. Ce mot de passe doit bien sr tre connu de tous les routeurs.

- 15 -

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

Routage dynamique - Le protocole OSPF par Pacme Massol

7 - Conclusion
OSPF est un protocole de routage dynamique moderne, robuste et conu pour les grands rseaux. On constate qu'il
est nettement plus complexe que RIP. Pas forcment dans sa configuration mais dans son fonctionnement interne.
Un inconvnient de ce protocole est qu'il peut tre gourmand en puissance de calcul et en mmoire lorsque le rseau
comporte beaucoup de routes ou qu'il y a de frquentes modifications de topologie.
OSPF est un protocole IGP (Interior Gateway Protocol), c'est--dire qu'il agit au sein d'un systme autonome. Un
AS (Autonomous System) est un ensemble de rseaux grs par un administrateur commun. Chaque systme
autonome possde un numro identifiant sur 16 bits dlivr par l'IANA (Internet Assigned Numbers Authority) ou
ses dlgations. Classiquement, les multinationales, les oprateurs de tlcom ou les fournisseurs d'accs Internet
dtiennent un numro de systme autonome.
Pour assurer le routage entre les systmes autonomes, un protocole de type EGP (Exterior Gateway Protocol) doit
tre mis en uvre. Dans le cas de l'Internet, c'est gnralement BGP (Border Gateway Protocol) qui assume cette
mission. BGP, protocole support par Zebra, constitue un vaste terrain d'investigation.
Pour terminer, je voudrais saluer tous mes tudiants de BTS Informatique de gestion Loudun qui m'ont aid dans
la ralisation de ce document.

7-1 - Bibliographie
TCP/IP : Architecture, protocoles et applications : Douglas COMER, DUNOD. ISBN: 2-10-005384-1 (09/2001)
830 p.
Le routage dans l'Internet : Christian HUITEMA, EYROLLES. ISBN: 2-212-08902-3 (10/1994) 418 p.

7-2 - Liens

Version originale du document et page personnelle de http://www.pmassol.net/

8 - Remerciements Developpez
L'quipe Rseaux remercie Pacme Massol et Philippe Latu pour la rdaction de ce tutoriel.
Nos remerciements Phanloga pour sa relecture orthographique.
N'hsitez pas commenter cet article !

- 16 -

Copyright (c) 2002-2004 Pacme Massol. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled GNU Free Documentation License . Copyright (c) 2002-2004 Pacme Massol. Permission
est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation

S-ar putea să vă placă și