AccueilđŸ‡«đŸ‡·Chercher

Optimized Link State Routing Protocol

OLSR (Optimized Link State Routing Protocol) est un protocole de routage destinĂ© aux rĂ©seaux maillĂ©s, sans fil ou mobiles. Le protocole est une optimisation de l'algorithme d'Ă©tat de liaison pure. Le concept clĂ© utilisĂ© dans le protocole est l’utilisation des relais multipoints (MPR). L'ensemble MPR est choisi de sorte qu'il couvre tous les nƓuds qui sont Ă  deux sauts de suite[1]. Il fonctionne comme un protocole proactif, des informations de topologie avec d'autres nƓuds du rĂ©seau sont Ă©changĂ©es rĂ©guliĂšrement [2].

Dans OLSR deux types de messages sont introduits : « Hello » et « TC » (topology control). Chaque nƓud diffuse un message Hello contenant des informations sur son voisinage et l’état des liens. L’échange de ces messages permet de prendre connaissance de son voisinage [3]. Pour construire les tables nĂ©cessaires au routage des paquets, chaque nƓud envoie pĂ©riodiquement un paquet TC contenant la liste de ses voisins l’ayant choisi comme MPR. Le message TC est diffusĂ© sur tout le rĂ©seau. Seuls les voisins MPR rediffusent un paquet TC pour Ă©viter l’inondation[4].

Ce protocole a Ă©tĂ© proposĂ© par l’équipe projet HIPERCOM-INRIA. Il est dĂ©fini dans la RFC 3626[5] de l'IETF, qui le reconnait comme l'un des quatre protocoles de base dans l'utilisation des rĂ©seaux MANET[6].

Pour son aspect dynamique, le protocole OLSR est vulnérable à un certain nombre d'attaques, notamment du brouillage, envoi de mises à jour des messages invalides, ainsi que des attaques destinées au message de contrÎle durant sa génération ou sa transmission. Des recherches sur des techniques d'authentification et de détection des intrusions ont été réalisées pour sécuriser le protocole. Des évolutions ont été réalisées au cours des études de performance du protocole sur le plan de la qualité de service et de consommation énergétique, suivant les différentes implémentations matérielles et logicielles.

Une nouvelle version est en cours de développement (2010)[7].

Protocole

Classe

Dans le domaine des MANET, il existe deux classes de protocoles : les réactifs et les pro-actifs[8].

Les protocoles rĂ©actifs doivent systĂ©matiquement demander leurs routes en inondant le rĂ©seau de leur requĂȘte et en recevant la rĂ©ponse associĂ©e[8].

L'utilisation d'un protocole de cette catégorie au sein d'un MANET implique la construction d'une topologie dans la zone concernée uniquement lorsque le besoin se présente.

Les protocoles réactifs sont : AODV & DSR[8].

Les protocoles pro-actifs quant Ă  eux s'assurent que chaque nƓud possĂšde Ă  tout moment les informations nĂ©cessaires relatives Ă  la topologie pour construire une route vers n'importe quel autre point du rĂ©seau. Cela est rendu possible Ă  travers des mises Ă  jour rĂ©guliĂšres sur la topologie[8].

Les protocoles pro-actifs sont : OLSR, Topology dissemination based on reverse-path forwarding (en) (TBRPF)[8].

Enfin, il existe des protocoles combinant les avantages des protocoles réactifs et pro-actifs, ce sont des protocoles hybrides, tels que Zone Routing Protocol (en) (ZRP) et TORA[9].

Caractéristiques techniques

Le protocole OLSR est une variation du LSR (en) (en anglais « Link State Routing » ) spĂ©cialement conçu pour les MANET[10]. Contrairement au LSR oĂč tous les nƓuds sont indiffĂ©renciĂ©s, l'optimisation d'OLSR est d'utiliser des relais multipoints (MPR)[10]. Les MPR sont des nƓuds choisis qui expĂ©dient des messages de diffusion pendant le processus d'inondation[11]. Ils sont les seuls Ă  dĂ©clarer leurs liens et sont sĂ©lectionnĂ©s par les autres nƓuds de maniĂšre que ceux-ci puissent atteindre n'importe qui en deux sauts[10]. Cette technique rĂ©duit sensiblement la surcharge due aux messages par rapport Ă  un mĂ©canisme classique d'inondation, oĂč chaque nƓud retransmet chaque message quand il reçoit la premiĂšre copie du message. Dans OLSR, l'information d'Ă©tat de lien est produite seulement par des nƓuds Ă©lus comme MPR, ainsi, une deuxiĂšme optimisation est rĂ©alisĂ©e en rĂ©duisant au minimum le nombre des messages de contrĂŽle inondĂ©s dans le rĂ©seau. Comme troisiĂšme optimisation, un nƓud de MPR doit rapporter seulement des liens entre lui-mĂȘme et ses sĂ©lecteurs.

Les deux principales fonctionnalités d'OLSR sont[12] :

  • la dĂ©couverte des voisins
  • la diffusion de la topologie

OLSR est une optimisation d'un protocole d'état de liaison pour les réseaux mobiles ad hoc [2].

PremiĂšrement, elle rĂ©duit la taille du paquet de contrĂŽle: au lieu de tous les liens, il dĂ©clare qu'une partie des liens avec ses voisins, qui sont ses sĂ©lecteurs de relais multipoints. DeuxiĂšmement, il minimise les inondations de la circulation par ce contrĂŽle en utilisant uniquement les nƓuds sĂ©lectionnĂ©s, appelĂ©s relais multipoints, pour diffuser son message dans le rĂ©seau. Seuls les relais multipoints d'un nƓud peuvent retransmettre ses messages diffusĂ©s. Cette technique rĂ©duit considĂ©rablement le nombre de retransmissions dans une procĂ©dure d'inondation ou de diffusion [2].

Le protocole est conçu pour fonctionner de maniĂšre complĂštement distribuĂ©e et n'a donc pas Ă  dĂ©pendre de toute entitĂ© centrale. Le protocole ne nĂ©cessite pas une transmission fiable pour ses messages de contrĂŽle : chaque nƓud envoie ses messages de contrĂŽle pĂ©riodiquement, messages qui peuvent subir une perte de certains des paquets, ce qui arrive trĂšs souvent dans les rĂ©seaux radio en raison de collisions ou d'autres problĂšmes de transmission [2].

DĂ©tection des voisins

Chaque nƓud doit dĂ©tecter les nƓuds voisins avec lesquels il a un lien direct et bidirectionnel. Les incertitudes sur la propagation radio peuvent rendre certains liens unidirectionnels. Par consĂ©quent, tous les liens doivent ĂȘtre contrĂŽlĂ©s dans les deux directions, afin d’ĂȘtre considĂ©rĂ©s comme valides [13].

Pour accomplir cela, chaque nƓud diffuse pĂ©riodiquement ses messages BONJOUR contenant les informations sur ses voisins et leur Ă©tat de lien. Ces messages de contrĂŽle sont transmis dans le mode de diffusion. Ils sont reçus par tous les voisins situĂ©s Ă  un saut, mais ils ne sont pas relayĂ©es Ă  des nƓuds supplĂ©mentaires [2].

Un des messages BONJOUR contient :

  • La liste des adresses des voisins pour lesquels il existe un lien bidirectionnel valide.
  • La liste des adresses des voisins qui sont entendues par ce nƓud (un BONJOUR a Ă©tĂ© reçu), mais le lien n'est pas encore validĂ© comme bidirectionnel : si un nƓud trouve sa propre adresse dans un message BONJOUR, il considĂšre le lien du nƓud expĂ©diteur comme bidirectionnel.

Message Hello

Les messages HELLO sont utilisĂ©s pour la dĂ©tection de voisin et calculs MPR. Ils sont transmis pĂ©riodiquement Ă  tous les voisins Ă  1 saut. Les messages HELLO incluent le type de lien, la volontĂ© du nƓud de devenir MPR, des informations sur les voisins etc. Le type de lien dans ces messages indique si le lien est symĂ©trique, asymĂ©trique ou tout simplement perdu [14].

Ces messages ne sont destinĂ©s qu'aux nƓuds voisins (Ă  un saut) de l'expĂ©diteur afin de dĂ©tecter les liens les inter-connectant, ils ne doivent donc jamais ĂȘtre routĂ©s par un MPR.

