[Cours] OSPF
Introduction.
Je vous ai dernièrement parlé d’un article parlant de RIP rédigé par Johan Denoyer.
Après pas mal de lecture, beaucoup d’échanges avec lui (un grand merci pour la patience), je me suis proposé de continuer dans son sillage et bosser sur une présentation du protocole de routage souvent utilisé aujourd’hui, OSPF.
Je pensais faire une brève présentation d’OSPF, mais finalement, il se peut que je sois allé plus loin qu’une simple présentation.
Je ne sais pas si j’ai été assez clair dans mes explications, mais dans le doute, je reste disponible via les commentaires ou par mail : jimmy[No-Spam]marchetto.at
Bon, attaquons par le commencement…
Rôle du routage
Le terme routage désigne le mécanisme par lequel les paquets IP d’un équipement expéditeur sont acheminées jusqu’à leur destinataire, même si aucun des deux ne connaît le chemin complet que les données devront suivre. Tous les appareils connectés à Internet possèdent une table de routage. Du point de vue du routage on distingue deux types logiques d’appareils : les terminaux, ou hôtes, qui sont généralement reliés à un seul réseau et qui ont par conséquent une table de routage simple et les routeurs qui relient au minimum deux réseaux et possèdent une table de routage plus complexe.
Pour ce qui est du routage, nous intervenons à la troisième couche du modèle OSI (Réseau). L’itinéraire est alors enregistré dans une table appelée “table de routage”.
Mécanisme de routage
Les tables de routages peuvent être configurées en dur sur le routeur, on parle alors de “routage statique”.
La maintenance des tables de routages des routeurs importants ne pouvant être raisonnablement effectuée manuellement (même si cette manipulation peut être plus sécurisée), on a défini des protocoles de routage permettant d’échanger les informations de routage entre les routeurs. C’est que nous appelleront le “routage dynamique”.
Ces protocoles fonctionnent de différentes façons : ils peuvent échanger à intervalles réguliers uniquement les changements dans les tables de routage comme le protocole OSPF. Ils peuvent aussi échanger toute la table de routage comme le protocole RIP ou IGRP ou encore un hybride des deux comme EIGRP qui échangent la totalité des tables de routage dès qu’il y a modification de l’une d’elles.
Les IGP sont des protocoles fonctionnant à l’intérieur d’un système autonome. Et là vous allez me dire, « Système quoi ? ».
Système autonome
Un système autonome est un ensemble de réseaux interconnectés par des routeurs. Les systèmes autonomes sont reliés entre eux par des routeurs externes. Un système autonome correspond à un groupe de routeurs dépendant d’une même responsabilité administrative du point de vue du routage et appliquant une politique de routage unique. On distingue donc les protocoles de routage interne au sein d’un système autonome des protocoles externes qui concernent le trafic entre systèmes autonomes. Les protocoles de routage externe privilégient les informations d’accessibilité par rapport aux informations de topologie de réseau. Un réseau IP appartient à un seul système autonome. Le principal protocole de routage externe est BGP. L’internet est composé d’un ensemble de systèmes autonomes reliés entre eux par des routeurs externes. Un système autonome utilise un protocole de routage interne tel que RIP, OSPF, ISIS, BGP ou IGRP. Chaque AS est identifié par un entier de 16 bits (passé récemment à 32 bits, avec la RFC 4893 que je ne décrirais pas ici mais qui est consultable ici) qui est utilisé par le protocole de routage BGP. Sur Internet, cet identifiant est assigné par les organisations qui allouent les adresses IP, les RIR (Registre Internet Régional). Les nombres de 1 à 64511 sont réservés pour une utilisation publique (Internet) tandis que ceux de 64512 à 65535 sont réservés pour un usage privé au sein d’une organisation. Ça c’est pour les systèmes autonomes avant la RFC 4893. Depuis cette RFC, le nombre d’AS pouvant être attribués est de 4 294 967 296 numéros… La norme de nommage est désormais x.y où « x » et « y » représentent deux nombres codés en 16 bits. La première série de 65535 AS auront des numéros allant de 1.0 à 1.65535. Les 65535 suivants allant de 2.0 à 2.65535… et ainsi de suite. Vous voulez plus d’infos ? C’est par ici.
Le protocole OSPF
Description
OSPF (Open Shortest Path First) utilise l’algorithme Shortest Path First créé par Dijkstra (algorithme publié en 1959).
OSPF est un protocole à état de liens alors que les protocoles RIP V1 et RIP V2 sont des protocoles à vecteurs distance. Pour les novices, ces derniers mots barbares doivent faire mal à la tête… Je vous explique. On distingue généralement deux types de routage :
Les routeurs de type vecteur de distance (distance vector) établissent une table de routage recensant en calculant le « coût » (en termes de nombre de sauts) de chacune des routes puis transmettent cette table aux routeurs voisins. A chaque demande de connexion le routeur choisit la route la moins coûteuse.
Les routeurs de type link state (link state routing) écoutent le réseau en continu afin de recenser les différents éléments qui l’entourent. A partir de ces informations chaque routeur calcule le plus court chemin (en temps) vers les routeurs voisins et diffusent cette information sous forme de paquets de mise à jour. Chaque routeur construit enfin sa table de routage en calculant les plus courts chemins vers tous les autres routeurs (à l’aide de l’algorithme de Dijkstra).
Ces deux protocoles diffèrent considérablement dans leur manière de procéder. La plus grande différence porte sur la quantité d’informations échangée par les routeurs. Les protocoles à vecteurs de distance annoncent peu d’informations; un routeur ne prend connaissance d’autres routeurs que s’il reçoit des mises à jour broadcast de leur part. En outre, une mise à jour ne comprend aucune indication concernant les routeurs situés au delà du routeur voisin qui l’a émise. A l’inverse, les protocoles à états de liens, transmettent de nombreuses informations sur la topologie du réseau, et les routeurs effectuent des calculs couteux en ressources processeur à partir de ces données. Ces derniers découvrent même leurs voisins avant d’avoir échangés avec eux des informations de routage.
Fonctionnement
Une relation de voisinage est nécessaire pour que les routeurs OSPF se partagent des informations de routage, ainsi, si chaque routeur doit établir une adjacence avec chaque routeur présent dans la même aire (area) et échanger leurs informations, cela va devenir très vite lourd.
Par exemple, 5 routeurs nécessitent 10 relations, 10 routeurs nécessitent 45 relations (Formule : (n(n-1))/2. Pour éviter ceci, une élection va s’effectuer dans le réseau pour élire un routeur désigné (DR – Designated Routeur). Ce routeur devient adjacent pour tous les routeurs, et tous les routeurs envoient leurs informations au DR. Du coup, pour un réseau de 5 routeurs, il ne faudra plus que 4 relations, et 9 relations pour 10 routeurs. Le DR envois l’information d’état de lien à tous les routeurs en utilisant l’adresse multicast 224.0.0.5 (pour tous les routeurs OSPF du même segment). En dépit de ce gain d’efficacité d’élection du DR, il reste une grosse faiblesse : le DR devient un point central de défaillance. Il y a donc élection d’un second routeur, le BDR (Backup Designated Router) qui pourra remplacer la fonction du DR en cas de problème. Tous les routeurs envoient leurs informations au DR et au BDR en utilisant l’adresse multicast 224.0.0.6.
Authentification
Pour communiquer entre eux, les routeurs doivent s’authentifier. Il existe deux types d’authentification entre les routeurs au sein d’une zone.
Le premier via un mot de passe et le second via un processus de hachage (Message Digest authentication : MD5).
L’authentification par mot de passe est la moins sure des deux. En effet, les routeurs se transmettent ce mot de passe en clair (12345). L’authentification MD5 consiste en une clé (Key) et un key-id qui sont configurés sur chaque routeur. Chaque routeur générera une emprunte de 64 bits du paquet OSPF à envoyer en fonction de sa clé et de sa key-id grâce à l’algorithme de hachage MD5. Les destinataires n’auront qu’à effectuer la même opération pour vérifier que le message digest correspond et ainsi valider l’identité de l’expéditeur.
Conclusion
Bien que la version 2 d’OSPF soit la plus utilisée actuellement, OSPF en est à sa version 3 (Adaptation du protocole en prévision de l’IPv6). Cette nouvelle version pourrait intégrer un nouvel algorithme (TDSP) basé sur le même algorithme mais en cherchant un second chemin disjoint du premier pour éviter de refaire le calcul en cas de panne.
OSPF reste un protocole de routage compliqué à mettre en place. S’il n’est pas configuré correctement, il se peut qu’un routeur puisse gérer un réseau auquel il ne devrait pas avoir accès.
Je me répète, mais je suis preneur pour toutes critiques ou encouragements.
Jimmy.

Article intéressant pour avoir un vernis sur ces protocoles.
Bonne continuation.
Alain
heu c’est pas la fin des années 80 pour l’ospf?
le rip c’est du métrique, et l’ospf il gère pas le coût réseau suivant le média utilisé?
il ne manque que les commande
router ospf 1
network 192.168.0.0 0.0.0.63 area 0
………………………………
la pratique mon pote
Salut
Pour les fautes, fait passer par mail
A bientôt l’ami
Sympa ton article jimmy!
Sa y est je me suis motivée à le lire ton article!
Étant donnée que je ne connaissait pas cette technologie, ton cours m’as bien appris. Il est complet et plutôt clair!
Tu veus pas faire les même sur ce qu’on fais en cour sa m’évitera de relire mes cours pour réviser
PS: j’ai noté quelques fautes orthographique..
Skyblog…
Evitons la vulgarité mon grand ^^
Bonsoir Monsieur,
sympa cet article, bonne continuation pour ton skyblog…
à bientôt
merci
c’est mon premier réel article ^^
Salut,
Même commentaire que sur le blog de Johan.
Merci pour ta documentation sur OSPF.
Amicalement,
Christophe
Salut !
J’ai été motivé par Johan Denoyer pour l’article.
Sinon, c’est faute de temps libre que je ne réponds pas à grand monde. Faut que je t’appelle pour t’expliquer tout ce qu’il m’arrive en ce moment, tu verra que le temps est une chose précieuse qu’il faut utiliser avec parsimonie
Je t’appelle courant WE si j’ai un peu de temps :-p
Bon cours, je vois que tu avances!
Dommage que tu ne répondes pas un à pote…
J’ai remis du sharepoint en place si cela t’intéresse.
Bon courage pour la suite.
Sly