Dans le chapitre précédent, vous avez pu assister à une mise à mort de RIP ! Même si j’ai relativisé mon discours en conclusion, il n’en reste pas moins que RIP, et les protocoles à vecteurs de distance en général présentent des contraintes parfois pénalisantes. Les réseaux d’entreprises d’aujourd’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 à vecteurs de distances. Show
Aussi, l’IETF s’est mis à plancher en … sur un protocole de routage ayant une approche radicalement différente. Ces travaux ont donné naissance au routage par « états de liens ». La différence entre « vecteurs de distances » et « états de liens » a été largement expliquée dans le chapitre 4. Nous allons ici aborder (très légèrement !) un exemple de protocoles à états de liens : OSPF. Que reproche-t-on aux protocoles à « vecteurs de distances » ?Les principaux reproches que l’on peut faire aux protocoles à vecteurs de distances sont les suivants :
Certains protocoles comme IGRP ou e-IGRP ont permis d’améliorer ces fonctionnements en implémentant des notions de coûts plus complexes, des capacités d’émission d’updates sur changement d’état de liens ou encore une sectorisation du réseau en pseudo-aire (les groupes IGRP), mais l’algorithme de traitement de base reste le « vecteur de distance » avec sa vue du réseau limitée à la périphérie de chaque routeur (voir le chapitre 4). Pour ces deux protocoles, l’inconvénient majeur reste également qu’ils sont purement Cisco (brevets déposés). Même si Cisco est très présent sur le marché des routeurs, on trouve un tas d’autres constructeurs ! Bref ! Il était temps de chercher autre chose ! OSPF : principaux apports …OSPF (Open Short Path First) est un protocole à états de liens, à ce titre son approche du routage est radicalement différente de celle de RIP et autres protocoles dits « à vecteurs de distances ». Référez-vous au chapitre 4 pour en comprendre la différence. Résumons ici les principales caractéristiques d’OSPF :
Dans les paragraphes suivants nous décrirons plus précisément certains des quelques points mis en avant ici. Mécanisme d’échange de base …Tout d’abord, chaque routeur implémentant OSPF se défini un identifiant unique dans le réseau, permettant aux autres routeurs d’identifier la provenance des mises à jour et également les équipements connectés sur les liens décrits dans les updates. Cet identifiant est automatiquement choisi sur le principe de l’adresse IP la plus élevée affectée aux interfaces du routeur. Comme il n’est pas possible d’avoir deux adresses IP identiques au sein d’un même réseau, ce principe garanti que l’ID routeur sera unique. Puis les routeurs construisent des LSA (Link State Advertising) attribuant à chaque réseau qui leur est directement connecté un coût d’accès. Ce coût peut avoir été affecté manuellement par l’administrateur à la programmation du protocole, ou il peut être calculé automatiquement sur le principe suivant : coût_interface = 109 / Bande passante du réseau correspondantAinsi une interface Ethernet à 10 Mbps aura un coût de 100 (100 = 1 000 000 000 / 10 000 000)alors qu’une interface sur un lien 1 Mbps aura un coût de 1000. Ces LSA sont transmis à tous les routeurs voisins par un multicast AllSPF (224.0.0.5). Seules les machines implémentant OSPF examineront le contenu des paquets IP Multicast ayant l’adresse 224.0.0.5. Ceci permet d’éviter que des machines IP standards (serveurs, PC) sur un LAN examinent les paquets IP émis par les routeurs. C’est autant de charge en moins ! Un nouvel LSA est immédiatement émis si une des composantes du précédent a changé. Cet LSA de réajustement ne comportera que le delta par rapport au précédent émis, c’est le « steady-state« . Ceci permet de minimiser les tailles des messages émis (gain en bande passante) et également de permettre une meilleure réactivité du routage. Les routeurs construisent avec les LSA reçus une LSDB (Link State Data Base) et calculent ainsi un ou plusieurs arbres SPF, ils mémorisent ainsi plusieurs topologies de réseau utilisant les moindres coûts de routage pour chaque destination. Il est ici nécessaire de comprendre que la LSDB n’est pas la table de routage ! C’est une base de données construites alimentée par les LSA dans laquelle le process OSPF puise pour extraire un arbre de routage. Donc :
Référez-vous au chapitre 4, si cette notion vous semble nébuleuse ! Toutes les 30 minutes il y a resynchronisation des routeurs par une comparaison des LSDB afin de se prémunir d’éventuels « ratés » dans les échanges de LSA. Comment entretenir une bonne relation de voisinage ?Il existe en gros trois types de réseaux physiques raccordés aux interfaces d’un routeur :
Un routeur devra échanger régulierement des Hello selon une fréquence paramétrable. Un voisin sera considéré comme perdu au bout d’un temps appelé Dead Interval sans réception de Hello de sa part. Les Hello-times (temps d’intervalles de Hello) et les Dead Interval doivent être tous identiques au sein d’un même réseau NBMA et BMA. Hiérarchisation …OSPF est un IGP, il fonctionne donc au sein d’un AS. Si l’AS est très étendu, il y aura:
Pour optimiser le fonctionnement d’OSPF on peut diviser l’AS en aires (Area). Une aire est un groupe contigu de réseaux et de machines (hosts et routeurs), dont la topologie et l’existence sont invisibles pour les routeurs des autres aires. Au sein de chaque aire une LSDB particulière est construite selon un OSPF local. Il existe une aire spécifique, appelée aire « Backbone » qui est contiguë à toutes les autres aires, qui leur sert d’aire de transit et qui ne comporte aucun réseau supportant des machines. Chaque aire possède un identifiant (AreaID) du format @IP, qui comme pour l’IDrouter n’a rien à voir avec un adressage quelconque. L’AreaID de l’aire Backbone est toujours 0.0.0.0. Chaque réseau raccordé aux interfaces d’un routeur est placé dans une aire en lui affectant un AreaID. Dans l’exemple ci-contre, le routeur R4 a le réseau 10.4.0.0/30 placé dans l’Area 1.1.1.1 et le réseau IP 10.1.0.0/30 du lien d’interconnexion avec le routeur R6 placé dans l’aire 0.0.0.0.Le trafic entre deux aires passe forcément par l’aire Backbone (0.0.0.0), tel que suit:
Hiérarchisation des échangesComme nous venons de le voir, la division d’un AS en aires permet à OSPF de hiérarchiser le routage. Mais cette hiérarchisation se traduit par des rôles différents dans le process de routage et dans le format des annonces en fonction de la position des routeurs. On dénombre ainsi pour OSPF quatre types de routeurs :
OSPF distingue de plus deux types de réseaux supplémentaire :
La répartition en aires, la hiérarchie des routeurs et des réseaux a amené les concepteurs d’OSPF à diviser et organiser le trafic des informations de routage selon différents types de LSA:
D’une manière générale, les routeurs préféreront construire leurs LSDB sur les NLSA (type 2), émises par le DR d’un réseau BMA, plutôt que sur les LSA (type 1) de chaque IR de l’aire. Les LSA type 3 sont utilisées par les ABR pour connaître le condensé d’une aire, ceux-ci n’ont en effet pas à connaître la totalité de la topologie d’une aire mais simplement le nom des réseaux contenus. Les LANs de transit (BMA : Broadcast Multi Access)Nous avons précédemment précisé qu’OSPF distingue différents types de réseau, et que notamment il classe les réseaux LAN qui supportent plus d’un routeur OSPF dans la catégorie des BMA. Le principe est encore une fois d’optimiser les échanges de LSA entre les routeurs. Si sur un LAN vous avez trois routeurs, ils devraient, en principe transmettre chacun leurs LSA et on émets ainsi trois LSA pour un changement d’état. Par contre, si on défini un routeur maître en charge en charge de compiler les LSA des routeurs du LAN on pourra diminuer le nombre de mises à jour et la réactivité du protocole. Ce routeur est appelé le Designated Router (DR). Par contre si ce routeur devient indisponible, il est impératif qu’un routeur de secours puisse prendre le relais. Ce routeur doit avoir une LSDB rigoureusement identique à celle du DR afin de pouvoir prendre le relais sans problème. Ce routeur est nommé le Backup Designated Router (BDR). Pour chaque réseau BMA comportant plus d’un routeur, il faudra élire un routeur désigné (DR) et un routeur désigné de secours (Backup DR = BDR). Le routeur désigné est élu par le protocole Hello selon la méthode suivante:
Chaque routeur adjacent envoie ses LSA en adresse multicast IP AllDrouters (224.0.0.6), les DR et BDR les reçoivent et les retransmettent à tous les routeurs SPF en adresse multicast AllSPF (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 émettent avec l’adresse 224.0.0.5. Dans l’exemple ci-contre R1 est élu DR car il possède la priorité la plus élevée (Prio = 3) de tous les routeurs du BMA 10.0.3.0/24.Le routeur R3 est élu BDR car il possède un ID plus élevé que R2 à priorité égale (Prio = 2). Seuls R1et R3 compilent les informations remontées des autres routeurs par les LSA AllDR. R2 ne prend en compte que les LSA AllSPF émises par R1. Aucun autre routeurs du LAN n’émets de LSA AllSPF. Le routage par les coûts et le TOSNous avons précédemment précisé qu’OSPF permet d’implémenter des coûts aux interfaces sortantes et qu’il est capable de router en fonction de la valeur du champ TOS du paquet IP. Ceci suppose donc :
Rappelons que le TOS IP est un champ de 8 bits de l’entête du datagramme IP qui permet de définir une priorité de routage (champ Précédence de 3 bits) ou des indications sur la nature des routes à emprunter (favoriser le débit ou le délai de traitement ou encore la fiabilité du lien). Je vous renvoi au chapitre 3 du cours IP pour vous rafraîchir la mémoire si nécessaire ! Avec la possibilité d’affecter un coût par interface sortante en fonction du champ TOS vous pouvez ainsi définir des routes vous-mêmes dans le réseau et qui plus est, des routes différentes pour une même destination en fonction de la valeur du champ TOS. Dans le schéma ci-contre T1C1 veut dire Cout de 1 sur cette interface pour un trafic sortant de champ TOS = 1. C1 veut dire coût 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’aire 1.1.1.1 et le serveur de l’aire 2.2.2.2 utilisera le chemin :
Ce cas d’école (on a jamais vu mettre en place un routage « tournant » aussi tordu dans un vrai réseau !), permet donc de démontrer les capacités de contrôle des routes utilisées en fonction du champ TOS à l’aller et au retour ! Ce principe de routage a été largement inspiré par celui mis en œuvre dans l’architecture DecNet Phase IV de DIGITAL (couche DRP). Rappelons que l’affectation d’un coût aux interfaces par programmation est facultatif. Si aucun coût n’est affecté par l’administrateur, OSPF calculera un coût par défaut calculé uniquement sur la valeur de la bande passante du support auquel est raccordée l’interface. Ce coût est meilleur que celui de RIP (uniquement nombre de saut) mais reste tout de même relativement simpliste. Donc, quand le réseau est maillé, comme dans le cas de l’aire backbone de notre exemple il est peut-être judicieux d’appliquer un coût manuellement. Par contre pour les cas de R1 ou R8 de notre exemple, on pouvait se dispenser d’affecter un coût puisqu’ils sont des passages obligés ! ConclusionNous pourrions encore discuter longuement autour d’OSPF mais nous avons ici vu les caractéristiques « phares ». Ce chapitre n’est qu’une introduction, OSPF mérite un cours complet à lui seul, mais je ne suis pas sûr d’avoir les compétences et le courage nécessaire pour en rédiger un. Quoiqu’il en soit, si vous avez bien assimilé les éléments du chapitre 4 et de celui-ci, vous avez maintenant une très bonne idée de la différence entre un protocole de routage à état de lien et un protocole de routage à vecteurs de distance. Vous avez j’espère bien compris tout l’avantage qu’il y a à utiliser OSPF sur des réseaux importants. Pour la partie protocole de routage « purs » nous en resterons là dans ce cours … Passons à la conclusion du cours ! Page précédente | Page SuivanteQuel est le principe du protocole OSPF ?Il fonctionne selon le principe des protocoles à état de lien qui utilisent l'algorithme Dijkstra. Contrairement à un protocole de routage à vecteur de distance, OSPF collecte l'état de toutes les liaisons au sein d'une zone (area) et calcule de son point de vue toutes les routes pour les destinations de la zone.
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).
Quelle est la différence entre OSPF et BGP ?La différence principale entre OSPF et BGP est que OSPF est un protocole de routage intra-domaine utilisant le routage par état de liaison (Link state routing), et l'opération de routage est effectuée dans un système autonome tandis que BGP est le protocole de routage inter-domaine qui utilise le routage par vecteur de ...
|