ExpĂ©diteur : chaque nƓud du rĂ©seau envoie des messages HELLO

Destinataire : adresse de broadcast

Fonction : le message HELLO transmet plusieurs informations et a plusieurs utilités.

Il sert d'abord Ă  dĂ©couvrir l'ensemble du rĂ©seau. Il transmet ensuite l'Ă©tat et le type de lien entre l'expĂ©diteur et chaque nƓud voisin.

Il contient Ă©galement trois listes[15] :

  • Voisins qui ont Ă©tĂ© "entendus" mais pour lesquels une communication bi-directionnelle n'a pu ĂȘtre Ă©tablie.
  • Voisins avec qui le nƓud a pu Ă©tablir une liaison bi-directionnelle.
  • Les nƓuds dĂ©signĂ©s comme MPR par le nƓud originaire du message HELLO.

Datagramme [16]:

Datagramme
  • « Reserved » : Ce champ doit contenir « 0000000000000000 »
  • « Htime » : Intervalle d'Ă©mission des messages HELLO
  • « Willigness » : permet de forcer le passage d'un nƓud en MPR
  • « Link Code » : Code identifiant le type de lien (pas d'information, symĂ©trique, asymĂ©trique, etc.) entre l'expĂ©diteur et les interfaces listĂ©es (« Neighbor Interface Address »)

Message TC (topology control)

Ces messages sont utilisés pour construire la table de routage. Ce sont des messages d'état de liaison, diffusés périodiquement dans des réseaux entiers [14].

Expéditeur : seuls les MPR envoient des messages TC

Destinataire : adresse de broadcast

Fonction : le message TC permet au MPR de transmettre la liste de ses voisins qui l'ont choisi comme MPR. Il sert à établir les tables de routage. Aussi, pour qu'il soit diffusé sur tout le réseau, la valeur du TTL dans l'header du message est 255, la valeur maximale (voir « paquet type envoyé par le protocole »).

Datagramme [17]:

Datagramme
  • Reserved : Ce champ doit contenir « 0000000000000000 »
  • ANSN (advertised neighbor sequence number) » : entier incrĂ©mentĂ© Ă  chaque changement de topologie. Il permet de ne pas tenir compte des informations obsolĂštes, pour tenir les tables le plus Ă  jour possible.
  • Advertised neighbor main address » : adresse IP de nƓuds Ă  un saut. L'ensemble des nƓuds publiĂ©s dans les messages TC est un sous-ensemble des voisins Ă  un saut. La version par dĂ©faut recommande de publier les MPR-selectors, c'est-Ă -dire les voisins pour lesquels le nƓud courant est un relai MPR.

Message MID (multiple interface declaration)

Ces messages sont transmis par les nƓuds exĂ©cutant le protocole OLSR sur plus d'une interface [14].

Les messages MID sont utilisĂ©s pour relier les adresses des interfaces OLSR et les adresses principaux pour des nƓuds OLSR Ă  interfaces multiples[18] - [19].

Datagramme d'un message MID

Le message MID contient la liste d’adresses des interfaces associĂ©es Ă  son adresse principale. Il est envoyĂ© par le nƓud dans le rĂ©seau pour les dĂ©clarer Ă  tous les autres nƓuds[20]. Pour obtenir une meilleure fiabilitĂ© et un meilleur dĂ©bit, les messages MID peuvent servir Ă  sĂ©lectionner plusieurs interfaces comme principales et ainsi Ă©tablir des chemins multiples entre deux nƓuds voisins. Pour le routage, un nƓud Ă  interfaces multiples apparaĂźtra comme deux nƓuds sĂ©parĂ©s. Si un lien est en panne, un nƓud avec de multiples interfaces pourrait encore fournir le chemin de routage pour les autres nƓuds[19].

Agrégation des messages

Les messages HELLO et TC peuvent ĂȘtre emballĂ©s dans le mĂȘme paquet[21].

Cela permet l'Ă©mission de plusieurs messages en mĂȘme temps sur le rĂ©seau[21].

Le traitement et la méthode de propagation des messages restent néanmoins propres à leur catégorie. Par exemple les messages de type HELLO ne sont pas relayés tandis que ceux de type TC le sont[21].

Datagramme d'un paquet OLSR

Relais multipoints

L'idĂ©e des relais multipoints est de minimiser l'inondation de paquets de diffusion dans le rĂ©seau en rĂ©duisant les retransmissions en double vers un mĂȘme nƓud. Chaque nƓud dans le rĂ©seau sĂ©lectionne un ensemble de nƓuds dans son voisinage, qui retransmet ses paquets. Cet ensemble de nƓuds voisins sĂ©lectionnĂ© est appelĂ© le relais multipoint de ce nƓud ou MPR [2].

Les voisins du nƓud N qui ne sont pas dans son ensemble MPR, peuvent lire et traiter le paquet, mais ne peuvent pas retransmettre le paquet de diffusion reçu Ă  partir du nƓud N [22]. Pour cela, chaque nƓud maintient une liste de ses voisins qui sont appelĂ©s les sĂ©lecteurs de MPR de ce nƓud. Chaque message de diffusion provenant de ces sĂ©lecteurs MPR d'un nƓud est supposĂ© ĂȘtre retransmis par ce nƓud. Cet ensemble peut changer au fil du temps, ce qui est indiquĂ© par le sĂ©lecteur de nƓuds dans leurs messages [22].

Chaque nƓud sĂ©lectionne ses relais multipoints parmi ses voisins situĂ©s Ă  un saut. Un saut correspond Ă  un nƓud dont la distance est la plus proche du nƓud principal [23]. Les relais multipoints sont choisis de maniĂšre Ă  couvrir (quant Ă  la portĂ©e radio) tous les nƓuds qui sont situĂ©s Ă  deux nƓuds de distance [23]. L'ensemble de relais multipoints d'un nƓud N, notĂ© MPR (N), est un sous-ensemble arbitraire du nƓud de N qui satisfait la condition suivante : chaque nƓud dont la distance est Ă  deux sauts de N doit avoir un lien bidirectionnel vers les relais multipoints du nƓud N. La figure montre la sĂ©lection de relais multipoints autour du nƓud N [23].

Relais Multipoints

OLSR repose sur la sĂ©lection des relais multipoints, et calcule ses routes vers toutes les destinations connues Ă  travers les nƓuds. Les nƓuds MPR sont choisis comme des nƓuds intermĂ©diaires dans le chemin [24]. Pour mettre en Ɠuvre ce schĂ©ma, chaque nƓud dans le rĂ©seau envoie pĂ©riodiquement des informations Ă  ses voisins qui ont Ă©tĂ© choisis comme relais multipoint. DĂšs rĂ©ception de l'information sur les sĂ©lecteurs MPR, chaque nƓud calcule et met Ă  jour ses itinĂ©raires pour chaque destination connue. Par consĂ©quent, la route est une sĂ©quence de sauts Ă  travers les relais multipoints de la source Ă  la destination[24].

Les relais multipoints sont choisis parmi les voisins à un saut avec un lien bidirectionnel. Ainsi, l'itinéraire en passant par les relais multipoints évite automatiquement les problÚmes associés au transfert de données par paquets sur les liens unidirectionnels[23].

Pour le calcul d'itinĂ©raire, chaque nƓuds calcule sa table de routage en utilisant un "algorithme de plus court chemin hop" basĂ© sur la topologie du rĂ©seau partiel qu'il a appris [25].

DĂ©finition

Schéma d'algorithme de sélection des MPR

Sur le schĂ©ma d'algorithme de sĂ©lection des MPR, l'ensemble N est constituĂ© des voisins Ă  un saut du nƓud (ici en rouge), dont on veut dĂ©terminer les MPR. Un saut correspond Ă  tous les voisins qui ont rĂ©pondu au message Hello, cela correspond Ă  la portĂ©e radio pour les rĂ©seaux Wi-Fi[26] - [27].

L'ensemble N2 est constituĂ© des voisins Ă  2 sauts du mĂȘme nƓud que prĂ©cĂ©demment. Tous les voisins Ă  un saut du nƓud rouge en utilisant les messages hello, vont dĂ©clarer leurs voisins Ă  un saut. Ainsi le nƓud rouge connaĂźtra les nƓuds Ă  un saut qu'il faudra solliciter pour transmettre un paquet Ă  un voisin Ă  2 sauts[28] - [29].

Un lien asymétrique (ou unidirectionnel, le lien est valide que dans un seul sens) est représenté par un trait rouge simple[28] - [29]. Ils sont détectés grùce aux messages Hello, mais ne sont pas utilisés tant qu'ils ne sont pas symétriques[28] - [29].

Un lien symétrique (ou bidirectionnel, le lien est valide dans les deux sens) est représenté par un trait rouge double[28] - [29].

Algorithme

Les différents étapes de l'algorithme sont [28] - [29]:

  1. On force tous les éléments de N à rerouter les messages.
  2. On calcule D pour chaque nƓud de N.
  3. Pour tous les nƓuds dans N2 qui n'ont qu'un et un seul lien symĂ©trique avec un nƓud de N, on dĂ©finit ce nƓud de N comme MPR, et on supprime les nƓuds de N2 reliĂ©s par ce MPR (on les considĂšre comme reliĂ©s). Si le nƓud considĂ©rĂ© dans N2 a des liens symĂ©triques avec plusieurs nƓuds de N (ensemble « E »), on prend comme MPR le nƓud « X » de l'ensemble E qui a le plus haut degrĂ© D, et on efface les nƓuds de N2 joignables par le nƓud « X » (on les considĂšre comme reliĂ©s).
  4. On rĂ©itĂšre ces trois Ă©tapes, jusqu'Ă  ce qu’il n'y ait plus de nƓud non reliĂ© dans N2.

Exemple de sélection des MPR

La sĂ©lection des MPR est le point clĂ© dans le protocole OLSR. La sĂ©lection du MPR se fait en choisissant le nƓud voisin Ă  un saut. S’il y a plusieurs nƓuds, le nƓud choisi est alors celui qui a le plus de voisins [1]. Le tableau montre comment le nƓud B sĂ©lectionne un MPR, basĂ© sur le rĂ©seau reprĂ©sentĂ© dans la figure :

Tableau

Si on prend le nƓud B, les nƓuds C et F couvrent l'ensemble des nƓuds voisins Ă  deux sauts. Cependant, le nƓud C est sĂ©lectionnĂ© en tant que MPR car il a 5 voisins alors que le nƓud F en possĂšde 4 (on dit alors que le degrĂ© de C est supĂ©rieur au degrĂ© de F) [1].

Exemple d'architecture MPR

Sécurité

Le protocole OLSR est vulnĂ©rable Ă  diffĂ©rents types d'attaques[6]. Cette vulnĂ©rabilitĂ© est accrue car il n'est pas nĂ©cessaire de passer par un point d'accĂšs pour se connecter au rĂ©seau[10]. L'utilisation d'une topologie dynamique laisse place Ă  de grandes failles de sĂ©curitĂ©[10]. L'utilisation des MPR rend le protocole OLSR moins sĂ©curisĂ© que le LSR puisque seule la connectivitĂ© utile est exploitĂ©e, les nƓuds ne dupliquent plus l'information[10].

Types d'attaques

On peut répertorier les attaques en deux catégories[21] :

  • Attaques communes Ă  tous les protocoles de routage pro-actifs.
  • Attaques inhĂ©rentes au protocole OLSR.

Cette page portant uniquement sur le protocole OLSR, les vulnĂ©rabilitĂ©s prĂ©sentĂ©es concernent majoritairement les attaques propres Ă  ce protocole. Chaque nƓud a pour rĂŽle premier de gĂ©nĂ©rer du trafic propre au protocole de routage, et deuxiĂšmement est responsable de relayer les informations de routage des autres nƓuds du rĂ©seau. Un comportement incorrect rĂ©sulte donc de la gĂ©nĂ©ration d'informations erronĂ©es sur le routage, ou de l'absence de relais de ces informations [21].

Une attaque permettant de fournir une connectivitĂ© illicite au rĂ©seau doit rĂ©sulter d'un comportement anormal d'au moins un des nƓuds qui le composent.

Une attitude anormale peut résulter de deux comportements[21] :

  • Un nƓud supposĂ© connectĂ© au rĂ©seau a Ă©tĂ© compromis et ne possĂšde plus les mĂȘmes caractĂ©ristiques conformes au protocole qu'auparavant.
  • Un nƓud fait partie du rĂ©seau alors qu'il ne le devrait pas.

Il existe de nombreuses possibilitĂ©s afin d'introduire des nƓuds dans le protocole OLSR (en partant d'un OLSR dĂ©finit par la RFC, dĂ©pourvu de procĂ©dure de validation) pour lancer diffĂ©rentes attaques[10] :

  • une surcharge des routeurs en inondant le rĂ©seau afin de le saturer ("dĂ©ni de service" ou "Denial of service");
  • l'envoi de messages de mises Ă  jour invalides.

