III / Le routage dans les réseaux mobiles Ad hoc
7 févr. 2014 ... Le téléphone mobile est une passerelle entre le monde ????????? (
réalité) et ... Pour vous corriger, vérifiez avec votre JDE. Monsieur Thinès a fai?
.... Le troisième réseau GSM est ouvert par Orange. Le téléphone à ...
part of the document
78 \h 12
3.2 La difficulté du routage dans les réseaux ad hoc RENVOIPAGE _Toc33223279 \h 12
3.3 La conception des stratégies de routage RENVOIPAGE _Toc33223280 \h 13
3.4 L'évaluation des protocoles de routage RENVOIPAGE _Toc33223281 \h 14
3.5 Autres notions RENVOIPAGE _Toc33223282 \h 14
3.5.1 Le "multihoping" RENVOIPAGE _Toc33223283 \h 14
3.5.2 L'inondation RENVOIPAGE _Toc33223284 \h 15
3.5.3 Le concept de groupe RENVOIPAGE _Toc33223285 \h 15
IV / Les différents protocoles de routage RENVOIPAGE _Toc33223286 \h 17
4.1 Les protocoles de routage pro-actifs RENVOIPAGE _Toc33223287 \h 17
4.1.1 Présentation RENVOIPAGE _Toc33223288 \h 17
4.1.2 Le protocole de routage DSDV RENVOIPAGE _Toc33223289 \h 18
4.1.3 Le protocole de routage WRP RENVOIPAGE _Toc33223290 \h 20
4.1.4 Le protocole de routage GSR RENVOIPAGE _Toc33223291 \h 21
4.1.5 Le protocole de routage FSR RENVOIPAGE _Toc33223292 \h 22
4.1.6 Le protocole de routage HSR RENVOIPAGE _Toc33223293 \h 24
4.1.7 Le protocole de routage ZHLS RENVOIPAGE _Toc33223294 \h 26
4.1.8 Le protocole de routage CGSR RENVOIPAGE _Toc33223295 \h 27
4.1.9 Le protocole de routage DREAM RENVOIPAGE _Toc33223296 \h 28
4.2 Les protocoles de routage réactifs (à la demande) RENVOIPAGE _Toc33223297 \h 29
4.2.1 Présentation RENVOIPAGE _Toc33223298 \h 29
4.2.2 Le protocole de routage CBRP RENVOIPAGE _Toc33223299 \h 29
4.2.3 Le protocole de routage DSR RENVOIPAGE _Toc33223300 \h 31
4.2.4 Le protocole de routage AODV RENVOIPAGE _Toc33223301 \h 33
4.2.5 Le protocole de routage TORA RENVOIPAGE _Toc33223302 \h 35
4.2.6 Le protocole de routage ABR RENVOIPAGE _Toc33223303 \h 37
4.2.7 Le protocole de routage SSR RENVOIPAGE _Toc33223304 \h 38
4.2.8 Le protocole de routage LAR RENVOIPAGE _Toc33223305 \h 39
4.2.9 Le protocole de routage RDMAR RENVOIPAGE _Toc33223306 \h 39
Conclusion RENVOIPAGE _Toc33223307 \h 43
Introduction
Lessor des technologies sans fil offre aujourdhui des perspectives intéressantes dans le domaine des télécommunications. Lévolution récente des moyens de communication sans fil a permis la manipulation dinformations au travers dunités de calcul portables aux caractéristiques bien particulières (faible capacité de stockage, source dénergie autonomie, puissance limitée, etc.) qui accèdent au réseau par le biais dune interface de communication sans fil.
Les environnements mobiles offrent une grande flexibilité d'emploi. En particulier, ils permettent la mise en réseau de sites dont le câblage serait trop onéreux à réaliser dans leur totalité, voire même impossible ( par exemple en présence d'une composante mobile ). Contrairement à l'environnement statique, lenvironnement mobile permet aux unités de calcul une libre mobilité et ne pose aucune restriction sur la localisation des usagers. La mobilité et le nouveau mode de communication utilisé engendrent des problèmes propres à lenvironnement mobile : une fréquente déconnexion, un débit de communication et des ressources modestes et des sources dénergie limitées.
Les réseaux mobiles sans fil, peuvent être classés en deux catégories : les réseaux avec infrastructure qui utilisent généralement le modèle de la communication cellulaire, et les réseaux sans infrastructure ou les réseaux ad hoc. Plusieurs systèmes utilisent déjà le modèle cellulaire et connaissent une très forte expansion à l'heure actuelle ( les réseaux GSM par exemple ) mais requièrent une importante infrastructure logistique et matérielle fixe.
Lalternative à ces réseaux cellulaires sont les réseaux mobiles ad hoc. Un réseau ad hoc peut être défini comme une collection d'entités mobiles interconnectées par une technologie sans fil formant un réseau temporaire sans l'aide de toute administration ou de tout support fixe.
Dans un réseau ad hoc les hôtes mobiles doivent former, d'une manière ad hoc, une sorte d'architecture globale qui peut être utilisées comme infrastructure du système. Les applications des réseaux ad hoc sont nombreuses, on cite l'exemple classique de leur application dans le domaine militaire et les autres applications de tactique comme les opérations de secours et les missions d'exploration. Du fait que le rayon de propagation des transmissions des hôtes soit limité, et afin que le réseau ad hoc reste connecté, il se peut qu'un hôte mobile se trouve dans l'obligation de demander de l'aide à un autre hôte pour pouvoir communiquer avec son correspondant. Il se peut donc que l'hôte destination soit hors de la portée de communication de l'hôte source, ce qui nécessite l'emploi d'un routage interne par des nuds intermédiaires afin de faire acheminer les paquets de messages à la bonne destination. La gestion de l'acheminement de données ou le routage, consiste à assurer une stratégie qui garantie, à n'importe quel moment, la connexion entre n'importe quelle paire de nuds appartenant au réseau. La stratégie de routage doit prendre en considération les changements de la topologie ainsi que les autres caractéristiques du réseau ad hoc ( bande passante, nombre de liens, ressources du réseau
etc. ). En outre, la méthode adoptée dans le routage, doit offrir le meilleur acheminement des données en respect des différentes métriques de coûts utilisées. Ce travail entre dans le cadre de l'étude du problème de routage dans les réseaux mobiles ad hoc.
Notre étude offre principalement une étude synthétique des travaux de recherche qui ont été fait, et qui se font à l'heure actuelle, dans le but de résoudre le problème d'acheminement de données entre les hôtes mobiles du réseau ad hoc. Comme nous allons voir le problème de routage est très compliqué, cela est du essentiellement à la propriété qui caractérise les réseaux ad hoc et qui est l'absence d'infrastructure fixe et de toute administration centralisée.
Ce document est composé de trois chapitres : dans le premier chapitre nous présentons les environnements mobiles et les principaux concepts liés à ces environnements. Nous commençons par la définition de l'environnement et citer les deux classes qui le constituent, ainsi que les principaux avantages offerts. Nous donnons par la suite quelques notions importantes utilisées dans les systèmes mobiles et qui sont plus liées à la technologie sans fil qui représente le cur de la télécommunication sans fil.
Dans le deuxième chapitre, nous introduisons le concept de réseau ad hoc et le problème de routage dans cet environnement. Ceci permet d'un coté de situer les réseaux ad hoc par rapport à l'environnement mobile, et d'un autre coté de mettre l'accent sur le problème de routage, problème qui est propre à l'environnement du réseau ad hoc. Après la description des principales applications et caractéristiques de l'environnement ad hoc, nous définissons le problème d'acheminement de données dans de tels environnements et nous soulignons sa difficulté et les principales contraintes que la stratégie de routage doit respecter.
Des notions importantes liées au problème de routage sont par la suite discutées. Le dernier chapitre est consacré à la présentation des différents protocoles de routage existant dans le contexte des réseaux ad hoc. Nous décrivons les principales caractéristiques et fonctionnalités des stratégies de routage les plus connues permettant d'assurer l'acheminement des données entre les hôtes mobiles. Le but d'une stratégie de routage est l'établissement de routes qui soient correctes et efficaces entre une paire quelconque d'hôte, les protocoles de routage qui existent se diffèrent par la manière de recherche de chemins entre la source et la destination et par la maintenance des routes construites.
I / Les environnements mobiles
Les environnements mobiles permettent une grande flexibilité d'emploi. En particulier, ils permettent la mise en réseau des sites dont le câblage serait trop onéreux à réaliser dans leur totalité, voire même impossible. Les solutions de déploiement conçues pour les systèmes distribués ne regroupant que des sites statiques ne peuvent pas être utilisées directement dans ce type denvironnement. De nouvelles solutions doivent être trouvées pour s'adapter aux limitations qui existent, ainsi quaux facteurs qui rentrent en jeu lors de la conception.
Ce chapitre a pour but de présenter l'environnement mobile et les principaux concepts qui lui sont liés. Le modèle de l'environnement étudié, dans ce chapitre, n'exclut pas l'existence d'une infrastructure préexistante ( un ensemble de stations liées par un réseau filaire ) puisque l'esprit de la communication est la même pour tous les réseaux mobiles.
1.1 Présentation des environnements mobiles
Un environnement mobile est un système composé de sites mobiles et qui permet à ses utilisateurs d'accéder à l'information indépendamment de leurs positions géographiques. Les réseaux mobiles ou sans fil, peuvent être classés en deux classes : les réseaux avec infrastructure et les réseaux sans infrastructure. Le modèle de système intégrant des sites mobiles et qui a tendance à se généraliser, est composé de deux ensembles d'entités distinctes : les "sites fixes" d'un réseau de communication filaire classique ( wired network ), et les "sites mobiles" ( wireless network ). Certains sites fixes, appelés stations support mobile ( Mobile Support Station ) ou station de base ( SB ) sont munis d'une interface de communication sans fil pour la communication directe avec les sites ou unités mobiles ( UM ), localisés dans une zone géographique limitée, appelée cellule. A chaque station de base correspond une cellule à partir de laquelle des unités mobiles peuvent émettre et recevoir des messages. Alors que les sites fixes sont interconnectés entre eux à travers un réseau de communication filaire, généralement fiable et d'un débit élevé, les liaisons sans fil ont une bande passante limitée qui réduit considérablement le volume des informations échangées.
Dans ce modèle, une unité mobile ne peut être, à un instant donné, directement connectée qu'à une seule station de base. Elle peut communiquer avec les autres sites à travers la station à laquelle elle est directement rattachée. L'autonomie réduite de sa source d'énergie lui occasionne de fréquentes déconnexion du réseau. Sa reconnexion peut alors se faire dans un environnement nouveau voire dans une nouvelle localisation.
Figure 1.1 : Le modèle des réseaux mobiles avec infrastructure
Le modèle de réseau sans infrastructure préexistante ne comporte pas l'entité "site fixe" : tous les sites du réseau sont mobiles et communiquent d'une manière directe en utilisant leurs interfaces de communication sans fil. L'absence de l'infrastructure ou du réseau filaire composé des stations de base oblige les unités mobiles à se comporter comme des routeurs qui participent à la découverte et la maintenance des chemins pour les autres hôtes du réseau.
Figure 1.2 : Le modèle des réseaux mobiles sans infrastructure.
La mobilité et la portabilité offertes par ces environnements permettent le développement de nouvelles classes d'applications : services d'informations avec accès à diverses bases de données en tout lieu et en tout temps (pages jaunes, distribution, spectacles, etc.) et des applications dites verticales relevant de domaines spécifiques : compagnies de location, localisation d'employés dans une entreprise, etc.
La messagerie électronique connaîtra un développement spectaculaire : les usagers munis de communicateurs pourront envoyer et recevoir des messages de n'importe où et les nouvelles électroniques leurs seront délivrées en fonction de leurs profils respectifs. La permanence de la connexion des usagers aux réseaux d'information, indépendamment de leurs positions géographiques contribuera au développement des applications coopératives.
1.2 L'utilisation des ondes radio dans la communication sans fil
La transmission radio utilisée dans la communication sans fil des unités mobiles est basée sur le principe que l'accélération d'un électron crée un champ électromagnétique qui à son tour accélère d'autres électrons et ainsi de suite. Il est alors possible de provoquer le déplacement électromagnétique. Plus le nombre d'électrons déplacés est important, plus le signal est fort et plus sera grande sa portée, avec une vitesse proche de celle de la lumière. Un déplacement coordonné d'électrons peut alors servir pour le transfert d'information et constitue la base de la communication sans fil. L'approche standard de la transmission radio est le déplacement des électrons à une fréquence donnée.
Des techniques de modulation et de multiplexage permettent d'adapter les signaux transmis à la bande passante du support de communication et de rentabiliser son utilisation. Deux signaux sur la même fréquence interfèrent et s'altèrent mutuellement. Pour y remédier le spectre de fréquence est divisé en plusieurs parties (bandes de fréquence), chaque partie étant dédiée à une utilisation spécifique. La taille limitée du spectre de fréquence impose donc le regroupement d'usagers dans des bandes étroites comme dans le cas de la radio cellulaire. Par exemple, la bande de 25 Mhz à 890 Mhz est réservée aux émissions de télévision et la bande supérieure à 890 Mhz pour la téléphonie cellulaire et la transmission par satellite. Au lieu d'allouer à chaque appel la totalité de la fréquence, la technologie cellulaire limite la puissance du signal au minimum nécessaire; ce qui réduit les limites des interférences à une région de taille réduite autour de la station d'émission. Deux stations d'émission/réception situées dans des régions suffisamment éloignées lune de lautre peuvent utiliser la même fréquence sans risque d'interférence.
1.3 La fiabilité de la communication sans fil
La communication sans fil est moins fiable que la communication dans les réseaux filaires. La propagation du signal subit des perturbations (erreurs de transfert, microcoupure, timeout, etc.) dues à l'environnement, qui altèrent l'information transférée. Il s'ensuit alors un accroissement du délai de transit de messages à cause de l'augmentation du nombre de retransmissions. La connexion peut aussi être rompue ou altérée par la mobilité des sites. Un usager peut sortir de la zone de réception ou entrer dans une zone de haute interférence. Le nombre d'unités mobiles dans une même cellule (dans le cas des réseaux cellulaires), par exemple lors d'un rassemblement populaire, peut entraîner une surcharge du réseau.
L'une des limites de la communication sans fil vient de la relative faiblesse de la bande passante des technologies utilisées. On distingue les réseaux utilisant l'infrarouge avec un débit de 1Mbps, la communication radio avec 2Mbps et le téléphone cellulaire avec 9 à 14 Kbps. La bande passante est évidemment partagée entre les utilisateurs d'une même cellule. Pour augmenter la capacité de service d'un réseau, deux techniques sont utilisées : la technique de recouvrement des cellules sur différentes longueurs d'ondes et celle qui réduit la portée du signal pour avoir plus de cellules mais de rayon moindre couvrant une région donnée.
1.4 La communication cellulaire
La configuration standard d'un système de communication cellulaire est un maillage de cellules hexagonales (voir figure 1.3). Initialement, une région peut être couverte uniquement par une seule cellule. Quand la compétition devient importante pour l'allocation des canaux, la cellule est généralement divisée en sept cellules plus petites, dont le rayon est égal à un tiers du rayon de la cellule de départ. Cette subdivision peut être répétée et l'on parle alors de systèmes microcellulaires. Les cellules adjacentes dans le maillage doivent utiliser des fréquences différentes, contrairement à celles qui sont situées sur les côtés opposés du maillage qui peuvent utiliser la même fréquence sans risque d'interférence.
Figure 1.3 : Le principe de réutilisation de fréquence.
1.5 Quelques éléments de l'infrastructure sans fil
Les réseaux informationnels de demain dits PCN (Personal Communication Network) intégreront une large variété de services (voix, données, multimédia, etc.). L'architecture générale de ces réseaux, bien qu'encore en débat, sera construite autour des infrastructures déjà existantes telles que :
Les réseaux téléphoniques cellulaires (à l'avenir microcellulaires) reliés au réseau téléphonique public.
Les réseaux locaux traditionnels tels Ethernet, étendus à la communication sans fil, et reliés à des réseaux plus étendus de type LAN, WAN, Internet, etc.
Les architectures orientées vers des services spécialisés fournis par diffusion sur des portions d'ondes radio en modulation de fréquence ou par des satellites à des usagers munis de terminaux spéciaux.
La même unité mobile peut, en principe, interagir avec les trois types d'infrastructures à différents moments, par exemple, en se déplaçant de l'intérieur d'un bâtiment où elle interagit avec un réseau local pourvu d'une interface de communication sans fil à l'extérieur du bâtiment où elle interagit avec le réseau téléphonique cellulaire.
Ce chapitre a été axé sur le concept des environnements mobiles et l'utilisation de la technologie de communication sans fil. L'évolution rapide qu'a connu la technologie sans fil récemment a permis l'apparition de nouveaux systèmes de communication qui offrent plus d'avantages par rapport aux systèmes classiques. Les nouveaux systèmes n'astreignent plus l'usager à une localisation fixe, mais lui permettent une libre mobilité. La compréhension parfaite de la communication utilisée dans le nouvel environnement nécessite la compréhension des notions de base de la technologie sans fil comme l'utilisation des ondes radio, la notion de bande passante, la réutilisation des fréquences, le portée d'une unité mobile, etc. Les limitations de ce type denvironnement transforment certains problèmes, ayant des solutions évidentes dans l'environnement classique, en des problèmes complexes et difficiles à résoudre.
II / Les réseaux mobiles Ad hoc
Les systèmes de communication cellulaire sont basés essentiellement sur l'utilisation des réseaux filaires (tel que Internet ou ATM) et la présence des stations de base qui couvrent les différentes unités mobiles du système. Les réseaux mobiles "ad hoc" sont à l'inverse, des réseaux qui s'organisent automatiquement de façon à être déployables rapidement, sans infrastructure fixe, et qui doivent pouvoir s'adapter aux conditions de propagation, aux trafics et aux différents mouvements pouvant intervenir au sein des nuds mobiles. L'évolution récente de la technologie dans le domaine de la communication sans fil et l'apparition des unités de calculs portables (les laptops par exemple), poussent aujourd'hui les chercheurs a faire des efforts afin de réaliser le but des réseaux : "l'accès a l'information n'importe ou et n'importe quand".
Le concept des réseaux mobiles ad hoc essaie d'étendre les notions de la mobilité a toutes les composantes de l'environnement. Ici, contrairement aux réseaux bases sur la communication cellulaire, aucune administration centralisée n'est disponible, ce sont les hôtes mobiles elles-mêmes qui forment, d'une manière ad hoc, une infrastructure du réseau. Aucune supposition ou limitation n'est faite sur la taille du réseau ad hoc, le réseau peut contenir des centaines ou des milliers d'unités mobiles. Les réseaux ad hoc sont idéals pour les applications caractérisées par labsence (ou la non-fiabilité) d'une infrastructure préexistante, tel que les applications militaires et les autres applications de tactique comme les opérations de secours (incendies, tremblement de terre, etc.) et les missions d'exploration.
2.1 Définition
Un réseau mobile ad hoc, appelé généralement MANET (Mobile Ad hoc NETwork), consiste en une grande population relativement dense d'unités mobiles qui se déplacent dans un territoire quelconque et dont le seul moyen de communication est l'utilisation des interfaces sans fil, sans l'aide d'une infrastructure préexistante ou dadministration centralisée. Un réseau ad hoc peut être modéliser par un graphe Gt = (Vt,Et) ou Vt représente l'ensemble des nuds (i.e. les unités ou les hôtes mobiles) du réseau et Et modélise l'ensemble les connections qui existent entre ces nuds (voir la figure 2.1). Si e = (u,v) appartient à Et, cela veut dire que les nuds u et v sont en mesure de communiquer directement a l'instant t.
Figure 2.1 : La modélisation d'un réseau ad hoc
La topologie du réseau peut changer à tout moment (voir la figure 2.2), elle est donc dynamique et imprévisible, ce qui fait que la déconnexion des unités est très fréquente.
Figure 2.2 : Le changement de la topologie des réseaux ad hoc
Un exemple d'un réseau ad hoc : un groupe d'unités portables reliées par des cartes HIPERLAN. Les réseaux appelés GSM ne représentent pas des réseaux ad hoc, car la communication entre les unités passe obligatoirement par des stations de base du réseau filaire.
2.2 Les applications des réseaux mobiles ad hoc
Les applications ayant recours aux réseaux ad hoc couvrent un très large spectre, incluant les applications militaires et de tactique, les bases de données parallèles, l'enseignement à distance, les systèmes de fichiers répartis, la simulation distribuée interactive et plus simplement les applications de calcul distribué ou méta-computing.
D'une façon générale, les réseaux ad hoc sont utilisés dans toute application où le déploiement d'une infrastructure réseau filaire est trop contraignant, soit parce que difficile à mettre en place, soit parce que la durée d'installation du réseau ne justifie pas de câblage à demeure.
2.3 Les caractéristiques des réseaux ad hoc
Les réseaux mobiles ad hoc sont caractérisés par ce qui suit :
Une topologie dynamique : Les unités mobiles du réseau, se déplacent d'une façon libre et arbitraire. Par conséquent la topologie du réseau peut changer, à des instants imprévisibles, d'une manière rapide et aléatoire. Les liens de la topologie peuvent être unis ou bidirectionnels.
Une bande passante limitée : Un des caractéristiques primordiales des réseaux basés sur la communication sans fil est l'utilisation d'un médium de communication partagé. Ce partage fait que la bande passante réservée à un hôte soit modeste.
Des contraintes d'énergie : Les hôtes mobiles sont alimentés par des sources d'énergie autonomes comme les batteries ou les autres sources consommables. Le paramètre d'énergie doit être pris en considération dans tout contrôle fait par le système.
Une sécurité physique limitée : Les réseaux mobiles ad hoc sont plus touchés par le paramètre de sécurité, que les réseaux filaires classiques. Cela se justifie par les contraintes et limitations physiques qui font que le contrôle des données transférées doit être minimisé.
L'absence d'infrastructure : Les réseaux ad hoc se distinguent des autres réseaux mobiles par la propriété d'absence d'infrastructures préexistante et de tout genre d'administration centralisée. Les hôtes mobiles sont responsables d'établir et de maintenir la connectivité du réseau d'une manière continue.
III / Le routage dans les réseaux mobiles Ad hoc
3.1 Définition
Généralement, le routage est une méthode d'acheminement des informations à la bonne destination à travers un réseau de connexion donné. Le problème de routage consiste pour un réseau dont les arcs, les nuds et les capacités sur les arcs sont fixés à déterminer un acheminement optimal des paquets ( de messages, de produits
etc. ) à travers le réseau au sens d'un certain critère de performance. Le problème consiste à trouver l'investissement de moindre coût en capacités nominales et de réserves qui assure le routage du trafic nominal et garantit sa survabilité en cas de n'importe quelle panne d'arc ou de nud.
Par exemple si on suppose que les coûts des liens sont identiques, le chemin indiqué dans la figure suivante est le chemin optimal reliant la station source et la station destination. Une bonne stratégie de routage utilise ce chemin dans le transfert des données entres les deux stations.
Figure 2.3 : Le chemin utilisé dans le routage entre la source et la destination
3.2 La difficulté du routage dans les réseaux ad hoc
Comme nous avons déjà vu, l'architecture d'un réseau mobile ad hoc est caractérisée par une absence d'infrastructure fixe préexistante, à l'inverse des réseaux de télécommunication classiques. Un réseau ad hoc doit s'organiser automatiquement de façon à être déployable rapidement et pouvoir s'adapter aux conditions de propagation, au trafic et aux différents mouvements pouvant intervenir au sein des unités mobiles.
Dans le but d'assurer la connectivité du réseau, malgré l'absence d'infrastructure fixe et la mobilité des stations, chaque nud est susceptible d'être mis à contribution pour participer au routage et pour retransmettre les paquets d'un nud qui n'est pas en mesure d'atteindre sa destination : tout nud joue ainsi le rôle de station et de routeur.
Chaque nud participe donc à un protocole de routage qui lui permet de découvrir les chemins existants, afin d'atteindre les autres nuds du réseau. Le fait que la taille d'un réseau ad hoc peut être énorme, souligne que la gestion de routage de l'environnement doit être complètement différente des approches utilisées dans le routage classique. 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.
Dans la pratique, il est impossible qu'un hôte puisse garder les informations de routage concernant tous les autres nuds, dans le cas où le réseau serait volumineux.
Certains protocoles, comme le DSR et le AODV, utilisent la sauvegarde des données de routage concernant une destination donnée (dans le cas ou la source ne possède pas déjà de telles informations). Cependant, ces protocoles ne spécifient pas les destinations que les nuds doivent garder leurs données de routage. Le problème ne se pose pas dans le cas de réseaux de petites tailles, car l'inondation (la diffusion pure) faite dans ces réseaux n'est pas coûteuse. Par contre, dans un réseau volumineux, le manque de données de routage concernant les destinations peut impliquer une diffusion énorme dans le réseau, et cela si on considère seulement la phase de découverte de routes. Le trafic causé par la diffusion, dans ce cas, est rajouté au trafic déjà existant dans le réseau ce qui peut dégrader considérablement les performances de transmission du système caractérisé principalement par un faible bande passante.
Dans le cas où le nud destination se trouve dans la portée de communication du nud source le routage de vient évident et aucun protocole de routage n'est initié. Malheureusement, ce cas est généralement rare dans les réseaux ad hoc. Une station source peut avoir besoin de transférer des données à une autre station qui ne se trouve pas dans sa portée de communication.
Par exemple dans le réseau illustré par la figure 2.4 l'unité mobile W n'est pas dans la portée de communication de l'unité U (indiquée par le cercle d'origine U) et vice versa. Dans le cas où l'unité U veut transférer des paquets à W, elle doit utiliser les services de l'unité V dans l'envoi des paquets, puisque l'unité V contient dans sa portée de communication les unités U et W. Dans la pratique, le problème de routage est plus compliqué à cause de la non-uniformité de la transmission sans fil et de la possibilité du déplacement imprévisible de tous les nuds concernés par le routage.
Figure 2.4 : Un simple réseau ad hoc constitué de trois unités mobiles
3.3 La conception des stratégies de routage
L'étude et la mise en uvre 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 :
1 - La 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 nuds ou liens.
2 - 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.
3 - 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, délais de bout en bout,
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.
4 - 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.
3.4 L'évaluation des protocoles de routage
Les protocoles de routage doivent être évalués afin de mesurer les performances de la stratégie utilisée et de tester sa fiabilité. L'utilisation d'un réseau ad hoc réel dans une évaluation est difficile et coûteuse, en outre de telles évaluations ne donnent pas généralement des résultats significatifs. Le réseau réel n'offre pas la souplesse de varier les différents paramètres de l'environnement et pose en plus le problème d'extraction de résultats; c'est pour cela la majorité des travaux d'évaluation de performances utilisent le principe de simulation vu les avantages qu'il offre.
En effet, la simulation permet de tester les protocoles sous une variété de conditions. Le simulateur, qui constitue une plate-forme construite avec un certain, permet de faire varier les différents facteurs de l'environnement tel que le nombre d'unités mobiles, l'ensemble des unités en mouvement, les vitesses des mouvements, le territoire du réseau et la distribution des unités dans ce territoire. Initialement, chaque unité est placée aléatoirement dans l'espace de simulation.
Une unité reste dans sa position courante pendant une certaine durée (pause time), par la suite elle choisit une nouvelle vitesse et une nouvelle localisation vers laquelle elle se déplace. Chaque unité répète ce même comportement jusqu'à la fin de la simulation.
Les paramètres mesurés dans une évaluation dépendent de la stratégie de routage appliquée (par exemple dans le cas où on veut comparer deux versions d'un même protocole), mais généralement tout simulateur doit être en mesure d'évaluer :
le contrôle utilisé dans le mécanisme de mise à jour de routage
les délais moyens du transfert des paquets
le nombre moyen de nuds traversés par les paquets de données.
3.5 Autres notions
3.5.1 Le "multihoping"
Les stratégies de routage utilisées dans les réseaux ad hoc sont caractérisées par le fait de pouvoir acheminer les paquets de données sans l'aide des stations de base utilisées dans la communication cellulaire.
Dans le modèle cellulaire, la communication entre deux nuds est faite en utilisant les stations de base et le réseau filaire, par conséquent aucune unité mobile n'est utilisée comme routeur intermédiaire, le modèle cellulaire est dit alors "single hop" ( i.e. le nombre de routeurs mobiles intermédiaires est nul ). La contrepartie de ce modèle est le modèle de communication sans infrastructure. Dans ce modèle plusieurs nuds peuvent participer au routage c'est pour cela l'environnement des réseaux ad hoc est dit "multihop" (i.e. le nombre de stations mobiles qui peuvent être utilisée comme routeurs intermédiaires peut dépasser le un).
3.5.2 L'inondation
L'inondation ou la diffusion pure, consiste à faire propager un paquet (de données ou de contrôle) dans le réseau entier. Un nud qui initie l'inondation envoie le paquet à tous ses voisins directs. De même, si un nud quelconque du réseau reçoit le paquet, il le rediffuse à tous ses voisins. Ce comportement se répète jusqu'à ce que le paquet atteigne tous les nuds du réseau (voir la figure 2.5). Notons que les nuds peuvent être amener à appliquer - durant l'inondation - certains traitements 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 nud source ne connaît pas la localisation exacte de la destination. Un paquet de requête de route est inondé par la source afin qu'il atteigne la station destination. Il faut noter que l'inondation est très coûteuse surtout dans le cas ou le réseau est volumineux (latence, surcharge des messages, etc.), c'est pour cela que les protocoles de routage essaient de minimiser au maximum la propagation des paquets inondés en rajoutant d'autres paramètres de diffusion.
Figure 2.5 : Le mécanisme d'inondation.
3.5.3 Le concept de groupe
Dans la communication de groupes, 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 communication de groupe a fait déjà l'objet de nombreux travaux, principalement dans le cadre des projets ISIS, TRANSIS et HORUS. La gestion des membres d'un groupe dynamique permet à un élément de se joindre à un groupe, de quitter ce groupe, se 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 adaptée à des topologies de réseaux reconfigurables, telles que les architectures avec sites mobiles.
Le concept de groupe de communication dans un environnement mobile a été utilisé pour améliorer les performances du protocole de diffusion sélective, et pour adapter les canaux de communication de l'environnement ISIS à des sites mobiles. Dans le contexte de routage dans les réseaux ad hoc, certains protocoles (comme nous allons voir dans le chapitre 3) utilisent des stratégies d'acheminement basées sur les groupes. Le concept de groupe facilite les tâches de la gestion du routage (telles que les transmissions des paquets, l'allocation de la bande passante, la réutilisation spatiale, etc.) et cela en décomposant le réseau en un ensemble de groupes connectés mais indépendants du point de vu contrôle. Un algorithme de décomposition en groupes pour les réseaux mobiles sans fil a ensuite été mis en place.
Celui-ci partitionne le réseau un ensemble de groupes de telle sorte que tout nud du réseau peut atteindre n'importe quel autre nud en utilisant, au plus, un seul nud intermédiaire.
Figure 2.6 : La décomposition du réseau en groupes.
Dans ce chapitre nous avons présenté le concept de réseau ad hoc et le problème de routage dans cet environnement. Dans la pratique, les réseaux ad hoc connaissent aujourd'hui plusieurs applications tel que les applications militaires et les applications de secours et de façon générale, toutes les applications caractérisées par une absence d'infrastructure préexistante.
Après avoir défini l'environnement mobile ad hoc et décrit ses principales applications et caractéristiques, nous avons parlé du problème d'acheminement des paquets dans les réseaux ad hoc, c'est à dire le problème de routage.
Finalement, nous avons présenté quelques notions nécessaires à la compréhension du concept de routage dans les environnements mobiles. Dans la partie suivante, nous allons donner une présentation synthétique des différentes solutions qui existent et qui résolvent le problème de routage dans les réseaux mobiles ad hoc.
IV / Les différents protocoles de routage
Comme nous avons déjà vu, un réseau ad hoc est un ensemble de nuds mobiles qui sont dynamiquement et arbitrairement éparpillés d'une manière où l'interconnexion entre les nuds peut changer à tout moment. Dans la plupart des cas, l'unité destination ne se trouve pas obligatoirement dans la portée de l'unité source, ce qui implique que l'échange des données entre deux nuds quelconques doit être effectué par des stations intermédiaires. La gestion de cet acheminement de données, ou routage, implique l'établissement d'une certaine architecture globale qui tient compte de la mobilité des unités et de la versatilité du médium physique.
La stratégie (ou le protocole) de routage est utilisée dans le but de découvrir les chemins qui existent entre les nuds. Le but principal d'une telle stratégie est l'établissement de routes qui soient correctes et efficaces entre une paire quelconque d'unités, 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. 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 deux catégories, les protocoles pro-actifs et les protocoles réactifs. Les protocoles pro-actifs établissent les routes à l'avance en se basant sur l'échange périodique des tables de routage, alors que les protocoles réactifs cherchent les routes à la demande.
Dans ce qui suit, nous allons présenter les protocoles les plus connus proposés pour effectuer le routage dans les réseaux ad hoc. Nous décrirons leurs principales caractéristiques et fonctionnalités qui permettent d'assurer l'acheminement des données entre les différentes unités mobiles. Notons que la plupart de ces protocoles sont en cours d'évaluation par des groupes de travail spécialisés dans les environnements mobiles.
4.1 Les protocoles de routage pro-actifs
4.1.1 Présentation
Les protocoles de routage pro-actifs pour les réseaux mobiles ad-hoc, sont basé sur la même philosophie que les protocoles de routage utilisés dans les réseaux filaires conventionnels. avant de présenter quelques protocoles de cette classe.
Les deux principales méthodes utilisées dans le routage des réseaux filaires sont : la méthode Etat de Lien (« Link State ») et la méthode du Vecteur de Distance (« Distance Vector »). Ces deux méthodes exigent une mise à jour périodique des données de routage qui doit être diffusée par les différents nuds de routage du réseau. Les algorithmes de routage basés sur ces deux méthodes utilisent 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 cours existant sur le réseau.
Généralement le calcul du plus court chemin entre deux stations est basé sur le nombre de nuds (on dit aussi le nombre de sauts) que comportent les différents chemins qui existent entre les deux stations. Mais on peut aussi associer des coûts aux liens de communication ; ces coûts seront utilisés en appliquant une fonction de calcul qui est en générale linéaire. Un coût peut matérialiser le taux de l'utilisation d'un lien, les délais relatifs de communication ou un autre facteur qu'on veut le minimiser lors du routage des données.
Dans le protocole "Link State", chaque nud de routage maintient sa propre vision de la topologie du réseau et qui inclut l'état de ses canaux de sortie. Pour que cette vision soit à jour, chaque nud diffuse (par inondation) périodiquement l'état des liens de ses voisins à tous les nuds du réseau. Cela est fait aussi quand il y a un changement d'état de liens. Un nud 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 nud suivant pour une destination donnée.
Un exemple des algorithmes les plus connus appliqué dans le calcul des plus courts chemins, est celui de Dijkstra. Notons que le nud de routage calcule la plus courte distance qui le sépare d'une destination donnée en se basant sur l'image complète du réseau formée des liens les plus récents de tous les nuds de routage.
Cela veut dire que pour qu'un nud p puisse déterminer le nud de routage suivant pour une destination donnée, p doit recevoir les messages de la dernière mise à jour des liens, propagé par le réseau. Le protocole OSPF (Open Shoretest Path First), est l'un des protocoles les plus populaires basé sur le principe "Etat de lien".
Comme nous allons voir par la suite, l'algorithme "Distance Vector" de base a été adopté pour le routage dans les réseaux ad hoc sans fil, et cela en traitant chaque hôte mobile comme un nud de routage. Dans l'approche de routage "Distance Vector", chaque nud de routage diffuse à ses nuds de routage voisins, sa vision des distances qui le séparent de tous les hôtes du réseau. En se basant sur les informations reçus par tous ses voisins, chaque nud de routage fait un certain calcul pour trouver le chemin le plus court vers n'importe quelle destination. Le processus de calcul se répète s'il y a un changement de la distance minimale séparant deux nuds, et cela jusqu'à ce que le réseau atteigne un état stable.
Cette technique est basée sur l'algorithme distribué de Bellman-Ford. Cet algorithme est basé sur l'utilisation des messages de mise à jour. Un message de mise à jour contient un vecteur d'une ou plusieurs entrées, pour lequel chaque entrée contient, au minimum, la distance vers une destination donnée. Le principe du DBF est utilisé par une grande partie des protocoles de routage des réseaux filaires. Un problème de performance majeur de cet algorithme est qu'il prend beaucoup de temps pour mettre à jour les tables de routage des hôtes, après une partition du réseau, des défaillances de nuds, ou quand il y a un grand nombre de nuds dans le réseau.
D'autres problèmes du DBF sont dus à l'absence de coordination entre nuds dans les modifications des tables de routage, qui peuvent être faites en se basant sur des données erronées (problème de "routing loops"). En plus de cela, le DBF ne possède pas de mécanisme précis qui peut déterminer quand le réseau doit arrêter l'incrémentation de la distance qui correspond à une destination donnée, (problème de "counting to infinity").
La circulation inutile des paquets de messages, qui peut arriver avec le DBF, est intolérable dans les réseaux mobiles ad hoc, caractérisés par une bande passante limitée et des ressources modestes. En plus de cela, la mobilité fréquente des nuds fait que la convergence du DBF prend beaucoup de temps, ce qui pénalise le routage dans de tels environnements. Dans ces dernières années, beaucoup d'efforts ont été faits dans le but de résoudre les problèmes du DBF, et de l'adapter dans le contexte des réseaux mobiles. Lun de ces efforts est le protocole DSDV que nous allons voir par la suite.
Dans les algorithmes de routage basés sur le principe "Link State", le problème de « counting to infinity » n'existe pas. De plus, la convergence d'un nud de routage est moins lente par rapport au DBF, ce qui a fait que "Link State" est préféré et utilisé dans beaucoup de réseaux modernes, tel que Internet et ATM. Cependant, l'approche du "Link State" exige que chaque nud doive maintenir une version mise à jour de la topologie complète du réseau, ce qui nécessite un grand espace de stockage et implique une surcharge d'échange de paquets de contrôle dans le cas des réseaux dynamiques.
En outre, aucun algorithme implémenté en se basant sur le principe "Link State", n'a pu éliminer totalement la création des boucles temporaires de routage. Les protocoles de routage pro-actifs rassemblent les idées des deux approches précédentes, et essaient de les adapter pour les environnements mobiles en essayant de réduire ou d'éliminer leurs limitations tout en prenant en considérations les caractéristiques du nouvel environnement.
4.1.2 Le protocole de routage DSDV
L'algorithme de routage de Perkins appelé "Vecteur de Distance à Destination Dynamique Séquencée" ou DSDV (Dynamic Destination-Sequenced Distance- Vector) a été conçu spécialement pour les réseaux mobiles. Il est basé sur l'idée classique de l'algorithme distribué de Bellman-Ford en ajoutant quelques améliorations. Chaque station mobile maintient une table de routage qui contient :
Toutes les destinations possibles.
Le nombre de nud (ou de sauts) nécessaire pour atteindre la destination.
Le numéro de séquences (SN : sequence number) qui correspond à un nud destination.
Pour chaque nud i, le numéro de séquence (NS) de la destination j est associé à chaque entrée de distance Dijk, pour chaque voisin k. Le NS est utilisé pour faire la distinction entre les anciennes et les nouvelles routes, ce qui évite la formation des boucles de routage.
Afin de maintenir la consistance des tables de routage dans une topologie qui varie rapidement, chaque nud du réseau transmet périodiquement sa table de routage à ses voisins directs. Le nud peut aussi transmettre sa table de routage si le contenu de cette dernière subit des changements significatifs par rapport au dernier contenu envoyé. La mise à jour dépend donc de deux paramètres : le temps, c'est à dire la période de transmission, et les événements (apparition d'un nud, détection d'un nouveau voisin, etc.). La mise à jour doit permettre à une unité mobile de pouvoir localiser, dans la plupart des cas, une autre unité du réseau.
La mise à jour de la table de routage peut se faire de deux façons :
Une mise à jour complète.
Une mise à jour incrémentale.
Dans la mise à jour complète, la station transmet la totalité de la table de routage aux voisins, ce qui nécessite l'envoi de plusieurs paquets de données. En revanche, dans une mise à jour incrémentale, seules les entrées qui ont subit un changement par rapport à la dernière mise à jour sont envoyées, ce qui réduit le nombre de paquets transmis. La façon de faire la mise à jour des tables de routage est liée à la stabilité du réseau. Dans le cas où le réseau serait relativement stable, la mise à jour incrémentale est utilisée pour réduire le trafic de la communication. Dans le cas opposé, le nombre de paquets incrémentaux envoyés augmente, ce qui fait que la mise à jour complète est fréquente.
Un paquet de mise à jour contient :
1 - Le nouveau numéro de séquence incrémenté, du nud émetteur. Et pour chaque nouvelle route :
2 - L'adresse de la destination.
3 - Le nombre de nuds (ou de sauts) séparant le nud de la destination.
4 - Le numéro de séquence (des données reçues de la destination) tel qu'il a été estampillé par la destination.
Les données de routage reçues par une unité mobile, sont comparées avec les données déjà disponibles. La route étiquetée par la plus grande valeur du numéro de séquence (i.e. la route la plus récente), est la route utilisée. Si deux routes ont le même numéro de séquence, alors la route qui possède la meilleure métrique est celle qui sera utilisée. La métrique utilisée dans le calcul des plus courts chemins est, tout simplement, le nombre de nuds existant dans le chemin. Les valeurs des métriques des routes, choisies après réception des données de routage, sont incrémentées.
Les modifications faites sur les données de routage locales, sont immédiatement diffusées à l'ensemble courant des voisins. Les routes reçues par une diffusion seront aussi envoyées quand le récepteur procédera à l'envoi de ses paquets de routage. Le récepteur doit incrémenter les métriques des routes reçues avant l'envoi, car le récepteur représente un nud en plus, qui participe dans l'acheminement des messages vers la destination.
Un lien rompu est matérialisé par une valeur infinie de sa métrique, i.e. une valeur plus grande que la valeur maximale permise par la métrique. Le DSDV élimine les deux problèmes de boucle de routage "routing loop", et celui de "counting to infinity". Cependant, dans ce protocole, une unité mobile doit attendre jusqu'à ce qu'elle reçoive la prochaine mise à jour initiée par la destination, afin de mettre à jour l'entrée associée à cette destination dans la table de distance. Ce qui fait que le DSDV est lent.
On trouve ce même problème dans l'algorithme DUAL, utilisé dans des protocoles Internet tel que EIGRP, ainsi que dans dautres algorithmes similaires basés sur la synchronisation explicite. En outre, le DSDV utilise une mise à jour périodique et basée sur les événements, ce qui cause un contrôle excessif dans la communication.
4.1.3 Le protocole de routage WRP
Le protocole de routage sans fil WRP (Wireless Routing Protocol) est basé sur l'utilisation de la classe des algorithmes de recherche de chemins PFA (Path-Finding Algorithm). Beaucoup d'algorithmes PFA existent dans la littérature : ils utilisent des données concernant la longueur et le nud prédécesseur du chemin le plus court correspondant à chaque destination, ceci afin d'éviter le problème de "counting to infinity" du DBF. Le problème des PFAs est la présence des boucles de routage temporaires dans le chemin spécifié par le prédécesseur, avant qu'ils convergent.
Afin de résoudre ce problème, le WRP utilise un algorithme de recherche de chemins qui réduit les situations des boucles temporaires et qui limite les mises à jour lors des changements significatifs des entrées de la table de routage. Dans ce protocole, chaque nud maintient : une table de distance, une table de routage, une table de coûts des liens et une liste de retransmission de messages MRL (Message Retransmission List). La table de distance d'un nud i est une matrice qui contient pour chaque destination j et pour chaque voisin k de i, la distance Dijk et le
prédécesseur Pijk de k. La table de routage d'un nud i est représentée par un vecteur dont chaque entrée est associée à une destination j connue.
Chaque entrée spécifie :
1 - L'identificateur (ou l'adresse) de la destination.
2 - La distance vers la destination Dij.
3 - Le nud prédécesseur Pij, correspondant au plus court chemin choisi, pour atteindre la destination j.
4 - Le successeur sij, qui correspond au plus court chemin choisi pour atteindre j.
5 - Une marque ou étiquette (tag ij), utilisée dans la mise à jour de la table de routage. Elle spécifie si l'entrée correspond à un chemin simple (tag ij = correct ), une boucle (tag ij = error), ou à une destination qui n'a pas été marquée (tag ij = null ).
La table des coûts des liens d'un nud i, contient les coûts l ik pour chaque voisin k, et le nombre de durées périodiques de mise à jour (les timeouts ou les délais de garde) depuis que le nud i avait reçut un message de type "error-free" provenant du nud k. Le coût d'un lien défaillant est considéré comme étant infini.
La liste de retransmission de messages permet à un nud donné, de connaître l'ensemble des voisins qui n'ont pas acquitté son message de mise à jour, et de retransmettre ce message à cet ensemble de voisins. Un nud envoi un message de mise à jour, s'il détecte un changement d'état d'un lien voisin, ou après la réception des données de mise à jour d'un autre voisin. Les nuds présents dans la liste de réponse du message de mise à jour doivent acquitté la réception du message. S'il n'y a pas de changement dans la table de routage, par rapport à la dernière mise à jour, le nud doit envoyer un message "Hello" pour assurer la connexion. Lors de la réception du message de mise à jour, le nud modifie sa distance et cherche les meilleurs chemins en se basant sur les informations reçues. La liste MRL, doit être mise à jour après chaque réception d'un acquittement "ACK".
Le WRP est caractérisé par sa vérification de la consistance des voisins, à chaque fois où un changement d'un lien voisin est détecté. La manière avec laquelle le WRP applique la vérification de la consistance aide à éliminer les situations des boucles de routage et à minimiser le temps de convergence du protocole.
Par exemple, considérons un réseau formé de quatre unités représentées par les nuds : I, J, B, K. Les coûts des liens sont indiqués dans la figure 3.1. Les nuds source et destination sont respectivement i, j. Les flèches indiquent le sens de transfert des messages de mise à jour, et les étiquettes, sous forme de couples, donnent la distance et le prédécesseur de la destination j. Chaque message de mise à jour est acquitté par un message ACK, qui n'est pas représenté dans la figure, envoyé par le nud voisin.
Figure 3.1 : Un exemple d'exécution du protocole WRP.
Quand le lien (j, k) devient défaillant, les nuds j et k envoient des messages de mise à jour à leurs voisins, comme c'est représenté dans la figure 3.1(b). Dans cet exemple le nud k doit envoyer la distance vers j, ayant la valeur "infinie" car le nud k fait partie de leurs chemins de routage vers la destination j. Le nud b traite le message de k et sélectionne le lien (b, j) pour la destination j. Quand le nud i reçoit le message de k, il met à jour sa table de distance et examine les chemins possibles vers la destination j à travers les autres nuds voisins et, par la suite met à jour les entrées des tables de distance et de routage, selon les résultats obtenus. Comme le montre la figure précédente, le nud i sélectionne le lien (i, j) pour la destination j. Le nud i ignore tous les messages de mise à jour qui n'ont pas d'effet sur le chemin de routage de i vers j. Par exemple, le message de k qui comporte la distance 11 pour la destination j est ignoré.
4.1.4 Le protocole de routage GSR
Le protocole appelé "Routage à Etat Global" ou GSR (Global State Routing), est similaire au protocole DSDV décrit précédemment. Ce protocole utilise les idées du routage basé sur l'état des liens (LS), et les améliore en évitant le mécanisme inefficace de l'inondation des messages de routage. Le GSR utilise une vue globale de la topologie du réseau, comme c'est le cas dans les protocoles LS.
Le protocole utilise aussi une méthode appelée méthode de dissémination, utilisée dans le DBF, qui a l'avantage de l'absence d'inondation. Dans ce protocole, chaque nud i maintient une liste de voisins Ai, une table de topologie TTi, une table des nuds suivants NEXTi (Next Hop), et une table de distance Di. La table de la topologie TTi contient, pour chaque destination, l'information de l'état de lien telle qu'elle a été envoyée par la destination et une estampille de l'information. Pour chaque nud de destination j, la table NEXTi contient le nud vers lequel les paquets destinés à j seront envoyés. La table de distance contient la plus courte distance pour chaque nud destination.
Comme les protocoles LS, les messages de routage sont générés suivant les changements d'états des liens. Lors de la réception d'un message de routage, le nud met à jour sa table de topologie et cela dans le cas où le numéro de séquence du message reçu serait supérieur à la valeur du numéro de séquence sauvegardée dans la table (exactement comme le fait le protocole DSDV). Par la suite, le nud reconstruit sa table de routage et diffuse les mise à jour à ses voisins. Le calcul des chemins, peut se faire avec n'importe quel algorithme de recherche des plus courts chemins. Par exemple, l'algorithme du GSR utilise l'algorithme de Dijkstra modifié de telle façon qu'il puisse construire la table des nuds suivants (NEXT) et la table de distance (D) en parallèle avec la construction de l'arbre des plus courts chemins.
La différence clé entre le GSR et le LS traditionnel est la façon dont les informations de routage circulent sur le réseau. Dans le LS, si on détecte des changements de la topologie, les paquets d'états de liens sont générés et diffusés par inondation dans tout le réseau. Par contre, le GSR maintient la table la plus récente d'état des liens reçus à travers les voisins, et l'échange uniquement avec ses voisins locaux, d'une façon périodique. En outre, le GSR assure plus de précision concernant les données de routage qui s'échangent dans le réseau.
4.1.5 Le protocole de routage FSR
Le protocole "Routage à Etat de l'il du Poisson" FSR, (Fisheye State Routing) peut être vu comme une amélioration du protocole GSR précédent. Le nombre élevé des messages de mise à jour échangés implique une grande consommation de la bande passante, ce qui a un effet négatif dans les réseaux ad hoc caractérisés par une bande passante limitée. Le protocole FSR est basé sur l'utilisation de la technique "il de poisson" (fisheye), proposée par Kleinrock et Stevens, qui l'ont utilisé dans le but de réduire le volume d'information nécessaire pour représenter les données graphiques.
L'il d'un poisson capture avec précision les points proches du point focal. La précision diminue quand la distance, séparant le point vu et le point focal augmente. Dans le contexte du routage, l'approche du "fisheye" matérialise, pour un nud, le maintien des données concernant la précision de la distance et la qualité du chemin d'un voisin direct, avec une diminution progressive du détail et de précision quand la distance augmente.
Le protocole FSR est similaire au protocole LS dans sa sauvegarde de la topologie au niveau de chaque nud. La différence principale réside dans la manière dont les informations de routage circulent. Dans le FSR, la diffusion par inondation de messages n'existe pas : l'échange se fait uniquement avec les voisins directs. Les données de mise à jour échangées périodiquement dans le FSR ressemblent au vecteur échangé dans le protocole DSDV, où les distances sont modifiées suivant l'estampille du temps ou le numéro de séquence associé au nud qui a été l'origine de la mise à jour.
Dans le FSR les états de liens sont échangés, l'image complète de la topologie du réseau est gardée au niveau de chaque nud, et les meilleurs chemins sont échangés en utilisant cette image. Comme nous lavons déjà dit, l'état des liens change fréquemment dans les réseaux ad hoc. Le FSR effectue la mise à jour de ces changements de la même manière que le protocole GSR, ce qui résout les problèmes du protocole LS concernant le volume des données de contrôle.
Avec le GSR, quand la taille du réseau devient très grande, les messages de mise à jour peuvent consommer considérablement de bande passante. Afin de réduire le volume de messages échangés sans toucher à la consistance et la précision des données de routage, le FSR utilise la technique "il de poisson".
La figure 3.2 illustre cette technique. Dans cette figure, on définit la portée, ou le champ de vision, de l'il de poisson pour le nud du centre, d'identificateur 5. La portée est définie en termes de nuds qui peuvent être atteints en passant par un certain nombre de sauts. Le nud du centre (le nud 11), maintient les données les plus précises des nuds appartenant au cercle, et cette précision diminue progressivement pour les cercles moins proches du centre.
Figure 3.2 : La technique "il de poisson"
La réduction de volume des données de mise à jour, est obtenue en utilisant des périodes d'échanges différentes pour les différentes entrées de la table. Les entrées qui correspondent aux nuds les plus proches sont envoyées aux voisins avec une fréquence élevée (donc avec une période d'échange relativement petite). Par exemple, les entres en gras (figure 3.3) des tables de routage sont échangées fréquemment. Le reste des entrées, est échangé avec une fréquence moins élevée. De cette maniée, un grand nombre de données de routage est évité, ce qui réduit le volume des messages qui circule sur le réseau.
Figure 3.3 : L'échange de messages avec la technique "il de poisson"
Le protocole FSR peut être utilisé dans les réseaux ad hoc dont le nombre d'unités mobiles est grand : le protocole utilise un volume raisonnable de messages de contrôle. En outre, il évite le travail énorme de recherche de chemins effectué dans les protocoles réactifs (comme nous allons voir plus loin), ce qui accélère la transmission.
4.1.6 Le protocole de routage HSR
Les notions de partitionnement et de groupes sont très répandues dans les réseaux mobiles ad hoc. La formation de groupes peut considérablement améliorer les performances des réseaux. Par exemple, les interférences des signaux peuvent être réduites en utilisant différents codes étendus à l'aide des groupes. Le partitionnement, quant à lui, peut être exploité dans les réseaux de grande taille afin de réaliser un routage hiérarchique, ce qui réduit le contrôle des données de routage. Le problème principal du routage hiérarchique dans les réseaux sans fil est la mobilité et la gestion de la localisation.
Dans le but de résoudre ce problème, le protocole "Routage à Etat Hiérarchique" ou HSR (Hierarchical State Routing) a été proposé. Il combine les notions de groupes dynamiques et de niveaux hiérarchiques avec une gestion efficace de localisation. Dans le HSR, l'image de la topologie du réseau est sauvegardée sous forme hiérarchique. Le réseau est partitionné en un ensemble de groupes, dont l'union donne le réseau entier. Dans un groupe, un nud doit être élu pour représenter le reste des membres. Les représentants des groupes dans un niveau l, deviennent des membres dans le niveau l + 1. Ces nouveaux membres, s'organisent en un ensemble de groupes de la même manière du niveau bas, et ainsi de suite pour le reste des niveaux.
Plusieurs algorithmes de partitionnement peuvent être utilisés dans la création dynamique des groupes et l'élection des représentants de groupes. Le but principal du partitionnement du HSR est l'utilisation efficace des médiums de communication et la réduction du contrôle de routage effectué par la couche réseau (i.e. la sauvegarde des tables de routage, le traitement et la transmission des données).
La figure 3.4 illustre l'application de ce mécanisme de partitionnement dans un réseau de 13 unités mobiles. Le réseau est décomposé en 4 groupes, qui sont : G0-1, G0-2, G0-3, et G0-4. Ces groupes forment le niveau le plus bas de la hiérarchie (niveau 0). A partir de ce niveau, les niveaux qui suivent (niveaux 1 et 2), sont formés. Cela est fait en prenant l'ensemble des représentants de groupes et le décomposer en groupes de la même manière que précédemment.
Figure 3.4 : Le partitionnement du réseau en groupes.
Dans la décomposition en groupe, on peut avoir 3 types de nuds :
un nud représentant du groupe, appelé aussi tête de groupe (par exemple les nuds 1, 2, et 3 de la figure 3.4)
un nud de liaison, qui relie deux groupes (exemple, les nuds 7 et 9)
un nud interne qui n'a aucun rôle spécial (exemple, les nuds 4, 11 et 12).
Le nud représentant d'un groupe donné peut être vu comme un coordinateur de transmission de données. Les identificateurs (IDs) des nuds représentés dans la figure 3.3 (niveau 0) sont des adresses physiques : ils sont uniques pour chaque nud. Une des méthodes qui peut être appliquée afin d'associer des adresses hiérarchiques, ou HIDs (Hierarchical IDs) aux différents nuds est de prendre les numéros des groupes dans le chemin reliant la racine et le nud en question.
Un nud de liaison peut être atteint, à partir de la racine, en suivant plusieurs chemins. Par conséquent, ce genre de nud peut avoir plus d'une adresse hiérarchique.
Cela ne pose aucun problème, car le nud peut être atteint à travers de ces adresses, et ces dernières sont associées à un nud unique. On peut toujours trouver une manière d'associer une seule adresse à ce genre de nuds, par exemple en prenant la plus petite valeur des numéros de groupes dans les quels appartient le nud.
Exemple : est une adresse du nud de liaison d'ID 9.
Dans la figure 3.4, le nud 3 est membre du groupe hiérarchique le plus élevé
L'avantage de l'adressage hiérarchique est le fait que chaque nud puisse dynamiquement et localement mettre à jour son HID lors de la réception des données de mise à jour du routage provenant des nuds de niveau supérieurs. L'adresse hiérarchique suffit pour délivrer les paquets de données à une destination, indépendamment de la localisation de la source, et cela en utilisant la table HSR.
Prenons comme exemple le nud 6 (figure 3.4) comme source, et le nud 13 comme destination. Les adresses de ces nuds sont respectivement : HID(6) = et HID(13) = . Pour acheminer une information du nud 6 vers le nud 13, le nud 6 envoie l'information au nud supérieur, qui le suit hiérarchiquement, i.e. le nud d'ID 1. Le nud 1 délivre l'information au nud 3 qui suit le nud destination dans l'ordre hiérarchique. Un "lien virtuel" existe entre les nuds 1 et 3, matérialisé par le chemin (1,7,2,9,3). Par conséquent, l'information suivra ce chemin pour atteindre la destination. Dans la dernière étape, le nud 3 délivre l'information au nud 13 en suivant le chemin hiérarchique qui le relie à la destination (dans notre cas, ce chemin se réduit en un seul saut).
En plus de la décomposition (ou du partitionnement) en groupes basé sur les relations géographiques entre les différents nuds, le protocole HSR utilise aussi un partitionnement logique. Ce partitionnement est basé sur des relations logiques qui peuvent exister entre les nuds du réseau (comme par exemple l'appartenance à une même société). La partitionnement logique joue un rôle clé dans la gestion de la localisation. En plus des adresses physiques, une adresse logique de la forme , est associée à chaque nud. Les adresses ont un format similaire au format IP : elles peuvent être vues comme des adresses IP privées dans le réseau mobile.
Chaque subnet correspond à un groupe particulier d'utilisateurs qui possède un serveur de gestion de localisation dit LMS (Location Management Server). Différents ensembles de mobiles peuvent être définis indépendamment dans chaque subnet. Quand la couche de transport délivre au réseau un paquet contenant l'adresse IP privée, le réseau doit trouver, à partir de l'adresse IP, l'adresse hiérarchique basée sur les adresses physiques.
Notons que le groupe à qui correspond l'adresse IP privée est un ensemble de groupes du partitionnement physique. Chaque réseau virtuel a au moins un agent principal (qui est aussi un membre du réseau) dans le but de gérer les différents membres. Tous les agents principaux annoncent leurs HIDs au niveau hiérarchique supérieur, mais les HIDs peuvent aussi être envoyés aux niveaux les plus bas hiérarchiquement.
Chaque membre d'un subnetwork logique, connaît le HID de son agent principal (en utilisant la table de routage), il peut donc enregistrer son adresse hiérarchique. L'enregistrement est à la fois périodique et événementiel. L'agent principal utilise la technique du timeout afin d'éliminer les adresses non renouvelées. Le trafic du contrôle induit par les opérations d'enregistrement d'adresses est réduit, car dans la plupart des applications, les membres d'un même subnet se déplacent en groupe, ce qui implique qu'ils appartiendront à des partitions voisines.
Quand un nud source veut envoyer des données à un autre nud dont l'adresse IP est connue; il extrait d'abord le champ subnet de l'adresse, et en utilisant sa liste (ou celle du niveau hiérarchique supérieur) il obtient l'adresse hiérarchique de l'agent principal du nud destination (rappelons que tous les agents principaux, annoncent leurs HIDs au niveau hiérarchique supérieur). Le nud source envoie alors, les données à l'agent principal en utilisant l'adresse hiérarchique obtenue. Lors de la réception, l'agent principal trouve l'adresse de la destination enregistrée et cela à partir de l'ID de l'hôte extrait de l'adresse IP. Par la suite, l'agent délivre les données vers les nuds destination. Une fois les deux nuds, la source et la destination, connaissent leurs adresses hiérarchiques, les messages peuvent être délivrés directement sans l'intervention des agents principaux.
4.1.7 Le protocole de routage ZHLS
Le protocole "Routage à Etat de Liens Hiérarchique basé sur les Zones", appelé ZHLS (Zone-Based Hierarchical Link State Routing), est basé sur la décomposition du réseau en un ensemble de zones. Dans ce protocole, les membres d'une zone n'élisent pas de représentants, contrairement à ce qui se fait dans les autres protocoles hiérarchiques. Avec cette décomposition, on a deux niveaux de topologies : le niveau nud, et le niveau zone. La topologie basée sur le premier niveau donne la façon selon laquelle les nuds d'une zone donnée sont connectés physiquement.
Un lien virtuel peut exister entre deux zones s'il existe au moins un nud de la première zone qui soit physiquement connecté à un nud de l'autre zone (figure 3.5). La topologie basée sur le niveau zone donne le schéma de la connexion des différentes zones.
Figure 3.5 : La décomposition du réseau en zones
Dans ce protocole, les paquets qui contiennent les états des liens ou les LSPs (Link State Packet) peuvent être divisées en deux classes : les LSPs orientés nuds, et les LSPs orienté zones. Pour un nud donné, un paquet LSP orienté nud contient l'information d'un nud voisin, tandis qu'un paquet LSP orienté zone contient l'information de la zone. De cette façon, chaque nud du réseau possède une connaissance complète concernant les nuds de sa propre zone, et seulement une connaissance partielle du reste des nuds.
Cette connaissance partielle est matérialisée par l'état de la connexion des différentes zones du réseau. Par conséquent, l'acheminement des données se fait de deux façons : le routage inter zone, et le routage intra zone.
Pour une destination donnée, les données sont envoyées entres les zones en utilisant les identificateurs des zones, jusqu'à ce que les données atteignent la zone finale de la destination. Par la suite, les paquets de données circulent à l'intérieur de la zone finale, en utilisant l'identificateur du nud destination. L'adresse est suffisante pour atteindre n'importe quelle destination même si le réseau change de topologie.
4.1.8 Le protocole de routage CGSR
Le protocole appelé CGST (Clusterhead Gateway Switch Routing) utilise principalement l'algorithme de routage DSDV : l'ensemble des unités mobiles du réseau est décomposé en groupes, et chaque groupe élit un représentant. Les nuds appartenant à la portée de communication d'un représentant de groupe appartiennent au groupe représenté par ce dernier.
Un nud de liaison est un nud qui appartient à la portée de communication de plus d'un représentant de groupe. Cette manière d'organisation peut cependant fortement dégrader les performances des réseaux ad hoc à cause des changements fréquents de leur topologie. Pour s'adapter à ces changements, le CGSR utilise un algorithme appelé LGC (Least Cluster Change).
Dans cet algorithme, un changement de représentants de groupes arrive dans le cas où il y a fusion de deux groupes, ou dans le cas où un nud sortirait complètement de la portée de tous les représentants du réseau.
Dans le protocole CGSR, le routage des informations se fait de la manière suivante : le nud source transmet ses paquets de données à son représentant de groupe. Celui-ci envoie les paquets au nud de liaison qui relie ce représentant avec le représentant suivant dans le chemin qui existe vers la destination. Le processus se répète jusqu'à ce qu'on atteigne le représentant du groupe auquel appartient le destinataire, et celui-ci lui transmet alors les paquets reçus.
La figure suivante donne le chemin de routage des paquets de données du nud source 9 au nud destination 18.
Figure 3.6 : Un exemple d'acheminement d'information dans le CGSR.
Chaque nud maintient une table de membres de groupes qui associe à chaque nud l'identificateur d'un représentant de groupe. Chaque nud diffuse cette table d'une façon périodique et met à jour sa propre table (après la réception des données de mise à jour provenant d'un autre nud), en utilisant l'algorithme DSDV. En outre, chaque nud maintient une table de routage qui détermine le nud suivant correspondant au groupe destination.
Lors de la réception d'un paquet, le nud intermédiaire trouve le représentant de groupe (h par exemple) le plus proche dans le chemin envisagé vers la destination, et cela en utilisant sa table de membres de groupes et sa table de routage. Par la suite le nud consulte sa table de routage pour trouver le nud suivant afin d'atteindre le représentant h. Les paquets seront alors transmis au nud trouvé.
Cette manière de router est un procédé déterministe et efficace pour l'acheminement des informations, cependant le chemin choisi peut ne pas être optimal. C'est le cas de l'exemple précédent, si on suppose que tous les coûts des liens sont égaux (unitaires par exemple), le chemin (9,2,10,3,12,4,15,5,18) entre la source 9 et la destination 18 ne représente pas le meilleur chemin qui existe. En effet le chemin (9,2,10,3,12,4,15,18) est meilleur.
Cela est dû au fait que tous les nuds appliquent la même stratégie : le nud d'identificateur 15 trouve, en utilisant sa table de routage, que le nud suivant le nud 18 est le nud 18 lui-même. Le nud 15 consulte sa table de membres de groupes pour connaître le représentant du groupe associé au nud 18, le nud trouvé est alors celui de l'ID 5 ce qui fait que les paquets passent par le nud 5 et ne passent pas directement vers la destination.
4.1.9 Le protocole de routage DREAM
Le protocole appelé "Algorithme d'Effet de Routage basé sur la Distance pour la Mobilité" ou DREAM (Distance Routing Effect Algorithm for Mobility) est un protocole pro-actif basé sur les informations de localisation des unités mobiles.
Il diffuse les données destinées à une certaine destination en effectuant une inondation partielle. Chaque nud du réseau mobile ad hoc envoie alors périodiquement des messages de contrôle afin d'informer tous les autres nuds de sa localisation. La distance influe dans cet échange, du fait que les messages de contrôle sont envoyés fréquemment aux nuds les plus proches ( cela nous rappelle la technique FSR). En plus de cela, le protocole s'adapte à la mobilité du réseau par le contrôle de mise à jour de fréquence qui se base sur les vitesses des mouvements.
Lors de l'envoi des données, si la source possède des informations récentes sur la localisation du nud destination, elle choisit un ensemble de nuds voisins qui sont localisés dans la direction source/destination. Si un tel ensemble n'existe pas, les données sont inondées dans le réseau entier. Dans le cas où de tels nuds existeraient, une liste qui contient leurs identificateurs est insérée à la tête du paquet de données avant la transmission, et seuls les nuds qui sont spécifiés dans la liste de tête traitent le paquet. Lors de la réception du paquet, le nud de transit détermine sa propre liste de nuds proches, et envoie le paquet avec la nouvelle liste de tête. Si aucun voisin n'est localisé dans la direction de la destination, le paquet reçu est ignoré.
Quand le nud destination reçoit les données, il envoie des acquittements à la source d'une manière similaire. Cependant, dans le cas de réception par inondation, les acquittements ne sont pas envoyés. Dans le cas où la source envoie les données en spécifiant les nuds suivants (en se basant sur les localisations), un timer associé à la réception des acquittements est activé. Si aucun acquittement n'est reçu avant l'expiration du timeout, les données seront retransmises en utilisant une diffusion ordinaire.
4.2 Les protocoles de routage réactifs (à la demande)
4.2.1 Présentation
Comme nous avons vu dans la section précédente, les protocoles de routage pro-actifs essaient de maintenir les meilleurs chemins existants vers toutes les destinations possibles (qui peuvent représenter l'ensemble de tous les nuds du réseau) au niveau de chaque nud du réseau. Les routes sont sauvegardées mêmes si elles ne sont pas utilisées. La sauvegarde permanente des chemins de routage est assurée par un échange continue des messages de mise à jour des chemins, ce qui induit un contrôle excessif surtout dans le cas des réseaux de grande taille.
Les protocoles de routage réactifs (aussi appelés protocoles de routage à la demande) sont les protocoles les plus récents proposés dans le but d'assurer le service du routage dans les réseaux sans fil. La majorité des solutions proposées 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.
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 spécifique, inconnue au préalable. Plusieurs approches peuvent être appliquées dans la découverte des routes.
La majorité des algorithmes utilisés sont basé sur le mécanisme d'apprentissage en arrière (backward learning). Le nud source qui est à la recherche d'un chemin vers la destination diffuse par inondation une requête dans le réseau. Lors de la réception de la requête, les nuds intermédiaires essaient de faire apprendre le chemin au nud source et de sauvegarder la route dans la table envoyée. Une fois la destination atteinte, elle peut envoyer une réponse en utilisant le chemin tracé par la requête, un chemin full duplex est alors établi entre le nud source et le nud destination.
Le travail peut être réduit, dans le cas où un nud de transit posséderait déjà un chemin vers la destination. Une fois le chemin calculé, il doit être sauvegardé et mis à jour au niveau de la source. Une autre technique pour tracer les chemins demandés est la technique appelé "routage source".
Le routage à la demande induit une lenteur à cause de la recherche des chemins, ce qui peut dégrader les performances des applications interactives (exemple les applications des bases de données distribuées). En outre, il est impossible de connaître au préalable la qualité du chemin (en termes de bande passante, de délais, etc.).
4.2.2 Le protocole de routage CBRP
Dans le "Protocole de Routage Basé sur les Groupes" appelé CBRP ( Cluster Based Routing Protocol ), l'ensemble des nuds du réseau est décomposé en groupes. Le principe de formation des groupes est le suivant : Un nud p qui n'a pas de statut ( i.e. qui n'est ni membre ni représentant de groupe), active un timer et diffuse un message "Hello". Lorsqu'un représentant de groupe reçoit ce message, il envoie immédiatement une réponse à l'émetteur. Lors de la réception de réponse, le nud p change son état "indécidé" à l'état "membre". Si p dépasse un certain timeout en attendant la réponse et dans le cas où il possède un lien bidirectionnel vers au moins un nud voisin, il se considère lui-même comme un représentant de groupe. Dans le cas contraire, p reste dans l'état indécidé et il répète la même procédure. A cause des changements rapides de la topologie des réseaux ad hoc, l'attente des nuds indécidés est très courte.
Afin de sauvegarder la répartition des nuds dans les groupes, chaque nud maintient une table des voisins. Chaque entrée de cette table est associée à un voisin, elle indique l'état du lien (uni ou bidirectionnel) et le statut du voisin (membre ou représentant de groupe). Un représentant de groupe maintient les informations des membres qui appartiennent à son groupe.
Il possède aussi une table des groupes adjacents. Une entrée dans cette table est associée à un groupe voisin : elle contient l'identificateur du groupe et l'identificateur du nud de liaison à travers lequel le groupe peut être atteint ( voir la figure suivante ).
Figure 3.7 : L'organisation du réseau dans le CBRP.
Le routage dans le protocole CBRP se fait de la manière suivante : quand un nud source veut envoyer des données à un nud destination, il diffuse par inondation une requête de demande de chemin, et cela uniquement aux représentants des groupes voisins. Un représentant de groupe qui reçoit la requête de demande vérifie, en utilisant sa table de membres de groupes, l'existence du nud destination dans son groupe. Si la destination existe, le représentant y envoie directement la requête, sinon la requête est diffusée aux représentants des groupes voisins.
L'adresse des représentants des groupes est incluse dans la requête de demande de chemin, un représentant de groupe ignore toute requête déjà traitée. Quand la destination reçoit le paquet contenant la requête, elle répond par l'envoi du chemin qui a été sauvegardé dans le paquet de la requête. Dans le cas où le nud source ne reçoit pas de réponse après une certaine période, il envoie de nouveau une requête de demande de chemin.
Lors de l'acheminement des données, si un nud détecte qu'un lien est défaillant, il retourne un message d'erreur à la source et il applique un mécanisme de réparation locale. Dans ce mécanisme, si un nud p trouve qu'un nud suivant n ne peut pas être atteint, il essaie de vérifier si le nud n ou le nud qui vient après n peut être atteint à travers un autre nud voisin. Si l'un des deux cas est vérifié, les données sont envoyées en utilisant le chemin réparé.
4.2.3 Le protocole de routage DSR
Le protocole "Routage à Source Dynamique" (DSR : Dynamic Source Routing) est basé sur l'utilisation de la technique "routage source". Dans cette technique, la source des données détermine la séquence complète des nuds à travers lesquels les paquets de données seront envoyés.
Pour envoyer un paquet de donnée à un autre nud, l'émetteur construit une route source et l'inclut en tête du paquet. La construction se fait en spécifiant l'adresse de chaque nud à travers lequel le paquet va passer pour atteindre la destination. Par la suite, l'émetteur transmet le paquet, à l'aide de son interface, au premier nud spécifié dans la route source. Un nud qui reçoit le paquet et qui est différent de la destination supprime son adresse de l'entête du paquet reçu le transmet au nud suivant identifié dans la route source. Ce processus se répète jusqu'à ce que le paquet atteigne sa destination finale. Enfin, le paquet est délivré à la couche réseau du dernier hôte.
Les deux opérations de base du protocole DSR sont : la découverte de routes et la maintenance de routes. L'opération de découverte de routes permet à n'importe quel nud du réseau ad hoc de découvrir dynamiquement un chemin vers un nud quelconque du réseau. Un hôte initiateur de l'opération de découverte diffuse un paquet requête de route qui identifie l'hôte cible. Si l'opération de découverte est réussie, l'hôte initiateur reçoit un paquet réponse de route qui liste la séquence de nuds à partir desquels la destination peut être atteinte. En plus de l'adresse de l'initiateur, le paquet requête de route contient un champ enregistrement de route, dans lequel est stockée la séquence des nuds visités durant la propagation de la requête de route dans le réseau (voir la figure 3.8(a)).
Le paquet requête de route contient aussi un identificateur unique de la requête. Dans le but de détecter les duplications de réceptions de la requête de route, chaque nud du réseau ad hoc maintient une liste de couples