39
Routage dans les réseaux Ad hoc 2.1 Introduction Le routage est une méthode d'acheminement des informations vers la bonne destination à travers un réseau de connexion donnée, il consiste à assurer une stratégie qui garantit, à n'importe quel moment, un établissement de routes qui soient correctes et efficaces entre n'importe quelle paire de noeud appartenant au réseau, ce qui assure l'échange des messages d'une manière continue. Vu les limitations des réseaux ad hoc, la construction des routes doit être faite avec un minimum de contrôle et de consommation de la bande passante. Dans ce qui suit, nous décrirons brièvement la difficulté de routage dans les réseaux ad hoc et les différents mécanismes de routages apparus pour la résolution de ce problème. 2.2 La difficulté du routage dans les réseaux Ad hoc

Routage dans les réseaux ad hoc

  • Upload
    hamouze

  • View
    3.074

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Routage dans les réseaux ad hoc

Routage dans les réseaux Ad hoc

2.1 Introduction

Le routage est une méthode d'acheminement des informations vers la bonne destination à travers un réseau de connexion donnée, il consiste à assurer une stratégie qui garantit, à n'importe quel moment, un établissement de routes qui soient correctes et efficaces entre n'importe quelle paire de noeud appartenant au réseau, ce qui assure l'échange des messages d'une manière continue. Vu les limitations des réseaux ad hoc, la construction des routes doit être faite avec un minimum de contrôle et de consommation de la bande passante.

Dans ce qui suit, nous décrirons brièvement la difficulté de routage dans les réseaux ad hoc et les différents mécanismes de routages apparus pour la résolution de ce problème.

2.2 La difficulté du routage dans les réseaux Ad hoc

De fait qu'un réseau ad hoc est un ensemble de noeuds mobiles qui sont dynamiquement et arbitrairement éparpillés d'une manière ou l'interconnexion entre les noeuds peut changer à tout moment. Il se peut qu'un hôte destination soit hors de la portée de communication d'un hôte source, ce qui nécessite l'emploi d'un routage interne par les noeuds intermédiaires afin de faire acheminer les paquets de message à la bonne destination.

Page 2: Routage dans les réseaux ad hoc

En effet, la topologie évoluant constamment en fonction des mouvements des mobiles, Le problème qui se pose dans le contexte des réseaux ad hoc est l'adaptation de la méthode d'acheminement utilisée avec le grand nombre d'unités existant dans un environnement caractérisé par de modestes capacités de calcul et de sauvegarde.

D'ailleurs dans la pratique il est impossible qu'un hôte puisse garder les informations de routage concernant tous les autres noeuds, dans le cas où le réseau serait volumineux.

2.3 Les contraintes de routages dans les réseaux ad hoc

L'étude et la mise en oeuvre d'algorithmes de routage pour assurer la connexion des réseaux ad hoc au sens classique du terme (tout sommet peut atteindre tout autre ), est un problème complexe. L'environnement est dynamique et évolue donc au cours du temps, la topologie du réseau peut changer fréquemment. Il semble donc important que toute conception de protocole de routage doive étudier les problèmes suivants :

· Minimisation de la charge du réseau : l'optimisation des ressources du réseau renferme deux autres sous problèmes qui sont l'évitement des boucles de routage, et l'empêchement de la concentration du trafic autour de certains noeuds ou liens.

· Offrir un support pour pouvoir effectuer des communications multi-points fiables : Le fait que les chemins utilisés pour router les paquets de données puissent évoluer, ne doit pas avoir d'incident sur le bon acheminement des données. L'élimination d'un lien, pour cause de panne ou pour cause de mobilité devrait, idéalement, augmenter le moins possible les temps de latence.

· Assurer un routage optimal : La stratégie de routage doit créer des chemins optimaux et pouvoir prendre en compte différentes métriques de coûts (bande passante, nombre de liens, ressources du réseau,... etc.). Si la construction des chemins optimaux est un problème dur, la maintenance de tels chemins peut devenir encore plus complexe, la stratégie de routage doit assurer une maintenance efficace de routes avec le moindre coût possible.

· Le temps de latence : La qualité des temps de latence et de chemins doit augmenter dans le cas où la connectivité du réseau augmente [1].

2.4 Classification des protocoles de routage

Page 3: Routage dans les réseaux ad hoc

Vue la difficulté de routage dans les réseaux ad hoc, les stratégies existantes utilisent une variété de techniques afin de résoudre ce problème. Suivant ces techniques, plusieurs classifications sont apparues, parmi lesquelles nous allons citer :

2.4.1 Routage hiérarchique ou plat :

Le premier critère utilisé pour classifier les protocoles de routage dans les réseaux ad hoc concerne le type de vision qu'ils ont du réseau et les rôles qu'ils accordent aux différents mobiles.

y' Les protocoles de routage à plat : considèrent que tous les noeuds sont égaux (FIG 2.1). La décision d'un noeud de router des paquets pour un autre dépendra de sa position. Parmes les protocoles utilisant cette technique, on cite l'AODV ( Ad hoc On Demand Distance Vector).

FIG 2.1 Routage à plat

