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 5 relations, et 10 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.