{"id":478,"date":"2017-04-26T14:51:33","date_gmt":"2017-04-26T12:51:33","guid":{"rendered":"http:\/\/www.gatoux.com\/?page_id=478"},"modified":"2017-04-29T16:44:36","modified_gmt":"2017-04-29T14:44:36","slug":"ospf-du-bel-ouvrage","status":"publish","type":"page","link":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/ospf-du-bel-ouvrage\/","title":{"rendered":"OSPF, du bel ouvrage !"},"content":{"rendered":"<p>Dans le chapitre pr\u00e9c\u00e9dent, vous avez pu assister \u00e0 une mise \u00e0 mort de RIP ! M\u00eame si j&rsquo;ai relativis\u00e9 mon discours en conclusion, il n&rsquo;en reste pas moins que RIP, et les protocoles \u00e0 vecteurs de distance en g\u00e9n\u00e9ral pr\u00e9sentent des contraintes parfois p\u00e9nalisantes. Les r\u00e9seaux d&rsquo;entreprises d&rsquo;aujourd&rsquo;hui deviennent de plus en plus vastes et de plus en plus complexes. Souvent ils ne peuvent plus se contenter du mode de fonctionnement des protocoles \u00e0 vecteurs de distances.<\/p>\n<p>Aussi, l&rsquo;IETF s&rsquo;est mis \u00e0 plancher en &#8230; sur un protocole de routage ayant une approche radicalement diff\u00e9rente. Ces travaux ont donn\u00e9 naissance au routage par \u00ab\u00a0\u00e9tats de liens\u00a0\u00bb. La diff\u00e9rence entre \u00ab\u00a0vecteurs de distances\u00a0\u00bb et \u00ab\u00a0\u00e9tats de liens\u00a0\u00bb a \u00e9t\u00e9 largement expliqu\u00e9e dans le <a href=\"http:\/\/www.gatoux.com\/index.php\/types-de-protocoles\/\">chapitre 4<\/a>.<\/p>\n<p>Nous allons ici aborder (<em>tr\u00e8s l\u00e9g\u00e8rement <\/em>!) un exemple de protocoles \u00e0 \u00e9tats de liens : <strong>OSPF<\/strong>.<\/p>\n<h2>Que reproche-t-on aux protocoles \u00e0 \u00ab\u00a0vecteurs de distances\u00a0\u00bb ?<\/h2>\n<p>Les principaux reproches que l&rsquo;on peut faire aux protocoles \u00e0 vecteurs de distances sont les suivants :<\/p>\n<ul>\n<li><strong>une latence importante<\/strong> : en effet nous avons vu que l\u2019algorithme de traitement des informations de routage induisait un d\u00e9lai de mise \u00e0 jour des tables tr\u00e8s importants dans le cas de r\u00e9seaux de grande taille.<\/li>\n<li><strong>une utilisation de la bande passante importante<\/strong> : nous avons vu que chaque routeur \u00e9mettait la quasi-totalit\u00e9 de sa table de routage sur toutes ses interfaces en broadcast, \u00e0 des intervalles de temps donn\u00e9s (les hello-times). Ceci induisait une utilisation moyenne constante de la bande passante du r\u00e9seau, au d\u00e9triment des vrais, bonnes donn\u00e9es !<\/li>\n<li><strong>des notions de co\u00fbts simplistes<\/strong> (nombre de sauts pour RIP) qui avaient pour cons\u00e9quence de limiter la taille des routes possibles et d&rsquo;interdire l&rsquo;optimisation du routage. RIP pr\u00e9f\u00e8re ainsi une route compos\u00e9e de 2 routeurs s\u00e9par\u00e9s par une liaison \u00e0 64 Kbps \u00e0 une route de 3 routeurs s\u00e9par\u00e9s par deux liaisons 34 Mbps ! Pourtant la seconde route est sans contexte, la plus rapide et la moins sujette \u00e0 la congestion !<\/li>\n<\/ul>\n<p>Certains protocoles comme <strong>IGRP<\/strong> ou <strong>e-IGRP<\/strong> ont permis d&rsquo;am\u00e9liorer ces fonctionnements en impl\u00e9mentant des notions de co\u00fbts plus complexes, des capacit\u00e9s d&rsquo;\u00e9mission d&rsquo;updates sur changement d&rsquo;\u00e9tat de liens ou encore une sectorisation du r\u00e9seau en pseudo-aire (<em>les groupes IGRP<\/em>), mais l\u2019algorithme de traitement de base reste le \u00ab\u00a0<strong>vecteur de distance<\/strong>\u00a0\u00bb avec sa vue du r\u00e9seau limit\u00e9e \u00e0 la p\u00e9riph\u00e9rie de chaque routeur (voir le <a href=\"http:\/\/www.gatoux.com\/index.php\/types-de-protocoles\/\">chapitre 4<\/a>). Pour ces deux protocoles, l&rsquo;inconv\u00e9nient majeur reste \u00e9galement qu&rsquo;ils sont purement Cisco (brevets d\u00e9pos\u00e9s). M\u00eame si Cisco est tr\u00e8s pr\u00e9sent sur le march\u00e9 des routeurs, on trouve un tas d&rsquo;autres constructeurs !<\/p>\n<p>Bref ! Il \u00e9tait temps de chercher autre chose !<\/p>\n<h2>OSPF : principaux apports &#8230;<\/h2>\n<p><strong>OSPF<\/strong> (<strong>O<\/strong>pen <strong>S<\/strong>hort <strong>P<\/strong>ath <strong>F<\/strong>irst) est un protocole \u00e0 \u00e9tats de liens, \u00e0 ce titre son approche du routage est radicalement diff\u00e9rente de celle de RIP et autres protocoles dits \u00ab\u00a0\u00e0 vecteurs de distances\u00a0\u00bb. R\u00e9f\u00e9rez-vous au <a href=\"http:\/\/www.gatoux.com\/index.php\/types-de-protocoles\/\">chapitre 4<\/a> pour en comprendre la diff\u00e9rence. R\u00e9sumons ici les principales caract\u00e9ristiques d&rsquo;OSPF :<\/p>\n<ul>\n<li>C&rsquo;est un <strong>protocole ouvert<\/strong> (non propri\u00e9taire) et standardis\u00e9 par la <strong>RFC 1247<\/strong>. Il est le fruit d&rsquo;un groupe de travail de l&rsquo;IETF auquel a d&rsquo;ailleurs largement contribu\u00e9 DIGITAL.<\/li>\n<li>Il <strong>autorise le routage par type de service<\/strong> (champ TOS du datagramme IP).<\/li>\n<li>Il <strong>assure automatiquement un \u00e9quilibrage de charge<\/strong> (load balancing), si plusieurs routes de m\u00eame co\u00fbt sont d\u00e9finies vers un m\u00eame r\u00e9seau pour un m\u00eame TOS.<\/li>\n<li>Il <strong>permet de diviser le r\u00e9seau en zones<\/strong>, toutes autonomes, et invisibles pour les zones voisines. OSPF impl\u00e9mente une notion d&rsquo;aires. Vous divisez votre r\u00e9seau en plusieurs zones correspondants \u00e0 des aires (par exemple, l&rsquo;aire Sud-Ouest, l&rsquo;aire Nord-Est, etc&#8230;). Les aires sont interconnect\u00e9es entre-elles par une aire sp\u00e9cifique appel\u00e9e \u00ab\u00a0l&rsquo;aire backbone\u00a0\u00bb. Ceci permet d&rsquo;optimiser le routage en annon\u00e7ant des r\u00e9sum\u00e9s de routes. Cette hi\u00e9rarchisation va plus loin en permettant d&rsquo;indiquer des natures de r\u00e9seaux IP diff\u00e9rentes, selon que le r\u00e9seau supporte un seul routeur ou plusieurs routeurs (notion de stub). Chaque routeur maintient une base de donn\u00e9es (la LSDB : Link State DataBase) indiquant la topologie de sa propre zone.<\/li>\n<li>Il est capable de g\u00e9rer les routes de machine \u00e0 machine, les routes vers les r\u00e9seaux, ainsi que le <strong>routage vers les sous-r\u00e9seaux<\/strong>.<\/li>\n<li>Les <strong>\u00e9changes entre routeurs sont authentifi\u00e9s<\/strong>, ce qui permet de s&rsquo;affranchir des probl\u00e8mes de malveillance.<\/li>\n<li>Sur un r\u00e9seau \u00e0 acc\u00e8s multiples, il y a possibilit\u00e9 d&rsquo;avoir une seule passerelle diffusant les messages d&rsquo;\u00e9tat de lien (notion de Directory Router et Backup Directory Router) aux autres routeurs, ainsi les m\u00e9dia sont moins charg\u00e9s par des messages de protocole de routage.<\/li>\n<li><strong>Utilise l&rsquo;adressage multicast IP<\/strong>. Celui-ci est moins polluant que le broadcast, dans le sens ou seules les machines impl\u00e9mentant OSPF analyse le contenu des paquets IP \u00e9mis en multicast (aux adresses correspondantes au trafic OSPF).<\/li>\n<li><strong>Il r\u00e9agit rapidement aux changements de topologie<\/strong> sans g\u00e9n\u00e9rer trop de trafic. OSPF fonctionne tr\u00e8s diff\u00e9remment de RIP. Lorsqu&rsquo;un lien change d&rsquo;\u00e9tats (liaison d&rsquo;interconnexion devenant indisponible ou inversement), OSPF \u00e9mets des updates (<strong>LSA<\/strong> : Link State Advertisement) \u00e0 tous les routeurs voisins en \u00ab\u00a0multicast IP\u00a0\u00bb. Les updates ne d\u00e9crivent que le changement d&rsquo;\u00e9tat du lien et pas l&rsquo;ensemble de la table de routage du routeur ! Tous les routeurs retransmettent imm\u00e9diatement ces mises \u00e0 jours \u00e0 tous leur voisins \u00e9galement. Tout le r\u00e9seau est ainsi imm\u00e9diatement inform\u00e9 du changement d&rsquo;\u00e9tat d&rsquo;un lien ! Chaque routeur peut modifier sa table de routage en cons\u00e9quence.<\/li>\n<li><strong>Un co\u00fbt de route plus souple<\/strong> : OSPF autorise le param\u00e9trage des co\u00fbts sur les interfaces sortantes. Ceci vous permet donc de tracer vos routes aussi s\u00fbrement que si vous aviez mis en place un routage statique, mais en conservant l&rsquo;int\u00e9r\u00eat du routage dynamique (la reconfiguration automatique du routage). Par d\u00e9faut, si vous n&rsquo;appliquez pas de co\u00fbt sp\u00e9cifique, le co\u00fbt d&rsquo;OSPF est calcul\u00e9 par rapport \u00e0 la bande passante du support (nous y reviendrons plus tard !).<\/li>\n<li><strong>Il autorise l&rsquo;utilisation des masques de sous-r\u00e9seaux de longueur variable<\/strong> (VLMS : Variable Length Mask Subnet)<\/li>\n<\/ul>\n<p>Dans les paragraphes suivants nous d\u00e9crirons plus pr\u00e9cis\u00e9ment certains des quelques points mis en avant ici.<\/p>\n<h2>M\u00e9canisme d&rsquo;\u00e9change de base &#8230;<\/h2>\n<p>Tout d&rsquo;abord, <strong>chaque routeur impl\u00e9mentant OSPF se d\u00e9fini un identifiant unique<\/strong> dans le r\u00e9seau, permettant aux autres routeurs d&rsquo;identifier la provenance des mises \u00e0 jour et \u00e9galement les \u00e9quipements connect\u00e9s sur les liens d\u00e9crits dans les updates. Cet identifiant est automatiquement choisi sur le principe de l&rsquo;adresse IP la plus \u00e9lev\u00e9e affect\u00e9e aux interfaces du routeur. Comme il n&rsquo;est pas possible d&rsquo;avoir deux adresses IP identiques au sein d&rsquo;un m\u00eame r\u00e9seau, ce principe garanti que l&rsquo;ID routeur sera unique.<\/p>\n<p>Puis <strong>les routeurs construisent des LSA<\/strong> (<strong>L<\/strong>ink <strong>S<\/strong>tate <strong>A<\/strong>dvertising) attribuant \u00e0 chaque r\u00e9seau qui leur est directement connect\u00e9 un co\u00fbt d&rsquo;acc\u00e8s. Ce co\u00fbt peut avoir \u00e9t\u00e9 affect\u00e9 manuellement par l&rsquo;administrateur \u00e0 la programmation du protocole, ou il peut \u00eatre calcul\u00e9 automatiquement sur le principe suivant :<\/p>\n<h6 align=\"center\"><span style=\"color: #ff0000; font-family: Arial,Helvetica,sans-serif; font-size: small;\">co\u00fbt_interface = 10<sup>9<\/sup> \/ Bande passante du r\u00e9seau correspondant<\/span><\/h6>\n<p><em><span style=\"font-size: xx-small;\">Ainsi une interface Ethernet \u00e0 10 Mbps aura un co\u00fbt de 100 (100 = 1 000 000 000 \/ 10 000 000)alors qu&rsquo;une interface sur un lien 1 Mbps aura un co\u00fbt de 1000.<\/span><\/em><\/p>\n<p><strong>Ces LSA sont transmis \u00e0 tous les routeurs voisins par un multicast AllSPF<\/strong> (224.0.0.5). Seules les machines impl\u00e9mentant OSPF examineront le contenu des paquets IP Multicast ayant l&rsquo;adresse 224.0.0.5. Ceci permet d&rsquo;\u00e9viter que des machines IP standards (serveurs, PC) sur un LAN examinent les paquets IP \u00e9mis par les routeurs. C&rsquo;est autant de charge en moins !<\/p>\n<p><strong>Un nouvel LSA est imm\u00e9diatement \u00e9mis si une des composantes du pr\u00e9c\u00e9dent a chang\u00e9<\/strong>. Cet LSA de r\u00e9ajustement ne comportera que le delta par rapport au pr\u00e9c\u00e9dent \u00e9mis, c&rsquo;est le \u00ab\u00a0<strong><span style=\"color: #ff0000;\">steady-state<\/span><\/strong>\u00ab\u00a0. Ceci permet de minimiser les tailles des messages \u00e9mis (gain en bande passante) et \u00e9galement de permettre une meilleure r\u00e9activit\u00e9 du routage.<\/p>\n<p><strong>Les routeurs construisent avec les LSA re\u00e7us une LSDB<\/strong> (<strong>L<\/strong>ink <strong>S<\/strong>tate <strong>D<\/strong>ata <strong>B<\/strong>ase) et calculent ainsi un ou plusieurs arbres SPF, ils m\u00e9morisent ainsi plusieurs topologies de r\u00e9seau utilisant les moindres co\u00fbts de routage pour chaque destination. Il est ici n\u00e9cessaire de comprendre que la LSDB n&rsquo;est pas la table de routage ! C&rsquo;est une base de donn\u00e9es construites aliment\u00e9e par les LSA dans laquelle le process OSPF puise pour extraire un arbre de routage. Donc :<\/p>\n<ul>\n<li><strong>Tous les routeurs poss\u00e8dent la m\u00eame LSDB<\/strong> (<em>pour le peu qu&rsquo;ils soient dans la m\u00eame aire ! Mais bon ! Ne compliquons pas les choses !)<\/em><\/li>\n<li><strong>Chaque routeur calcule un arbre de routage diff\u00e9rent<\/strong>, puisque celui-ci d\u00e9pendra da la position relative du routeur dans le r\u00e9seau.<\/li>\n<\/ul>\n<p>R\u00e9f\u00e9rez-vous au <a href=\"http:\/\/www.gatoux.com\/index.php\/types-de-protocoles\/\">chapitre 4<\/a>, si cette notion vous semble n\u00e9buleuse !<\/p>\n<p><strong>Toutes les 30 minutes il y a resynchronisation des routeurs<\/strong> par une comparaison des LSDB afin de se pr\u00e9munir d&rsquo;\u00e9ventuels \u00ab\u00a0rat\u00e9s\u00a0\u00bb dans les \u00e9changes de LSA.<\/p>\n<h2>Comment entretenir une bonne relation de voisinage ?<\/h2>\n<p>Il existe en gros trois types de r\u00e9seaux physiques raccord\u00e9s aux interfaces d&rsquo;un routeur :<\/p>\n<ul>\n<li><strong>Les r\u00e9seaux de type \u00ab\u00a0point \u00e0 point permanent\u00a0\u00bb<\/strong> (Liaison Lou\u00e9e, CVP Frame Relay, VC ATM, etc.) le routeur sait qu&rsquo;il n&rsquo;y a, \u00e0 l&rsquo;autre extr\u00e9mit\u00e9 de la liaison, qu&rsquo;un seul routeur ! Donc s&rsquo;il \u00e9met une donn\u00e9e sur ce lien, obligatoirement c&rsquo;est l&rsquo;autre routeur qui la recevra. De plus sur ce type de lien, si la liaison ou le routeur distant sont HS, il est ais\u00e9 pour le routeur de l&rsquo;autre extr\u00e9mit\u00e9 de le d\u00e9tecter physiquement (perte de \u00ab\u00a0porteuse\u00a0\u00bb sur le lien) ou logiquement (perte de connexion du protocole de niveau 2).<\/li>\n<li><strong>Les r\u00e9seaux de type \u00ab\u00a0broadcast\u00a0\u00bb tels que les LAN<\/strong> (Ethernet, Token Ring ou FDDI) sont connect\u00e9s au routeur par des interfaces LAN. Ils peuvent supporter plusieurs routeurs et si un routeur est HS, les autres ne sont pas sens\u00e9 le d\u00e9tecter puisque pour eux la connexion au LAN est toujours active ! OSPF identifie ce type de r\u00e9seau comme des <strong>BMA<\/strong> (<strong>B<\/strong>roadcast <strong>M<\/strong>ulti <strong>A<\/strong>ccess). Sur ce type de r\u00e9seau il devra mettre en place un m\u00e9canisme qui lui permettra de savoir si ses routeurs voisins (ses \u00ab\u00a0<strong>neighbors<\/strong>\u00a0\u00bb in English !) sont toujours actifs ou non afin de mettre \u00e0 jour sa LSDB si n\u00e9cessaire.<\/li>\n<li><strong>Les r\u00e9seaux multi-acc\u00e8s n&rsquo;autorisant pas l&rsquo;\u00e9mission de \u00ab\u00a0broadcast\u00a0\u00bb.<\/strong> Ce sont les diff\u00e9rents r\u00e9seaux commut\u00e9s (RNIS, RTC) ou \u00e0 commutation de paquets comme X25 ou CVC Frame Relay. Sur ces r\u00e9seaux une m\u00eame interface donne acc\u00e8s \u00e0 diff\u00e9rents voisins en fonction de la destination de la connexion. Ces r\u00e9seaux sont appel\u00e9s des <strong>NBMA<\/strong> (<strong>N<\/strong>one <strong>B<\/strong>roadcast <strong>M<\/strong>ulti <strong>A<\/strong>ccess).<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-502 alignleft\" src=\"http:\/\/www.gatoux.com\/wp-content\/uploads\/2017\/04\/S3P9I2.gif\" alt=\"\" width=\"457\" height=\"186\" \/>Sur un r\u00e9seau de type BMA (Broadcast Multi Access) le protocole Hello permet de d\u00e9couvrir qui sont les voisins d&rsquo;un routeur. Sur un r\u00e9seau NBMA il faudra pr\u00e9ciser au routeur qui sont ses voisins.<\/p>\n<p>Un routeur devra \u00e9changer r\u00e9gulierement des Hello selon une fr\u00e9quence param\u00e9trable. Un voisin sera consid\u00e9r\u00e9 comme perdu au bout d&rsquo;un temps appel\u00e9 <strong>Dead Interval<\/strong> sans r\u00e9ception de Hello de sa part. Les <strong>Hello-times<\/strong> (temps d&rsquo;intervalles de Hello) et les Dead Interval doivent \u00eatre tous identiques au sein d&rsquo;un m\u00eame r\u00e9seau NBMA et BMA.<\/p>\n<h2>Hi\u00e9rarchisation &#8230;<\/h2>\n<p>OSPF est un <strong>IGP<\/strong>, il fonctionne donc au sein d&rsquo;un AS. Si l&rsquo;AS est tr\u00e8s \u00e9tendu, il y aura:<\/p>\n<ul>\n<li>Plus d&rsquo;\u00e9change de LSA (un LSA\/routeur)<\/li>\n<li>Plus de place prise par la LSDB au sein de chaque routeur<\/li>\n<li>Plus de charge CPU pour calculer les arbres SPF depuis la LSDB<\/li>\n<\/ul>\n<p>Pour optimiser le fonctionnement d&rsquo;OSPF on peut diviser l&rsquo;AS en aires (<strong>Area<\/strong>). Une aire est un groupe contigu de r\u00e9seaux et de machines (hosts et routeurs), dont la topologie et l&rsquo;existence sont invisibles pour les routeurs des autres aires.<\/p>\n<p>Au sein de chaque aire une <strong>LSDB<\/strong> particuli\u00e8re est construite selon un OSPF local. Il existe une aire sp\u00e9cifique, appel\u00e9e aire \u00ab\u00a0<strong>Backbone<\/strong>\u00a0\u00bb qui est contigu\u00eb \u00e0 toutes les autres aires, qui leur sert d&rsquo;<strong>aire de transit<\/strong> et qui ne comporte aucun r\u00e9seau supportant des machines.<\/p>\n<p>Chaque aire poss\u00e8de un identifiant (<strong>AreaID<\/strong>) du format @IP, qui comme pour l&rsquo;IDrouter n&rsquo;a rien \u00e0 voir avec un adressage quelconque. <strong>L&rsquo;AreaID de l&rsquo;aire Backbone est toujours 0.0.0.0<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-505 alignleft\" src=\"http:\/\/www.gatoux.com\/wp-content\/uploads\/2017\/04\/S3P9I5.gif\" alt=\"\" width=\"512\" height=\"318\" \/>Chaque r\u00e9seau raccord\u00e9 aux interfaces d&rsquo;un routeur est plac\u00e9 dans une aire en lui affectant un AreaID. Dans l&rsquo;exemple ci-contre, le routeur R4 a le r\u00e9seau 10.4.0.0\/30 plac\u00e9 dans l&rsquo;Area 1.1.1.1 et le r\u00e9seau IP 10.1.0.0\/30 du lien d&rsquo;interconnexion avec le routeur R6 plac\u00e9 dans l&rsquo;aire 0.0.0.0.<\/p>\n<p>Le trafic entre deux aires passe forc\u00e9ment par l&rsquo;aire Backbone (0.0.0.0), tel que suit:<\/p>\n<ul>\n<li><strong>en intra-aire source<\/strong> : de la source vers le routeur de bordure d&rsquo;aire backbone selon la table de routage des routeurs internes \u00e0 l&rsquo;aire source.<\/li>\n<li><strong>en inter-aire<\/strong> : d&rsquo;un routeur de bordure d&rsquo;aire backbone \u00e0 un autre selon la table de routage condens\u00e9e des routeurs d&rsquo;aire backbone.<\/li>\n<li><strong>en intra-aire destination<\/strong> : du routeur de bordure d&rsquo;aire backbone de l&rsquo;aire destination vers le r\u00e9seau destinataire, selon la table de routage des routeurs internes \u00e0 l&rsquo;aire de destination.<\/li>\n<\/ul>\n<h2>Hi\u00e9rarchisation des \u00e9changes<\/h2>\n<p>Comme nous venons de le voir, la division d&rsquo;un AS en aires permet \u00e0 OSPF de hi\u00e9rarchiser le routage. Mais cette hi\u00e9rarchisation se traduit par des r\u00f4les diff\u00e9rents dans le process de routage et dans le format des annonces en fonction de la position des routeurs. On d\u00e9nombre ainsi pour OSPF quatre types de routeurs :<\/p>\n<ul>\n<li><strong>I<\/strong>nternal <strong>R<\/strong>outer (<strong>IR<\/strong>) : routeur ayant toutes ses interfaces directement reli\u00e9es \u00e0 des r\u00e9seaux faisant parties d&rsquo;une m\u00eame aire.<\/li>\n<li><strong>A<\/strong>rea <strong>B<\/strong>order <strong>R<\/strong>outer (<strong>ABR<\/strong>) : routeur connect\u00e9 \u00e0 plusieurs aires.<\/li>\n<li><strong>B<\/strong>ackbone <strong>R<\/strong>outer (<strong>BR<\/strong>) : routeur connect\u00e9 \u00e0 l&rsquo;aire backbone par au moins une interface. Tous les ABR doivent \u00eatre BR, par contre un BR n&rsquo;est pas forc\u00e9ment ABR, il peut \u00eatre IR \u00e0 l&rsquo;aire backbone (<em>vous avez compris ou je recommence ?<\/em>).<\/li>\n<li><strong>AS<\/strong> <strong>B<\/strong>oundary <strong>R<\/strong>outer (<strong>ASBR<\/strong>): routeur \u00e9changeant des informations avec des routeurs faisant parties d&rsquo;un autre AS.<\/li>\n<\/ul>\n<p>OSPF distingue de plus deux types de r\u00e9seaux suppl\u00e9mentaire :<\/p>\n<ul>\n<li><strong>STUB network<\/strong> : r\u00e9seau de terminaison (un seul routeur connect\u00e9). Il n&rsquo;est pas n\u00e9cessaire d&rsquo;activer du Hello, ni d&rsquo;\u00e9mettre des LSA sur ce r\u00e9seau puisqu&rsquo;il n&rsquo;y a pas d&rsquo;autres routeurs pour les interpr\u00e9ter !<\/li>\n<li><strong>Transit network<\/strong> : r\u00e9seau de transit supportant plusieurs routeurs, et acheminant donc du trafic inter-STUB network.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-504 alignleft\" src=\"http:\/\/www.gatoux.com\/wp-content\/uploads\/2017\/04\/S3P9I4.gif\" alt=\"\" width=\"540\" height=\"273\" \/>Dans l&rsquo;exemple ci-contre le type de routeur est indiqu\u00e9 en vert \u00e0 cot\u00e9 du routeur. Ce type d\u00e9pend de la localisation dans les aires du routeur. Ainsi <strong>R1 est un IR<\/strong> car toutes ses interfaces sont plac\u00e9es dans l&rsquo;aire 1.1.1.1 alors que <strong>R4 est un ABR<\/strong> (routeur de bordure d&rsquo;aire) puisqu&rsquo;il a une interface dans l&rsquo;aire 1.1.1.1 est une autre dans l&rsquo;aire backbone (0.0.0.0). A noter qu&rsquo;un ASBR peut \u00eatre plac\u00e9 dans une aire quelconque ou dans l&rsquo;aire backbone. Les <strong>Stub Network sont les LAN repr\u00e9sent\u00e9s en rouge<\/strong> alors que les <strong>Transit Network sont en bleu<\/strong>. Vous noterez que le LAN raccord\u00e9 \u00e0 R11 est un Transit Network car il supporte deux routeurs OSPF (R11 et R12).<\/p>\n<p>La r\u00e9partition en aires, la hi\u00e9rarchie des routeurs et des r\u00e9seaux a amen\u00e9 les concepteurs d&rsquo;OSPF \u00e0 diviser et organiser le trafic des informations de routage selon diff\u00e9rents types de LSA:<\/p>\n<ul>\n<li>Type 1 (<strong>R<\/strong>outer <strong>L<\/strong>inks <strong>A<\/strong>dvertisement) : Diffus\u00e9 au sein d&rsquo;une aire par les IR et ABR, il d\u00e9crit les liens vers les routeurs voisins internes \u00e0 l&rsquo;aire (Transit network), ainsi que les r\u00e9seaux LAN raccord\u00e9s (STUB network).<\/li>\n<li>Type 2 (<strong>N<\/strong>etwork <strong>L<\/strong>inks <strong>S<\/strong>tate <strong>A<\/strong>dvertisement) : Diffus\u00e9 au sein d&rsquo;une aire par un DR sur un r\u00e9seau BMA, il contient tous les LSA type 1 re\u00e7us par le DR des diff\u00e9rents routeurs connect\u00e9s au r\u00e9seau BMA. Nous revenons sur ce principe dans le paragraphe suivant.<\/li>\n<li>Type 3 (<strong>N<\/strong>etwork <strong>S<\/strong>ummary <strong>L<\/strong>ink <strong>S<\/strong>tate <strong>A<\/strong>dvertisement) : Diffus\u00e9 au sein d&rsquo;une aire par un ABR, il d\u00e9crit les r\u00e9seaux qui lui sont accessibles en dehors de l&rsquo;aire de mani\u00e8re condens\u00e9e.<\/li>\n<li>Type 4 (<strong>AS<\/strong> <strong>B<\/strong>oundary <strong>R<\/strong>outer <strong>Su<\/strong>mmary <strong>L<\/strong>ink <strong>A<\/strong>dvertisement) : Diffus\u00e9 au sein d&rsquo;une aire par un ABR, il donne le co\u00fbt de la route entre lui et un ASBR.<\/li>\n<li>Type 5 (<strong>AS<\/strong> <strong>E<\/strong>xternal <strong>L<\/strong>ink <strong>A<\/strong>dvertisement) : Diffus\u00e9 \u00e0 toutes les aires de transit entre AS par les ASBR, il donne les r\u00e9seaux externes accessibles via l&rsquo;ASBR \u00e9metteur.<\/li>\n<\/ul>\n<p>D&rsquo;une mani\u00e8re g\u00e9n\u00e9rale, les routeurs pr\u00e9f\u00e9reront construire leurs LSDB sur les NLSA (type 2), \u00e9mises par le DR d&rsquo;un r\u00e9seau BMA, plut\u00f4t que sur les LSA (type 1) de chaque IR de l&rsquo;aire.<\/p>\n<p>Les LSA type 3 sont utilis\u00e9es par les ABR pour conna\u00eetre le condens\u00e9 d&rsquo;une aire, ceux-ci n&rsquo;ont en effet pas \u00e0 conna\u00eetre la totalit\u00e9 de la topologie d&rsquo;une aire mais simplement le nom des r\u00e9seaux contenus.<\/p>\n<h2>Les LANs de transit (BMA : Broadcast Multi Access)<\/h2>\n<p>Nous avons pr\u00e9c\u00e9demment pr\u00e9cis\u00e9 qu&rsquo;OSPF distingue diff\u00e9rents types de r\u00e9seau, et que notamment il classe les r\u00e9seaux LAN qui supportent plus d&rsquo;un routeur OSPF dans la cat\u00e9gorie des BMA.<\/p>\n<p>Le principe est encore une fois d&rsquo;optimiser les \u00e9changes de LSA entre les routeurs. Si sur un LAN vous avez trois routeurs, ils devraient, en principe transmettre chacun leurs LSA et on \u00e9mets ainsi trois LSA pour un changement d&rsquo;\u00e9tat. Par contre, si on d\u00e9fini un routeur ma\u00eetre en charge en charge de compiler les LSA des routeurs du LAN on pourra diminuer le nombre de mises \u00e0 jour et la r\u00e9activit\u00e9 du protocole. Ce routeur est appel\u00e9 le <strong>D<\/strong>esignated <strong>R<\/strong>outer (<strong>DR<\/strong>). Par contre si ce routeur devient indisponible, il est imp\u00e9ratif qu&rsquo;un routeur de secours puisse prendre le relais. Ce routeur doit avoir une LSDB rigoureusement identique \u00e0 celle du DR afin de pouvoir prendre le relais sans probl\u00e8me. Ce routeur est nomm\u00e9 le <strong>B<\/strong>ackup <strong>D<\/strong>esignated <strong>R<\/strong>outer (<strong>BDR<\/strong>).<\/p>\n<p>Pour chaque r\u00e9seau BMA comportant plus d&rsquo;un routeur, il faudra \u00e9lire un routeur d\u00e9sign\u00e9 (DR) et un routeur d\u00e9sign\u00e9 de secours (Backup DR = BDR). Le routeur d\u00e9sign\u00e9 est \u00e9lu par le protocole Hello selon la m\u00e9thode suivante:<\/p>\n<ul>\n<li>Tous les routeurs ont un ID et une priorit\u00e9 param\u00e9trable.<\/li>\n<li>Le routeur d\u00e9sign\u00e9 sera celui ayant la priorit\u00e9 la plus \u00e9lev\u00e9e.<\/li>\n<li>Dans le cas o\u00f9 deux priorit\u00e9s sont identiques, c&rsquo;est le routeur ayant l&rsquo;ID le plus \u00e9lev\u00e9 qui sera \u00e9lu DR.<\/li>\n<li>Le BDR est \u00e9lu de la m\u00eame mani\u00e8re avec, bien s\u00fbr, une priorit\u00e9 et\/ou un ID inf\u00e9rieur au DR.<\/li>\n<\/ul>\n<p>Chaque routeur adjacent <strong>envoie ses LSA en adresse multicast IP AllDrouters<\/strong> (224.0.0.6), les DR et BDR les re\u00e7oivent et les <strong>retransmettent \u00e0 tous les routeurs SPF en adresse multicast AllSPF <\/strong>(224.0.0.5). Donc les paquets IP 224.0.0.6 ne sont lus que par les DR et BDR. Et seuls les DR et BDR \u00e9mettent avec l&rsquo;adresse 224.0.0.5.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-209 alignleft\" src=\"http:\/\/www.gatoux.com\/wp-content\/uploads\/2017\/04\/BMA.gif\" alt=\"\" width=\"448\" height=\"384\" \/>Dans l&rsquo;exemple ci-contre R1 est \u00e9lu DR car il poss\u00e8de la priorit\u00e9 la plus \u00e9lev\u00e9e (Prio = 3) de tous les routeurs du BMA 10.0.3.0\/24.<\/p>\n<p>Le routeur R3 est \u00e9lu BDR car il poss\u00e8de un ID plus \u00e9lev\u00e9 que R2 \u00e0 priorit\u00e9 \u00e9gale (Prio = 2).<\/p>\n<p>Seuls R1et R3 compilent les informations remont\u00e9es des autres routeurs par les LSA AllDR. R2 ne prend en compte que les LSA AllSPF \u00e9mises par R1. Aucun autre routeurs du LAN n&rsquo;\u00e9mets de LSA AllSPF.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Le routage par les co\u00fbts et le TOS<\/h2>\n<p>Nous avons pr\u00e9c\u00e9demment pr\u00e9cis\u00e9 qu&rsquo;OSPF permet d&rsquo;impl\u00e9menter des co\u00fbts aux interfaces sortantes et qu&rsquo;il est capable de router en fonction de la valeur du champ TOS du paquet IP. Ceci suppose donc :<\/p>\n<ul>\n<li>qu&rsquo;un routeur OSPF permet l&rsquo;affectation d&rsquo;un co\u00fbt arbitraire et manuel \u00e0 chacune de ses interfaces.<\/li>\n<li>qu&rsquo;il permet \u00e9galement d&rsquo;associer un co\u00fbt \u00e0 diff\u00e9rentes valeurs de TOS IP<\/li>\n<\/ul>\n<p>Rappelons que le <strong>TOS IP<\/strong> est un champ de 8 bits de l&rsquo;ent\u00eate du datagramme IP qui permet de <strong>d\u00e9finir une priorit\u00e9 de routage<\/strong> (champ Pr\u00e9c\u00e9dence de 3 bits) ou des indications sur la nature des routes \u00e0 emprunter (favoriser le d\u00e9bit ou le d\u00e9lai de traitement ou encore la fiabilit\u00e9 du lien). Je vous renvoi au <a href=\"http:\/\/www.gatoux.com\/index.php\/le-datagramme-ip\/\">chapitre 3 du cours IP <\/a>pour vous rafra\u00eechir la m\u00e9moire si n\u00e9cessaire !<\/p>\n<p>Avec la possibilit\u00e9 d&rsquo;affecter un co\u00fbt par interface sortante en fonction du champ TOS vous pouvez ainsi d\u00e9finir des routes vous-m\u00eames dans le r\u00e9seau et qui plus est, des routes diff\u00e9rentes pour une m\u00eame destination en fonction de la valeur du champ TOS.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-505 alignleft\" src=\"http:\/\/www.gatoux.com\/wp-content\/uploads\/2017\/04\/S3P9I5.gif\" alt=\"\" width=\"512\" height=\"318\" \/>Dans le sch\u00e9ma ci-contre T1C1 veut dire Cout de 1 sur cette interface pour un trafic sortant de champ TOS = 1. C1 veut dire co\u00fbt de 1 sur cette interface pour un trafic sortant quel que soit la valeur du champ TOS. Dans ce cas, une communication entre le PC de l&rsquo;aire 1.1.1.1 et le serveur de l&rsquo;aire 2.2.2.2 utilisera le chemin :<\/p>\n<ul>\n<li>R1-R4-<strong>R6<\/strong>-R7-R8 pour un champ TOS de valeur 1 et pour le chemin aller. En effet, cette route \u00e0 un co\u00fbt total de 14 (1+1+1+1+10) contre 15 (1+2+1+1+10) pour la route passant par R5 au lieu de R6. Par contre le chemin de retour pour ce m\u00eame TOS sera R8-R7-<strong>R5<\/strong>-R4-R1 ayant un co\u00fbt de 14 pour un TOS = 1 au lieu de 15 pour la route passant par R6.<\/li>\n<li>R1-R4-<strong>R5<\/strong>-R7-R8 pour un champ TOS de valeur 2 et pour le chemin aller. En effet, cette route \u00e0 un co\u00fbt total de 14 (1+1+1+1+10) contre 15 (1+2+1+1+10) pour la route passant par R6 au lieu de R5. Par contre le chemin de retour pour ce m\u00eame TOS sera R8-R7-<strong>R6<\/strong>-R4-R1 ayant un co\u00fbt de 14 pour un TOS = 2 au lieu de 15 pour la route passant par R5.<\/li>\n<\/ul>\n<p>Ce cas d&rsquo;\u00e9cole (<em>on a jamais vu mettre en place un routage \u00ab\u00a0tournant\u00a0\u00bb aussi tordu dans un vrai r\u00e9seau <\/em>!), permet donc de d\u00e9montrer les capacit\u00e9s de contr\u00f4le des routes utilis\u00e9es en fonction du champ TOS \u00e0 l&rsquo;aller et au retour ! Ce principe de routage a \u00e9t\u00e9 largement inspir\u00e9 par celui mis en \u0153uvre dans l&rsquo;architecture DecNet Phase IV de DIGITAL (couche DRP).<\/p>\n<p>Rappelons que l&rsquo;affectation d&rsquo;un co\u00fbt aux interfaces par programmation est facultatif. Si aucun co\u00fbt n&rsquo;est affect\u00e9 par l&rsquo;administrateur, OSPF calculera un co\u00fbt par d\u00e9faut calcul\u00e9 uniquement sur la valeur de la bande passante du support auquel est raccord\u00e9e l&rsquo;interface. Ce co\u00fbt est meilleur que celui de RIP (uniquement nombre de saut) mais reste tout de m\u00eame relativement simpliste. Donc, quand le r\u00e9seau est maill\u00e9, comme dans le cas de l&rsquo;aire backbone de notre exemple il est peut-\u00eatre judicieux d&rsquo;appliquer un co\u00fbt manuellement. Par contre pour les cas de R1 ou R8 de notre exemple, on pouvait se dispenser d&rsquo;affecter un co\u00fbt puisqu&rsquo;ils sont des passages oblig\u00e9s !<\/p>\n<h2>Conclusion<\/h2>\n<p>Nous pourrions encore discuter longuement autour d&rsquo;OSPF mais nous avons ici vu les caract\u00e9ristiques \u00ab\u00a0phares\u00a0\u00bb. Ce chapitre n&rsquo;est qu&rsquo;une introduction, OSPF m\u00e9rite un cours complet \u00e0 lui seul, mais je ne suis pas s\u00fbr d&rsquo;avoir les comp\u00e9tences et le courage n\u00e9cessaire pour en r\u00e9diger un.<\/p>\n<p>Quoiqu&rsquo;il en soit, si vous avez bien assimil\u00e9 les \u00e9l\u00e9ments du chapitre 4 et de celui-ci, vous avez maintenant une tr\u00e8s bonne id\u00e9e de la diff\u00e9rence entre un protocole de routage \u00e0 \u00e9tat de lien et un protocole de routage \u00e0 vecteurs de distance. Vous avez j&rsquo;esp\u00e8re bien compris tout l&rsquo;avantage qu&rsquo;il y a \u00e0 utiliser OSPF sur des r\u00e9seaux importants.<\/p>\n<p>Pour la partie protocole de routage \u00ab\u00a0purs\u00a0\u00bb nous en resterons l\u00e0 dans ce cours &#8230; Passons \u00e0 la conclusion du cours !<\/p>\n<h5 align=\"center\"><a href=\"http:\/\/www.gatoux.com\/index.php\/limites-de-rip\/\">Page pr\u00e9c\u00e9dente<\/a><span style=\"font-family: Arial,Helvetica,sans-serif; font-size: small;\"> | <a href=\"http:\/\/www.gatoux.com\/index.php\/conclusion-routage-ip\/\">Page Suivante<\/a><\/span><\/h5>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans le chapitre pr\u00e9c\u00e9dent, vous avez pu assister \u00e0 une mise \u00e0 mort de RIP ! M\u00eame si j&rsquo;ai relativis\u00e9 mon discours en conclusion, il n&rsquo;en reste pas moins que RIP, et les protocoles \u00e0 vecteurs de distance en g\u00e9n\u00e9ral pr\u00e9sentent des contraintes parfois p\u00e9nalisantes. Les r\u00e9seaux d&rsquo;entreprises d&rsquo;aujourd&rsquo;hui deviennent de plus en plus vastes\u2026 <span class=\"read-more\"><a href=\"https:\/\/racine.gatoux.com\/lmdr\/index.php\/ospf-du-bel-ouvrage\/\">Lire la suite &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":39,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width.php","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"class_list":["post-478","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/pages\/478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/comments?post=478"}],"version-history":[{"count":3,"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/pages\/478\/revisions"}],"predecessor-version":[{"id":539,"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/pages\/478\/revisions\/539"}],"wp:attachment":[{"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/media?parent=478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}