Protocoles à vecteur de distance vs à état de liens : RIP et OSPF, calcul des routes, convergence, échelle
Un protocole de routage permet aux routeurs d’échanger des informations de routes et de construire automatiquement leurs tables de routage. Les protocoles utilisés au sein d’une organisation (IGP) suivent l’une de deux grandes approches. Dans un protocole à vecteur de distance, chaque routeur apprend de ses voisins « à quelle distance se trouve chaque destination » et choisit ses routes en ajoutant sa distance jusqu’à ce voisin. RIP, l’exemple classique, utilise comme distance le nombre de routeurs traversés (le nombre de sauts). Dans un protocole à état de liens, chaque routeur annonce l’état de ses propres liens afin que tous les routeurs partagent une carte du réseau (la topologie), et chacun calcule les plus courts chemins avec l’algorithme de Dijkstra. OSPF, l’exemple classique, choisit les routes d’après la somme des coûts attribués à chaque lien. Les protocoles à vecteur de distance sont simples et faciles à configurer, mais les routes se stabilisent (convergent) lentement après une panne : ils ne conviennent donc pas aux grands réseaux. Les protocoles à état de liens demandent plus de calcul et de mémoire, mais réagissent vite aux changements et passent à l’échelle des grands réseaux.
| Critère | Vecteur de distance (comme RIP) | État de liens (comme OSPF) |
|---|---|---|
| Ce que sait chaque routeur | Seulement la distance et le prochain saut pour chaque destination, tels qu’annoncés par ses voisins ; il ne connaît pas la structure de tout le réseau | Tous les routeurs et liens de sa zone et leurs coûts ; tous les routeurs de la zone détiennent la même carte (la base de données d’état de liens) |
| Calcul des routes | Ajoute la distance jusqu’à un voisin à la distance annoncée par celui-ci et retient la plus petite (l’idée de Bellman-Ford) | Calcule à partir de la carte un arbre des plus courts chemins dont il est la racine, avec l’algorithme de Dijkstra |
| Métrique (valeur exprimant la qualité d’une route) | RIP utilise le nombre de sauts, jusqu’à 15 ; 16 signifie « injoignable » | OSPF utilise la somme des coûts de chaque lien ; le coût peut être fixé par l’administrateur et est souvent dérivé de la bande passante |
| Envoi des mises à jour | RIP envoie le contenu de sa table de routage à ses voisins à intervalle fixe (30 secondes dans la RFC 2453), et envoie aussi immédiatement les changements (mises à jour déclenchées) | En cas de changement, les informations d’état de liens (LSA) sont propagées dans toute la zone (inondation) ; sinon, des messages Hello vérifient que les voisins sont actifs et les LSA ne sont rafraîchies qu’à long intervalle (30 minutes) |
| Vitesse de convergence et boucles | Lente ; après une panne, les distances peuvent augmenter pas à pas (comptage à l’infini) ; l’horizon partagé (split horizon) et des techniques similaires limitent ce phénomène | Rapide ; une fois un changement propagé, chaque routeur recalcule aussitôt, et comme tous calculent à partir de la même carte, les boucles sont peu probables |
| Taille du réseau | Adapté aux petits réseaux ; RIP ne peut pas gérer les destinations situées à 16 sauts ou plus | Convient aussi aux grands réseaux ; le réseau est découpé en zones organisées autour de la zone dorsale (zone 0) |
| Ressources et configuration | Peu gourmand en CPU et en mémoire ; configuration simple | Demande plus de CPU et de mémoire pour conserver la carte et calculer les plus courts chemins ; la configuration, comme la conception des zones, est plus complexe |
| Exemples | RIP (RIPv1, RIPv2 et RIPng pour IPv6) | OSPF (OSPFv2 pour IPv4, OSPFv3 pour IPv6), IS-IS |
Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.