I Les protocoles de routage hiérarchique : fonctionnent en confiant aux mobiles des rôles qui varient de l'un à l'autre. Certains noeuds sont élus et assument des fonctions particulières qui conduisent à une vision en plusieurs niveaux de la topologie du réseau. Par exemple, un mobile pourra servir de passerelle pour un certain nombre de noeuds qui se seront attachés à lui. Le routage en sera simplifié, puisqu'il se fera de passerelle à passerelle, jusqu'à celle directement attachée au destinataire. Un exemple est donné sur la figure (FIG 2.2), où le noeud N3 passe par les passerelles P1, P2 et P3 pour atteindre N7. Dans ce type de protocole, les passerelles supportent la majeure partie de la charge du routage (les mobiles qui s'y rattachent savent que si le destinataire n'est pas dans leur voisinage direct, il suffit d'envoyer à la passerelle qui se débrouillera) [6]. ]. Un exemple de protocole utilisant cette stratégie est l' OLSR (Optimized Link State Routing)

FIG 2.2 Routage Hiérarchique

Page 4: Routage dans les réseaux ad hoc

2.4.2 Le routage à la source et le routage saut par saut :

y' Le routage à la source : le routage à la source ou « source routing » consiste à indiquer dans le paquet routé l'intégralité du chemin que devra suivre le paquet pour atteindre sa destination. L'entête de paquet va donc contenir la liste des différents noeuds relayeur vers la destination. Le protocole le plus connu basant sur cette classe est : DSR3.

y' Le routage saut par saut : le routage saut par saut ou «hop by hop» consiste à donner uniquement à un paquet l'adresse du prochain noeud vers la destination. AODV fait partie des protocoles qui utilisent cette technique.

2.4.3 Etat de lien et Vecteur de distance :

Autres classification, hérité du monde filaire, est possible pour les protocoles de routage : les protocoles basé sur l'état des liens et se basé sur le vecteur de distance. Les deux méthodes exigent une mise à jour périodique des données de routage qui doivent être diffusées par les différents noeuds de routage du réseau. Les algorithmes de routage basés sur ces deux méthodes, utilisent la même technique qui est la technique des plus courts chemins, et permettent à un hôte donné, de trouver le prochain hôte pour atteindre la destination en utilisant le trajet le plus court existant dans le réseau.

y' Les protocoles basés sur l'état de lien : La famille des protocoles à état de liens se base sur les informations rassemblées sur l'état des liens dans le réseau. Ces

3Dynamic Source Routing

informations sont disséminées dans le réseau périodiquement ce qui permet ainsi aux noeuds de construire une carte complète du réseau. Un noeud qui reçoit les informations concernant l'état des liens, met à jour sa vision de la topologie du réseau et applique un algorithme de calcul des chemins optimaux afin de choisir le noeud suivant pour une destination donnée. En générale ces algorithmes se basent sur le principe de l'algorithme de Djikstra [8] pour calculer les chemins les plus courts entre un noeud source et les autres noeuds du réseau. . Les principaux protocoles de routage dans les réseaux ad hoc qui appartiennent à cette classe sont les suivants : TORA4 , OLSR et TBRPF5.

y' Les protocoles basés sur le vecteur de distance : Les protocoles à vecteur de distance se basent sur un échange, entre voisins, des informations de distances des destinations connues. Chaque noeud envoie

Page 5: Routage dans les réseaux ad hoc

à ses voisins la liste des destinations qui lui sont accessibles et le coût correspondant. Le noeud récepteur met à jour sa liste locale des destinations avec les coûts minimums. Le processus de calcul se répète, s'il y a un changement de la distance minimale séparant deux noeuds, et cela jusqu'à ce que le réseau atteigne un état stable. Les calcules des routes se basé sur le principe de l'algorithme distribué de Bellman-Ford [9] (DBF). les protocoles de routage basés sur le vecteur de distance les plus connus pour les réseaux ad hoc sont : DSR, DSDV6 et AODV.

2.4.4 L'inondation :

L'inondation ou la diffusion pure, consiste à répéter un message dans tout les réseaux .Un noeud qui initie l'inondation envoie le paquet à tous ses voisins directe, de même si un noeud quelconque de réseau reçoit le paquet pour la première fois, il le rediffuse à tous les voisins, Ainsi de proche en proche le paquet inonde le réseau (FIG 2.3).

FIG 2.3 Le mécanisme d'inondation

4Temparally- Ordered Routing Algorithm.

5Topology Dissemi nation Based On Reverse Path Forwardi ng. 6Desti nation-Sequenced DistanceVector.

Notons que les noeuds peuvent être anienes appliques (durant l'inondation) certain traitement de contrôle dans le but d'éviter certains problèmes, tel que le bouclage et la duplication des messages, Le mécanisme d'inondation est utilisé généralement dans la première phase du routage plus exactement dans la procédure de découverte des routes, et cela dans le cas où le noeud source ne connaît pas la localisation exacte de la destination.

2.4.5 Le concept de groupe :

Dans la communication de groupe, les messages sont transmis à des entités abstraites ou groupes, les émetteurs n'ont pas besoin de connaître les membres du groupe destinataire. La gestion des membres d'un groupe permet à un élément de se joindre à un groupe, de quitter ce groupe, se

Page 6: Routage dans les réseaux ad hoc

déplacer ailleurs puis rejoindre le même groupe. C'est en ce sens que la communication de groupe assure une indépendance de la localisation, ce qui la rend parfaitement basées sur les groupe. Le concept de groupe facilite les taches de la gestion du routage (telles que les transmissions des paquets, l'allocation de la bande passante etc.) et cela en décomposant le réseau en un ensemble de groupes connecté.

FIG 2.4 La décomposition du réseau en groupe 2.4.6 Protocoles uniformes et non-uniformes :

Certains protocoles de routage n'utilisent pas tous les noeuds d'un réseau pour faire transiter les messages, au contraire ils en sélectionnent certains, en fonction du voisinage ou pour former des cellules. Ces protocoles sont dits non-uniformes. Ceux qui utilisent tous les noeuds du réseau capables de router sont appelés protocoles uniformes. [1]

2.4.7 La classification de MANET :

C'est la classification qui nous intéresse et qu'on maintient pour la suite de ce chapitre. Suivant la manière de création et de maintenance de routes lors de l'acheminement

des données, les protocoles de routage peuvent être séparés en : Proactif, Réactif et Hybride.

2.4.7.1 Les protocoles de routage proactifs :

Les protocoles de routage proactifs essaient de maintenir les meilleurs chemins existants vers toutes les destinations possibles (qui peuvent représenter l'ensemble de tous les noeuds du réseau) au niveau de chaque noeud du réseau, Les routes sont sauvegardées même si elles ne sont pas utilisées. La sauvegarde permanente des chemins de routage, est assurée par un échange continu des messages de mise à jour des chemins, Le plus abouti de ces protocoles est OLSR.

Avantages et les inconvénients des protocoles proactifs :

Avec un protocole proactif, les routes sont disponibles immédiatement, ainsi l'avantage d'un tel protocole est le gain de temps lors d'une demande de route. Le problème est que, les changement de routes peuvent être plus

Page 7: Routage dans les réseaux ad hoc

fréquents que la demande de la route et le trafic induit par les messages de contrôle et de mise à jour des tables de routage peut être important et partiellement inutile, ce qui gaspille la capacité du réseau sans fi l. De plus, la taille des tables de routage croit linéairement en fonction du nombre de noeud.

De ce fait, un nouvel type de protocole a apparu, il s'agit des protocoles de routage réactifs.

2.4.7.2 Les protocoles de routage réactifs :

Les protocoles de routage réactifs (dits aussi: protocoles de routage à la demande), représentent les protocoles les plus récents proposés dans le but d'assurer le service du routage dans les réseaux sans fils.

La majorité des solutions proposée pour résoudre le problème de routage dans les réseaux ad hoc, et qui sont évaluées actuellement par le groupe de travail MANET (Mobile Ad Hoc Networking working Groupe) de l'IETF (Internet Engineering Task Force), appartiennent à cette classe de protocoles de routage [2].

Les protocoles de routage appartenant à cette catégorie, créent et maintiennent les routes selon les besoins. Lorsque le réseau a besoin d'une route, une procédure de découverte globale de routes est lancée, et cela dans le but d'obtenir une information. Actuellement, le plus connu de ces protocoles est AODV.

Avantages et les inconvénients des protocoles réactifs:

A l'opposé des protocoles proactifs, dans le cas d'un protocole réactif, aucun message de contrôle ne charge le réseau pour des routes inutilisées ce qui permet de ne pas gaspiller les ressources du réseau. Mais la mise en place d'une route par inondation peut être coûteuse et provoquer des délais importants avant l'ouverture de la route et les retards dépassent bien souvent les délais moyens admis par les logiciels, aboutissant à une impossibilité de se connecter alors que le destinataire est bien là.

De ce fait, un nouvel type de protocole a apparu, il s'agit des protocoles de routage hybrides.

2.4.7.3 Les protocoles de routage hybrides :

Dans ce type de protocole, on peut garder la connaissance locale de la topologie jusqu'à un nombre prédéfini- a priori petit- de sauts par un échange périodique de trame de contrôle, autrement dit par une technique proactive. Les routes vers des noeuds plus lointains sont obtenues par

Page 8: Routage dans les réseaux ad hoc

schéma réactif, c'est-à-dire par l'utilisation de paquets de requête en diffusion [10]. Un exemple de protocoles appartenant à cette famille est DSR (Dynamic Source Routing), qui est réactif à la base mais qui peut être optimisé s'il adopte un comportement proactif.un autre exemple est le protocole ZRP (Zone Routinier Protocol).

Avantages et inconvénient des protocoles hybrides :

Le protocole hybride est un protocole qui se veut comme une solution mettant en commun les avantages des deux approches précédentes en utilisant une notion de découpe du réseau.

Cependant, il rassemble toujours quelques inconvénients des deux approches proactives et réactives.

2.5 Conclusion

Dans ce chapitre nous avons abordé la notion et les problèmes de routage dans les réseaux Ad hoc.

Comme nous avons vu, le problème de routage est loin d'être évident dans cet environnement,

où ce dernier impose de nouvelles limitations par rapport aux environnements classiques. Les

stratégies de routage doivent tenir compte des changements fréquents de la topologie, de la consommation de la bande passante qui est limitée, ainsi d'autres facteurs.

Finalement, nous avons présenté vue classification de protocole de routage dans les environnements mobiles, avec quelques exemples pour les protocoles de routage proactif et réactif qui ont été conçu pour les réseaux Ad hoc,

Dans le chapitre suivant nous allons se détailler sur le fonctionnement de deux protocoles qui sont les plus avancés sur la voie d'une normalisation [4]. AODV et OLSR font l'objet de chapitre suivant.

Page 9: Routage dans les réseaux ad hoc

Présentation des protocoles de routage

AODV et OLSR

3.1 Introduction

Lors de la transmission d'un paquet d'une source vers une destination, il est nécessaire de faire appel à un protocole de routage qui acheminera correctement le paquet par le «meilleur » chemin. Plusieurs protocoles ont été proposés au niveau ad hoc. Afin de comprendre leurs comportement dans des réseaux mobiles, nous nous sommes intéressés donc à faire une étude théorique sur quelques protocoles, pour ce la, la première étape à faire fut celle du choix des protocoles sur lesquels se baser. Notre choix s'est porté sur AODV et OLSR. En effet. Ces protocoles montrent une meilleure qualification[4].

AODV et OLSR sont représentatifs de diverses techniques et sont les plus avancés sur la voie d'une normalisation [4]. Ils appartiennent chaqu'un à une famille, le premier, réactif, de Charles Perkins (Nokia) et Elizabeth Royer (University of California), est baptisé AODV (Ad hoc On demand Distance Vector Routing). Il utilise un mécanisme de diffusion (broadcast) dans le réseau pour découvrir les routes valides. Le second est proactif, retenu est français, de l'équipe HIPERCOM de Philippe jacquet (INRIA7 Rocquercourt) et s'appelle OLSR (Optimized Link State Routing Protocole). Il utilise un mécanisme qui permet de designer un sous-ensemble de son voisinage responsable de la dissémination des informations de contrôle de topologie dans les réseaux à moindre coût.

Ces deux protocoles (AODV, OLSR) font désormais l'objet d'une Request For Comment(RFC), tendis que les autres sont à des versions assez stabilités de leurs drafts.

Page 10: Routage dans les réseaux ad hoc

7 Institut National de Recherche en Informatique et en Automatique

Dans ce chapitre, nous allons présenter ces deux protocoles, en commençant par une étude détaillée sur le protocole de routage AODV et sa manière d'agir, on décrira par la suite le protocole OLSR et son principe de fonctionnement et on finira par une brève comparaison entres ces deux protocoles de routage.

3.2 Présentation du protocole de routage AODV«Ad hoc On demand Distance Vector»

3.2.1 Définition :

AODV est un protocole de routage réactif et base sur le principe des vecteurs de distance, capable à la fois de routage unicast et multicast [11]. Il représente essentiellement une amélioration de l'algorithme proactif DSDV.

3.2.2 Le type des messages dans AODV :

Le protocole AODV fonctionne à partir de trois types de messages : - les messages de demande de route RREQ : Route Request Message.

- les messages de réponse de route RREP : Route Reply Message. - les messages d'erreur de route RERR : Route Error Message.

? Message de demande de route (RREQ) : Il est sous la forme suivante :

FIG 3.1 Format d'un message RREQ

? Message Route Reply (RREP) : Ce message est sous la forme suivante:

Page 11: Routage dans les réseaux ad hoc

FIG 3.2 Format d'un message RREP

? Message d'erreur (RERR) : Il est sous la forme suivante.

FIG 3.3 Format du message RERR

En plus des messages cités avant, l'AODV utilise des paquets contrôle H ELLO qui permettent de vérifier la connectivité des routes.

3.2.3 Le principe de numéro de séquence :

La circulation inutile des paquets de messages, qui peut arriver avec le DBF (Distribution de Bellman Ford), est intolérable dans les réseaux mobiles ad hoc, caractérisés par une bande passante limitée et des ressources modestes.

L'AODV utilise les principes de numéro de séquence afin d'éviter le problème des boucles infinie et des transmissions inutiles de messages sur le réseau, en plus il permet de maintenir la consistance des informations de routage. A cause de la mobilité des noeuds dans

le réseau ad hoc, les routes changent fréquemment ce qui fait que les routes maintenus par certains noeuds, deviennent invalide. Les numéros de séquence permettent d'utiliser les routes les plus nouvelles ou autrement dit les plus fraiches (fresh routes), un noeud les mis à jour chaque fois qu'une nouvelle information provenant d'un message RREQ, RREP ou RERR, il incrémente son propre numéro de séquence dans les circonstances suivantes :

Page 12: Routage dans les réseaux ad hoc

- Il est lui-même le noeud destination et offre une nouvelle route pour l'atteindre.

- Il reçoit un message AODV (RREQ, RREP, RERR) contenant de nouvelles informations sur le numéro de séquence d'un noeud destination.

- Le chemin vers une destination n'est plus valide.

3.2.4 Fonctionnement de protocole :

Dans cette partie nous détaillerons le fonctionnement de protocole AODV, en commençant d'abord par la manière dont il découvre les routes, nous parlerons par la suit sur la façon dont il maintien ces routes, une fois valides.

3.2.4.1 Découverte de route :

Lorsqu' un noeud veut émettre un message, il cherche dans sa table de routage si une route valide existe pour la destination qu'il souhaite atteindre, s'il n'en existe aucune, il se met à la recherche d'une route.

Cette tâche est réalisée par la diffusion de message RREQ sur une adresse de type broadcast au travers de réseau. Le champ numéro de séquence destination de paquet RREQ, contient la dernière valeur connue du numéro de séquence associé au noeud destination. Cette valeur est recopiée de la table de routage, si le numéro de séquence n'est pas connu, la valeur nulle sera prise par défaut. Avant l'envoi du paquet RREQ, le noeud origine sauvegarde l'identificateur du message et l'adresse IP de façon à ne pas traiter le message dans le cas où un voisin le lui renverrait. Un fois la demande de route effectuée, le noeud demandeur se met en attente de réponses.

Quand un noeud de transit (intermédiaire) reçoit le paquet le de la requête, il vérifie dans stable historique si cette requête a déjà été vue et traitée. Si le paquet est doublon, le noeud doit l'ignorer et arrêter le traitement. Dans le cas contraire le couple (@ source, ID de requête) sera inscrit dans la table historique pour rejeter le future doublons, et le noeud continue le traitement en cherchant la destination dans sa table de routage : s'il possède une

route récente, a noter qu'une route est récente si le numéro de séquence de la destination dans la table est supérieure ou égale au numéro de séquence dans le paquet RREQ. Dans ce cas, le noeud envoi un paquet de réponse (RREP) à la source lui indiquant comment atteindre la destination.

Page 13: Routage dans les réseaux ad hoc

Autrement le noeud ne connait pas la route vers la destination : il incrémente le nombre de sauts et rediffuse le paquet (FIG 3.4).

Avant de l'envoi de paquet, le noeud intermédiaire sauvegarde l'adresse du noeud précédent et celle du noeud source à partir du quel la première copie de la requête est reçue. Cette information est utilisée pour construire le chemin inverse, qui sera traversé par le paquet réponse de la route de manière unicast (cela veut dire qu'AODV supporte seulement les liens symétriques).

FIG 3.4 Découverte de route

Si la requête atteint le noeud destination, un paquet RREP est construit avec le nouveau numéro de séquence de la destination est suit la route inverse notée dans les tables (voir la FIG3.4). Le champ hop count de message route RREP est incrémenté à chaque noeud traversé, une fois le noeud origine atteint, la valeur du champ hop count représente la distance en nombre de sauts pour aller du noeud source vers le noeud destination. Quand le noeud reçoit une réponse de route, le paquet est examiné, et une entrée pour la route vers la destination est inscrite dans la table de routage si au moins une des ces conditions est satisfaite :

- aucune route vers la destination n'est connue.

- le numéro de séquence pour la destination dans le paquet de réponse est supérieure a la valeur présente dans la table de routage.

- les numéros de séquences sont égaux mais la nouvelle route est plus courte.

Afin de limiter le coût dans le réseau, AODV propose d'étendre la recherche progressivement, initialement, la requête RREQ est diffusée à un nombre de sauts limité. Si la source ne reçoit aucune réponse après un délai d'attente déterminé, elle retransmet un autre

message de recherche en augmentant le nombre maximum de sauts. En cas de non réponse, Cette procédure est répétée un nombre maximum de fois avant de déclarer que cette destination est injoignable.

Page 14: Routage dans les réseaux ad hoc

A chaque nouvelle diffusion, le champ Broadcast ID du paquet RREQ est incrémenté pour identifier une requête de route particulière associée à une adresse source. Si la requête RREQ est rediffusée un certain nombre de fois (RREQ.RETRIES) sans réception de réponse, un message d'erreur est délivré à l'application.

3.2.4.2 Maintenance des routes :

AODV maintient les routes aussi longtemps que celles-ci sont actives, une route est considérée active tant que des paquets des données transitent périodiquement de la source a la destination selon ce chemin. Lorsque la source stoppe d'émettre des paquets des données, le lien expirera et sera effacé des tables de routage des noeuds intermédiaires. Si un lien se rompt lorsqu'une route est active, le lien est considéré défaillant. Les défaillances des liens sont, généralement, dues à la mobilité du réseau ad hoc.

Afin de détecter cette défaillance, AODV utilise les messages de contrôle « HELLO » qui permettent de vérifier la connectivité ou plutôt l'activité des routes. Un noeud détermine l'activité d'une route en écoutant périodiquement les messages « HELLO » transmis par ses voisins. Si pendant un laps de temps, trois messages « HELLO » ne sot pas reçus consécutivement, le noeud considère que le lien -vers ce voisin est cassé. Il envoi un message d'erreur (RERR) à la source et la route devient invalide.

-Gestion de la connectivité locale :

En fait, lors de la rupture d'un lien d'une route active, AODV tente de réparer la connectivité localement en diffusant une requête de recherche de route dans le voisinage. Si cette tentative échoue, alors la route est supprimée, et nouvelle recherche de route est lancée par la source.

3.2.5 Avantages et Inconvénients :

L'un des avantages d'AODV est l'utilisation de numéro de séquence dans les messages. Ces numéros de séquences permettent l'éviter les problèmes de boucles infinies et sont essentiels au processus de mis à jour de la table de routage.

Un autre avantage est le rappel de l'adresse IP du noeud origine dans chaque message. Ceci permet de ne pas perdre la trace du noeud à l'origine de l'envoi du message lors des différents relais.

Un inconvénient d'AODV est qu'il n'existe pas de format générique des messages. Chaque message a son propre format : RREQ, RREP, RERR.

Page 15: Routage dans les réseaux ad hoc

3.3 Présentation du protocole de routage OLSR (Optimized Link State Routing)

3.3.1 Définition :

OLSR est un protocole de routage proactif, conçu pour fonctionner dans un environnement mobile distribué sans aucune entité centrale le contrôlant et réagissant à la mobilité (réseaux Ad hoc).Il est utilisé dans les réseaux denses et peu mobiles [5].

Il représente une adaptation et une optimisation du principe de routage à état de lien pour les réseaux ad hoc. Il permet d'obtenir les routes de plus court chemin. L'optimisation tient au fait que dans un protocole à état de lien, chaque noeud déclare ses liens directs avec tous ses voisins à tout le réseau. Dans le cas d'OLSR, les noeuds ne vont déclarer qu'une sous partie de leurs voisinage par l'utilisation de relais multipoints MPR (Multipoint Relay).

6.3.2 Le format du paquet OLSR :

Contrairement à AODV qui offre un format spécifique à chaqu'un de ses messages, le protocole OLSR définit un format général du paquet, donné sur la figure (FIG3.5).Ce format est unique pour tout les messages circulant sur le réseau.

En plus des messages d'échange de trafic de contrôle HELLO et TC (Topologie Control), le protocole OLSR propose deux autres types différents de messages : MID (Multiple Interface Declaration) et HNA (Host and Network Association)

FIG 3.5 Format de paquet OLSR

Page 16: Routage dans les réseaux ad hoc

Chaque paquet peut contenir plusieurs messages identifiés par un type. Ceci permet d'envoyer plusieurs informations à un noeud en une seule transmission. Selon la taille de MTU (Maximum Transfer Unit), un noeud peut ajouter de différents messages et les transmettre ensemble. Par conséquent différents types de messages peuvent être émis ensemble mais traités et retransmis différemment dans chaque noeud. Quand ce dernier reçoit un paquet, il examine les entêtes des messages et en détermine le type selon la valeur du champ message type. Dans OLSR, un message du control individuel est uniquement identifier par une adresse initiale (Originator address) et son numéro de séquence MSN (Message Sequence Num ber).

Le champ Originator address indique la source d'un message, par contre au champ MSN nous permet d'éviter le traitement et relayage multiple de même message pour un noeud.

-Remarque :

Le routage des données, se fait saut par saut. Sur la base des informations reçus à partir des paquets de contrôle (HELLO et TC) envoyés par un noeud du réseau, chaque noeud / routeur calcule sa table de routage. Le protocole OLSR ne manipule pas directement les paquets de données. C'est la couche I P (réseau) qui prend en charge les paquets de données et les routes suivant les informations contenues dans sa table de routage. OL SR utilise le format standard des paquets I P pour envoyer les messages de contrôle.

3.3.3 Le principe de relais multipoint(MPR) :

Le concept des relais multipoint vise à réduire le nombre de messages de contrôle inutiles lors de l'inondation dans le réseau.

Le principe se base sur une règle (appelé règle de multipoint) : dont chaque noeud choisit une sous partie minimale de ses voisins symétriques à un saut, de tel sorte à pouvoir atteindre tout le voisinage à deux saut (les voisins des voisins).

FIG 3.6 les relais multipoints

Page 17: Routage dans les réseaux ad hoc

Cet ensemble de noeuds choisi, s'appel « le relais multipoint » (MPR).Le relais multipoint porte des avantages du fait qu'il permet une diffusion optimisée en minimisant l'utilisation de la bande passante en évitant l'envoi périodique des messages de contrôle à tout le réseau. La diffusion par relais multipoint se fait différemment de la diffusion classique par inondation .Dans la diffusion classique par inondation un noeud retransmet un message s'il ne l'a pas déjà reçu. Par les relais multipoint on obtient une optimisation en ajoutant une condition : si le message n'est pas déjà reçu, et le noeud est considéré comme MPR pour le noeud dont il a reçu le message. Un noeud N1 qui ne fait pas parti de l'ensemble des MPR de noeud N2 reçoit et traite les messages envoyés par N2 mais ne les retransmette pas.

FIG3.7.a: Transmission par inondation pure FIG3.7.b : transmission avec les MPR

MPR

FIG 3.7 Le Relai Multipoint

La figure (FIG 3.7) donne un exemple de gain en nombre de messages transmis. Le nombre de messages dans l'inondation pure (FIG 3.7.a) est de 54 messages, alors que dans le cas des Relais multipoint (FIG 3.7.b) est de 34 messages.

OLSR fournit des routes optimales en nombre de sauts, il convient pour les grandes réseaux grâce à son mécanisme de MPR, mais sans doute moins efficace pour de petite réseaux.

Les MPR d'une diffusion ne seront pas forcément les mêmes, puisque chaque noeuds sélectionne ses MPR comme bon lui semble, donc chaque noeudN a son propre ensemble d'MPR cet ensemble est dénoté MPR(N). par conséquent un noeud MPR maintient des informations sur les noeuds qui l'ont choisit comme MPR. Cet ensemble s'appel « le sélecteur de relais multipoint » (MPR selector set).

Page 18: Routage dans les réseaux ad hoc

Le problème qui consiste à trouver le plus petit ensemble de MPRs est analogue au problème de la recherche d'ensemble dominant minimal dans un graphe, qui est connu pour être NP complet [5].dans OLSR, plusieurs heuristiques (le lecteur pourra trouver c'elle proposée dans RFC dans [7]) existent qui permettent de se rapprocher de l'ensemble minimal dans la majeure partie des cas.

3.3.4 Fonctionnent du protocole :

Dans ce qui suit, on va se détailler sur le fonctionnement de protocole OLSR en commençant d'abord par la détection de voisinage en suit la sélection des relais multipoint, en parlera par la suit comment le protocole gère la topologie de réseau et on finira par ses messages MID et H NA. Pour bien comprendre le principe de fonctionnement de OL SR, pour

tout le reste de chapitre, on considère un réseau Ad hoc déployé avec 10 noeuds, chaque noeud est équipé d'une seule interface réseau (voir FIG 3.8).

FIG 3.8 Réseau MANET

3.3.4.1 Détection de voisinage :

Pour accomplir le choix des relais multipoint, chaque noeud doit déterminer ses voisins symétriques directs, mais vue la mobilité des réseaux Ad hoc, certaines liens peuvent devenir asymétriques, par conséquent, il faut tester tout les liens dans les deux sens avant de les considérer valides. Pour cela OLSR propose le mécanisme de détection de voisinage, ce mécanisme est assuré par l'échange périodique des messages « HELLO » qui contient des informations sur les voisins connus et l'état des liens avec ceux-ci. La fonction des messages « HELLO » est multiple. Il permet à un noeud de renseigner sa table de voisinage afin de connaitre ses voisins directs et leurs types de lien. Et comme chaque noeud diffuse ce type de message, un noeud peut acquérir des informations sur les voisins de ses voisins directs, donc il aura la topologie du réseau à deux sauts.

Page 19: Routage dans les réseaux ad hoc

A base de ses informations un noeud choisit ses MPR, après leur sélection, il les déclare dans une partie de message « HELLO ». Ceci permet à un noeud de savoir quels voisins l'ont choisi comme MPR, autrement dit de construire la liste M PRset. A la réception de message « H ELLO », chaque noeud mis à jour sa table de voisinage pour sauvegarder ses voisins à un saut et leurs types de lien à savoir (symétriques, asymétriques ou MPR). La table suivante montre la table de voisinage du noeud A.

Noeuds voisins Types de lien

B Symétrique

C Symétrique

E Asymétrique

F Symétrique

Tab 3.1 Table de voisinage du noeud A

3.3.4.2 Gestion de topologie :

Vu que dans les réseaux Ad hoc, la topologie est totalement distribuée et les noeuds peuvent se déplacer, se connecter et se déconnecter facilement du réseau. Alors, il est indispensable de vérifier à chaque fois la topologie du réseau.

Le contrôle de la topologie ne se fait que par les noeuds élus comme MPR. Ces noeuds diffusent périodiquement des messages de contrôle de la topologie TC (Topology Control).

Le message TC contient l'adresse de générateur du message, l'adresse du noeud destinataire, le numéro de séquence et la durée de vie du message. Il envoi dans ce message l'ensemble des noeuds qui ont sélectionné ce noeud comme MPR (MPR selector_set). Cette information va aider les autres noeuds à construire leur table topologique, puis leur table de routage.

Dans l'exemple de la Figure (FIG3.8), nous présenterons l'ensemble des MPR choisis par chaque noeud. Les MPR_selestor de chaque noeud élu comme MPR ainsi que la table topologique du noeud A.

MPR de tous les noeuds :

MPR(A) = {F, C} MPR(B) = {A, G}

Page 20: Routage dans les réseaux ad hoc

MPR(C) = {A, D} MPR(D) = {C, J}

MPR(E) = Ø MPR(F) = {A, G}

MPR(G) = {B, F} MPR(H) = {F}

MPR(I) = {J} MPR(J) = {D}

MPR selector des MPRs :

I MPR selector _set de(F) = {A, G, H} I MPR selector _set de(C) = {A, D}

I MPR selector_set de(A) = {B ,C, F} I MPR selector_set de(G) = {B, F}

I MPR selector_set de(D) = {C, J}

I MPR selector _set de(J) = { D, I}

I MPR selector_set de(B) = {G}

La table topologique du noeud A est :

Noeuds destinataire Noeud du

dernier saut

Numéro de

séquence

Durée de vie

B G SN1 T1

C D SN2 T2

D C SN3 T3

F G SN4 T4

G B SN5 T5

H F SN6 T6

I J SN7 T7

J D SN8 T8

D J SN9 T9

G F SN10 T10

Tab 3.2 table topologique du noeud A

Les changements topologiques

À chaque changement de topologie, le calcul des routes vers toutes les destinations est déclenché pour mettre à jour les tables de routage. Par

Page 21: Routage dans les réseaux ad hoc

ailleurs, lorsque son ensemble de voisins directs ou à deux sauts change, un noeud doit effectuer la sélection de ses M PRs à nouveau.

3.3.4.3 Le calcul de la route :

Puisque le réseau est dynamique et sans infrastructures centralisé d'autres noeuds peuvent se connecter et déconnecter a tout moment, ce qui provoque le changement de la topologie du réseau et les liens entre les noeuds.

Le protocole OSLR est conçu pour trouver et recalculer les routes, il offre des routes optimales (nombre de sauts minimal) entre les noeuds de réseau. Pour calculer ces routes, il est indispensable de connaitre la topologie de réseau (avoir la table topologique du réseau) et avoir la liste des voisins et leurs types de liens (voir Tab 3.1).

Une fois les routes sont trouvées, le noeud construit sa table de routage. La table de routage contient l'adresse de premier saut à suivre (R_dest_addr), adresse du noeud destinataire, le nombre de sauts qui sépare les deux noeuds ainsi que l'interface de noeuds local.

Dans la table Tab 3.3 nous allons voir la table de routage associé au noeud A de l'exemple de la Figure (FIG 3.8)

Noeuds destinataire Noeud suivant Nombre de

sauts

Interface

B Directe 1 IF A

C Directe 1 IF A

D C 2 IF A

E Directe 1 IF A

F Directe 1 IF A

G B 2 IF A

G F 2 IF A

H F 2 IF A

I C 4 IF A

J C 3 IF A

Tab 3.3 : table de routage pour A

Remarque

Page 22: Routage dans les réseaux ad hoc

Tout changement dans la table topologique ou la table de voisinage provoque automatiquement la modification de la table de routage.

Par exemple, dans la figure suivante (FIG 3.9) si le noeud D veut envoyer un message au noeud F, il a la possibilité d'emprunter deux routes, mais toujours OLSR prend la route optimale (en termes de nombre de sauts).

FIG 3.9: Calcul d'une route optimale

3.3.5 Les messages MID (Multiple Interface Declaration) :

Ces messages sont émis que par un noeud qui a des interfaces OLSR multiples, afin d'annoncer des informations sur la configuration de ses interfaces au réseau. Un message MID contient une liste d'adresses, L'adresse I_if_addr correspond à une interface ainsi que I_main_addr est l'adresse principale du noeud émetteur. La diffusion de ces messages se fait par les relais multipoints afin de minimiser le nombre de messages circulants sur le réseau.

3.3.6 Les messages HNA (Host and Network Association):

Ils sont émis que par un noeud qui a des interfaces non-MANET multiples, dont le but est de fournir la connectivité d'un réseau OLSR à un réseau non OLSR. Le noeud passerelle émet des messages HNA contenant une liste d'adresses des réseaux associés et de leurs masques réseau (netmasks).donc, les noeuds se trouvant dans les réseaux MANET vont construire des tuples pour tous les noeuds passerelles où chaque tuple contient :

V' A_geteway_addr : adresse principale du noeud passerelle.

V' A_network_addr : adresse de sous réseau.

V' A_netmask : adresse de masque réseau.

V' A_time : la durée de tuple.

3.3.7 Avantages et inconvénients :

Page 23: Routage dans les réseaux ad hoc

D'après la présentation ci-dessus du protocole de routage OLSR, nous remarquons qu'il offre des fonctionnalités très intéressantes tout en recherchant des routes optimales en termes de nombre de sauts, il diminue au maximum le nombre de messages de contrôle transmis sur le réseau, en utilisant la technique de sélection des MPR. OLSR gère convenablement la topologie du réseau, en expédiant périodiquement des messages TC et il peut contrôler l'utilisation multiple des interfaces (messages MID) ainsi qu'OLSR offre la possibilité de communication entre un réseau MANET et un réseau filaire (messages HNA)

Tous ces avantages du protocole OLSR ne veut pas dire qu'il n'a pas d'inconvénients, or que le problème actuel d'OLSR est celui de la sécurité [12]. Malgré que ces dernières années beaucoup de recherches ont été faites pour améliorer sa protection contre les attaques, mais OLSR reste toujours vulnérable à certaines attaques.

3.4 Conclusion

OLSR et AODV bien que de nature très différentes, sont très similaires en termes de performances. Dans un réseau très mobile, avec de fréquent changement de topologie, AODV a un petit avantage sur OLSR car les routes sont mises à jours plus rapidement. OLSR doit attendre plusieurs paquets Hello perdus avant de modifier l'état du lien et envoyer des informations de mise à jour. Par contre, dans un réseau plus statique, OLSR encombre moins le réseau qu'AODV qui émet beaucoup plus de messages à chaque découverte de route. En effet dans ce cas OLSR n'émet presque pas de message de mises à jour de la topologie.

Dans un réseau très dense, OLSR charge moins le réseau qu'AODV. Dans des réseaux moyens, OLSR et AODV sont équivalent. Lors de communications courtes, OLSR à un énorme avantages sur AODV car les routes sont disponible immédiatement. Dans la plupart des cas, les messages de contrôles d'AODV sont légèrement plus nombreux que ceux d'OLSR. AODV émets d'autant plus de paquets que le réseau est grand.

OLSR est un peu supérieur à AODV car s'il est équivalent dans la plupart des réseaux, il est meilleur dans certains cas particuliers comme des réseaux denses ou des réseaux où le trafic est important et composées de nombreuses et courtes connexions (l'utilisation des réseaux actuelles est dans ce dernier cas).

Ce chapitre a été axé le fonctionnement et le comportement de chaqu'un des protocoles AODV et OLSR dans les réseaux Ad hoc et se finit par une petite comparaison entre eux, en faisant face à des avantages et

Page 24: Routage dans les réseaux ad hoc

inconvénients pour introduire le protocole de routage dans le chapitre suivant.

Configuration de protocole OLSR

4.1 Introduction

Dans cette patrie de travail, nous allons décrire la façon dont nous avons installé et configurer le protocole de routage des réseaux mobiles ad hoc «OLSR », en expliquant d'abord notre choix de protocole, pour ensuite parler comment le configurer.

4.2 Choix de protocole

Après une étude sur des différentes classes des protocoles de routage existant dans les réseaux ad hoc, nous nous somme intéressés dans ce chapitre à choisir un. Ce protocole doit être adapté à ce genre de réseaux, afin de l'installer et de le configurer. Ce protocole doit de plus avoir un bon comportement dans différentes situations.

Notre choix s'est porté sur OLSR. Vue la disponibilité de ses codes sources sur Internet, son bon comportement au niveau de la qualité des routes fournit mais aussi en délai de transmission, OLSR fait une optimisation des messages de routage surtout, quant le nombre de noeuds est important [4]. Notre choix semble donc approprié.

Page 25: Routage dans les réseaux ad hoc

Remarque :

Le lecteur pourra trouver l'installation et la configuration complète de réseau ad hoc (nommé WIFI_L MD) criée par le groupe -présenter par le quatrième binôme du groupe8.

4.3 Installation et configuration

Après avoir téléchargé l'exécutable d'installation pour OLSR version 0.4.9 a partir du

8Voir l'intitulé Expérimentation des réseaux sans fil ,2007, présenté par S.A L LA L et M .A D EL

CHAPITRE 4 : Configuration de protocole OLSR

Page 26: Routage dans les réseaux ad hoc

Site officiel9.Et une fois installé, le système nous demanda de redémarrer la machine. Après avoir redémarré, il nous a suffit de cliquer sur l'icone pour lancer l'interface de configuration qui est faite comme suite:

FIG 4.1 L'interface de configuration d'OLSR

Pour la configuration proprement dite l'utilisateur pourra jouer avec les différentes valeurs en haut à droite de la figure (FIG 4.1). Elles permettent de gérer le trafic généré par l'OLSR en jouant sur les délais entre les paquets échangés pour son bon fonctionnement. Dans notre cas, les options sont configurées par défaut car sont mieux adaptées.

On refait la procédure précédent pour chaque machines de notre réseau ad hoc (nommé LMD_WIFI) qui est constitué de trois noeuds caractérisés comme suite :

Noeud01 : Adresse I P : 192.168.0.50

Noeud02 : Adresse I P : 192.168.0.100

Noeud03 : Adresse IP : 192.168.0.1 50(la machine dont ces figures sont retirés ) Noeud04 : Adresse I P : 192.168.0.200

Avant de cliquer sur START nous allons procéder à quelques modifications.

Tous d'abord il faut décocher la case en haut à gauche de la figure (FIG 4.1) indiquant IF04 (action 1) de la figure (FIG 4.1) Cela configure les interfaces sur lesquelles l'OLSR va écouter et la valeur IF04 correspond à la boucle locale (carte réseau filaire), elle est donc inutile. Nous voyons au passage que notre adresse IP est 192.168.0.150(donnée sur IF02). Ensuite nous

9 http://www.olsr.org/releases/0.4/packages/olsr-0.4.9-setup.exe

36

allons augmenter au maximum la valeur Debug Level : 9 (action 2) de la figure (FIG 4.1). Cela nous permettra de suivre dans le détail les différentes actions de l'OLSR.

A présent tout est prés, pour lancer OLSR, il suffit de cliquer sur START en bas à droite (action 3) de la figure (FIG 4.1).

Une fois OLSR lancé, on remarque dans la zone de notification l'allumage en vert de l'icône OLSR.

Page 27: Routage dans les réseaux ad hoc

On va voir maintenant les différents onglets qui existent:

o L'onglet « Output » de la figure (FIG 4.2) contient tous les logs de l'OLSR. Il s'y affiche beaucoup d'informations. On utilise les touches « Freeze » et «Continue » pour avoir le temps de lire les informations. Comme par exemple les différents liens établis par notre carte wifi, les voisins directs détectés par l'OLSR et la topologie en termes de route du réseau (TOPOLOGY). (FIG 4.2)

FIG 4.2 L'interface de configuration de l'onglet Output

o L'onglet « Node » de la figure (FIG 4.3)contient des informations sur les autres noeuds appartenant au réseau.

Page 28: Routage dans les réseaux ad hoc

CHAPITRE 4 : Configuration de protocole OLSR

FIG 4.3 L'interface de configuration de l'onglet N odes

« Node list » de la figure (FIG 4.3) représente l'ensemble des autres noeuds présents sur le réseau. En cliquant sur un noeud on affiche des informations sur les routes qu'elles gèrent, comme par exemple le noeud 192.168.0.100 qui peut servir de relais soit vers le noeud 192.168.0.150 soit vers le noeud192.168.0.50. « MPR » signifie Mu ltipoi nt Relay, « MID » Mutli-Interface Déclaration, et « HNA » Annonce de route.

Dans cet exemple, on voit que le noeud 192.168.0.100 utilise une seule interface (MID=no), comme il n'offre aucune connexion à un autre réseau externe (HNA= no).

o Et enfin, le dernier onglet « Routes » de la figure (FIG 4.4) qui nous indique les

Page 29: Routage dans les réseaux ad hoc

routes présentes sur notre machine.

38

FIG 4.4 L'interface de configuration de l'onglet Routes

L'ensemble des routes vers tous les éléments du réseau sont présentes avec leurs passerelles respectives, par exemple ici, pour que notre machine se communique avec le noeud 192.168.0.200 elle doit utiliser le noeud 192.168.0.50 comme MPR. Le champ « mitric » nous indique le nombre de saut à faire pour atteindre le noeud destinataire.

4.4 Conclusion

Dans ce chapitre, nous avons présenté une configuration du protocole OLSR sur un réseau MANet criée par notre groupe10.

10 La partie pratique de ce projet s'agit en faite d'une installation et configuration d'un réseau WIFI et d'une expérimentation des protocoles de routage OLSR et AODV sur un réseau ad hoc. Le lecteur de ce mémoire pourra la trouver en détaille en se référençant à l'intitulé Expérimentation des réseaux sans fil ,2007, presenté par S.ALLAL et M .ADEL