Brouillage

OLSR est vulnérable au brouillage, c'est d'ailleurs le cas pour tous les autres protocoles de routage utilisés sur réseaux ad-hoc.

Le brouillage consiste Ă  gĂ©nĂ©rer une grande quantitĂ© d'interfĂ©rences radio. Le bruit gĂ©nĂ©rĂ© entraĂźne alors l'impossibilitĂ© pour les nƓuds de s'Ă©changer des informations utiles entre eux, notamment leurs routes respectives, et empĂȘche ainsi la construction d'un rĂ©seau[21].

Cette vulnĂ©rabilitĂ© ne peut pas ĂȘtre corrigĂ©e au niveau du protocole de routage.

Envoi de messages de mises Ă  jour invalides

Un nƓud a normalement deux responsabilitĂ©s[10] :

  • gĂ©nĂ©rer des messages de contrĂŽles ;
  • les transfĂ©rer.

Pour compromettre l'intĂ©gralitĂ© du protocole de routage, l'attaquant peut soit envoyer des paquets de contrĂŽle incorrects lorsque le nƓud gĂ©nĂšre les messages de contrĂŽle, soit les modifier lorsque les messages de contrĂŽle sont envoyĂ©s[30]. Un message de contrĂŽle peut ĂȘtre trafiquĂ© en changeant son identitĂ© (en anglais "identity spoofing") ou en endommageant ses donnĂ©es (en anglais "link spoofing").

Attaque sur le message de contrÎle durant sa génération

Dans les schĂ©mas suivants, les nƓuds jaunes sont des nƓuds classiques et les autres des MPR.

Usurpation d'identité avec un message HELLO

