Comment fonctionne le protocole OSPF ?

Publié le 21 janvier 2014 - Mis à jour le 18 avril 2020 

Comment fonctionne le protocole OSPF ?

Version PDF Version hors-ligne

ePub, Azw et Mobi

Comment fonctionne le protocole OSPF ?
 
Comment fonctionne le protocole OSPF ?
 
Comment fonctionne le protocole OSPF ?
 
Comment fonctionne le protocole OSPF ?
   &lt;/div&gt; &lt;/section&gt;&lt;/div&gt;&lt;section itemprop="articleBody" class="articleBody"&gt; &lt;h2 class="TitreSection0" id="LI"&gt;I. Copyright et Licence&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h2&gt;&lt;div class="BlocSection0"&gt; &lt;p&gt;Copyright (c) 2002-2005 Pacôme 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 «&amp;nbsp;GNU Free Documentation License&amp;nbsp;».&lt;/p&gt; &lt;p&gt;Copyright (c) 2002-2005 Pacôme Massol. Permission est accordée 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 ultérieure publiée par la Free Software Foundation&amp;nbsp;; sans Sections Invariables&amp;nbsp;; sans Texte de Première de Couverture, et sans Texte de Quatrième de Couverture. Une copie de la présente Licence est incluse dans la section intitulée «&amp;nbsp;Licence de Documentation Libre GNU&amp;nbsp;».&lt;/p&gt; &lt;h3 class="TitreSection1" id="LI-A"&gt;I-A. Métainformation&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Cet article est écrit avec &lt;a target="_blank" class="lienArticle simple" href="http://www.docbook.org/"&gt;DocBook&lt;/a&gt; XML sur un système &lt;a target="_blank" class="lienArticle simple" href="http://www.debian.org/"&gt;Debian GNU/Linux&lt;/a&gt;. Il est disponible en version imprimable au format PDF&amp;nbsp;: &lt;a target="_blank" class="lienArticle simple" href="http://www.inetdoc.net/pdf/zebra.ospf.pdf"&gt;zebra.ospf.pdf&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Toutes les commandes utilisées dans ce document ne sont pas spécifiques à une version particulière des systèmes UNIX ou GNU/Linux. Comme la distribution &lt;span class="important"&gt;Debian GNU/Linux&lt;/span&gt; est utilisée pour l'ensemble des supports du projet &lt;span class="important"&gt;inetdoc.LiNUX&lt;/span&gt;, voici une liste des paquets contenant les commandes nécessaires&amp;nbsp;:&lt;/p&gt; &lt;ul class="ListeDVP"&gt; &lt;li&gt;net-tools - The NET-3 networking toolkit&amp;nbsp;;&lt;/li&gt; &lt;li&gt;quagga - Unofficial successor of the Zebra BGP/OSPF/RIP routing daemon&amp;nbsp;;&lt;/li&gt; &lt;li&gt;quagga-doc - info files for quagga&amp;nbsp;;&lt;/li&gt; &lt;li&gt;zebra &amp;amp; zebra-doc - anciens paquets non mis à jour depuis 2003.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Les copies d'écran présentées 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 gêner les lecteurs.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;h2 class="TitreSection0" id="LII"&gt;II. Avant-propos&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h2&gt;&lt;div class="BlocSection0"&gt; &lt;p&gt;Ce document est la suite de deux articles publiés respectivement dans &lt;a target="_blank" class="lienArticle simple" href="http://www.unixgarden.com/index.php/category/gnu-linux-magazine"&gt;Linux Magazine&lt;/a&gt; numéros 42 de septembre et 43 d'octobre 2002. Étant donné que cela remonte déjà à quelque temps, un rapide résumé est peut-être nécessaire avant de passer au vif du sujet&amp;nbsp;: le protocole de routage dynamique OSPF et sa mise en œuvre avec Zebra.&lt;/p&gt; &lt;h3 class="TitreSection1" id="LII-A"&gt;II-A. Résumé des épisodes précédents&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Le routeur est un élément essentiel dans l'aiguillage des paquets de données dans un inter réseau. Pour chaque paquet reçu, il extrait le préfixe réseau de l'adresse IP de destination du paquet et le recherche dans une table qu'il possède en mémoire. Cette table de routage contient essentiellement une liste d'adresses réseau et, pour chacune, le moyen de l'atteindre, à savoir l'adresse d'un routeur immédiatement voisin et situé sur la route vers la destination. Si le routeur trouve dans cette table le préfixe réseau, il transmet le paquet sur le réseau 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.&lt;/p&gt; &lt;p&gt;Seulement voilà, il faut saisir les tables de routage&amp;nbsp;! Travail fastidieux pour les petits doigts agiles de l'administrateur lorsque les réseaux sont de grande taille. De plus, compte tenu de l'évolution du nombre de réseaux à interconnecter dans le cas d'Internet, il est de toute façon devenu impossible de se cantonner au routage statique (souvenez-vous, dans le document &lt;a target="_blank" class="lienArticle https" href="https://inetdoc.developpez.com/tutoriels/initiation-routage"&gt;première partie, routage statique&lt;/a&gt; nous nous sommes adonnés aux joies de la saisie de routes statiques avec Zebra).&lt;/p&gt; &lt;p&gt;C'est pourquoi le routage dynamique a été imaginé afin d'alléger la charge d'administration, mais aussi pour réaliser des réseaux tolérants aux pannes d'un routeur ou d'une liaison. RIP est un bon exemple de protocole de routage dynamique (reportez-vous au document &lt;a target="_blank" class="lienArticle https" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-rip/"&gt;deuxième partie, routage RIP&lt;/a&gt; pour découvrir tous ses secrets). Les routeurs supportant RIP s'échangent périodiquement des informations sur les routes qu'ils possèdent (les fameux «vecteurs de distance»). Si une panne se produit, les routeurs immédiatement voisins notent que certaines routes sont devenues inaccessibles et propagent l'information aux autres. Mais hélas, RIP souffre de certaines limitations qui ont poussé l'IETF (&lt;a target="_blank" class="lienArticle simple" href="http://www.ietf.org/"&gt;TheInternet Engineering Task Force&lt;/a&gt;) à plancher sur un protocole plus robuste, plus efficace, plus paramétrable et supportant des réseaux de grande taille. Cette merveille s'appelle OSPF (&lt;span class="important"&gt;Open Shortest Path First&lt;/span&gt;).&lt;/p&gt; &lt;p&gt;Le fonctionnement de ce protocole est défini dans le document &lt;a target="_blank" class="lienArticle simple" href="http://www.faqs.org/rfcs/rfc2328.html"&gt;RFC2328&lt;/a&gt;. Les logiciels de Zebra et de son successeur Quagga supportent cette définition du protocole OSPF.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;h2 class="TitreSection0" id="LIII"&gt;III. Les grands principes d'OSPF&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h2&gt;&lt;div class="BlocSection0"&gt; &lt;p&gt;OSPF est un protocole de routage dynamique défini par l'IETF à la fin des années 80. Il a fait l'objet d'un historique relativement complexe de RFC (voir &lt;a target="_blank" class="lienArticle simple" href="http://tools.ietf.org/wg/ospf/"&gt;OSPF RFC List&lt;/a&gt;). Ce protocole a deux caractéristiques essentielles&amp;nbsp;:&lt;/p&gt; &lt;ul class="ListeDVP"&gt; &lt;li&gt;Il est ouvert&amp;nbsp;: c'est le sens du terme &lt;span class="important"&gt;Open&lt;/span&gt; de OSPF. Son fonctionnement est connu de tous.&lt;/li&gt; &lt;li&gt;Il utilise l'algorithme SPF pour &lt;span class="important"&gt;Shortest Path First&lt;/span&gt;, plus connu sous le nom d'algorithme de Dijkstra, afin d'élire la meilleure route vers une destination donnée.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Examinons une topologie qui nous servira de support pour les explications&amp;nbsp;:&lt;/p&gt; &lt;div class="div-figure"&gt;&lt;figure class="figure-center"&gt;&lt;a target="_blank" data-lightbox="lightbox[article]" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/images/spf1.png"&gt;&lt;img class="ImgCliquable figure-img-caption" src="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/images/spf1.png" alt="Image non disponible" width="550" height="183"&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt; &lt;p&gt;&lt;b&gt;Figure&amp;nbsp;1.&amp;nbsp;Exemple de topologie&lt;/b&gt; &lt;/p&gt; &lt;h3 class="TitreSection1" id="LIII-A"&gt;III-A. La notion de coût&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Supposons que du routeur R1 on cherche à atteindre le réseau 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 représentés sous forme d'éclairs soient «rapides» (de type FastEthernet à 100 Mbps par exemple) et que les liens représentés sous forme de segments droits soient «lents» (de type Ethernet à 10 Mbps par exemple). Le choix du protocole RIP n'est plus du tout pertinent&amp;nbsp;!&lt;/p&gt; &lt;p&gt;Le protocole OSPF fonctionne différemment. Il attribue un coût à chaque liaison (appelée &lt;span class="important"&gt;lien&lt;/span&gt; dans le jargon OSPF) afin de privilégier l'élection de certaines routes. Plus le coût est faible, plus le lien est intéressant. Par défaut, les coûts suivants sont utilisés en fonction de la bande passante du lien&amp;nbsp;:&lt;/p&gt; &lt;div class="TextAlign-center"&gt;&lt;table class="tableau" style="border-width:4px;width:100%" border="1"&gt; &lt;tr&gt; &lt;td class="colonne" style="width:52%;background-color:#a6a5c2"&gt; &lt;p&gt;&lt;b&gt;Type de réseau&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="width:48%;background-color:#a6a5c2"&gt; &lt;p&gt;&lt;b&gt;Coût par défaut&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;FDDI, FastEthernet&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;1&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;Ethernet 10 Mbps&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;10&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;E1 (2,048 Mbps)&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;48&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;T1 (1,544 Mbps)&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;65&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;64 Kbps&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;1562&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;56 Kbps&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;1758&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;19.2 Kbps&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;5208&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt; &lt;p&gt;La formule de calcul est simplissime&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e417"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e417" onclick="selectionCode('contenuCoded0e417', 'IdTitreCode-d0e417');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e417" class="contenuCode"&gt; 10^8 coût = ------------------------------- bande passante du lien en bps&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;La référence 10^8 correspond à un débit maximum de 100 Mbps. Dans le cas où l'on utilise des interfaces avec un débit supérieur, il est possible de redéfinir la référence avec une commande du type auto&lt;b&gt;cost reference-bandwidth 1000&lt;/b&gt; pour la valeur 10^9.&lt;/p&gt; &lt;p&gt;Le protocole OSPF privilégie les routes qui ont un coût faible, donc celles qui sont supposées rapides en terme de débit théorique.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LIII-B"&gt;III-B. La base de données topologique&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Avec le protocole OSPF, tous les routeurs d'un même réseau (on parle de «zone» dans le vocabulaire OSPF, ceci vous sera expliqué avant la mise en pratique) travaillent sur une base de données topologique identique qui décrit le réseau. Cette base a été constituée pendant une première phase de découverte qui vous sera expliquée un peu plus loin. Examinons la base de données suivante qui décrit la topologie de la figure 1&amp;nbsp;:&lt;/p&gt; &lt;div class="TextAlign-center"&gt;&lt;table class="tableau" style="border-width:4px;width:100%" border="1"&gt; &lt;tr&gt; &lt;td class="colonne" style="width:72%;background-color:#a6a5c2"&gt; &lt;p&gt;&lt;b&gt;Arc&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="width:28%;background-color:#a6a5c2"&gt; &lt;p&gt;&lt;b&gt;Coût&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;R1, R2&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="text-align:right"&gt; &lt;p&gt;1&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;R1, R5&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="text-align:right"&gt; &lt;p&gt;10&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;R2, R3&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="text-align:right"&gt; &lt;p&gt;1&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;R3, R4&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="text-align:right"&gt; &lt;p&gt;10&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;R3, R5&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="text-align:right"&gt; &lt;p&gt;1&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;R4, R5&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="text-align:right"&gt; &lt;p&gt;10&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;R4, 192.168.1.0&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="text-align:right"&gt; &lt;p&gt;10&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LIII-C"&gt;III-C. L'élection des meilleures routes&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;L'algorithme SPF de Dijsktra va traiter cette base de données afin de déterminer les routes les moins coûteuses. Une fois le traitement réalisé, chaque routeur se voit comme la racine d'un arbre contenant les meilleures routes. Par exemple&amp;nbsp;:&lt;/p&gt; &lt;div class="TextAlign-center"&gt;&lt;table class="tableau" style="border-width:0px;width:100%"&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;&lt;a target="_blank" data-lightbox="lightbox[article]" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/images/spf2.png"&gt;&lt;img src="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/images/spf2.png" alt="Image non disponible" width="121" height="325" class="ImgCliquable image_verticale"&gt;&lt;/a&gt; &lt;br&gt; Topologie vue de R1&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;&lt;a target="_blank" data-lightbox="lightbox[article]" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/images/spf3.png"&gt;&lt;img src="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/images/spf3.png" alt="Image non disponible" width="151" height="325" class="ImgCliquable image_verticale"&gt;&lt;/a&gt; &lt;br&gt; Topologie vue de R5&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt; &lt;p&gt;Dans l'exemple, entre R1 et 192.168.1.0, la meilleure route passe par R2, R3 et R4 pour un coût total de 1 + 1 + 10 + 10 soit 22.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LIII-D"&gt;III-D. La détermination d'une table de routage&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;La base de données topologique décrit le réseau, mais ne sert pas directement au routage. La table de routage est déterminée par l'application de l'algorithme du SPF sur la base topologique. Sur R1, voici un extrait de la table de routage calculée par SPF au sujet du réseau 192.168.1.0&amp;nbsp;:&lt;/p&gt; &lt;div class="TextAlign-center"&gt;&lt;table class="tableau" style="border-width:4px;width:100%" border="1"&gt; &lt;tr&gt; &lt;td class="colonne" style="width:46%;background-color:#a6a5c2"&gt; &lt;p&gt;&lt;b&gt;Réseau de destination&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="width:42%;background-color:#a6a5c2"&gt; &lt;p&gt;&lt;b&gt;Moyen de l'atteindre&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="width:12%;background-color:#a6a5c2"&gt; &lt;p&gt;&lt;b&gt;Coût&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;192.168.1.0&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;R2&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;22&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt; &lt;p&gt;Sur R5, on aura l'extrait suivant&amp;nbsp;:&lt;/p&gt; &lt;div class="TextAlign-center"&gt;&lt;table class="tableau" style="border-width:4px;width:100%" border="1"&gt; &lt;tr&gt; &lt;td class="colonne" style="width:46%;background-color:#a6a5c2"&gt; &lt;p&gt;&lt;b&gt;Réseau de destination&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="width:42%;background-color:#a6a5c2"&gt; &lt;p&gt;&lt;b&gt;Moyen de l'atteindre&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;td class="colonne" style="width:12%;background-color:#a6a5c2"&gt; &lt;p&gt;&lt;b&gt;Coût&lt;/b&gt; &lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="colonne"&gt; &lt;p&gt;192.168.1.0&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;R4&lt;/p&gt; &lt;/td&gt; &lt;td class="colonne"&gt; &lt;p&gt;20&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;h2 class="TitreSection0" id="LIV"&gt;IV. Le fonctionnement d'OSPF un peu plus en détail&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h2&gt;&lt;div class="BlocSection0"&gt; &lt;p&gt;Pour administrer un réseau OSPF correctement, il est indispensable de comprendre le fonctionnement interne du protocole.&lt;/p&gt; &lt;p&gt;À l'intérieur d'une même zone, les routeurs fonctionnant sous OSPF doivent préalablement remplir les tâches suivantes avant de pouvoir effectuer leur travail de routage&amp;nbsp;:&lt;/p&gt; &lt;ul class="ListeDVP"&gt; &lt;li&gt;établir la liste des routeurs voisins&amp;nbsp;;&lt;/li&gt; &lt;li&gt;élire le routeur désigné et le routeur de secours&amp;nbsp;;&lt;/li&gt; &lt;li&gt;découvrir les routes&amp;nbsp;;&lt;/li&gt; &lt;li&gt;élire les routes à utiliser&amp;nbsp;;&lt;/li&gt; &lt;li&gt;maintenir la base topologique.&lt;/li&gt; &lt;/ul&gt; &lt;h3 class="TitreSection1" id="LIV-A"&gt;IV-A. État initial&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Le processus de routage OSPF est inactif sur tous les routeurs de la figure 1.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LIV-B"&gt;IV-B. Établir la liste des routeurs voisins&amp;nbsp;: Hello, my name is R1 and I'm an OSPF router.&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Les routeurs OSPF sont bien élevés. Dès qu'ils sont activés, ils n'ont qu'une hâte&amp;nbsp;: se présenter et faire connaissance avec leurs voisins. En effet, lorsque le processus de routage est lancé sur R1 (commande &lt;b&gt;router ospf&lt;/b&gt;), des paquets de données (appelés paquets HELLO) sont envoyés sur chaque interface où le routage dynamique a été activé (commande &lt;b&gt;network&lt;/b&gt;).&lt;/p&gt; &lt;p&gt;L'adresse &lt;span class="important"&gt;multicast&lt;/span&gt; 224.0.0.5 est utilisée, tout routeur OSPF se considère comme destinataire. Ces paquets ont pour but de s'annoncer auprès 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.&lt;/p&gt; &lt;p&gt;Lorsque le processus de routage OSPF est lancé sur R2, celui-ci récupère les paquets HELLO émis par R1 toutes les 10 secondes (valeur par défaut du temporisateur appelé &lt;span class="important"&gt;hello interval&lt;/span&gt;). R2 intègre l'adresse IP de R1 dans une base de données appelée «base d'adjacences» (&lt;span class="important"&gt;adjacencies database&lt;/span&gt;). Cette base contient les adresses des routeurs voisins. Vous pourrez visionner son contenu grâce à la commande &lt;b&gt;show ip ospf neighbor&lt;/b&gt;. R2 répond à R1 par un paquet IP &lt;span class="important"&gt;unicast&lt;/span&gt;. R1 intègre l'adresse IP de R2 dans sa propre base d'adjacences. Ensuite, généralisez ce processus à l'ensemble des routeurs de la zone.&lt;/p&gt; &lt;p&gt;Cette phase de découverte des voisins est fondamentale puisque OSPF est un protocole à état de liens. Il lui faut connaître ses voisins pour déterminer s'ils sont toujours joignables et donc déterminer l'état du lien qui les relie.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LIV-C"&gt;IV-C. Élire le routeur désigné et le routeur désigné de secours&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Dans une zone OSPF composée de réseaux de diffusion (&lt;span class="important"&gt;broadcast networks&lt;/span&gt;) ou de réseaux à accès multiples sans diffusion (NBMA ou &lt;span class="important"&gt;non broadcast multiple access networks&lt;/span&gt;), pour chacun de ces deux types de réseau, un routeur doit être élu «routeur désigné» (DR ou &lt;span class="important"&gt;Designated Router&lt;/span&gt;) et un autre «routeur désigné de secours» (BDR ou &lt;span class="important"&gt;Backup Designated Router&lt;/span&gt;). Le «routeur désigné» (DR) est un routeur particulier qui sert de référent pour la base de données topologique représentant le réseau.&lt;/p&gt; &lt;p&gt;Pourquoi élire un routeur désigné&amp;nbsp;? Cela répond à trois objectifs&amp;nbsp;:&lt;/p&gt; &lt;ul class="ListeDVP"&gt; &lt;li&gt;réduire 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)&amp;nbsp;;&lt;/li&gt; &lt;li&gt;améliorer l'intégrité de la base de données topologique (car cette base de données doit être unique)&amp;nbsp;;&lt;/li&gt; &lt;li&gt;accélérer la convergence (souvenez-vous, c'était le talon d'Achille de RIP).&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Comment élire le DR&amp;nbsp;? Autrement dit, qui va se taper la corvée d'expliquer à ses petits camarades la topologie du réseau&amp;nbsp;? On ne demande pas qui sait parler anglais ou couper les cheveux comme au temps de la conscription. Mais comme il faut bien un critère, le routeur élu est celui qui a la plus grande priorité (&lt;span class="important"&gt;Router ID&lt;/span&gt; ou RID). La priorité est un nombre sur 8 bits fixé par défaut à 1 sur tous les routeurs. Pour départager les routeurs ayant la même priorité, celui qui est élu a la plus grande adresse IP sur une interface de boucle locale (&lt;span class="important"&gt;loopback interface&lt;/span&gt;) ou sur un autre type d'interface active. Le BDR sera le routeur avec la deuxième plus grande priorité.&lt;/p&gt; &lt;p&gt;Afin de s'assurer que votre routeur préféré sera élu DR, il suffit de lui affecter une priorité supérieure à 1 avec la commande &lt;b&gt;ospf priority&lt;/b&gt;. 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 même si un routeur avec une priorité plus grande apparaît dans la zone.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LIV-D"&gt;IV-D. Découvrir les routes&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Il faut maintenant constituer la base de données topologique. Les routeurs communiquent automatiquement les routes pour les réseaux qui participent au routage dynamique (ceux déclarés avec la commande &lt;b&gt;network&lt;/b&gt;). Zebra et son successeur Quagga étant multiprotocoles, ils peuvent également diffuser des routes provenant d'autres sources que OSPF, grâce à la commande &lt;b&gt;redistribute&lt;/b&gt;.&lt;/p&gt; &lt;p&gt;Chaque routeur (non DR ou BDR) établit une relation maître/esclave avec le DR. Le DR initie l'échange en transmettant au routeur un résumé de sa base de données topologique via des paquets de données appelés LSA (&lt;span class="important"&gt;Link State Advertisement&lt;/span&gt;).&lt;/p&gt; &lt;p&gt;Ces paquets comprennent essentiellement l'adresse du routeur, le coût du lien et un numéro de séquence. Ce numéro est un moyen pour déterminer l'ancienneté des informations reçues. Si les LSA reçus sont plus récents que ceux dans sa base topologique, le routeur demande une information plus complète par un paquet LSR (&lt;span class="important"&gt;Link State Request&lt;/span&gt;). Le DR répond par des paquets LSU (&lt;span class="important"&gt;Link State Update&lt;/span&gt;) contenant l'intégralité de l'information demandée. Ensuite, le routeur (non DR ou BDR) transmet les routes meilleures ou inconnues du DR.&lt;/p&gt; &lt;p&gt;L'administrateur peut consulter la base de données topologique grâce à la commande &lt;b&gt;show ip ospf database&lt;/b&gt;.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LIV-E"&gt;IV-E. Élire les routes à utiliser&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Lorsque le routeur est en possession de la base de données topologique, il est en mesure de créer 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 coûteuses.&lt;/p&gt; &lt;p&gt;Il faut noter que sur une base de données topologique importante, le calcul consomme pas mal de ressources CPU car l'algorithme est relativement complexe.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LIV-F"&gt;IV-F. Maintenir la base topologique&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Lorsqu'un routeur détecte un changement de l'état d'un lien (cette détection se fait grâce aux paquets HELLO adressés périodiquement par le routeur à ses voisins), celui-ci émet un paquet LSU sur l'adresse &lt;span class="important"&gt;multicast&lt;/span&gt; 224.0.0.6&amp;nbsp;: le DR et le BDR de la zone se considèrent comme destinataires.&lt;/p&gt; &lt;p&gt;Le DR et le BDR intègrent 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 déclenche une nouvelle exécution de l'algorithme du SPF et une nouvelle table de routage est constituée.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LIV-G"&gt;IV-G. Conclusion partielle&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Voilà pour les principes fondamentaux d'OSPF, mais des notions importantes restent à évoquer si vous souhaitez déployer OSPF sur de grands réseaux (en particulier sur le fonctionnement d'OSPF sur un réseau point à point et sur l'agrégation de routes). Si vous voulez approfondir, reportez-vous au livre de C. Huitema cité en bibliographie qui, bien qu'un peu ancien, est très complet sur la question. Bien sûr, vous pouvez toujours vous plonger dans les différentes RFC qui constituent OSPF (la &lt;a target="_blank" class="lienArticle simple" href="http://www.faqs.org/rfcs/rfc2328.html"&gt;RFC2328&lt;/a&gt; en particulier) et dont la lecture est toujours aussi agréable et passionnante&amp;nbsp;! (Je plaisante, bien sûr.)&lt;/p&gt; &lt;p&gt;Avant d'attaquer la pratique, un dernier concept&amp;nbsp;: les zones OSPF.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;h2 class="TitreSection0" id="LV"&gt;V. Le concept de zone (area)&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h2&gt;&lt;div class="BlocSection0"&gt; &lt;p&gt;Contrairement à RIP, OSPF a été pensé pour supporter de très grands réseaux. Mais, qui dit grand réseau, 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 (&lt;span class="important"&gt;area&lt;/span&gt;). Le réseau est divisé en plusieurs zones de routage qui contiennent des routeurs et des hôtes.&lt;/p&gt; &lt;p&gt;Chaque zone, identifiée par un numéro, possède sa propre topologie et ne connaît pas la topologie des autres zones. Chaque routeur d'une zone donnée ne connaît que les routeurs de sa propre zone ainsi que la façon d'atteindre une zone particulière, la zone numéro 0. Toutes les zones doivent être connectées physiquement à la zone 0 (appelée &lt;span class="important"&gt;backbone&lt;/span&gt; ou réseau fédérateur). Elle est constituée de plusieurs routeurs interconnectés. Le &lt;span class="important"&gt;backbone&lt;/span&gt; est chargé de diffuser les informations de routage qu'il reçoit d'une zone aux autres zones. Tout routage basé sur OSPF doit posséder une zone 0.&lt;/p&gt; &lt;div class="div-figure"&gt;&lt;figure class="figure-center"&gt;&lt;a target="_blank" data-lightbox="lightbox[article]" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/images/spf4.png"&gt;&lt;img class="ImgCliquable figure-img-caption" src="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/images/spf4.png" alt="Image non disponible" width="550" height="173"&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt; &lt;p&gt;&lt;b&gt;Figure&amp;nbsp;2.&amp;nbsp;Réseau découpé en trois zones&lt;/b&gt; &lt;/p&gt; &lt;p&gt;Sur la figure 2, le réseau est découpé en trois zones dont le &lt;span class="important"&gt;backbone&lt;/span&gt;. 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'intérêt de définir des zones est de limiter le trafic de routage, de réduire la fréquence des calculs du plus court chemin par l'algorithme SPF ainsi que d'avoir une table de routage plus petite (ce qui accélère la convergence). Les routeurs R1 et R4 sont particuliers puisqu'ils sont «à cheval» sur plusieurs zones (on les appelle ABR pour &lt;span class="important"&gt;Area Border Router&lt;/span&gt; ou routeur de bordure de zone). Ces routeurs maintiennent une base de données topologique pour chaque zone à laquelle ils sont connectés. Les ABR sont des points de sortie pour les zones ce qui signifie que les informations de routage destinées aux autres zones doivent passer par l'ABR local à la zone. L'ABR se charge alors de retransmettre les informations de routage au &lt;span class="important"&gt;backbone&lt;/span&gt;.&lt;/p&gt; &lt;p&gt;Les ABR du &lt;span class="important"&gt;backbone&lt;/span&gt; redistribueront ensuite ces informations aux autres zones auxquelles ils sont connectés.&lt;/p&gt; &lt;/div&gt; &lt;h2 class="TitreSection0" id="LVI"&gt;VI. Place à la pratique&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h2&gt;&lt;div class="BlocSection0"&gt; &lt;p&gt;Nous allons travailler avec le réseau suivant&amp;nbsp;:&lt;/p&gt; &lt;div class="div-figure"&gt;&lt;figure class="figure-center"&gt;&lt;a target="_blank" data-lightbox="lightbox[article]" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/images/spf5.png"&gt;&lt;img class="ImgCliquable figure-img-caption" src="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/images/spf5.png" alt="Image non disponible" width="310" height="325"&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt; &lt;p&gt;&lt;b&gt;Figure&amp;nbsp;3.&amp;nbsp;La topologie de travail&lt;/b&gt; &lt;/p&gt; &lt;p&gt;Le réseau a été découpé en trois zones. Vous remarquez que la zone 0 permet de fédérer l'ensemble du réseau. Il s'agit du &lt;span class="important"&gt;backbone&lt;/span&gt; dont nous avons déjà discuté. Le découpage de ce réseau en trois zones est un cas d'école dont le but est d'examiner la configuration d'OSPF dans un contexte multizone.&lt;/p&gt; &lt;p&gt;Généralement, on considère qu'une zone peut accueillir plusieurs dizaines de routeurs.&lt;/p&gt; &lt;p&gt;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 très complexe. Par symétrie, il est facile de l'adapter aux autres routeurs.&lt;/p&gt; &lt;h3 class="TitreSection1" id="LVI-A"&gt;VI-A. Situation de départ&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Vous devez créer des fichiers de configuration rudimentaires sur chaque routeur pour les services Zebra ou Quagga&amp;nbsp;:&lt;/p&gt; &lt;ul class="ListeDVP"&gt; &lt;li&gt; &lt;p&gt;Fichier /etc/zebra/zebra.conf ou /etc/quagga/zebra.conf pour le démon principal.&lt;br&gt; Exemple pour R1&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1014"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1014" onclick="selectionCode('contenuCoded0e1014', 'IdTitreCode-d0e1014');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1014" class="contenuCode"&gt;hostname R1(ZEBRA) password foo&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;/li&gt; &lt;li&gt;Fichier /etc/zebra/ospfd.conf ou /etc/quagga/ospfd.conf pour le démon ospfd&lt;br&gt; Exemple pour R1&amp;nbsp;:&lt;/li&gt; &lt;/ul&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1024"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1024" onclick="selectionCode('contenuCoded0e1024', 'IdTitreCode-d0e1024');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1024" class="contenuCode"&gt;hostname R1(OSPF) password foo&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Vous devez ensuite démarrer (ou redémarrer) les deux démons zebra et ospfd sur chaque routeur.&lt;/p&gt; &lt;div class="imgtext-info"&gt; &lt;p&gt;Veillez bien à respecter l'ordre d'exécution des services&amp;nbsp;: d'abord zebra -d puis ospfd ensuite.&lt;/p&gt; &lt;/div&gt; &lt;p&gt;Enfin, sur R1 entrez dans le terminal de configuration de ospfd via &lt;b&gt;telnet&lt;/b&gt; sur le port 2604&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1042"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1042" onclick="selectionCode('contenuCoded0e1042', 'IdTitreCode-d0e1042');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1042" class="contenuCode"&gt;Linux# telnet localhost ospfd Hello, this is zebra (version 0.91a). Copyright 1996-2001 Kunihiro Ishiguro. User Access Verification Password: R1(OSPF)&amp;gt; enable R1(OSPF)#&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Si vous avez envie de suivre précisément les échanges de messages entre routeurs, Zebra propose un puissant mécanisme de débogage grâce à la commande &lt;b&gt;debug&lt;/b&gt; (je vous laisse découvrir tous ses paramètres). Supposons que je veuille garder une trace de tous les messages HELLO émis par R1&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1051"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1051" onclick="selectionCode('contenuCoded0e1051', 'IdTitreCode-d0e1051');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1051" class="contenuCode"&gt;R1(OSPF)# conf t R1(OSPF)(config)# log file /var/log/zebra/ospfd.log R1(OSPF)(config)# debug ospf packet hello send detail&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Il faut que le répertoire /var/log/zebra existe.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LVI-B"&gt;VI-B. Activation du processus de routage&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Dans le mode config, nous allons activer le processus OSPF&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1066"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1066" onclick="selectionCode('contenuCoded0e1066', 'IdTitreCode-d0e1066');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1066" class="contenuCode"&gt;R1(OSPF)(config)# router ospf R1(OSPF)(config-router)#&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LVI-C"&gt;VI-C. Activation des annonces de routes&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Le processus de routage OSPF est activé, mais rien ne se passe. Comme pour RIP, il faut indiquer sur quel(s) réseau(x) on souhaite que le routage dynamique soit opérationnel. Ceci se fait par la commande &lt;b&gt;network&lt;/b&gt;. Mais, nouveauté par rapport à RIP qui n'intègre pas le concept de zone, il faut indiquer à quelle zone sera rattaché le réseau. Sur la figure 3, on voit que R1 est relié à deux réseaux. Le réseau 30.0.0.0/8 est attaché à la zone 0 et le réseau 11.0.0.0/8 à la zone 1. La configuration se fait donc de cette manière&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1081"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1081" onclick="selectionCode('contenuCoded0e1081', 'IdTitreCode-d0e1081');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1081" class="contenuCode"&gt;R1(OSPF)(config-router)# network 30.0.0.0/8 area 0 R1(OSPF)(config-router)# network 11.0.0.0/8 area 1&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Que se passe-t-il sur le réseau&amp;nbsp;? R1 envoie des paquets HELLO sur les interfaces pour lesquelles la commande &lt;b&gt;network&lt;/b&gt; a été saisie. Mais personne n'est là pour les écouter. Activez le routage sur R2 en adaptant les commandes aux spécificités du routeur. Je vous aide un peu. Sur R2, vous réaliserez les configurations suivantes&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1090"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1090" onclick="selectionCode('contenuCoded0e1090', 'IdTitreCode-d0e1090');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1090" class="contenuCode"&gt;R2(OSPF)(config-router)# network 11.0.0.0/8 area 1 R2(OSPF)(config-router)# network 12.0.0.0/8 area 1&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Enfin, sur R3, vous réaliserez les configurations suivantes&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1096"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1096" onclick="selectionCode('contenuCoded0e1096', 'IdTitreCode-d0e1096');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1096" class="contenuCode"&gt;R3(OSPF)(config-router)# network 12.0.0.0/8 area 1 R3(OSPF)(config-router)# network 192.168.3.0/24 area 1&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Mais sur R3, il y a une particularité. Le réseau 192.168.3.0/24 contient des ordinateurs, mais aucun routeur. La commande &lt;b&gt;network&lt;/b&gt; va diffuser sur ce réseau des annonces de routes ce qui consomme inutilement de la bande passante. Par conséquent, nous allons désactiver cette diffusion&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1105"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1105" onclick="selectionCode('contenuCoded0e1105', 'IdTitreCode-d0e1105');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1105" class="contenuCode"&gt;R3(OSPF)(config-router)# passive-interface eth2&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Ainsi, aucune route n'est diffusée sur cette interface. De même, aucune annonce de route ne sera prise en compte. Le réseau sera considéré comme étant d'extrémité (&lt;span class="important"&gt;stub&lt;/span&gt;).&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LVI-D"&gt;VI-D. Affichage de la configuration&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Affichons la configuration complète de R1&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1123"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1123" onclick="selectionCode('contenuCoded0e1123', 'IdTitreCode-d0e1123');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1123" class="contenuCode"&gt;R1(OSPF)(config-router)# end R1(OSPF)# show running-config Current configuration: ! hostname R1(OSPF) password foo ! ! ! interface lo ! interface eth0 ! interface eth2 ! router ospf network 11.0.0.0/8 area 1 network 30.0.0.0/8 area 0 ! line vty ! end&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Affichons la configuration complète de R3&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1129"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1129" onclick="selectionCode('contenuCoded0e1129', 'IdTitreCode-d0e1129');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1129" class="contenuCode"&gt;R3(OSPF)# show running-config Current configuration: ! hostname R3(OSPF) password foo ! ! ! interface lo ! interface eth0 ! interface eth2 ! router ospf passive-interface eth2 network 12.0.0.0/8 area 1 network 192.168.3.0/24 area 1 ! line vty ! end&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;J'espère que vous avez la même configuration. Si ce n'est pas le cas, vous pouvez annuler une ligne contenant une erreur en vous remettant au même endroit où vous avez saisi la commande et en saisissant à nouveau la commande, mais en la faisant précéder de no.&lt;/p&gt; &lt;p&gt;Pour enregistrer la configuration, je vous rappelle que l'on saisit&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1138"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1138" onclick="selectionCode('contenuCoded0e1138', 'IdTitreCode-d0e1138');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1138" class="contenuCode"&gt;R1(OSPF)# copy running-config startup-config&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Reproduisez maintenant ces manipulations sur l'ensemble des routeurs du réseau.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LVI-E"&gt;VI-E. État des routeurs&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;Nos petits routeurs ont, en principe, bien travaillé. Dans chaque zone, ils ont élu leur chef, le routeur désigné (DR), ils ont échangé leurs connaissances et calculé une magnifique table de routage, ultraoptimale. En résumé, les deux stations d'extrémité de la figure doivent pouvoir s'atteindre avec une commande &lt;b&gt;ping&lt;/b&gt;. 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 &lt;b&gt;ping&lt;/b&gt;, &lt;b&gt;tcpdump&lt;/b&gt; et &lt;b&gt;traceroute&lt;/b&gt; pour contrôler votre configuration et suivre les paquets. Et n'oubliez pas que dans un &lt;b&gt;ping&lt;/b&gt;, il y a un aller, mais aussi un retour&amp;nbsp;!&lt;/p&gt; &lt;p&gt;Afin d'illustrer ce dont nous avons discuté dans la toute première partie de cet article, examinons l'état du routeur R1. Nous pouvons faire un diagnostic très complet de l'appareil en utilisant les nombreuses sous-commandes de &lt;b&gt;show ip ospf&lt;/b&gt;. Vous constaterez que les informations fournies par ospfd sur son état sont beaucoup plus conséquentes que celles que l'on pouvait extirper de ripd.&lt;/p&gt; &lt;p&gt;Dans un premier temps, je vous propose d'examiner l'état de santé général du routeur R3&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1177"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1177" onclick="selectionCode('contenuCoded0e1177', 'IdTitreCode-d0e1177');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1177" class="contenuCode"&gt;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&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Le premier bloc décrit le fonctionnement général du routeur&amp;nbsp;: l'ID du routeur (égale à sa plus grande adresse IP), conformité aux RFC, valeurs des temporisateurs. Une seule zone est attachée à ce routeur. C'est la zone 1 (exprimée en notation décimale pointée). Notre routeur a deux interfaces dans la zone, il n'a qu'un seul voisin. L'algorithme du SPF a été exécuté 13 fois. La base de données topologique contient neuf états de liens (LSA). Si notre routeur était attaché à plusieurs zones, le deuxième bloc serait répété autant de fois que de zones. Vous pourrez le constater sur R1.&lt;/p&gt; &lt;p&gt;Maintenant, listons nos informations sur les routeurs voisins&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1186"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1186" onclick="selectionCode('contenuCoded0e1186', 'IdTitreCode-d0e1186');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1186" class="contenuCode"&gt;R3(OSPF)# show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL 12.0.0.1 1 Full/Backup 00:00:34 12.0.0.1 eth0 0 0 0&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Déchiffrons ces informations. La différence entre la colonne ID et la colonne &lt;span class="important"&gt;Address&lt;/span&gt;, c'est que l'ID identifie l'appareil dans le réseau alors que l'adresse correspond à l'interface à laquelle nous sommes reliés avec ce routeur. La colonne &lt;span class="important"&gt;State&lt;/span&gt; nous apprend deux choses&amp;nbsp;: il est synchronisé avec le routeur désigné (DR) grâce à la mention &lt;span class="important"&gt;Full&lt;/span&gt;, c'est le routeur désigné de secours (BDR) de la zone grâce à l'indicateur &lt;span class="important"&gt;Backup&lt;/span&gt;. Ce routeur sera déclaré comme inactif si nous ne recevons pas de message HELLO d'ici 34 secondes (&lt;span class="important"&gt;Dead Time&lt;/span&gt;).&lt;/p&gt; &lt;p&gt;Voyons le contenu de la base de données topologique de R3&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1210"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1210" onclick="selectionCode('contenuCoded0e1210', 'IdTitreCode-d0e1210');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1210" class="contenuCode"&gt;R3(OSPF)# show ip ospf database OSPF Router with ID (192.168.3.254) Router Link States (Area 0.0.0.1) Link ID ADV Router Age Seq# CkSum Link count 12.0.0.1 12.0.0.1 981 0x80000006 0xf9e2 2 30.0.0.1 30.0.0.1 952 0x80000003 0xb13e 1 192.168.3.254 192.168.3.254 1063 0x80000005 0x15b7 2 Net Link States (Area 0.0.0.1) Link ID ADV Router Age Seq# CkSum 11.0.0.2 12.0.0.1 981 0x80000001 0xda39 12.0.0.2 192.168.3.254 1063 0x80000001 0x5d0b Summary Link States (Area 0.0.0.1) Link ID ADV Router Age Seq# CkSum Route 21.0.0.0 30.0.0.1 837 0x80000001 0x0d08 21.0.0.0/8 22.0.0.0 30.0.0.1 702 0x80000001 0x64a5 22.0.0.0/8 30.0.0.0 30.0.0.1 976 0x80000001 0x33e2 30.0.0.0/8 172.18.0.0 30.0.0.1 599 0x80000001 0x4a0d 172.18.0.0/24&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Ces trois tableaux présentent de façon synthétique l'ensemble des LSA stockés dans la base topologique.&lt;/p&gt; &lt;ul class="ListeDVP"&gt; &lt;li&gt;Le premier tableau contient des LSA diffusés par chaque routeur. Ils décrivent l'état des interfaces de chaque routeur.&lt;/li&gt; &lt;li&gt;Le deuxième tableau contient des LSA diffusés par le routeur désigné (DR). Ils décrivent la liste des routeurs présents dans chaque réseau.&lt;/li&gt; &lt;li&gt;Le dernier tableau contient un résumé des routes diffusées par le routeur de bordure de zone (ABR). Ce sont des routes qu'il a reçues via le réseau fédérateur (&lt;span class="important"&gt;backbone&lt;/span&gt;) par les routeurs des autres zones.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;L'âge et le numéro de séquence sont utilisés pour mettre à jour la base lorsque des LSA sont reçus. La somme de contrôle (&lt;span class="important"&gt;checksum&lt;/span&gt; noté CkSum est utilisée pour contrôler l'intégrité des LSA.&lt;/p&gt; &lt;p&gt;Pour obtenir des informations détaillées sur chaque LSA, vous pouvez compléter la commande &lt;b&gt;show ip ospf database&lt;/b&gt; par les options suivantes&amp;nbsp;: &lt;b&gt;router&lt;/b&gt;, &lt;b&gt;network&lt;/b&gt; ou &lt;b&gt;summary&lt;/b&gt;. Par exemple&amp;nbsp;: &lt;b&gt;show ip ospf database router 192.168.3.254&lt;/b&gt; (qui correspond à la troisième ligne du premier tableau) vous apprendra que ce router est relié à deux réseaux&amp;nbsp;: un de transit (12.0.0.0/8) et un d'extrémité (&lt;span class="important"&gt;stub&lt;/span&gt;) 192.168.3.0/24.&lt;/p&gt; &lt;p&gt;Enfin, si vous voulez consulter la table de routage obtenue après traitement par SPF des différents LSA, vous n'aurez qu'à saisir un &lt;b&gt;show ip ospf route&lt;/b&gt;.&lt;/p&gt; &lt;div class="imgtext-info"&gt; &lt;p&gt;Il existe une différence entre cette table et celle utilisée par le démon zebra pour le routage proprement dit. Souvenez-vous que Zebra et Quagga sont multiprotocoles et qu'ils ont une architecture modulaire (voir LM 43&amp;nbsp;: &lt;a target="_blank" class="lienArticle https" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-rip/"&gt;2e partie, routage RIP&lt;/a&gt;). Chaque démon calcule une table de routage à partir des informations dont il dispose (et qui ne sont pas nécessairement les mêmes pour chaque démon). Ensuite, ils transmettent chacun leur table au démon zebra qui en fait la synthèse. Cette synthèse constitue la véritable table de routage utilisée pour router les paquets.&lt;/p&gt; &lt;/div&gt; &lt;p&gt;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 découvrir (faites un &lt;b&gt;show ip ospf&amp;nbsp;?&lt;/b&gt; par exemple). Il nous reste à observer la table de routage obtenue par Zebra. Quittez ospfd et connectez-vous sur le démon zebra via la commande &lt;b&gt;telnet localhost 2601&amp;nbsp;:&lt;/b&gt;&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1281"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1281" onclick="selectionCode('contenuCoded0e1281', 'IdTitreCode-d0e1281');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1281" class="contenuCode"&gt;R3(Zebra)&amp;gt; show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, B - BGP, &amp;gt; - selected route, * - FIB route O&amp;gt;* 11.0.0.0/8 [110/20] via 12.0.0.1, eth0, 00:12:48 O 12.0.0.0/8 [110/10] is directly connected, eth0, 00:14:09 C&amp;gt;* 12.0.0.0/8 is directly connected, eth0 O&amp;gt;* 21.0.0.0/8 [110/40] via 12.0.0.1, eth0, 00:11:18 O&amp;gt;* 22.0.0.0/8 [110/50] via 12.0.0.1, eth0, 00:10:16 O&amp;gt;* 30.0.0.0/8 [110/30] via 12.0.0.1, eth0, 00:12:13 C&amp;gt;* 127.0.0.0/8 is directly connected, lo O&amp;gt;* 172.18.0.0/24 [110/60] via 12.0.0.1, eth0, 00:08:48 O 192.168.3.0/24 [110/10] is directly connected, eth2, 00:14:19 C&amp;gt;* 192.168.3.0/24 is directly connected, eth2&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Les routes notées 'O' ont été découvertes par OSPF. Entre crochets, on observe la distance administrative du protocole (110 par défaut pour OSPF) et le coût de la route pour accéder au réseau. Dans le cas de la topologie étudiée, il n'y a que des réseaux à 10 Mbps, donc avec un coût par défaut de 10 pour chaque lien.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LVI-F"&gt;VI-F. Quelques éléments sur la sécurité&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;h4 class="TitreSection2" id="LVI-F-1"&gt;VI-F-1. Filtrer la diffusion des routes&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h4&gt;&lt;div class="BlocSection2"&gt; &lt;p&gt;Le premier inconvénient d'un protocole de routage dynamique comme OSPF est sa volubilité. Il a tendance à dévoiler tout un tas d'informations sur les réseaux qu'un administrateur consciencieux n'a pas forcément envie de révéler. Pour limiter la diffusion des routes au strict minimum, ospfd intègre, à l'instar de ripd, un mécanisme de liste de contrôle d'accès (&lt;span class="important"&gt;access-lists&lt;/span&gt;).&lt;/p&gt; &lt;p&gt;Reportez-vous à l'article &lt;a target="_blank" class="lienArticle https" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-rip/"&gt;2e partie, routage RIP&lt;/a&gt; publié dans le numéro 43 de &lt;a target="_blank" class="lienArticle simple" href="http://www.unixgarden.com/index.php/category/gnu-linux-magazine"&gt;Linux Magazine&lt;/a&gt;. La configuration est strictement identique. J'en profite pour faire un peu de publicité&amp;nbsp;: si vous êtes intéressés par les problèmes de sécurité, je vous conseille l'excellent magazine &lt;a target="_blank" class="lienArticle simple" href="http://www.unixgarden.com/index.php/category/misc"&gt;Multisystem &amp;amp; Internet Security Cookbook (MISC)&lt;/a&gt;. La série d'articles sur la «&amp;nbsp;protection de l'infrastructure réseau IP&amp;nbsp;» constitue sur certains points un approfondissement intéressant.&lt;/p&gt; &lt;/div&gt; &lt;h4 class="TitreSection2" id="LVI-F-2"&gt;VI-F-2. Protéger les annonces de routes&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h4&gt;&lt;div class="BlocSection2"&gt; &lt;p&gt;Le deuxième inconvénient d'un protocole de routage dynamique comme OSPF est sa naïveté. Il croit tout ce qu'on lui dit&amp;nbsp;! Un petit malin pourrait s'amuser à diffuser des routes farfelues à vos routeurs, ce qui pourrait provoquer des dénis de service. Pour pallier cela, on peut activer l'authentification des annonces sur une zone. Voici les manipulations à réaliser sur chaque routeur&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1325"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1325" onclick="selectionCode('contenuCoded0e1325', 'IdTitreCode-d0e1325');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1325" class="contenuCode"&gt;Routeur(OSPF)(config-router)# area 1 authentication message-digest&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Ensuite, pour chaque interface participant à la diffusion des routes&amp;nbsp;:&lt;/p&gt; &lt;div class="code_et_titre"&gt;&lt;div class="titre_des_codes" id="IdTitreCode-d0e1331"&gt;&amp;nbsp;&lt;div class="selectionner_code"&gt;&lt;span class="selectionner_code LienSelectionne" id="code-d0e1331" onclick="selectionCode('contenuCoded0e1331', 'IdTitreCode-d0e1331');"&gt;Sélectionnez&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre class="code_uniquement" style="overflow:auto"&gt;&lt;code id="contenuCoded0e1331" class="contenuCode"&gt;Routeur(OSPF)(config)# int ethx Routeur(OSPF)(config-if)# ospf message-digest-key 1 md5 motdepasse&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Vous adapterez le «motdepasse» à vos besoins. Ce mot de passe doit bien sûr être connu de tous les routeurs.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;h2 class="TitreSection0" id="LVII"&gt;VII. Conclusion&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h2&gt;&lt;div class="BlocSection0"&gt; &lt;p&gt;OSPF est un protocole de routage dynamique moderne, robuste et conçu pour les grands réseaux. On constate qu'il est nettement plus complexe que RIP. Pas forcément dans sa configuration, mais dans son fonctionnement interne. Un inconvénient de ce protocole est qu'il peut être gourmand en puissance de calcul et en mémoire lorsque le réseau comporte beaucoup de routes ou qu'il y a de fréquentes modifications de topologie.&lt;/p&gt; &lt;p&gt;OSPF est un protocole IGP (&lt;span class="important"&gt;Interior Gateway Protocol&lt;/span&gt;), c'est-à-dire qu'il agit au sein d'un système autonome. Un AS (&lt;span class="important"&gt;Autonomous System&lt;/span&gt;) est un ensemble de réseaux gérés par un administrateur commun. Chaque système autonome possède un numéro identifiant sur 16 bits délivré par l'IANA (&lt;span class="important"&gt;Internet Assigned Numbers Authority&lt;/span&gt;) ou ses délégations. Classiquement, les multinationales, les opérateurs de télécom ou les fournisseurs d'accès à Internet détiennent un numéro de système autonome.&lt;/p&gt; &lt;p&gt;Pour assurer le routage entre les systèmes autonomes, un protocole de type EGP (&lt;span class="important"&gt;Exterior Gateway Protocol&lt;/span&gt;) doit être mis en œuvre. Dans le cas de l'Internet, c'est généralement BGP (&lt;span class="important"&gt;Border Gateway Protocol&lt;/span&gt;) qui assume cette mission. BGP, protocole supporté par Zebra, constitue un vaste terrain d'investigation.&lt;/p&gt; &lt;p&gt;Pour terminer, je voudrais saluer tous mes étudiants de BTS Informatique de gestion à Loudun qui m'ont aidé dans la réalisation de ce document.&lt;/p&gt; &lt;h3 class="TitreSection1" id="LVII-A"&gt;VII-A. Bibliographie&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;p&gt;&lt;span class="important"&gt;TCP/IP&amp;nbsp;: Architecture, protocoles et applications&amp;nbsp;&lt;/span&gt;: Douglas COMER, DUNOD. ISBN: 2-10-005384-1 (09/2001) 830 p.&lt;/p&gt; &lt;p&gt;&lt;span class="important"&gt;Le routage dans l'Internet&amp;nbsp;&lt;/span&gt;: Christian HUITEMA, EYROLLES. ISBN: 2-212-08902-3 (10/1994) 418 p.&lt;/p&gt; &lt;/div&gt; &lt;h3 class="TitreSection1" id="LVII-B"&gt;VII-B. Liens&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h3&gt;&lt;div class="BlocSection1"&gt; &lt;ul class="ListeDVP"&gt; &lt;li&gt;&lt;a target="_blank" class="lienArticle simple" href="http://www.nongnu.org/quagga/"&gt;Quagga&lt;/a&gt; &lt;/li&gt; &lt;li&gt;&lt;a target="_blank" class="lienArticle simple" href="http://www.unixgarden.com/index.php/category/gnu-linux-magazine"&gt;Linux Magazine&lt;/a&gt; &lt;/li&gt; &lt;li&gt;Version originale du document et page personnelle de &lt;a target="_blank" class="lienArticle simple" href="http://www.pmassol.net/"&gt;Pacôme Massol&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt; &lt;h2 class="TitreSection0" id="LVIII"&gt;VIII. Remerciements Developpez&lt;a target="_blank" class="HautPage" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/#" title="Haut de page"&gt;▲&lt;/a&gt;&lt;/h2&gt;&lt;div class="BlocSection0"&gt; &lt;p&gt;L'équipe &lt;a target="_blank" class="lienArticle https" href="https://reseau.developpez.com/"&gt;Réseaux&lt;/a&gt; remercie &lt;a target="_blank" class="lienArticle simple" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/fichiers/pacome.massol(at)laposte.net"&gt;Pacôme Massol&lt;/a&gt; et &lt;a target="_blank" class="lienArticle simple" href="https://inetdoc.developpez.com/tutoriels/routage-dynamique-protocole-ospf/fichiers/philippe.latu(at)inetdoc.net"&gt;Philippe Latu&lt;/a&gt; pour la rédaction de ce tutoriel.&lt;/p&gt; &lt;p&gt;Nos remerciements à &lt;a target="_blank" class="lienArticle https" href="https://www.developpez.net/forums/u428861/phanloga/"&gt;Phanloga&lt;/a&gt; pour sa relecture orthographique.&lt;/p&gt; &lt;p&gt;N'hésitez pas à commenter cet article&amp;nbsp;! &lt;a target="_blank" class="lienforum" href="https://www.developpez.net/forums/showthread.php?t=1409646"&gt;Commentez&lt;/a&gt; &lt;img src="https://www.developpez.com/template/kit/kitstars-5-0.png" width="66" height="14" style="border:none" alt="Donner une note à l´article (5)"&gt;&lt;/p&gt; &lt;/div&gt; &lt;/section&gt;&lt;section class="articleBody"&gt;&lt;p&gt;Vous avez aimé ce tutoriel&amp;nbsp;? Alors partagez-le en cliquant sur les boutons suivants&amp;nbsp;: &lt;a target="_blank" title="Viadeo" href="http://www.viadeo.com/shareit/share/?url=https%3A%2F%2Finetdoc.developpez.com%2Ftutoriels%2Froutage-dynamique-protocole-ospf%2F&amp;Title=Routage+dynamique+-+Le+protocole+OSPF" rel="nofollow"&gt;&lt;img alt="Viadeo" src="https://www.developpez.com/template/kit/kitbm-viadeo.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;a target="_blank" title="Twitter" href="http://twitter.com/timeline/home?status=https%3A%2F%2Finetdoc.developpez.com%2Ftutoriels%2Froutage-dynamique-protocole-ospf%2F" rel="nofollow"&gt;&lt;img alt="Twitter" src="https://www.developpez.com/template/kit/kitbm-twitter.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;a target="_blank" title="Facebook" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Finetdoc.developpez.com%2Ftutoriels%2Froutage-dynamique-protocole-ospf%2F" rel="nofollow"&gt;&lt;img alt="Facebook" src="https://www.developpez.com/template/kit/kitbm-facebook.png"&gt;&lt;/a&gt;&amp;nbsp;&lt;a target="_blank" title="Google +" href="https://plus.google.com/share?url=https%3A%2F%2Finetdoc.developpez.com%2Ftutoriels%2Froutage-dynamique-protocole-ospf%2F" onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;"&gt;&lt;img src="https://www.gstatic.com/images/icons/gplus-16.png" alt="Share on Google+"&gt;&lt;/a&gt;&amp;nbsp;&lt;script src="https://platform.linkedin.com/in.js"&gt;lang: fr_FR <script type="IN/Share" data-url="$url"> &lt;/p&gt;&lt;/section&gt;&lt;footer class="licence" role="contentinfo"&gt;Copyright (c) 2002-2004 Pacôme 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 «&amp;nbsp;GNU Free Documentation License&amp;nbsp;». &lt;br&gt;&lt;br&gt; Copyright (c) 2002-2004 Pacôme Massol. Permission est accordée 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 ultérieure publiée par la Free Software Foundation&amp;nbsp;; sans Sections Invariables&amp;nbsp;; sans Texte de Première de Couverture, et sans Texte de Quatrième de Couverture. Une copie de la présente Licence est incluse dans la section intitulée «&amp;nbsp;Licence de Documentation Libre GNU&amp;nbsp;». &lt;/footer&gt;&lt;/div&gt; &lt;/section&gt; &lt;/article&gt; &lt;script&gt; $(function() { if ($("#gabarit_pubBB").is(":hidden")) $('.contenuPage').attr('style', 'min-height:auto;padding-top:20px!important'); $("#gabarit_voiraussi").load("https://www.developpez.com/voiraussi/index/rubrique/70/"); $("#gabarit_encartemploi").load("https://www.developpez.com/ws/offres?alt=3&amp;utf8=1"); }); <img src="https://compteur.developpez.com/compter-70" alt="" width="1" height="1" style="position:absolute;left:1px;top:1px"> <img src="https://compteur.developpez.com/show_i.php/70/0" alt="" width="1" height="1" style="position:absolute;left:1px;top:1px"> <img src="https://compt.developpez.com/compter-70" alt="" width="1" height="1" style="position:absolute;left:1px;top:1px"> <script>$(function(){$("#ee70qd0c").load("/template/ee70qd0c"+'0'+".jpg");$("#gx70ed5r").load("/template/gx70ed5r"+'0'+".jpg");});

Quelles sont les principales caractéristiques du protocole OSPF ?

OSPF consomme de la mémoire, car il maintient une base de données pour chaque routeur (état des liens).
Convergence rapide les mises à jour sont incrémentielles..
Utilisé dans les grands réseaux (supérieur à 15 routeurs contrairement au protocole RIP..

Pourquoi utiliser le protocole OSPF ?

OSPF est meilleur pour la répartition de charge (load balancing). Le choix du meilleur chemin est basé sur le coût (la bande passante inversée). Cette métrique peut être définie manuellement sur les interfaces. OSPF permet une définition logique des réseaux où les routeurs peuvent être répartis en zones (area).

Comment faire le routage OSPF ?

Pour activer ou désactiver le routage OSPF à l'aide de l'interface graphique : Accédez à Système > Paramètres, dans le groupe Modes et fonctionnalités, cliquez sur Modifier les fonctionnalités avancées. Sélectionnez ou désactivez l'option Routage OSPF .

Quel algorithme est utilisé par le protocole OSPF ?

Algorithme Shortest Path First. OSPF utilise un algorithme de chemin court d'abord afin de créer et de calculer le chemin le plus court vers toutes les destinations connues. Le chemin le plus court est calculé à l'aide de l'algorithme Dijkstra.