Babel

Caractéristiques du protocole Babel

Bellman Ford

L'algorithme Bellman-Ford permet de trouver les plus courts chemins entre deux nœuds dans un réseau. Il converge en un temps qui est proportionnel au diamètre du réseau. Ce temps de convergence est relativement rapide lors de l'ajout d'un nouveau lien mais il est très lent lorsqu'un lien est cassé.

Ainsi, périodiquement chaque routeur annonce à tous ses voisins qui il sait joindre sur le réseau avec le nombre de sauts pour l'atteindre. Les routeurs exécutent un algorithme de routage dont le but est de déterminer à qui envoyer les paquets.






topologie 1
RIP utilise cet algorithme. Cependant, l'un des principaux inconvénients du protocole RIP est sa capacité à former des boucles lorsque le réseau change de topologie. Pour éviter cela, le nombre de sauts est limité à 15. Au-delà, les paquets sont supprimés.

Exemple:
Si l'on reprend le schéma précédent mais que le lien entre les nœuds S et A est coupé. Une boucle se forme.
topologie avec un lien coupé

On peut donc dire que RIP n'évite pas les boucles mais il les détecte.

Babel

Babel est un protocole de routage conçu pour les réseaux maillés. Il utilise l'algorithme Bellman-Ford (vu précédemment) mais apporte quelques améliorations.

En particulier, il améliore le temps de convergence en envoyant des messages déclenchés lors d'un changement majeur de topologie, en plus des messages périodiques.

Autre amélioration, un nœud Babel garde en mémoire des routes alternatives qui sont envoyées par d'autres voisins, en plus de celle utilisée comme route principale pour joindre un nœud. Ainsi, en cas de défaillance de cette route, le nœud peut utiliser l'une de ces routes pour continuer d'émettre.

De plus, il se sert d'une variante de l'algèbre ETX pour décider du meilleur lien. En effet, il va choisir les liens en prenant en compte la qualité de la propagation radio entre 2 nœuds. Suite à une instabilité, il se comporte de façon raisonnable. C'est à dire qu'il est conçu pour réagir rapidement aux instabilités. En particulier, il évite les boucles (contrairement à RIP qui fait de la détection de boucles). S'il soupçonne qu'il y a une possibilité de boucle, alors il préfère ne pas prendre la route.

C'est un protocole ouvert : RFC 6126.

Enfin, Babel a été conçu pour supporter des milliers de routeurs, mais dans la pratique il n'a jamais été testé à grande échelle.


Protocoles réactifs et proactifs

Autre caractéristique de Babel, c'est un protocole dit proactif. C'est à dire qu'il construit les tables de routage avant que la demande en soit effectuée. L'avantage est que les routes sont immédiatement disponibles. L'inconvénient est que le trafic de contrôle et de mise à jour peut être important et partiellement inutile.

OLSR et DSDV sont aussi des protocoles proactifs pour réseaux maillés.

A l'inverse des protocoles dit réactifs comme DSR (Dynamic Source Routing) ou AODV (Ad hoc On-Demand Vector Routing). Une route est établie uniquement sur demande. L'avantage est qu'il ne charge pas le trafic. L'inconvénient est qu'il met plus de temps pour "ouvrir" une route.

Avantages de Babel


Limites connues

Babel envoie périodiquement des messages de mise à jour sur la topologie du réseau, ce qui génère plus de trafic qu'avec d'autres protocoles, par exemple, OSPF (qui n'envoie de mise à jour que lors de changements).