Un nƓud malicieux prĂ©tend en ĂȘtre un autre en usurpant son adresse IP (Usurpation d'adresse IP), afin d'envoyer un message HELLO Ă  son voisinnage[30].

Usurpation d'identitĂ© d'un nƓud
Usurpation d'identitĂ© d'un nƓud


Le nƓud 5 usurpe l'identitĂ© du nƓud 3.


Usurpation d'identitĂ© d'un nƓud
Usurpation d'identitĂ© d'un nƓud


Les nƓuds 1 et 2 sont persuadĂ©s d'ĂȘtre connectĂ©s au nƓud 3 mais en rĂ©alitĂ© le sont au nƓud 5, qui se fait passer pour le nƓud 3.
Corruption des données du message HELLO

Les messages HELLO vont contenir des falsifications de la topologie du rĂ©seau avec l'insertion de nƓuds inexistants, pour que des usurpateurs soient reconnus comme des MPR, pouvant alors contrĂŽler tous les flux qui passent par eux. Il est aussi possible de supprimer des nƓuds existants (par omission dans les messages HELLO) afin de les rendre inaccessibles dans la topologie ainsi construite[30].

Usurpation d'identitĂ© d'un nƓud avec un message TC

Le nƓud 5 est censĂ© envoyer un message TC indiquant qu'il est le dernier saut jusqu'aux nƓuds 6 et 7.

Usurpation d'identitĂ© d'un nƓud
Usurpation d'identitĂ© d'un nƓud


Le nƓud 5 usurpe l'identitĂ© du nƓud 1.


Usurpation d'identitĂ© d'un nƓud
Usurpation d'identitĂ© d'un nƓud


Le trafic destinĂ© aux nƓuds 6 et 7 ira jusqu'au nƓud 1. Le nƓud 1 est devenu le dernier saut jusqu'aux nƓuds 6 et 7[30].
Corruption des données avec un message TC

La corruption des donnĂ©es dans les messages TC consiste Ă  insĂ©rer des MPR inexistants ou Ă  en supprimer. La suppression de MPR au sein des tables de routage risque de fragmenter le rĂ©seau et certains MPR ne seront plus accessibles. L'insertion de nƓuds MPR non existants permet de crĂ©er de faux liens et de dĂ©former la topologie du rĂ©seau, ce qui aura pour consĂ©quence de crĂ©er des "boucles" lors du routage ou de gĂ©nĂ©rer des conflits lors du calcul des tables de routage[30].

Attaque sur le message de contrĂŽle durant la transmission

Les messages TC nĂ©cessitent d'ĂȘtre transmis Ă  travers les MPR Ă  l'ensemble du rĂ©seau, afin de transporter des informations critiques sur les tables de routage. Les nƓuds relais peuvent trafiquer ces messages pendant leur transfert, en ajoutant ou supprimant des MPR. Les problĂšmes peuvent ĂȘtre plus sĂ©rieux que lors du trafique des messages HELLO, car les messages TC sont utilisĂ©s par tous les nƓuds. Il est donc trĂšs facile de lancer une attaque de type "trou noir", qui met en Ɠuvre des nƓuds qui font discrĂštement disparaĂźtre le trafic[31].

Protections

Des recherches ont été réalisées afin de sécuriser le protocole sur plusieurs niveaux[6] :

  • des techniques d'authentification et de chiffrement pour sĂ©curiser le rĂ©seau d'attaques externes;
  • des dĂ©tections d'intrusions et des mĂ©thodes de communication pour protĂ©ger le rĂ©seau d'attaques internes.

Authentification

Deux approches reconnues assez efficaces pour bloquer les utilisateurs ou les nƓuds non autorisĂ©s[6] :

  • utiliser une AutoritĂ© de certification distribuĂ©e;
  • authentifier les messages de contrĂŽle en leur introduisant des signatures permettant de vĂ©rifier l'origine et l'intĂ©gritĂ© des informations.

Ces solutions ne permettent pas de se protéger d'attaques externes. De plus, l'utilisation de clés dans un réseau MANET est compliquée et lourde à gérer[6].

Propriétés intrinsÚques des messages OLSR

La redondance entre les messages HELLO et les messages TC est une opportunitĂ© pour vĂ©rifier des informations conflictuelles entre les nƓuds afin de protĂ©ger le protocole OLSR[31]. Dans toutes les propriĂ©tĂ©s suivantes, TCp correspond Ă  l'ensemble des sĂ©lecteurs de P, MPRp Ă  l'ensemble des MPR liĂ©s Ă  P et HELLOp Ă  l'ensemble des voisins directs de p.

PropriĂ©tĂ© 1 Un message HELLO contient tous les voisins situĂ©s Ă  un saut du nƓud qui l'envoie, tandis qu'un message TC contient les sĂ©lecteurs de MPR du nƓud (autrement dit, le message TC, envoyĂ© par un MPR, dispose de tous les nƓuds qui ont choisi celui-ci comme relai)[31]. Le message TC contient donc un sous ensemble du message HELLO, TCp ← HELLOp. Si cette propriĂ©tĂ© est violĂ©e, cela signifie que le nƓud Ă  l'origine du message TC a insĂ©rĂ© des sĂ©lecteurs de MPR et qu'il prĂ©tend ĂȘtre un nƓud MPR (link spoofing)[31].

Relations entre TCp et HELLOp
Relations entre TCp et HELLOp
3 et 4 ne sont pas adjacents et ont choisi 5 comme relai. TCp = {3,4} et HELLOp = {1,2,3,4}.

PropriĂ©tĂ© 2 Si un nƓud MANET reçoit un message TC le listant comme un sĂ©lecteur de MPR, alors celui Ă  l'origine de ce message doit ĂȘtre dans le voisinage de ce nƓud[31]. Si C Є TCp, alors P Є HELLOc doit d'abord ĂȘtre vrai[31]. Si ce n'est pas le cas, cela peut indiquer plusieurs attaques. Le nƓud Ă  l'origine du message TC prĂ©tend ĂȘtre un MPR (link spoofing sur un message TC)[31].

Relations entre TCp, HELLOc et HELLOd
Relations entre TCp, HELLOc et HELLOd
Si le nƓud C reçoit un message TCp = { C ... } alors HELLOc = { P ... } doit ĂȘtre envoyĂ© avant.

Propriété 3

Si une nƓud MANET reçoit un message TC de ses voisins ayant pour information qu'il est un sĂ©lecteur de MPR, ce nƓud doit d'abord avoir Ă©numĂ©rĂ© l'envoyeur du message comme un MPR dans son message HELLO[32]. Si Q Є TCp, alors P Є MPRq doit d'abord ĂȘtre vrai[32]. Si cette propriĂ©tĂ© est violĂ©e, le nƓud Ă  l'origine du message TC prĂ©tend ĂȘtre un nƓud MPR pour le receveur et tout son voisinage, afin de dĂ©tourner le trafic (link spoofing)[32].

Relations entre TCp et MPR
Relations entre TCp et MPR
Si TCp = { C, D } alors P doit appartenir aux MPR liés à C et à D.

Propriété 4

Tous les messages TC transfĂ©rĂ©s ont un contenu identique[32]. Afin de le vĂ©rifier, un composant peut ĂȘtre dĂ©ployĂ© dans tous les nƓuds du rĂ©seau afin de dĂ©tecter toutes les mises Ă  jour illĂ©gitimes sur le message de contrĂŽle. Les nƓuds recevant les messages TC vont appliquer "une validation", qui sera aussi appliquĂ©e par les nƓuds les transfĂ©rant. La vĂ©rification de conflit permet alors d'augmenter le niveau de sĂ©curitĂ© du protocole ainsi que la robustesse des opĂ©rations de routage[32].

Performances

Protocoles dérivés

Pour faire face aux inconvénients du protocole OLSR, différents protocoles sont en cours de développement ou ont été développés afin de répondre aux carences du protocole.

BATMAN

OLSR souffre d'un sĂ©rieux problĂšme de synchronisation des messages TC et des informations relatives aux routes contenues dans chacun des nƓuds[33].

En effet les routes connues par les nƓuds et l'Ă©tat rĂ©el de la topologie peuvent diffĂ©rer durant un certain laps de temps, et il est nĂ©cessaire d'attendre que la mise Ă  jour de la topologie soit effectuĂ©e afin de disposer de routes Ă  nouveau correctes, ce qui peut crĂ©er des boucles au sein du rĂ©seau[33].

C'est une des raisons pour lesquelles le développement du protocole BATMAN fut lancé[33].

OLSRv2

OLSRv2 est également en cours de développement par l'IETF depuis 2005[34], corrigeant les défauts d'OLSR et actuellement encore à phase de standardisation, une version finale (RFC) devrait bientÎt voir le jour[35].

CE-OLSR

CE-OLSR est une version basĂ©e sur OLSR mais intĂ©grant la localisation des nƓuds[36].

Chaque message HELLO se voit ainsi ajouter un champ dans lequel sa propre position (coordonnées GPS) ainsi que celles de ses voisins sont ajoutées[37].

Chaque message TC quant à lui se voit également ajouter par les MPR un champ dédié aux coordonnées des autres sélecteurs MPR[37].

CE-OLSR apporte ainsi les améliorations suivantes [38]:

  • Meilleure robustesse des messages de contrĂŽle (topologie) par rapport Ă  la perte de paquets.
  • Les changements de topologie sont dĂ©tectĂ©s plus rapidement, ce qui apporte un suivi prĂ©cis du voisinage.
  • CapacitĂ© Ă  discerner les informations cartographiques rĂ©centes des obsolĂštes.
  • Il en rĂ©sulte de meilleures performances, sur le plan Ă  la fois du dĂ©bit et du temps de rĂ©ponse et Ă©galement une validitĂ© accrue des routes connues.

M-OLSR

M-OLSR est une variante d'OLSR modifiant le protocole afin de fournir de meilleures performances au sein de WMN (réseaux maillés sans-fil), à savoir[39] :

  • AmĂ©lioration du dĂ©bit.
  • Meilleur pourcentage de paquets dĂ©livrĂ©s.
  • RĂ©duction de la surcharge rĂ©seau liĂ©e au protocole.

Les WMN diffĂšrent des MANET de par leur architecture quelque peu diffĂ©rente. En effet, alors qu'un MANET ne possĂšde aucun point fixe parmi tous ses nƓuds, un WMN possĂšde un nƓud connu de tous les autres, jouant le rĂŽle de colonne dorsale (backbone) au sein du rĂ©seau[39]. La rĂ©percussion d'une modification du protocole OLSR n'est donc pas forcĂ©ment la mĂȘme selon que le rĂ©seau concernĂ© est de type WMN ou MANET[39].

Qualité de service

La QoS n'est pas géré nativement dans OLSR, mais un projet intégrant cette fonctionnalité est en cours de développement[40].

La gestion du QoS n'est pas triviale dans le cas d'un protocole de routage Ă  Ă©tat de lien de par sa structure constamment changeante et la puissance limitĂ©e disponible au sein des nƓuds composant des MANET[41].

Un protocole de routage pro-actif a l'avantage de pouvoir maintenir des routes pré-calculées sur lesquelles la QoS pourra s'appuyer afin de prendre rapidement des décisions, ce qui n'est pas le cas des protocoles de routage réactifs calculant les routes seulement à la demande[41].

Ceci est un avantage considérable dans le cadre de réseaux de nature imprévisible, comme les MANET. La couche de contrÎle peut aisément vérifier si une route pré-calculée peut satisfaire la demande, et si ce n'est pas le cas ainsi éviter la génération d'un trafic inutile relatif au routage et à la topologie[41].

SĂ©lection des MPR

Une premiĂšre maniĂšre de procĂ©der consiste Ă  modifier l'algorithme de sĂ©lection des MPR. Le comportement dĂ©fini par la RFC d'OLSR indique que cette sĂ©lection s'effectue sur base du nombre de voisins, le nƓud Ă©lu en tant que MPR Ă©tant celui possĂ©dant le plus de voisins Ă  2 sauts[5].

Cette mĂ©thode de sĂ©lection ne prend cependant pas en compte la qualitĂ© des liens interconnectant les nƓuds, ce qui dans une optique de qualitĂ© de service est pourtant un des points les plus critiques[42].

Un autre algorithme pourrait consister à se baser sur la bande passante disponible en tant que premier critÚre de sélection des MPR. Le but est alors d'obtenir une route possédant un débit le plus élevé possible, facteur jouant un rÎle prépondérant dans les applications temps-réel de plus en plus utilisées aujourd'hui[43].

À l'origine OLSR sĂ©lectionne le chemin le plus court lors de la sĂ©lection des MPR, ce qui n'est pas forcĂ©ment synonyme de performance, encore faut-il dĂ©finir le terme "performance" (latence, bande-passante, redondance, etc).

Dans le cas oĂč l'on souhaite orienter les performances vers un aspect ou un autre en particulier, il faut modifier l'algorithme afin de sĂ©lectionner les MPR selon d'autres facteurs que la connectivitĂ© des nƓuds, comme la vitesse, dans le cas oĂč la bande passante est la contrainte premiĂšre du QoS[43].

Une tentative de modification du protocole OLSR est illustrĂ©e ci-dessous, visant Ă  maximiser la bande passante de bout en bout tout en assurant que chaque nƓud Ă  2 sauts soit toujours connectĂ©. Les valeurs indiquĂ©es reprĂ©sentant la bande passante : plus elle est Ă©levĂ©e, plus la bande passante est importante.

Algorithme par défaut
Sélection d'un MPR selon les spécifications originales d'OLSR
Sélection d'un MPR selon les spécifications originales d'OLSR

Dans sa version originale, OLSR ne prend pas en compte la bande passante disponible pour chaque lien.

Le nƓud B sĂ©lectionnera donc C comme Ă©tant son MPR dans ce cas de figure-ci, car c'est celui qui possĂšde le plus de connexions avec les autres nƓuds[43].

Cela signifie donc que lorsque D construira sa table de routage, il sĂ©lectionnera d'office la route D-C-B pour joindre le nƓud B. Cette route est la pire de toutes avec un goulot d'Ă©tranglement souffrant de la vitesse la plus restrictive de tout le MANET (valeur de 3) entre D et C[43].

Par cet exemple flagrant, on réalise qu'OLSR ne sélectionnera pas le chemin le plus rapide.

  • nƓud sujet au QoS
  • nƓud Ă  un saut de B
  • nƓud Ă  deux sauts de B
  • nƓud Ă©lu MPR par B
Algorithme modifié #1
Sélection d'un MPR selon la version #1 modifiée de l'algorithme OLSR
Sélection d'un MPR selon la version #1 modifiée de l'algorithme OLSR

L'algorithme reste presque identique Ă  la version originale.
Lorsqu'il existe plus d'un nƓud Ă  un saut, mais qu'ils couvrent tous le mĂȘme nombre de nƓuds Ă  deux sauts, c'est celui qui possĂšde la plus grande bande passante qui est Ă©lu MPR[43].
F est donc Ă©lu MPR Ă  la place de C, car la liaison reliant B Ă  F (100) possĂšde une vitesse plus grande que la liaison entre B et C (50)[43].

Algorithme modifié #2
Sélection d'un MPR selon la version #2 modifiée de l'algorithme OLSR
Sélection d'un MPR selon la version #2 modifiée de l'algorithme OLSR

L'idĂ©e de cette deuxiĂšme version consiste Ă  choisir les nƓuds ayant la meilleure bande passante avant tout, tant que tous les nƓuds Ă  deux sauts sont couverts[43].

Dans ce cas-ci, les nƓuds A et F seront sĂ©lectionnĂ©s avec respectivement une bande passante de 110 et 100 en partant de B[43].

À est d'abord sĂ©lectionnĂ© grĂące Ă  sa bande passante la plus Ă©levĂ©e, mais n'Ă©lire que le nƓud A en MPR ne permettrait pas d'Ă©tablir une connexion avec tous les nƓuds Ă  deux sauts (E resterait injoignable par B)[43].
C'est pourquoi le nƓud F est choisi en tant que deuxiùme MPR (et non C, car 100 > 50)[43].

Algorithme modifié #3
Sélection d'un MPR selon la version #2 modifiée de l'algorithme OLSR
Sélection d'un MPR selon la version #3 modifiée de l'algorithme OLSR

La troisiĂšme modification de l'algorithme compare chaque chemin partant de B vers chaque autre nƓud se situant Ă  2 sauts du MANET. Il sĂ©lectionne alors le seul chemin ayant la bande passante la plus Ă©levĂ©e vers chacun de ces nƓuds[43].

Ci-dessous le tableau montre la comparaison des bandes-passante et la raison pour laquelle le nƓud F est sĂ©lectionnĂ© pour connecter les nƓuds B et D[43].

Tableau
nƓud de dĂ©part Bande-passante entre les nƓuds nƓud intermĂ©diaire Bande-passante entre les nƓuds nƓud d'arrivĂ©e Bande-passante maximale rĂ©sultante

B

110

A

5

D

5

B

50

C

3

D

3

B

100

F

10

D

10

→ F est le MPR permettant d'avoir la bande passante la plus Ă©levĂ©e.

MĂȘme raisonnement pour joindre les nƓuds B et E : C sera le MPR choisi.


Ces diffĂ©rentes modifications ont le potentiel d'amĂ©liorer les performances en apportant une meilleure bande-passante Ă  chaque nƓud[44].
En revanche, elles peuvent Ă©galement engendrer une surcharge du trafic de contrĂŽle (vĂ©hiculant les informations sur la topologie), surtout dans le troisiĂšme exemple oĂč il est potentiellement possible d'Ă©lire un MPR diffĂ©rent par nƓud Ă  2 sauts[44].

Consommation énergétique

Les nƓuds du rĂ©seau MANET ne sont pas connectĂ©s sur le rĂ©seau Ă©lectrique et il en rĂ©sulte que l'Ă©nergie de leur batterie est limitĂ©e. La vie de la batterie peut aussi affecter la performance de communication du rĂ©seau. Quand un nƓud Ă©puise l'Ă©nergie disponible, il cesse de fonctionner et il peut y avoir pĂ©nurie d'hĂŽtes mobiles dans le partitionnement du rĂ©seau. Pour cette raison la rĂ©duction de la consommation Ă©nergĂ©tique est un sujet important dans les rĂ©seaux sans fil ad hoc[45]. Le protocole OLSR ne tient pas compte de la consommation Ă©nergĂ©tique pendant l’élection des nƓuds MPR, ni pendant le routage des paquets de donnĂ©es et ne tire aucun avantage Ă  partir de l’information des liaisons unicast du rĂ©seau[46] - [47]. Les Ă©volutions envisagĂ©es pour prendre en compte ces aspects sont entre autres les protocoles EE-OLSR[48], EOLSR[49] et DE-OLSR[50] :

Pour prendre en compte la consommation Ă©nergĂ©tique des nƓuds certains mĂ©triques ont Ă©tĂ© introduites dans la couche rĂ©seau pour EE-OLSR [51]:

  • MTPR (Minimum Total Transmission Power Routing) : simple mĂ©trique Ă©nergĂ©tique qui reprĂ©sente l'Ă©nergie totale consommĂ©e pour transfĂ©rer l'information sur le chemin[51] - [52].
  • MBCR (Minimum Battery Cost Routing) : minimise la fonction mesurant la rĂ©ticence des nƓuds par rapport Ă  l'Ă©nergie[51] - [53].
  • MMBCR (Min-Max Battery Cost Routing) : choisit la route avec les meilleures conditions parmi les chemins touchĂ©s par un nƓud crucial en se servant de la fonction introduite pour le MBCR[51] - [53].
  • CMMBCR (Conditional MMBCR) : tente d'effectuer une approche hybride entre MTPR et MMBCR, en utilisant le premier tant que les nƓuds d'une route possible ont suffisamment d'Ă©nergie restante suivant un seuil dĂ©fini et le second quand parmi toutes les routes possibles il y au moins un nƓud Ă©tant sous le seuil d'Ă©nergie restante[51] - [54].
  • MDR (Minimum Drain Rate) : introduit une fonction de coĂ»t prenant en compte l'indice de taux de dĂ©charge et la puissance rĂ©siduelle de la batterie pour mesurer le taux de dissipation de l'Ă©nergie d'un nƓud[51] - [55].

Avec l'inclusion de ces métriques et encore deux autres améliorations de l'aspect énergétique du protocole OLSR le protocole EE-OLSR établit ces mécanismes :

  • MĂ©canisme basĂ© sur la volontĂ© d’émettre. La volontĂ© d’un nƓud Ă  Ă©mettre est exprimĂ©e par une variable fixĂ©e par dĂ©faut qui reprĂ©sente la disponibilitĂ© de ce nƓud d’agir comme un MPR. Le choix de cette variable est basĂ© sur la capacitĂ© de sa batterie et la durĂ©e de vie estimĂ©e[48].
  • MĂ©canisme de l’exclusion de l’écoute. Éteindre le nƓud pendant l’échange d’un message unicast dans le voisinage. Ceci est rĂ©alisĂ© en utilisant les mĂ©canismes de signalisation des couches infĂ©rieures qui servent Ă  Ă©viter les collisions (Ă©change RTS / CTS rĂ©alisĂ©e par l'IEEE 802.11)[47].
  • Prise en compte de l’énergie pour les paquets Ă  transmettre. Des mĂ©triques d’énergie sont introduites dans les nƓuds MPR voisins pour sĂ©lectionner le prochain saut du routage Ă  partir des mĂ©canismes de routage MPTR, MMBCR et MDR[51]. On dĂ©couple ainsi la procĂ©dure d’élection MPR du mĂ©canisme de routage des paquets[47] - [50].

Le protocole EOLSR a Ă©tĂ© conçu comme EE-OLSR Ă  minimiser la consommation d'Ă©nergie pour la transmission d'un paquet, Ă  faire de l'Ă©quilibrage de charge entre les nƓuds du rĂ©seau, d'Ă©viter les nƓuds avec peu d'Ă©nergie restante et de rĂ©duire la surcharge[49]. Pour ce faire, la conception a Ă©tĂ© Ă©laborĂ©e dans ces quatre aspects [49]:

  • Le calcul efficace des routes est Ă©tabli suivant un modĂšle Ă©nergĂ©tique adaptĂ© au protocole MAC choisi[49].
  • La sĂ©lection des nƓuds MPR est pris en compte dans le modĂšle Ă©nergĂ©tique et une nouvelle information est incluse dans le message Hello calculĂ© avant chaque rĂ©Ă©mission[49].
  • La sĂ©lection des routes se fait en minimisant la consommation Ă©nergĂ©tique de point Ă  point basĂ© sur le coĂ»t du flux comme critĂšre de chaque chemin Ă  emprunter[56].
  • Le message de broadcast est optimisĂ© pour les ressources Ă©nergĂ©tiques du rĂ©seau. Un nƓud transfert un message pour broadcast avec un TTL non nul si et seulement s'il reçoit ce message pour la premiĂšre fois d'un nƓud qui l'a sĂ©lectionnĂ© comme MPR[56].

Dans un cadre un peu diffĂ©rent des deux autres le protocole DE-OLSR a Ă©tĂ© conçu pour des rĂ©seaux ad-hoc VANET[57]. Ceux-ci sont conceptuellement similaires aux rĂ©seaux MANET et sont destinĂ©s Ă  la communication sans fil des vĂ©hicules Ă©quipĂ©s d'ordinateurs de bord, des Ă©lĂ©ments Ă©lectroniques de la signalisation de la circulation, capteurs et aussi des piĂ©tons avec des smartphones[57]. À la base, cet algorithme n'implĂ©mente pas de solution spĂ©cialement conçue pour ĂȘtre performant sur le plan du coĂ»t d'Ă©nergie. L'idĂ©e principale est de trouver un paramĂ©trage efficace pour optimiser la qualitĂ© de service du protocole OLSR du point de vue du taux de livraison de paquets de la charge de routage normalisĂ©e et un dĂ©lai moyen en point Ă  point de paquets de donnĂ©es des rĂ©seaux VANET[50]. Ceci est menĂ© par le couplage avec une mĂ©ta-heuristique Differential Evolution (DE)[58] - [59]. Le protocole arrive Ă  Ă©conomiser presque deux tiers d'Ă©nergie en moyenne par rapport Ă  l'OLSR standard sur l'Ă©change des messages de contrĂŽle dans un rĂ©seau VANET tout en diminuant la consommation d'Ă©nergie en transmission de donnĂ©es et la charge[60].

Comparaison entre protocoles

D'autres protocoles de routage existent pour les réseaux mobiles. Voici une comparaison non exhaustive entre quelques-uns d'entre eux :

OLSR et BATMAN.

Plusieurs tests de performances ont été effectués dont notamment une comparaison pratique entre des implémentations d'OLSRv1 et BATMAN au sein de réseaux de taille et trafic variables[61].

Pour ce qui est du ratio des paquets délivrés, il s'est avéré que lorsque le trafic est faible, OLSR est plus performant que BATMAN . La tendance s'inverse lorsque le trafic devient important[62].

Pour ce qui est de la surcharge du trafic (informations relatives au routage et Ă  la topologie), OLSR est plus performant que BATMAN tant que le nombre de nƓuds reste modeste, quelle que soit l'intensitĂ© du trafic[63].

Dùs lors que le nombre de nƓuds devient plus important, BATMAN devient le protocole le plus performant des deux[63].

DSR, AODV et OLSR

Une comparaison entre les protocoles DSR & AODV (réactifs) et OLSR (pro-actif) a également été réalisée, mettant en évidence l'attrait d'OLSR pour les sources CBR (tels que la voix sur IP), garantissant des délais plus courts que les protocoles réactifs précédemment mentionnés.

En revanche, OLSR consomme beaucoup plus de bande passante Ă  cause des routes qu'il maintient continuellement engendrant un trafic soutenu continuel.

Les tests ont montré que les protocoles réactifs étaient plus adaptés qu'OLSR dans le domaine de copie de données (échange de fichiers par exemple), sans pour autant savoir clairement départager DSR et AODV du point de vue des performances.

OLSR, AODV et TORA

Une autre comparaison entre les protocoles OLSR, AODV et TORA a pu faire ressortir les résultats suivants[64] :

Comparaison entre OLSR, AODV & TORA
Contrainte de performance OLSR AODV TORA

Catégorie

Pro-actif

RĂ©actif

Hybride

Type de protocole Schéma à état de lien Vecteur de distance Inversement de liens
Routes maintenues dans Table de routage Table de routage Table de routage
Liberté de boucle Oui Oui Oui
Philosophie des routes Plate Plate Plate
Routes multiples Non Non Oui
Multicast Oui Oui Non
Surcharge réseau Minimale Modérée Modérée
Diffusion périodique Possible Possible Possible
Requiert des séquences de données Non Oui Oui
Méthode de reconfiguration des routes Messages de contrÎles envoyés en avance afin d'augmenter la réactivité Suppression des routes et notification à la source Réparation de la route par inversement de liens
Résumé Messages de contrÎle pour détection de liaison, détection des voisins (MPR), détection de multiples interfaces, calcul des routes. Découverte des routes, expansion en anneau, recherche, poursuite du chemin. Inversement des liens, découverte des routes, paquets de mise à jour des routes
Performance de routage avec faible mobilité
Faible mobilité et faible trafic
Protocole Délai de bout en bout Ratio de livraison Optimalité du chemin Surcharge du protocole de routage

OLSR

Bas

Haut

Bonne

Basse

AODV Moyen Haut Moyenne Basse
TORA Bas Haut Bonne Moyenne


Performance de routage avec faible mobilité
Forte mobilité et fort trafic
Protocole Délai de bout en bout Ratio de livraison Optimalité du chemin Surcharge du protocole de routage

OLSR

Bas

Moyen

Moyenne

Basse

AODV Moyen Moyen Moyenne Basse
TORA Haut Bas Moyenne Moyenne

L'étude ayant mené la comparaison de ces trois protocoles de familles différentes a pu conduire aux constatations suivantes[64] :

  • Les performances des trois protocoles au sein d'un rĂ©seau Ă  densitĂ© faible Ă©taient relativement stables avec un trafic faible[65].
  • OLSR est plus efficace dans les rĂ©seaux Ă  forte densitĂ© avec un trafic hautement sporadique. Il nĂ©cessite de disposer d'une bande-passante continuelle afin de rĂ©guliĂšrement Ă©changer les messages propres Ă  la topologie. Par ailleurs, AODV prĂ©serve des performances rĂ©guliĂšres en milieu dense[65].
  • Enfin toujours selon cette mĂȘme Ă©tude, TORA donne les meilleurs rĂ©sultats pour la livraison de paquets en rĂ©seau dense grĂące Ă  son mĂ©canisme de sĂ©lection des meilleures routes[65].

Implémentations

Logicielles

  • OLSRd : une implĂ©mentation libre du protocole OLSR[66].
  • nuOLSRv2[67] : premiĂšre implĂ©mentation OLSRv2 rĂ©alisĂ©e par l'universitĂ© de Niigata[68].
  • OOLSR [69] : implĂ©mentation en C++ avec plusieurs outils supplĂ©mentaires, dĂ©veloppĂ©e par l'Ă©quipe HIPERCOM elle-mĂȘme.
  • pyOLSR [70] : implĂ©mentation en Python avec plusieurs outils additionnels, dĂ©veloppĂ©e par l'Ă©quipe HIPERCOM Ă©galement (rendu obsolĂšte par OOLSR).
  • Qolyester [71] : implĂ©mentation de QOLSR en C++, version modifiĂ©e d'OLSR avec ajout de la fonctionnalitĂ© "QualitĂ© de service".
  • Une implĂ©mentation de CRC [72] (premiĂšre version gĂ©rant l'IPv6)

Matérielles

Puisque OLSR est une couche réseau de niveau couche 3, il est hautement portable et exécutable sur tout systÚme d'exploitation standard I386 et PPC via le plugin d'interface utilisateur de OLSRd[73].

  • MSB-430 : un nƓud de capteur conçu au CST-Freie Universitat-Berlin et utilisĂ© pour tester les protocoles OLSR et B.A.T.M.A.N. dans un rĂ©seau WSN[74].
  • WRT54G : un routeur sans fil avec un processeur basĂ© MIPS de chez LinkSys(Cisco)[75].
  • MeshCube : un petit routeur sans fil de chez 4G Systems avec processeur MIPS Ă  400Mhz et 64 Mo de mĂ©moire vive[76].
  • iPAQ : un assistant personnel de chez Compaq/HP avec une architecture processeur strong-ARM et NetBSD en systĂšme d'exploitation[77].
  • Nokia N900 sous Linux Maemo[78].
  • Google phone sous Android, G1[79].

Notes et références

  1. Ge 2003, p. 2
  2. Clausen 2004, p. 8
  3. Naimi 2003, p. 5
  4. Naimi 2003, p. 6
  5. Clausen 2003
  6. Wang 2005, p. 55
  7. (en) Spécifications du nouveau standard OLSRv2, derniÚre version rédigée le 20 avril 2010.
  8. Adjih 2005, p. 5
  9. Kuppusamy, Thirunavukkarasu et Kalaavathi 2011, p. 143
  10. Wang 2005, p. 56
  11. Clausen 2003, p. 1
  12. Plesse 2004, p. 705
  13. Clausen 2004, p. 3
  14. Sharma 2009, p. 237
  15. Clausen 2003, p. 28
  16. Clausen 2003, p. 27
  17. Clausen 2003, p. 42
  18. Clausen 2003, p. 24
  19. Li 2008, p. 804
  20. Clausen 2003, p. 25
  21. Adjih 2003, p. 3
  22. Clausen 2004, p. 9
  23. Jacquet 2001, p. 2
  24. Jacquet 2001, p. 3
  25. Ge 2003, p. 3
  26. Clausen 2003, p. 38
  27. Clausen 2004, p. 32
  28. Clausen 2003, p. 39
  29. Clausen 2004, p. 33
  30. Wang 2005, p. 57
  31. Wang 2005, p. 58
  32. Wang 2005, p. 59
  33. Barolli et al. 2009, p. 3
  34. The Optimized Link State Routing Protocol version 2
  35. (en) Actualité RFC OLSRv2
  36. Mohamed Belhassen 2011, p. 149
  37. Mohamed Belhassen 2011, p. 151
  38. Mohamed Belhassen 2011, p. 155
  39. Amrita Bose et Sukumar 2008, p. 147
  40. QOLSR
  41. Ying Ge 2002, p. 1
  42. Ying Ge 2002, p. 2
  43. Ying Ge 2002, p. 3
  44. Ying Ge 2002, p. 4
  45. De Rango 2008, p. 1
  46. Ghanem 2005, p. 273
  47. De Rango 2008, p. 4
  48. De Rango 2008, p. 3
  49. Mahfoudh 2010, p. 1127
  50. Toutouh 2011, p. 720
  51. De Rango 2008, p. 2
  52. Toh 2001, p. 141
  53. Toh 2001, p. 142
  54. Toh 2001, p. 143
  55. Kim 2002, p. 565
  56. Mahfoudh 2010, p. 1128
  57. Toutouh 2011, p. 719
  58. Price 2005, p. 37
  59. Toutouh 2011, p. 721
  60. Toutouh 2011, p. 724
  61. Abd Al Basset Almamou 2009, p. 1
  62. Abd Al Basset Almamoup 2009, p. 3
  63. Abd Al Basset Almamoup 2009, p. 4
  64. Kuppusamy, Thirunavukkarasu et Kalaavathi 2011, p. 146
  65. Kuppusamy, Thirunavukkarasu et Kalaavathi 2011, p. 147
  66. (en) Site web officiel d'OLSRd, l'implémentation OLSR pour GNU/Linux, FreeBSD, NetBSD, Android, etc.
  67. (en) Annonce de la premiÚre implémentation OLSRv2
  68. (en) nuOLSRv2
  69. (en) OOLSR
  70. (en) pyOLSR
  71. (en) Qolyester
  72. (en) « Communications Research Centre Canada »(Archive.org ‱ Wikiwix ‱ Archive.is ‱ Google ‱ Que faire ?) (consultĂ© le )
  73. Sinky 2010, p. 288
  74. Almamou 2009, p. 1
  75. (en) Linksys (Cisco) WRT54G
  76. (en) MeshCube
  77. Meraihi 2004, p. 110
  78. (en) OLSR on Nokia N900
  79. (en) OLSR ported to the Google phone

Voir aussi

RFC

Articles scientifiques

  • (en) M. Wang, L. Lamont, P. Mason et M. M. Gorlatova, « An effective intrusion detection approach for OLSR MANET protocol », 1st IEEE ICNP Workshop on Secure Network Protocols, 2005. (NPSec), IEEE,‎ , p. 55-60 (ISBN 0-7803-9427-5, DOI 10.1109/NPSEC.2005.1532054)
  • (en) T. Plesse, J. Lecomte, C. Adjih, M. Badel, P. Jacquet, A. Laouiti, P. Minet, P. Muhlethaler et A. Plakoo, « OLSR performance measurement in a military mobile ad-hoc network », 24th International Conference on Distributed Computing Systems Workshops, 2004. Proceedings, IEEE, vol. 24th International Conference on Distributed Computing Systems Workshops, 2004. Proceedings,‎ , p. 704-709 (ISBN 0-7695-2087-1, DOI 10.1109/ICDCSW.2004.1284109)
  • (en) Frank Y. Li, Lorenzo Vandoni, Giampietro Zicca et Stefano Zanoli, « OLSR Mesh Networks for Broadband Access: Enhancements, Implementation and Deployment », Circuits and Systems for Communications, 2008. ICCSC 2008. 4th IEEE International Conference, IEEE,‎ , p. 802-806 (ISBN 978-1-4244-1707-0, DOI 10.1109/ICCSC.2008.175)
  • (en) C.-K. Toh, « Maximum battery life routing to support ubiquitous mobile computing in wireless ad hoc networks », IEEE Communications Magazine, IEEE, vol. 39,‎ , p. 138-147 (ISSN 0163-6804, DOI 10.1109/35.925682)
  • (en) Dongkyun Kim, J.J. Garcia-Luna-Aceves et K. Obraczka, « Power-Aware Routing Based on The Energy Drain Rate for Mobile Ad Hoc Networks », Computer Communications and Networks, 2002, IEEE,‎ , p. 565-569 (ISBN 0-7803-7553-X, DOI 10.1109/ICCCN.2002.1043126)
  • (en) Nabil Ghanem, Selma Boumerdassi et Éric Renault, « New energy saving mechanisms for mobile ad-hoc networks using OLSR », PE-WASUN '05 Proceedings of the 2nd ACM international workshop on Performance evaluation of wireless ad hoc, sensor, and ubiquitous networks, ACM Press,‎ , p. 273-274 (ISBN 1-5959-3182-1, DOI 10.1145/1089803.1090006)
  • (en) Saoucene Mahfoudh et Pascale Minet, « Energy-aware routing in wireless ad hoc and sensor networks », Proceedings of the 6th International Wireless Communications and Mobile Computing Conference, ACM Press,‎ , p. 1126-1130 (ISBN 978-1-4503-0062-9, DOI 10.1145/1815396.1815654)
  • (en) Jamal Toutouh et Enrique Alba, « An efficient routing protocol for green communications in vehicular ad-hoc networks », GECCO '11 Proceedings of the 13th annual conference companion on Genetic and evolutionary computation, ACM Press,‎ , p. 719-725 (ISBN 9781450306904, DOI 10.1145/2001858.2002076)
  • (en) Hassan Sinky et Bechir Hamdaoui, « Implementation and performance measurement and analysis of OLSR protocol », IWCMC '10 Proceedings of the 6th International Wireless Communications and Mobile Computing Conference, ACM Press,‎ , p. 286-290 (ISBN 978-1-4503-0062-9, DOI 10.1145/1815396.1815463)
  • (en) Floriano De Rango, Marco Fotino et Salvatore Marano, « EE-OLSR: Energy Efficient OLSR routing protocol for Mobile ad-hoc Networks », Military Communications Conference, 2008. MILCOM 2008. IEEE, IEEE,‎ , p. 1-7 (ISBN 978-1-4244-2676-8, DOI 10.1109/MILCOM.2008.4753611)
  • (en) Abd Al Basset Almamou, Raphaela Wrede, Pardeep Kumar, Houda Labiod et Jochen Schiller, « Performance evaluation of routing protocols in a Real-World WSN », Information Infrastructure Symposium, 2009. GIIS '09, IEEE,‎ , p. 1-5 (ISBN 978-1-4244-4623-0, DOI 10.1109/GIIS.2009.5307052)
  • (en) Kenneth V. Price, Rainer M. Storn et Jouni A. Lampinen, « Differential Evolution A Practical Approach to Global Optimization », Natural Computing Series, Springer Berlin Heidelberg,‎ , p. 37-134 (ISBN 978-3-540-31306-9, DOI 10.1007/3-540-31306-0)
  • (en) S. Sharma, « P-OLSR: Position-based optimized link state routing for mobile ad hoc networks », LCN 2009. IEEE 34th Conference, IEEE,‎ , p. 237-240 (ISBN 978-1-4244-4488-5, DOI 10.1109/LCN.2009.5355100)
  • (en) Ying Ge, Thomas Kunz et Louise Lamont, « Quality of Service Routing in Ad-Hoc Networks Using OLSR », HICSS’03 Proceedings of the 36th Annual Hawaii International Conference,‎ , p. 1-9 (ISBN 0-7695-1874-5, DOI 10.1109/HICSS.2003.1174847, lire en ligne)
  • Amina Naimi Meraihi et Philippe Jacquet, « Le ContrĂŽle du DĂ©lai dans le Protocole OLSR », HIPERCOM - INRIA Rocquencourt, Rapport de recherche,‎ , p. 1-9 (rĂ©sumĂ©, lire en ligne)
  • Rabah Meraihi, « Gestion de la qualitĂ© de service et contrĂŽle de topologie dans les rĂ©seaux ad hoc », ThĂšse ecole nationale supĂ©rieure des tĂ©lĂ©communications,‎ , p. 1-136 (lire en ligne)
  • (en) Philippe Jacquet, Paul Muhlethaler, Thomas Clausen, Anis Laouiti et Laurent Viennot, « Optimized Link State Routing Protocol for Ad Hoc Networks », HIPERCOM - INRIA Rocquencourt, Rapport de recherche,‎ , p. 1-53 (DOI 10.1109/INMIC.2001.995315, rĂ©sumĂ©, lire en ligne)
  • (en) Thomas Clausen et Philippe Jacquet, « The Optimised Routing Protocol for Mobile Ad-hoc Networks: protocol specification », HIPERCOM - INRIA Rocquencourt, Rapport de recherche,‎ , p. 1-53 (lire en ligne)
  • (en) P. Kuppusamy, K. Thirunavukkarasu et B. Kalaavathi, A Study and Comparison of OLSR, AODV and TORA Routing Protocols in Ad Hoc Networks, (DOI 10.1109)
  • (en) Leonard Barolli, Makoto Ikeda, Giuseppe De Marco, Arjan Durresi et Fatos Xhafa, « Performance Analysis of OLSR and BATMAN Protocols Considering Link Quality Parameter », AINA '09 Proceedings of the 2009 International Conference on Advanced Information Networking and Applications,‎ , p. 307-314 (ISBN 978-0-7695-3638-5)
  • (en) Paul Amrita Bose et Nandi Sukumar, Modified Optimized Link State Routing (M-OLSR) for Wireless Mesh Networks, (ISBN 978-0-7695-3513-5)
  • (en) Thierry Plesse, JĂ©rĂŽme Lecomte, Cedric Adjih, Marc Badel et Philippe Jacquet, « OLSR Performance Measurement in a Military Mobile Ad-hoc Network », Ad Hoc Networks, vol. 3,‎ , p. 575-588

Articles connexes

  • Topologie mesh
  • Babel
  • Freifunk (en), un firmware basĂ© sur OpenWRT utilisant OLSR. Il est conçu pour Ă©tablir des rĂ©seaux mesh extĂ©rieurs avec des AP Wi-Fi, comme le Linksys WRT54G.

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.