Professional Documents
Culture Documents
THESE
prsente LU.F.R DES SCIENCES ET TECHNIQUES DE LUNIVERSITE DE FRANCHE-COMTE pour obtenir GRADE DE DOCTEUR DE LUNIVERSITE DE FRANCHE-COMTE Spcialit : Informatique
Kamal BEYDOUN
Directeurs de thse
Professeur, Universit de Franche-Comt Matre de confrences, Universit de Franche-Comt Professeur, Universit de Paris XII Professeur, Universit de Reims Champagne-Ardenne Professeur, Universit de Cergy-Pontoise Professeur, Universit de Franche-Comt
Rapporteurs
Examinateur
Remerciements
Je tiens remercier en premier lieu Mr. Herv GUYENNET et Mlle Violeta FELEA, mes directeurs de thse pour leur encouragement, leur disponibilit, leurs ides, leurs conseils et leur sympathie qui mont permis de mener bien cette thse. Jadresse aussi mes trs sincres remerciements Mr. Jean-Christophe LAPAYRE pour lhonneur qui nous a t accord en prsidant le jury. Jexprime ensuite ma plus profonde gratitude Mr. Abdelhamid MELLOUK et Mr. Michael KRAJECKI qui ont accept de rapporter cette thse. Je tiens remercier galement Mr Mohamed NAIMI davoir examin la thse. Jai beaucoup apprci leur participation au jury de cette thse malgr le long voyage. Ce travail a t ralis au sein du Laboratoire dInformatique de lUniversit de Franche-Comt (LIFC). Je tiens donc remercier les responsables de ce laboratoire de mavoir accueilli et donn lopportunit de raliser ce travail de thse. Un grand merci tous les membres du Laboratoire dInformatique de lUniversit de FrancheComt qui mont procur une ambiance chaleureuse pour effectuer mon travail ainsi quun sjour extrmement agrable. Merci tous mes collgues de lquipe Rseaux de Capteurs : Hung-Cuong LE, Pamba CAPOCHICHI, David MARTINS, et Mohamad LEHSAINI pour leur sympathie durant le temps o on a travaill ensemble et pour les discussions de recherche dans le domaine des rseaux de capteurs. Merci galement mon cher ami Dr Jalal JOMAAH pour son soutien indfectible dans les moments difficiles. Merci tous mes amis libanais, franais et de toute nationalit qui mont normment soutenu aux moments les plus difficiles et qui taient toujours prs de moi. Je noublierai jamais les moments quon a passs ensemble. Un merci sans gal ma famille au Liban pour son soutien, son encouragement et dtre le pilier de ma russite, merci eux davoir t mon ct en France malgr mon absence prolonge surtout ma mre que jaime et jadore. Enfin et avant tout, le grand et le vrai merci Dieu qui ma donne la force et la vie pour accomplir cette tache.
Ddicace
1.3
1.4
Conclusion .................................................................................................................... 35
2.3
Introduction ................................................................................................................. 48 ZHLS (Zone-based Hierarchical Link State Protocol) ................................................ 49 CGSR (Clusterhead Gateway Switch Routing) ........................................................... 51 CBRP (Cluster Based Routing Protocol)..................................................................... 52 LEACH (Low Energy Adaptive Clustering Hierarchy) .............................................. 52 PEGASIS (Power-Efficient Gathering in Sensor Information Systems)..................... 54 TEEN (Threshold-sensitive Energy Efficient sensor Network protocol) .................... 54
2.3.8 APTEEN (Adaptive Threshold-sensitive Energy Efficient sensor Network protocol) .................................................................................................................................... 55 2.3.9 VGA (Virtual Grid Architecture routing) .................................................................... 56
2.3.10 CTLMN (Clustering Technique for Large multihop Mobile wireless Networks) ....... 56 2.3.11 HEED (Hybrid, Eenergy-Efficient, Distributed approach) ......................................... 57 2.3.12 CSOS (Cluster-based Self-Organization algorithm for wireless Sensor networks) .... 57 2.3.13 SAR (Sensor Aggregates Routing) .............................................................................. 58 2.3.14 TTDD (Two-Tier Data Dissemination) ....................................................................... 59
2.4
Conclusion .................................................................................................................... 59
Chapitre 3. Protocole hirarchique de routage bas sur les zones (ZHRP - Zonebased Hierarchical Routing Protocol) ....................................................... 63
3.1 3.2 Introduction .................................................................................................................. 63 Algorithme distribu de partitionnement dun rseau de capteurs en zones ................ 64
3.2.1 3.2.2 3.2.3 Structure du paquet de contrle chang ..................................................................... 68 Description de lalgorithme distribu de partitionnement en zones ............................ 70 Maintenance de la topologie ........................................................................................ 72
3.3 3.4
Construction de la table de routage intra-zone ............................................................. 73 Construction de la table de routage inter-zones ........................................................... 76
3.4.1 3.4.2 3.4.3 Structure du paquet chang ........................................................................................ 76 Algorithme distribu de construction des tables inter-zones ....................................... 77 Exemple de table inter-zones....................................................................................... 81
3.5
3.6 3.7
4.4
4.5
5.3
5.4
5.5
5.5.1 5.5.2
Guidage dun vhicule ............................................................................................... 123 Dtection de feu dans une fort ................................................................................. 126
5.6
10
11
Figure 3.8 : Algorithme de construction de la table inter-zones ........................................................... 80 Figure 3.9 : Rseau dcoup en 9 zones ................................................................................................ 81 Figure 3.10 : Algorithme appliqu par le noeud source lors de lenvoi dun paquet de donnes ......... 84 Figure 3.11: Algorithme appliqu lors de la rception dun paquet de donnes ................................... 85 Figure 4.1 : Connexions entre composants dans J-Sim ......................................................................... 92 Figure 4.2 : Architecture interne dun noeud sensor dans J-Sim (78) ................................................... 93 Figure 4.3 : Champs de voisinage dans J-Sim ....................................................................................... 95 Figure 4.4 : Taux derreur pour 400 nuds ........................................................................................... 97 Figure 4.5 : Taux derreur pour 500 nuds ........................................................................................... 97 Figure 4.6 : Taux derreur pour 600 noeuds .......................................................................................... 98 Figure 4.7 : Nombre de paquets envoys durant la phase de partitionnement en zones pour 400 nuds ............................................................................................................................................................... 99 Figure 4.8 : Nombre de paquets envoys durant la phase de partitionnement en zones pour 500 nuds ............................................................................................................................................................... 99 Figure 4.9 : Nombre de paquets envoys durant la phase de partitionnement en zones pour 600 nuds ............................................................................................................................................................. 100 Figure 4.10 : Nombre de paquets reus durant la phase de partitionnement en zones pour 400 nuds ............................................................................................................................................................. 100 Figure 4.11 : Nombre de paquets reus durant la phase de partitionnement en zones pour 500 nuds ............................................................................................................................................................. 101 Figure 4.12 : Nombre de paquets reus durant la phase de partitionnement en zones pour 600 nuds ............................................................................................................................................................. 101 Figure 4.13 : Nombre de paquets envoys durant la phase de construction des tables de routage pour 400 nuds ........................................................................................................................................... 103 Figure 4.14 : Nombre de paquets envoys durant la phase de construction des tables de routage pour 500 nuds ........................................................................................................................................... 103 Figure 4.15 : Nombre de paquets envoys durant la phase de construction des tables de routage pour 600 nuds ........................................................................................................................................... 104 Figure 4.16 : Nombre de paquets reus durant la phase de construction des tables de routage pour 400 nuds .................................................................................................................................................. 105
12
Figure 4.17 : Nombre de paquets reus durant la phase de construction des tables de routage pour 500 nuds .................................................................................................................................................. 105 Figure 4.18 : Nombre de paquets reus durant la phase de construction des tables de routage pour 600 nuds .................................................................................................................................................. 106 Figure 4.19 : Pourcentage de la consommation nergtique de la batterie en variant le rayon de la zone R .......................................................................................................................................................... 107 Figure 4.20 : Pourcentage de la consommation nergtique de la batterie en variant le nombre de zones zN ........................................................................................................................................................ 107 Figure 4.21 : Pourcentage de la consommation nergtique de la batterie ......................................... 109 Figure 4.22 : Dure de vie du systme avec des vnements priodiques .......................................... 109 Figure 4.23 : Partitionnement dun rseau de 800 nuds en 10 zones................................................ 112 Figure 5.1 : Capteur SPOT fabriqu par SUN Microsystems (94) ...................................................... 115 Figure 5.2 : Capture dcran de loutil SerialForwarder .................................................................... 116 Figure 5.3 : Propagation des paquets dinvitation dans le rseau ........................................................ 118 Figure 5.4 : Echange de donnes entre les nuds du rseau ............................................................... 119 Figure 5.5 : Collecte des informations et envoi la station de base.................................................... 120 Figure 5.6 : Systme de guidage dun vhicule ................................................................................... 123 Figure 5.7 : Construction du chemin vers la destination ..................................................................... 124 Figure 5.8 : Dplacement du vhicule sur le chemin .......................................................................... 125 Figure 5.9 : Systme de dtection de feu dans une fort ..................................................................... 126 Figure 5.10 : Dtection dun nouveau feu lors de lintervention des pompiers .................................. 127
13
15
Introduction
Lvolution rcente de la socit sappuie sur des techniques de plus en plus tournes vers la communication, limage et la mobilit. Le tlphone portable et Internet sont les vecteurs principaux de cette rvolution technologique. A ct de ces techniques plutt lies aux loisirs se dveloppent galement des dispositifs pour amliorer notre connaissance du monde extrieur. Les informations recueillies dans la nature par exemple, vont tre rcupres pour tre intgres au processus de dcision. Le besoin dchange rapide dinformations et le dveloppement des communications ont abouti la cration dInternet qui rend accessible au monde entier une grande quantit de donnes et de services. Internet suscite une passion croissante, tant dans le domaine de la recherche, de lducation que celui des affaires. Ainsi le nombre de personnes qui accdent Internet pour leur travail, leurs tudes ou leurs loisirs augmente sans cesse, de mme que les services offerts sur ce rseau (messagerie lectronique, moteur de recherche, e-commerce, e-learning, etc.). Dans un avenir proche, Internet va enrichir ses bases de donnes avec des informations temps rel directement issues de phnomnes naturels. De plus, Internet ne va plus relier seulement les hommes, mais galement les objets. Toute cette volution ne pourrait se raliser sans une volution dans le domaine de la communication principalement sans fil et linformatique mobile gagne de plus en plus de popularit. Les dispositifs mobiles deviennent de plus en plus nombreux (PDA, laptops, etc.), ceci permettant lapparition de rseaux locaux sans fil dans les entreprises et mme chez les particuliers. La communication au sein de lenvironnement non-filaire se base essentiellement sur la transmission radio. Cependant cet environnement engendre de nouveaux problmes tels que les dconnexions frquentes, les dbits variables, et la quantit dnergie limite des clients mobiles. Mais ces environnements sans fil offrent une grande flexibilit demploi, et permettent la mise en rseau de sites dont le cblage eut t difficile et coteux raliser, ou mme impossible. Les progrs technologiques dans les domaines de la microlectronique, des communications sans
17
Introduction fil, coupls aux efforts de miniaturisation et la rduction des cots de production des composants lectroniques, ont permis le dveloppement de nouvelles gnrations de rseaux sans fils. Ces derniers offrent beaucoup davantages notamment en termes de dploiement. Cependant, de nouveaux problmes surgissent qui rendent les rseaux sans fils moins fiables que les rseaux filaires. Aussi de nouvelles techniques doivent tre mises en uvre pour pallier ces problmes. Des rseaux pour tlphones mobiles aux rseaux locaux sans fil en passant par les rseaux adhoc, la recherche aujourdhui sest beaucoup focalise sur les rseaux de capteurs sans fil (Wireless Sensor Network - WSN). Ceux-ci sont composs dun grand nombre de nuds communicants et distribus sur une zone donne afin de mesurer une grandeur physique ou surveiller un vnement. Dans un tel rseau, chaque nud est un dispositif lectronique qui possde une capacit de calcul, de stockage, de communication et dnergie. Les caractristiques particulires des WSNs modifient les critres de performances par rapport aux rseaux sans fil traditionnels. Dans les rseaux locaux filaires ou les rseaux cellulaires, les critres les plus pertinents sont le dbit, la latence et la qualit de service car les nouvelles activits telles que le transfert dimages, le transfert de vidos, et la navigation sur Internet requirent un dbit important, une faible latence, et une bonne qualit de service. En revanche, dans les rseaux de capteurs conus pour surveiller une zone dintrt, la longvit du rseau est fondamentale. De ce fait, la conservation de lnergie est devenue un critre de performance prpondrant et se pose en premier lieu tandis que les autres critres comme le dbit ou lutilisation de la bande passante sont devenus secondaires. La technique des WSNs peut tre applique dans de nombreux domaines : surveillance des dplacements des vhicules en zone hostile, observation de la vie des espces rares, surveillance de la structure des infrastructures, optimisation de traitement pour les patients etc. Le routage est fondamental dans ce type de rseau car il nexiste pas dinfrastructure qui gre les informations changes entre les diffrents nuds du rseau (comme par exemple les routeurs dans les rseaux filaires). En effet, cest chaque nud du rseau de jouer le rle dun routeur. Ainsi, tous les nuds collaborent afin de router une information vers une certaine destination. Lobjectif de cette thse est de traiter le problme du routage dans les rseaux de capteurs, surtout ceux taille importante. Le souci principal est de prolonger la vie du systme en conomisant lnergie dpense par chaque capteur du rseau. Pour cela, nous avons propos un algorithme de partitionnement du rseau en zones (ensemble de nuds), un algorithme de construction des tables de routage lintrieur de la zone (intra-zone) et entre les zones (interzones), et un algorithme de routage de donnes entre les nuds bas sur la topologie en zones. Le partitionnement du rseau est bas sur le nombre de sauts. Contrairement la plupart des algorithmes de partitionnement (par exemple la clusterisation), cet algorithme nexige aucune information sur le rseau (position gographique des nuds, tat des liens, nergie des nuds, etc.). Lalgorithme de construction des tables de routage (intra-zone et inter-zones) est bas sur lalgorithme Distance Vector (DV) qui a t modifi pour rpondre aux hypothses et contraintes. Lalgorithme de routage de donnes se base sur larchitecture en zones. Le routage se ralise deux niveaux : lintrieur de la zone et entre les zones. Ces algorithmes, constituant un protocole de routage appel ZHRP (Zone-based Hierarchical Routing Protocol), a t valu laide du
18
simulateur J-Sim. Les rsultats obtenus ont montr lefficacit du protocole surtout dans les rseaux de capteurs grande chelle. Cette thse est organise en 6 chapitres. Le premier chapitre introduit la thse et positionne le sujet dans la thmatique des rseaux sans fil. Nous dcrivons larchitecture dun capteur et nous prsentons les principes et les caractristiques des rseaux Ad-hoc et des rseaux de capteurs (sous classes des rseaux Ad-hoc) aussi que ses domaines dapplication. Dans le deuxime chapitre, nous donnons un tat de lart sur les protocoles de routage dans les rseaux Ad-hoc et nous focalisons notre prsentation sur les protocoles de routage dans les rseaux de capteurs. Le troisime chapitre prsente notre protocole de routage ZHRP. Nous montrons dabord en dtail un algorithme distribu de partitionnement dun rseau de capteur en zones, bas sur le nombre de sauts. Dans cet algorithme, nous nutilisons aucune information du rseau pour la construction de la topologie hirarchique. Nous essayons de minimiser les changes entre les nuds afin dconomiser leur nergie. Ensuite, nous dtaillons les phases de construction des tables de routage en se basant sur lalgorithme DV qui est simple et efficace dans les petits rseaux. A la fin de ce chapitre, nous montrons lalgorithme de routage des donnes entre les nuds du rseau en se basant sur larchitecture hirarchique ainsi que la maintenance du rseau lors dune panne, de lapparition ou de la mobilit dun nud. Dans le quatrime chapitre nous prsentons le simulateur que nous avons choisi J-Sim. Lavantage de ce simulateur par rapport aux autres est quil est open source. Les rsultats obtenus montrent que notre algorithme se comporte bien. En effet, nous avons valu le protocole en utilisant cinq mtriques : le taux derreur, le surcot, la consommation nergtique, la scalabilit, et lespace de stockage. Les rsultats des simulations ont montr que le taux derreur, dfini comme le nombre de nuds non affects aucune zone, est gal zro dans la plupart des cas. Ces rsultats montrent aussi un faible surcot pour construire la topologie hirarchique et les tables de routage, do la faible consommation nergtique. De mme, nous avons montr que notre protocole se comporte bien dans les rseaux grande chelle (500 et 600 nuds). Enfin, nous avons calcul lespace de stockage exig pour stocker les informations utiles pour le routage et nous avons montr que la taille de cet espace est modeste pour un capteur MICA2. Nous tudions la faisabilit dune implmentation de notre proposition dans le chapitre 5 laide de capteurs MICA2 et du systme dexploitation Tiny-OS. Nous dcrivons le comportement du systme et nous dtaillons deux applications relles. Nous concluons cette thse dans le chapitre 6 et donnons quelques perspectives de travail. En particulier, nous proposons de continuer ce travail en une approche de routage qui sadapte aux applications o le Sink est mobile sur un chemin non dfini pralablement. Une autre perspective consiste proposer une technique pour mettre en veille un ensemble de nuds ou une zone afin de prolonger la vie du systme. Nous proposons galement dintgrer dans notre protocole une mthode pour lagrgation des donnes collectes.
19
Chapitre 1. Rseaux
Ad-hoc
et
rseaux
de
1.1
Introduction
Comme nous lavons vu dans les pages prcdentes, lapparition rcente des communications sans fil accessibles sur des portables, lvolution des dispositifs de calcul et les progrs dans linfrastructure de communication ont abouti la croissance rapide des rseaux sans fil. Ceux-ci sont gographiquement tendus (GSM, Wimax), locaux (802.11, Zigbee) ou personnels (Bluetooth). On trouve galement les NFC (Near Field Communication) utiliss pour de nouveaux services (paiement des transports, affichage dinformations contextuelles) et des RFID qui permettent doptimiser le fonctionnement des processus internes de lentreprise, comme la logistique, la traabilit ou la production par exemple. On assiste la croissance exponentielle des rseaux cellulaires qui sont bass sur la combinaison de technologies cbles et sans fil. Dans les rseaux cellulaires, comme les GSM, chaque antenne couvre un territoire dfini et lors des dplacements de lutilisateur le tlphone mobile change de cellule. On dit que ce type de rseau a une infrastructure fixe bien dfinie. Lorsque cette infrastructure pour grer le rseau nexiste pas, on parle alors de rseau Ad-hoc. Un tel rseau se caractrise donc par labsence dinfrastructure pour les nuds qui le composent. Les nuds jouent donc un rle primordial dans le transfert des informations et la gestion du routage de celles-ci, devant entre autre grer les reconfigurations topologiques. Cette caractristique, couple la forte implication des nuds dans le transfert des informations via des technologies sans fil, rendent la qualit de service, le routage et la scurit beaucoup plus complexes raliser.
1.2
Un rseau sans fil (ou non filaire) est un rseau informatique qui connecte les diffrents quipements entre eux par ondes radio. La norme la plus utilise actuellement pour les rseaux
21
Rseaux Ad-hoc et rseaux de capteurs : principes et caractristiques sans fil privs est la norme IEEE 802.11. Le rseau filaire relie les quipements par des cbles classiques. Ainsi, il est possible de crer un rseau mixte qui utilise la communication filaire et non filaire. Le principal dfi dun rseau filaire ou non filaire est sa gestion qui se complique suivant que lon est en mode sans infrastructure ou en mode avec infrastructure. Deux types de dispositifs composent un rseau : dune part, il sagit des quipements qui utilisent le rseau afin de pouvoir communiquer de linformation et dautre part, des quipements qui aident la communication. On parle dappareils tlphoniques vs les commutateurs (switch), dans la tlphonie, ou dordinateurs, de serveurs vs les routeurs, les commutateurs ou les concentrateurs (hub) dans linternet ou encore de tlphones portables vs les points daccs dans les rseaux cellulaires. Ces types de rseaux utilisent le mode avec infrastructure puisque les quipements ont besoin dune base architecturale pour grer le rseau. Dans le rseau sans infrastructure, il ny a pas besoin dune infrastructure prexistante (point daccs par exemple) pour grer le rseau : chaque membre du rseau peut recevoir et envoyer ses informations mais il agit aussi comme un routeur pour transfrer dautres donnes aux autres membres du rseau. Ce type de rseau est appel rseau Ad-hoc. Actuellement, le nombre dutilisateurs du rseau cellulaire approche des quatre milliards dans le monde. Bien que les efforts de recherche et de dveloppement consacrs aux rseaux sans fil traditionnels soient toujours considrables, lintrt de la communaut scientifique et industrielle dans le domaine des tlcommunications a rcemment chang avec des scnarios plus stimulants dans lesquels un groupe dunits mobiles quipes dmetteurs-rcepteurs de radio communiquent sans aucune infrastructure fixe.
Plusieurs systmes utilisent dj le modle cellulaire et connaissent une trs forte expansion lheure actuelle mais requirent une importante infrastructure logistique et matrielle fixe. La contrepartie des rseaux cellulaires sont les rseaux mobiles Ad-hoc1. Un rseau mobile Ad-hoc peut tre dfini comme une collection dentits mobiles interconnectes par une technologie sans fil formant un rseau temporaire sans laide de toute administration ou de tout support fixe (voir la
22
Les rseaux Ad-hoc Figure 1.1). Une dfinition de ces rseaux est donne formellement dans RFC2501 (1) : Un rseau mobile Ad-hoc comprend des plates-formes mobiles (par exemple, un routeur interconnectant diffrents htes et quipements sans fil) appeles nuds qui sont libres de se dplacer sans contrainte. Un rseau mobile Ad-hoc est donc un systme autonome de nuds mobiles. Ce systme peut fonctionner dune manire isole ou sinterfacer des rseaux fixes au travers de passerelles. Cest la caractristique qui distingue les rseaux mobiles Ad-hoc des rseaux sans fil plus traditionnels comme les rseaux cellulaires et les rseaux locaux sans fil. Aucune supposition ou limitation nest faite sur la taille du rseau. Cela veut dire quil est possible que ce type de rseau ait une taille trs importante. La Figure 1.2 rsume, de faon hirarchique, les types des rseaux avec leurs noms (les feuilles de lhirarchie). Nous citons un exemple pour chaque type de rseau : LAN (Local Area Network) et WAN (Wired Area Network) plusieurs quipements (ordinateurs, imprimantes, serveurs, etc.) connects ensemble via des cbles, Ad-hoc filaire deux ordinateurs connects via un cble, WLAN (Wireless Local Area Network) le rseau cellulaire (GSM) compos de tlphones mobiles sans fil et des stations fixes, MANET (Mobile Ad-hoc NETwork) plusieurs quipements mobiles connects via le radio, Ad-hoc non filaire plusieurs quipements fixes connects via le radio.
rseau
filaire
non filaire
avec infrastructure
sans infrastructure
avec infrastructure
sans infrastructure
mobile
fixe
WAN, LAN
Ad-hoc filaire
WLAN
MANET
23
Rseaux Ad-hoc et rseaux de capteurs : principes et caractristiques Dans la suite de notre document, lorsque nous parlons dun rseau Ad-hoc nous sous-entendons un rseau Ad-hoc non filaire. En effet, un rseau Ad-hoc filaire (des quipements connects avec fils) na pas beaucoup dintrt et par consquent, son utilisation est trs rare. Une application trs importante des rseaux Ad-hoc est celle de la mise en place rapide dun rseau de communication dans le cas de catastrophe majeure sur des zones dpourvues dinfrastructures ou encore dans le cas o linfrastructure existante est hors service, voire compltement dtruite. Les exemples les plus ralistes sont ceux de zones soumises des catastrophes naturelles comme les tremblements de terre, les inondations, etc. Les quipes de secours ont besoin de mettre rapidement en place un rseau de communication pour coordonner les recherches, les informations logistiques, voire dsenclaver les populations isoles en leur offrant rapidement un moyen de communication. Une autre application concerne le domaine militaire, puisquun tel rseau peut tre utilis pour assurer la liaison entre les diffrentes units dune arme. Vu les caractristiques et les limitations quengendre un rseau Ad-hoc, plusieurs problmes ont t poss pour ce type de rseaux : problme dacheminement de linformation, problme de sources dnergies (capacit des batteries), linteroprabilit avec dautres types de rseaux, etc. Nous nous sommes intresss aux problmatiques poses par le routage dans ce type de rseaux et aux solutions proposes.
24
Les rseaux Ad-hoc peut entraner une dgradation des performances des applications. Ce type de protocole prsente linconvnient dtre trs coteux en transmission de paquets lors de la dtermination des routes mais a lavantage de ne pas avoir maintenir des informations inutilises dans les tables de routage. AODV (6) et DSR [ (7), (8)] sont deux exemples de protocoles ractifs qui seront dcrits ultrieurement.
25
Rseaux Ad-hoc et rseaux de capteurs : principes et caractristiques entraner des boucles de routage. Une boucle de routage est une route diffuse pour des paquets qui natteignent jamais leur destination : ils passent de faon rpte par la mme srie de nuds du rseau. Des boucles de routage peuvent se produire si la convergence lente dun rseau avec une nouvelle configuration entrane des entres de routage incohrentes. Les tables de routage ne peuvent plus assurer alors leur fonction pour une ou plusieurs destinations, et ainsi tous les paquets destins une entre errone seront transmis mais ne parviendront jamais au nud destination et circuleront sur une boucle constitue de plusieurs nuds (11). Une mtrique de mesure infinie est le rsultat dune boucle de routage qui engage les nuds incrmenter linfini la mtrique de mesure. Pour rsoudre ce problme, plusieurs mthodes ont t proposes (11) : Sequence number chaque entre de la table de routage possde un numro de squence. Par consquent, chaque nud peut rapidement distinguer lancienne route de celle nouvelle, ce qui vite la gnration de la boucle de routage (14). Maximum Count si ce compteur maximum est dfini, cela veut dire que le bouclage linfini sarrte ce nombre maximum. RIP (10) dfinit le compteur maximum 16. Route Poisoning Les nuds envoient des mises jour avec une mtrique infinie pour les routes qui deviennent invalides. Split horizon Le principe de cette technique consiste ne pas renvoyer une information incorrecte de routage vers son endroit de provenance. Holddown Timer Les holddown timers permettent de prvenir contre les mauvaises mises jour des routes invalides. Le holddown timer est dclench lorsquun timer dune route particulire est expir ou il nest plus atteint. Lorsque le holddown timer atteint le zro, la route est supprime et le nud est considr dfaillant. Triggered Update normalement, les tables de routages sont envoyes priodiquement mais un triggered update sera immdiatement envoy en rponse un changement de topologie du rseau. Ds quun nud dtecte un changement sur le rseau il envoie immdiatement une mise jour aux nuds voisins qui leur tour notifient immdiatement leurs voisins adjacents de ce changement. RIP (10), DSDV (14) et AODV (6) sont des protocoles de routage qui utilisent la mthode DV.
26
Les rseaux Ad-hoc Ds quun nud dtecte la modification dune liaison ou dune route, il cre une mise jour de routage tat de lien (LSA, link-state advertisement) concernant cette liaison. Cette mise jour LSA est ensuite transmise tous les nuds voisins. Chacun deux en prend une copie, met jour sa base de donnes (graphe) tat de lien et transmet la mise jour LSA aux autres nuds voisins. Cette diffusion de mises jour LSA est ncessaire afin que tous les nuds puissent crer des bases de donnes transcrivant de manire prcise la topologie du rseau et mettre jour leur table de routage. Les algorithmes tat de lien se servent gnralement de leurs bases de donnes (graphe) pour crer des entres dans la table de routage qui privilgient le chemin le plus court. Chaque nud construit enfin sa table de routage en calculant les plus courts chemins vers tous les autres nuds ( laide de lalgorithme de Dijkstra). OSPF [ (17), (18)] et OLSR [ (2), (3)] sont deux protocoles de routage bass sur LS.
1.3
1.3.1 Le capteur
a) Modle dun instrument de mesure
Dans son ouvrage sur linstrumentation industrielle, llectronicien Georges Asch (19), a modlis trs prcisment la notion dinstrument de mesure, et donc celle de capteur (Figure 1.3). La grandeur physique objet de la mesure, nomme mesurande (m), est apprhende par diverses oprations exprimentales, que lon regroupe sous le terme de mesurage, qui dans un grand
27
Rseaux Ad-hoc et rseaux de capteurs : principes et caractristiques nombre de cas produit un signal lectrique (s) image de la grandeur physique et de ses variations. Le capteur est le dispositif physique qui, soumis laction du mesurande, non lectrique, produit la caractristique lectrique : s=F(m). Or toutes les lois physiques interagissent au sein des matriaux, donc le capteur est obligatoirement sensible dautres grandeurs physiques, secondaires, dites grandeurs dinfluence (20). La caractristique devient alors, en tenant compte des grandeurs dinfluence g1, g2, : s=F(m, g1, g2, ...). Les principales grandeurs dinfluence sont la temprature, lacclration, les vibrations, lhumidit, les champs magntiques (20).
m
s
Capteur
Mesurande (m)
Donc, un capteur est un dispositif quip de fonctionnalits de sensation avances. Il mesure ou dtecte un vnement rel, comme le mouvement, la chaleur ou la lumire et convertit la valeur mesure dans une reprsentation analogique ou numrique. Il prlve des informations et labore partir dune grandeur physique (information dentre), une autre grandeur physique de nature lectrique.
b) Le capteur intelligent
Les capteurs intelligents (Smart Sensors) sont des dispositifs matriels dans lesquels coexistent le(s) capteur(s) et les circuits de traitement et de communication. Leurs relations avec des couches de traitement suprieures vont bien au-del dune simple transduction de signal . Les capteurs intelligents sont des capteurs dinformations et non pas simplement des capteurs et des circuits de traitement du signal juxtaposs. De plus, les Smart Sensors ne sont pas des dispositifs banaliss car chacun de leurs constituants a t conu dans lobjectif dune application bien spcifique (20).
28
Les rseaux de capteurs acquiert les informations en provenance de lunit dacquisition et les envoie lunit de communication. Cette unit est charge aussi dexcuter les protocoles de communications qui permettent de faire collaborer le capteur avec dautres capteurs. Elle peut aussi analyser les donnes captes. lunit de communication unit responsable de toutes les missions et rceptions de donnes via un support de communication radio. Elle peut tre de type optique (comme dans les capteurs Smart Dust (22)), ou de type radiofrquence (MICA2 (23), par exemple). la batterie un capteur est muni dune batterie pour alimenter tous ses composants. Cependant, cause de sa taille rduite, la batterie dont il dispose est limite et gnralement irremplaable. Pour cela, lnergie est la ressource la plus prcieuse puisquelle influe directement sur la dure de vie des capteurs. Il existe des capteurs qui sont dots dautres composants additionnels comme le systme de positionnement GPS (Global Positioning System) et un mobilisateur lui permettant le dplacement. Dans le reste de notre rapport, lorsque nous parlerons de capteur nous sous-entendrons capteur intelligent avec un systme de capture et les circuits de traitement et de communication.
Processeur
Unit dacquisition
Mmoire
Unit de traitement
Unit de communication
Batterie
Figure 1.4 : Architecture physique dun capteur intelligent
29
Rs
B C
Rc
Zone de communication
Zone de sensation
En effet, pour quun capteur ait une porte de communication suffisamment grande, il est ncessaire dutiliser un signal assez puissant. Cependant, lnergie consomme serait importante (26). Il existe dans le monde plusieurs fabricants de capteurs. Nous citerons Crossbow, Cisco, Dalsa, EuroTherm, et Sens2B. Parmi ces capteurs, il existe quelques uns qui sont capables de varier la puissance du signal mis afin dlargir/rduire le rayon de communication et en consquence la zone de communication. La Figure 1.6 montre un capteur intelligent MICA2 fabriqu par Crossbow (27).
30
Internet, satellite,
Utilisateur
Station de base
Capteur
Un exemple de rseaux de capteurs est fourni dans la Figure 1.7 : les capteurs sont dploys dune manire alatoire dans une zone dintrt, et une station de base, situe lextrmit de cette zone, est charge de rcuprer les donnes collectes par les capteurs. Lorsquun capteur dtecte un vnement pertinent, un message dalerte est envoy la station de base par le biais dune communication entre les capteurs. Les donnes collectes sont traites et analyses par des machines puissantes. Les rseaux de capteurs viennent en soutien de lenvironnement et de lindustrie grce aux rcents dveloppements raliss dans le domaine des techniques sans fils. Depuis quelques dcennies, le besoin dobserver et de contrler des phnomnes physiques tels que la temprature, la pression ou encore la luminosit est essentiel pour de nombreuses applications industrielles et scientifiques.
31
Applications militaires
Le faible cot et le dploiement rapide sont des caractristiques qui ont rendu les rseaux de capteurs efficaces pour les applications militaires. Plusieurs projets ont t lancs pour aider les units militaires dans un champ de bataille et protger les villes contre des attaques, telles que les menaces terroristes. Le projet DSN (Distributed Sensor Network) (29) au DARPA (Defense Advanced Research Projects Agency) tait lun des premiers projets dans les annes 80 ayant utilis les rseaux de capteurs pour rassembler des donnes distribues. Les chercheurs du laboratoire national Lawrence Livermore ont mis en place le rseau WATS (Wide Area Tracking System) (30). Ce rseau est compos de dtecteurs des rayons gamma et des neutrons pour dtecter et dpister les dispositifs nuclaires. Il est capable deffectuer la surveillance constante dune zone dintrt. Il utilise des techniques dagrgation de donnes pour les rapporter un centre intelligent. Ces chercheurs ont mis en place ensuite un autre rseau appel JBREWS (Joint Biological Remote Early Warning System) (31) pour avertir les troupes dans le champ de bataille des attaques biologiques possibles. Un rseau de capteurs peut tre dploy dans un endroit stratgique ou hostile, afin de surveiller les mouvements des forces ennemies, ou analyser le terrain avant dy envoyer des troupes (dtection des armes chimiques, biologiques ou radiations). Larme amricaine a ralis des tests dans le dsert de Californie.
Applications la surveillance
Lapplication des rseaux de capteurs dans le domaine de la scurit peut diminuer considrablement les dpenses financires consacres la scurisation des lieux et des tres humains. Ainsi, lintgration des capteurs dans de grandes structures telles que les ponts ou les btiments aidera dtecter les fissures et les altrations dans la structure suite un sisme ou au vieillissement de la structure. Le dploiement dun rseau de capteurs de dtection de mouvement peut constituer un systme dalarme qui servira dtecter les intrusions dans une zone de surveillance.
Applications environnementales
Le contrle des paramtres environnementaux par les rseaux de capteurs peut donner naissance plusieurs applications. Par exemple, le dploiement des thermo-capteurs dans une fort peut aider dtecter un ventuel dbut de feu et par suite faciliter la lutte contre les feux de fort avant leur propagation. Le dploiement des capteurs chimiques dans les milieux urbains peut aider
32
Les rseaux de capteurs dtecter la pollution et analyser la qualit dair. De mme leur dploiement dans les sites industriels empche les risques industriels tels que la fuite de produits toxiques (gaz, produits chimiques, lments radioactifs, ptrole, etc.). Dans le domaine de lagriculture, les capteurs peuvent tre utiliss pour ragir convenablement aux changements climatiques par exemple le processus dirrigation lors de la dtection de zones sches dans un champ agricole. Cette exprimentation a t ralise par Intel Research Laboratory and Agriculture and Agri-Food Canada sur une vigne British Columbia.
Applications mdicales
Dans le domaine de la mdecine, les rseaux de capteurs peuvent tre utiliss pour assurer une surveillance permanente des organes vitaux de ltre humain grce des micro-capteurs qui pourront tre avals ou implants sous la peau (surveillance de la glycmie, dtection de cancers, etc.). Ils peuvent aussi faciliter le diagnostic de quelques maladies en effectuant des mesures physiologiques telles que : la tension artrielle, battements du cur, etc. laide des capteurs ayant chacun une tche bien particulire. Les donnes physiologiques collectes par les capteurs peuvent tre stockes pendant une longue dure pour le suivi dun patient (32). Dautre part, ces rseaux peuvent dtecter des comportements anormaux (chute dun lit, choc, cri, etc.) chez les personnes dpendantes (handicapes ou ges).
Applications domestiques
Avec le dveloppement technologique, les capteurs peuvent tre embarqus dans des appareils, tels que les aspirateurs, les fours micro-ondes, les rfrigrateurs, les magntoscopes, etc. (33). Ces capteurs embarqus peuvent interagir entre eux et avec un rseau externe via Internet pour permettre un utilisateur de contrler les appareils domestiques localement ou distance. Le dploiement des capteurs de mouvement et de temprature dans les futures maisons dites intelligentes permet dautomatiser plusieurs oprations domestiques telles que : la lumire steint et la musique sarrte quand la chambre est vide, la climatisation et le chauffage sajustent selon les points multiples de mesure, lalarme est dclenche par le capteur anti-intrusion quand un tranger veut pntrer dans la maison.
Applications commerciales
Il est possible dintgrer des capteurs au processus de stockage et de livraison dans le domaine commercial. Le rseau ainsi form pourra tre utilis pour connatre la position, ltat et la direction dun paquet. Il devient alors possible pour un client qui attend la rception dun paquet, davoir un avis de livraison en temps rel et de connatre la localisation actuelle du paquet. Pour les entreprises manufacturires, les rseaux de capteurs permettront de suivre le procd de production partir des matires premires jusquau produit final livr. Grce aux rseaux de capteurs, les entreprises pourraient offrir une meilleure qualit de service tout en rduisant leurs cots (34).
33
Rseaux Ad-hoc et rseaux de capteurs : principes et caractristiques absence dinfrastructure les rseaux Ad-hoc en gnral, et les rseaux de capteurs en particulier se distinguent des autres rseaux par la proprit dabsence dinfrastructure prexistante et de tout genre dadministration centralise. taille importante un rseau de capteurs peut contenir des milliers de nuds. interfrences les liens radio ne sont pas isols, deux transmissions simultanes sur une mme frquence, ou utilisant des frquences proches, peuvent interfrer. topologie dynamique les capteurs peuvent tre attachs des objets mobiles qui se dplacent dune faon libre et arbitraire rendant ainsi la topologie du rseau frquemment changeante. scurit physique limite les rseaux de capteurs sans fil sont plus touchs par le paramtre de scurit que les rseaux filaires classiques. Cela se justifie par les contraintes et limitations physiques qui font que le contrle des donnes transfres doit tre minimis. bande passante limite une des caractristiques primordiales des rseaux bass sur la communication sans fil est lutilisation dun mdium de communication partag. Ce partage fait que la bande passante rserve un nud est limite. contrainte dnergie, de stockage et de calcul - la caractristique la plus critique dans les rseaux de capteurs est la modestie de ses ressources nergtiques car chaque capteur du rseau possde de faibles ressources en termes dnergie (batterie). Afin de prolonger la dure de vie du rseau, une minimisation des dpenses nergtiques est exige chez chaque nud. Ainsi, la capacit de stockage et la puissance de calcul sont limites dans un capteur.
34
Les rseaux de capteurs Assurer un routage optimal si possible. Offrir une bonne qualit concernant les temps de latence. Auto organiser le rseau ceci peut tre ncessaire dans plusieurs cas. Un rseau comportant un grand nombre de nuds placs dans des endroits hostiles o la configuration manuelle nest pas faisable doit tre capable de sauto-organiser. Un autre cas est celui o un nud est insr ou retir ( cause dun manque dnergie ou destruction physique). Ainsi le rseau doit tre capable de se reconfigurer pour continuer son fonctionnement. En gnral, le routage dans les rseaux de capteurs peut tre class, selon la structure du rseau, en routage plat et routage hirarchique. Dans le routage plat, tous les nuds ont typiquement les mmes rles et fonctionnalits. Cependant, le routage hirarchique est ralis plusieurs niveaux dans le sens o la vision du rseau est rduite. Certains nuds peuvent jouer des rles particuliers dans le rseau afin de router les informations. Notre intrt sest focalis sur les protocoles hirarchiques. Ces protocoles, proposs lorigine pour les rseaux filaires, sont des techniques bien connues avec des avantages particuliers lis la scalabilit3 et la communication efficace. Le concept de routage hirarchique est aussi utilis pour assurer une efficacit nergtique dans les WSNs. Dans une architecture hirarchique, les nuds qui disposent dune ressource nergtique importante peuvent tre utiliss pour traiter et envoyer les informations tandis que les nuds dnergie basse peuvent tre utiliss pour excuter la capture dinformation dans la proximit de la cible. Le routage hirarchique est une faon de minimiser la consommation nergtique du systme en rduisant la vision globale du rseau en une vision locale dans chaque nud. Ceci aboutit une prolongation de la vie du rseau en entier.
1.4
Conclusion
Dans ce chapitre, nous avons dfini et dcrit brivement ce quest un rseau Ad-hoc et ses caractristiques ainsi quun rseau de capteurs sans fil qui est un type particulier de rseau Ad-hoc. Nous avons dcrit le capteur, ses fonctionnalits et son architecture. Nous avons cit les caractristiques dun rseau de capteurs et prsent quelques applications. Nous avons aussi mis laccent sur le routage et la structuration virtuelle dun rseau qui sont des points essentiels que nous dvelopperons dans la suite de ce document. La classification des protocoles de routage Ad-hoc a t galement dcrite ainsi que des mthodes utilises par ces protocoles (Distance Vector et Link State). Dans la suite, nous prsenterons plusieurs protocoles de routage utiliss dans les rseaux Ad-hoc et de capteurs qui partagent des caractristiques identiques.
Aptitude dun systme de conserver ses proprits fonctionnelles malgr un changement de taille
35
2.1
Introduction
Le routage est une mthode dacheminement des informations vers une destination donne dans un rseau de connexion. Comme nous lavons dj vu, larchitecture des rseaux Ad-hoc est caractrise par labsence dinfrastructure fixe prexistante, linverse des rseaux de tlcommunication classiques. Un rseau Ad-hoc doit sorganiser automatiquement de faon tre dploy rapidement et pouvoir sadapter aux conditions du trafic et aux diffrents mouvements pouvant intervenir au sein des nuds mobiles. Dans le but dassurer la connectivit du rseau, malgr labsence dinfrastructure fixe, chaque nud est susceptible dtre mis contribution pour participer au routage et pour retransmettre les paquets dun nud qui nest pas en mesure datteindre sa destination directement ; tout nud joue ainsi le rle de poste de travail et de routeur. Cest le cas du rseau de capteurs qui est un rseau Ad-hoc avec des contraintes plus fortes dnergie, de capacit, de calcul et de stockage. Chaque nud participe donc au routage ce que lui permet de dcouvrir les chemins existants afin datteindre les autres nuds du rseau. Le fait que la taille dun rseau puisse tre importante, surtout dans le cas des rseaux de capteurs, souligne que les techniques de routage dans les rseaux classiques ncessitent des modifications. Le problme qui se pose dans le contexte de ces rseaux est ladaptation de la mthode dacheminement utilise un grand nombre de nuds possdant de modestes capacits de calculs et de sauvegarde et parfois prsentant des changements de topologie. Il est impossible quun nud puisse garder les informations de routage concernant tous les autres nuds, car le rseau peut tre volumineux. Ce problme ne se pose pas dans le cas des rseaux de petites tailles, car linondation (la diffusion pure qui fait propager un paquet dans le rseau entier)
37
Protocoles de routage dans les rseaux de capteurs faite pour ce but dans ces rseaux nest pas coteuse ; par contre dans un rseau volumineux, le manque de donnes de routage concernant les destinations peut impliquer une large diffusion dans le rseau. Cela si on considre seulement la phase de dcouverte des routes - peut dgrader considrablement les performances du systme caractris principalement par une faible bande passante et une capacit nergtique limite. Dans le cas o le nud destination se trouve dans la porte de communication du nud source, le routage devient vident et aucun protocole de routage nest initi, ce quon appelle envoi direct ou un seul saut. Mais ce cas est gnralement rare dans les rseaux Ad-hoc et les rseaux de capteurs. Un nud source peut avoir besoin de transfrer des donnes un autre nud qui ne se trouve pas dans sa porte de communication. La Figure 2.1 montre un exemple dun rseau constitu de quatre nuds. Le nud A envoie directement un paquet B sans besoin de routage puisque B est dans la porte de communication de A (envoi direct). Dailleurs, si le nud A veut envoyer un paquet au nud D, il doit utiliser les services des nuds intermdiaires B et C puisque le nud D nest pas dans la porte de A. A envoie le paquet B ; B transmet le paquet C ; C, son tour, transmet le paquet au nud D. Cette technique est appele routage multi-sauts (multi-hops).
Dans la suite, nous dcrirons des protocoles de routage dans les rseaux Ad-hoc et de capteurs. Nous les prsenterons sous deux catgories : hirarchique et non hirarchique (ou plat).
2.2
2.2.1 Introduction
Lobjectif principal dun protocole de routage pour un rseau Ad-hoc est ltablissement correct et efficace ditinraires entre une paire de nuds afin que des messages puissent tre achemins. Le protocole de routage permet aux nuds de se connecter directement les uns aux autres pour
38
Protocoles de routage non hirarchiques relayer les messages par des sauts multiples. Par la suite, nous prsenterons un tat de lart des principaux protocoles de routage plat (non hirarchique) dans les rseaux Ad-hoc car la prsentation de ces protocoles nous permettra de mieux analyser lavantage de lapproche hirarchique surtout dans les grands rseaux. Malgr que notre intrt se focalise sur les protocoles hirarchiques, nous avons rdig cet tat de lart parce quun rseau de capteurs partage forcment des caractristiques et des contraintes des rseaux Ad-hoc quil faut prendre en compte lors dune proposition dun protocole de routage.
39
Protocoles de routage dans les rseaux de capteurs topologie TTi, contient pour chaque destination, linformation de ltat des liens telle quelle a t envoye par la destination, et une estampille de linformation. Pour chaque nud destination j, la table NEXTi contient le nud vers lequel les paquets destins j seront envoys. La table de distance contient la plus courte distance pour chaque nud destination. De la mme manire que les protocoles LS, les messages de routage sont gnrs suivant les changements dtats des liens. Lors de la rception dun message de routage, le nud met jour sa table de topologie (reprsente par un graphe dans LS) et cela dans le cas o le numro de squence du message reu est suprieur la valeur du numro de squence sauvegard dans la table (exactement comme le fait le protocole DSDV). Par la suite, le nud reconstruit sa table de routage et diffuse les mises jour ses voisins. Le calcul des chemins peut se faire avec nimporte quel algorithme de recherche des plus courts chemins. Par exemple, dans (35), lalgorithme du GSR utilise lalgorithme de Dijkstra modifi de telle faon quil puisse construire la table des nuds suivants (NEXT HOP) et la table de distance Table_D, en parallle avec la construction de larbre des plus courts chemins (larbre dont la racine est le nud source). La principale modification de GSR sur lalgorithme LS traditionnel, est la faon de diffusion des informations de routage qui circulent dans le rseau. Dans LS, si on dtecte des changements de topologie, les paquets dtats de liens sont gnrs et diffuss par inondation dans tout le rseau. Par contre, GSR maintient la table - la plus rcente - dtat des liens reus travers les voisins, et lchange uniquement avec ses voisins locaux, dune faon priodique.
40
Protocoles de routage non hirarchiques niveau de chaque nud, et les meilleurs chemins sont changs en utilisant cette image. Comme nous lavons dj dit, ltat des liens change frquemment dans les rseaux Ad-hoc. FSR effectue la mise jour de ces changements de la mme manire que le protocole GSR; ce qui rsout les problmes de LS concernant le volume de paquets de contrle. Avec GSR, et quand la taille du rseau devient trs grande, les messages de mise jour peuvent consommer une bande passante considrable. Afin de rduire le volume de messages changs sans toucher la consistance et la prcision des donnes de routage, FSR utilise la technique il de poisson vue prcdemment. La Figure 2.2 illustre cette technique. Dans cette figure, on dfinit la porte, ou le champ de vision de lil de poisson, avec un nud du centre didentificateur gal 1. La porte est dfinie en termes de nuds qui peuvent tre atteints en passant par un certain nombre de sauts. Dans la Figure 2.2, trois portes sont montres pour 1, 2 et suprieures 2 respectivement. En consquence, les nuds sont colors en noir, gris et blanc. Le nombre de niveaux et le rayon de chaque porte va dpendre de la taille du rseau. Le nud de centre (le nud 1) maintient les donnes les plus prcises des nuds appartenant au cercle le plus proche ; la prcision diminue progressivement, pour les cercles moins proches du centre.
Saut = 1
29 28
12
Saut = 2
25
Saut > 2
10 24 11 27
5 4 1 6 7
16 21 9
23
14
26
17 20 13
15
30 19 22
La rduction du volume des donnes de mise jour est obtenue en utilisant des priodes dchanges diffrentes pour les diffrentes entres de la table. Les entres qui correspondent aux nuds les plus proches sont envoyes aux voisins avec une frquence leve (donc avec une priode dchange relativement petite). Par exemple, les entres des nuds en gras (voir la Figure 2.2) sont changes frquemment. Le reste des entres est chang avec une frquence moins leve. De cette manire, un grand nombre dchanges de donnes de routage est vit, ce qui rduit le volume des messages qui circulent dans le rseau.
41
Protocoles de routage dans les rseaux de capteurs Cette stratgie fournit priodiquement des mises jour pour les nuds proches mais elle cre de grandes latences pour celles des nuds loigns. Cependant, limprcision sur le meilleur chemin vers une destination lointaine est minimise par le fait que la route devient plus prcise lorsque le paquet sapproche de la destination. Le protocole FSR peut tre utilis dans les rseaux Ad-hoc dont le nombre de nuds est grand. Le protocole utilise un volume raisonnable de messages de contrle. En outre, il vite le travail norme de recherche de chemins, effectu dans les protocoles ractifs ; ceci acclre la transmission. De plus, FSR maintient des calculs prcis concernant les destinations proches. Malgr ses avantages, FSR ne rpond pas aux contraintes des rseaux de capteurs (surtout la contrainte dnergies).
42
La Figure 2.3 illustre le mcanisme de cration des routes dAODV. Il y a dabord diffusion de la demande de route. Ensuite, la destination envoie une rponse, qui, grce aux informations recueillies par les nuds lors de la diffusion de la demande de route, cre une route de la destination vers la source. A noter que le protocole de routage AODV nassure pas la dtection du meilleur chemin existant entre la source et la destination. Les nuds voisins sont dtects par des messages priodiques HELLO (un message particulier de RREP). Si un nud x ne reoit pas un message HELLO dun voisin y par lequel il envoie des donnes, ce lien est considr bris et une indication de dfaillance de lien est envoye ses voisins actifs. Ces derniers propagent lindication leurs voisins qui utilisaient le lien entre x et y. Lorsque le message du lien bris atteint finalement les sources affectes, celles-ci peuvent choisir darrter lenvoi des donnes ou de demander une nouvelle route en envoyant un nouveau message RREQ.
43
Protocoles de routage dans les rseaux de capteurs nud intermdiaire ou laide dune rponse du nud destinataire. Afin dviter des inondations inutiles du rseau avec des messages Route Request, la procdure de demande de route commence dabord questionner les nuds voisins sils ont une route disponible dans le voisinage direct. Ceci est fait en envoyant le premier paquet Route Request avec une limite de sauts gale zro, afin que celui-ci ne soit pas transfr ensuite aux voisins. Sil ny a pas de rponses obtenues lors de cette demande initiale, un nouveau paquet Route Request est diffus dans le rseau entier. Un nud DSR est capable de connatre des routes en lisant des paquets qui ne lui sont pas adresss (promiscuous mode) (37). Cependant, cette technique exigeant un rcepteur actif dans le nud, peut tre plutt consommatrice dnergie. Dans les rseaux o les nuds ont une capacit nergtique limite, le but est de mettre en veille lmetteur-rcepteur afin de conserver lnergie le plus possible.
a) Relais multipoints
Cette technique consiste essentiellement, pour un nud donn, ignorer un ensemble de liens et de voisins directs, qui sont redondants pour le calcul des routes de plus court chemin. Plus prcisment, dans lensemble des voisins dun nud, seul un sous-ensemble de ses voisins est considr comme pertinent. Il est choisi de faon pouvoir atteindre tout le voisinage deux sauts (tous les voisins des voisins) ; cet ensemble est appel lensemble des relais multipoints. Lalgorithme de calcul de relais multipoints est donn dans (39). Ces relais multipoints sont utiliss de deux faons : pour diminuer le trafic d la diffusion des messages de contrle dans le rseau, et aussi pour diminuer la taille du sous-ensemble des liens diffuss tout le rseau puisque les routes sont construites base des relais multipoints (38). Lide de MPR est de minimiser linondation du trafic de contrle dans un rseau en rduisant les retransmissions dupliques dans la mme rgion. Chaque nud dans le rseau slectionne un ensemble de nuds de son voisinage auxquels ses messages seront transmis. Un nud slectionne ses MPRs parmi ses voisins un saut avec un lien symtrique. Cet ensemble est choisi de manire couvrir tous les nuds qui sont deux sauts. Les nuds slectionns comme MPRs annoncent rgulirement leur condition de MPR dans les messages de contrle envoys son voisinage. De cette faon, un nud annonce au rseau quil est capable datteindre les nuds qui lont lu comme MPR. Dans le calcul de la route, les MPRs sont utiliss pour la mise en place des routes vers toutes les destinations du rseau. Ainsi, en slectionnant la route par lintermdiaire des MPRs,
44
Protocoles de routage non hirarchiques on vite les problmes lis la transmission de paquets sur des liens unidirectionnels. Chaque nud maintient linformation sur ses voisins qui ont t slectionns comme MPR. Un nud obtient cette information par les messages de contrle reus priodiquement de ses voisins (39). La Figure 2.4 montre la diffrence entre une diffusion pure et la diffusion en utilisant les MPRs. Par exemple, afin datteindre tous les nuds 3 sauts, la diffusion pure a besoin de 24 retransmissions du paquet envoy par la source (voir la Figure 2.4, ct gauche). En utilisant les MPRs ou les relais multipoints (nuds en gras dans le ct droit de la Figure 2.4), il suffit de retransmettre le paquet de la source 11 fois pour atteindre les nuds 3 sauts.
Figure 2.4 : Diffusion pure et diffusion en utilisant les MPRs dans OLSR
b) Fonctionnement du protocole
OLSR est un protocole proactif et trs bien adapt aux rseaux larges et denses. Tous les nuds du rseau serviront de routeur et OLSR maintient sur chaque nud une table de routage complte (comprenant une entre pour tous les autres nuds du rseau). Le protocole est compltement distribu, il ny a pas dentit centrale. Chaque nud choisit la route la plus adapte en fonction des informations quil a reues. Pour maintenir jour toutes les informations ncessaires au choix des relais multipoints (MPRs) et au calcul de la table de routage, les nuds OLSR ont besoin de schanger des informations priodiquement. Pour sinformer du proche voisinage, les nuds OLSR envoient priodiquement des messages dits HELLO contenant la liste de leurs voisins. Ces messages permettent chacun de choisir son ensemble de relais multipoints. Le deuxime type de message dOLSR est le message TC (Topology Control). Par ce message les sous-ensembles de voisinage que constituent les relais multipoints sont dclars priodiquement dans le rseau. Ils sont diffuss en utilisant une diffusion optimise par relais multipoints. Ces informations offrent une carte du rseau contenant tous les nuds et un ensemble partiel de liens, mais suffisant pour la construction de la table de routage.
45
Protocoles de routage dans les rseaux de capteurs La table de routage est calcule par chacun des nuds et le routage des donnes seffectue saut par saut sans lintervention dOLSR dont le rle sarrte la mise jour de la table de routage (38).
46
Le protocole SPIN utilise essentiellement trois types de paquets ADV/REQ/DATA. Un nud voulant mettre une donne commence par envoyer un paquet ADV. Ce paquet ADV consiste dune mta-donnes sur les donnes mettre. Les mta-donnes peuvent dcrire plusieurs aspects comme le type des donnes et la localisation de son origine. Les nuds qui reoivent ce paquet vrifient si les donnes les intressent. Si oui, ils rpondent par un paquet REQ. Le nud qui a initi la communication envoie alors un paquet DATA pour chaque rponse REQ reue (voir la Figure 2.5). Un nud peut parfaitement ne pas rpondre aux messages ADV, par exemple dans le but dconomiser son nergie. Ensuite chaque nud qui fait office de relais peut trs bien agrger ses propres donnes aux donnes qui sont dj contenues dans le paquet (49).
Technique de dissmination dinformation dans laquelle chaque nud qui reoit un paquet relayer, envoie le paquet reu un de ses voisins tir alatoirement
47
2.3
2.3.1 Introduction
Lorsque la taille du rseau devient de plus en plus importante, sa gestion devient plus difficile. Les protocoles de routage plat fonctionnent bien quand le rseau ne comprend pas un grand nombre de nuds. La structuration dun rseau est un des outils principaux pour sauvegarder lnergie dans chaque nud du rseau, ce qui aboutit prolonger la vie du systme. Une des structures les plus connues est la hirarchie. La technique de hirarchisation sert partitionner le rseau en sous ensembles afin de faciliter la gestion du rseau surtout le routage, qui se ralise plusieurs niveaux. Dans ce type de protocoles, la vue du rseau devient locale ; des nuds spciaux peuvent avoir des rles supplmentaires. La littrature comprend plusieurs contributions dans les techniques de hirarchisation du rseau, que nous avons classifies, dans lintrt de faciliter leur comparaison. Cette classification brivement dcrite ici, dans lintroduction, sera prsente de manire dtaille dans la conclusion du chapitre. Nous distinguons deux types de groupes de nuds : la zone et le cluster. Un cluster est dfini par un ensemble de nuds et possde un nud nomm nud-chef ou Cluster Head (CH). Le rle du CH est de faire le relais entre les nuds du cluster et la station de base directement ou via dautres CHs. Le CH possde gnralement des ressources nergtiques suprieures aux autres nuds du rseau. Cette technique est appele clusterisation (voir la Figure 2.6). Le CH est lu suivant diffrents critres et informations sur le rseau : le niveau de lnergie dun capteur, la connexion avec les autres capteurs, la position gographique, etc. Une zone est dfinie par un ensemble de nuds mais ne possde pas un nud-chef (ou CH). Ainsi, un cluster est une sous-classe dune zone. La construction des groupes (zones ou clusters) sappuie sur des informations sur le rseau, exigeant donc son instrumentation. Cette prise de mesures peut tre, dans certaines circonstances, statique (comme la position des capteurs dans un systme immobile) ou dynamique (comme le niveau nergtique des capteurs). Une autre structure utilise est la chane (50). Le principe dune chane est quun nud ne peut communiquer quavec deux voisins. Nous trouvons aussi des structures qui combinent les groupes et les chanes. En se basant sur une architecture hirarchique, plusieurs protocoles de routage pour les rseaux Ad-hoc de grande taille ont t proposs. Dans la suite nous en dtaillerons quelques uns.
48
Cluster #1
Station de base
Cluster #3
Capteur
Cluster Head
Figure 2.6 : Architecture en cluster
Zone 5
Zone 1
Zone 2
Zone 4
Zone 3
Le protocole ZHLS (51) est bas sur la dcomposition du rseau en un ensemble de zones disjointes. Dans ce protocole, les membres dune zone nlisent pas de reprsentants contrairement
49
Protocoles de routage dans les rseaux de capteurs dautres protocoles hirarchiques. ZHLS utilise la technique GPS5 afin que chaque nud sache sa position et la zone dans laquelle il se trouve. Avec cette dcomposition, on a deux niveaux de topologies : le niveau nud, et le niveau zone. La topologie base sur le premier niveau renseigne sur la manire dans laquelle les nuds dune zone donne sont connects physiquement. Un lien virtuel peut exister entre deux zones, sil existe au moins un nud de la premire zone, qui soit physiquement connect un nud de lautre zone (voir la Figure 2.7). La topologie base sur le niveau zone, donne le schma de la connexion des diffrentes zones. La taille de la zone dpend de la mobilit des nuds, la densit du rseau, la puissance de transmission et les caractristiques de propagation. Le protocole est proactif quand le nud destinataire est dans la mme zone que le nud metteur. Dautre part, il est ractif si le nud destinataire nappartient pas la mme zone que le nud metteur. Dans ce protocole, les paquets qui contiennent les tats des liens ou les LSPs (Link State Packet) peuvent tre diviss en deux classes : les LSPs orients nuds (NodeLSP) et les LSPs orients zones (ZoneLSP). Pour un nud donn, un paquet NodeLSP contient linformation dun nud voisin tandis quun paquet ZoneLSP contient linformation de la zone et il est chang dune manire globale. De cette faon, chaque nud du rseau possde une connaissance complte concernant les nuds de sa propre zone, et seulement une connaissance partielle du reste du rseau. Cette connaissance partielle est matrialise par ltat de la connexion des diffrentes zones du rseau.
50
Protocoles de routage hirarchiques table de routage inter-zone est construite et SPF est utilis pour trouver le plus court chemin. Les tables sont mises jour priodiquement. Les nuds gateway ne diffuseront pas les paquets ZoneLSP si les nouvelles valeurs sont les mmes que les anciennes. Le ZoneLSP nest mis jour qu la cration ou lors de la cessure dun lien virtuel entre les zones. Ainsi, si un nud gateway reoit deux copies du mme ZoneLSP, il ne transfre quune seule, ce qui rduit le surcot dans le rseau. Par consquent, lacheminement des donnes se fait de deux faons : le routage inter-zones, et le routage intra-zone. Pour une destination donne, les donnes sont envoyes entres les zones en utilisant les identificateurs de zones jusqu ce que les donnes atteignent la zone finale de destination. Par la suite, les paquets de donnes circulent lintrieur de la zone finale, en utilisant lidentificateur du nud destination. Ladresse < ID zone, ID nud >, est suffisante pour atteindre nimporte quelle destination mme si le rseau change de topologie.
51
52
Protocoles de routage hirarchiques phase, le processus dlection des cluster heads est dclench pour choisir les futurs cluster heads. Ainsi, une fraction prdtermine de nuds slisent comme cluster heads selon le schma dexcution suivant : durant une priode T, un nud n choisit un nombre alatoire nb dont la valeur est comprise entre 0 et 1 (0 < nb < 1). Si nb est infrieur une valeur seuil alors le nud n deviendra cluster head durant la priode courante, sinon le nud n devrait rejoindre le cluster head le plus proche dans son voisinage.
Cependant, bien que LEACH puisse augmenter la dure de vie du rseau, il prsente certaines limitations. LEACH suppose que tous les nuds puissent transmettre des donnes avec une grande puissance pour atteindre la station de base et que chaque nud a une puissance de calcul lui permettant de supporter diffrentes couches MAC. Par consquent, LEACH ne convient pas aux rseaux dploys dans de vastes rgions. En outre, LEACH choisit alatoirement la liste des cluster heads et il ne pose aucune contrainte sur leur distribution ainsi que sur leur niveau dnergie. Ainsi, les cluster heads peuvent se concentrer dans un mme endroit et par consquent, il pourrait exister des nuds isols (sans cluster head) pouvant se dclarer. Dautre part, dans LEACH, lagrgation des donnes est centralise et est excute priodiquement. Or, dans certains cas, la transmission priodique des donnes pourrait ne pas tre ncessaire, ce qui puise rapidement lnergie limite des capteurs. Une variante de LEACH appele LEACH-C (56) a t conue pour amliorer les performances de LEACH. Cette variante utilise une architecture centralise pour choisir les cluster heads tout en impliquant la station de base et linformation de localisation des capteurs. Cependant, elle augmente considrablement le surcot du rseau puisque tous les capteurs devront envoyer leurs informations de localisation la station de base en mme temps pendant chaque phase dlection de cluster heads. Plusieurs travaux prsents (49) dans la littrature ont prouv quune telle architecture centralise ne supporte pas le passage lchelle, tant plus particulirement approprie des rseaux de petite taille. Dans (57), les auteurs ont propos un protocole hirarchique bas sur LEACH. Les cluster heads forms dans LEACH sont groups et organiss en une hirarchie. Ils ont montr que la consommation nergtique diminue lorsque le nombre de niveaux de lhirarchie augmente.
53
54
Protocoles de routage hirarchiques applications critiques o le changement de certains paramtres peut tre brusque. Larchitecture du rseau est base sur un groupement hirarchique plusieurs niveaux o les nuds les plus proches forment des clusters. Puis ce processus de clustering passe au deuxime niveau jusqu ce que la station de base soit atteinte. Aprs la formation des clusters, chaque cluster-head transmet ses membres deux seuils : un seuil Hard HT (hard threshold), qui est la valeur seuil du paramtre contrl (surveill) et un seuil Soft ST (soft threshold) reprsentant une petite variation de la valeur du paramtre contrl. Loccurrence de cette petite variation ST permet au nud qui la dtecte de la signaler la station de base en transmettant un message dalerte. Par consquent, le seuil Soft rduira le nombre de transmissions puisquil ne permet pas la transmission sil y a peu ou pas de variation de la valeur du paramtre contrl. Au dbut, les nuds coutent le mdium continuellement et lorsque la valeur capte du paramtre contrl dpasse le seuil Hard, le nud transmet linformation. La valeur capte est stocke dans une variable interne appele SV. Puis, les nuds ne transmettront des donnes que si la valeur courante du paramtre contrl est suprieure au seuil hard HT ou diffre du SV dune quantit gale ou plus grande que la valeur du seuil Soft ST. Puisque la transmission dun message consomme plus dnergie que la dtection des donnes, alors la consommation dnergie dans TEEN est moins importante que dans les protocoles proactifs ou ceux qui transmettent des donnes priodiquement tels que LEACH. Cependant, linconvnient principal de ce protocole est que, si les seuils HT et ST ne sont pas reus, les nuds ne communiqueront jamais, et aucune donne ne sera transmise lutilisateur, ainsi la station de base ne connat pas les nuds qui ont puis leur nergie. TEEN ne convient pas aux applications qui ncessitent des envois priodiques de donnes.
55
Protocoles de routage dans les rseaux de capteurs valeur de ce paramtre change dune quantit gale ou suprieure ST. Si un nud ne transmet par de donnes pendant une priode de temps CT, il devrait faire une capture de donnes et les retransmettre. APTEEN offre une grande flexibilit qui permet lutilisateur de choisir lintervalle de temps CT, et les valeurs seuils HT et ST pour que la consommation dnergie soit contrle par la variation de ces paramtres. Cependant, APTEEN ncessite une complexit supplmentaire pour implmenter les fonctions de seuils et de priodes de temps CT. Ainsi, le surcot et la complexit associs la formation des clusters plusieurs niveaux par TEEN et APTEEN sont assez levs.
2.3.10 CTLMN (Clustering Technique for Large multihop Mobile wireless Networks)
Lin et Chu (66) proposent une technique pour un large rseau Ad hoc. La structure de cluster est contrle par la distance gale au nombre de sauts. Cette technique repose sur la manire dont les nuds sont regroups dans un cluster en utilisant le nombre maximum de sauts R qui indique le rayon du cluster. Chaque nud contient les informations (i, Ci, di, ni) dites informations de cluster qui sont respectivement : lID de nud, lID de son cluster, le nombre de sauts partir de CH, lID du prochain nud sur le chemin de cluster. Le maintien du cluster se fait comme suit : lorsquun nud se dplace au-del de R, il quitte son cluster et peut rejoindre un autre cluster sil se retrouve une distance gale R sauts du CH (du nouveau cluster). Si la distance entre deux CHs est infrieure ou gale un nombre prdtermin de sauts D (Distance de cluster cartant), le CH qui a le plus grand ID est cart, et les nuds dans
56
Protocoles de routage hirarchiques le cluster cart cherchent un autre cluster pour le rejoindre.
o En est lnergie restante du nud n, ETotal est lnergie globale dans le rseau et Cprob est le nombre optimal de clusters. Cependant, lvaluation de ETotal prsente une certaine difficult, cause de labsence de toute commande centrale. Un autre problme rside dans la dtermination du nombre optimal de clusters. De plus, HEED ne prcise pas de protocole particulier utiliser pour la communication entre les cluster heads et le sink. A lintrieur du cluster, le problme ne se pose pas car la communication entre les membres du cluster et le cluster head est directe ( un saut). Dautre part, avec HEED, la topologie en clusters ne ralise pas de consommation minimale dnergie dans les communications intra-cluster et les clusters gnrs ne sont pas quilibrs en taille.
57
Protocoles de routage dans les rseaux de capteurs Dans leur technique propose, les capteurs sont supposs avoir une connaissance topologique deux sauts, ils peuvent modifier leur puissance de transmission, et oprent dune manire asynchrone et sans contrle centralis. Chaque capteur utilise le critre poids pour lire un cluster head dans son voisinage 2 sauts. Ce poids est calcul en fonction de la k-densit, lnergie rsiduelle et la mobilit, puis diffus dans le voisinage 2 sauts de chaque capteur. Ainsi, le capteur ayant le plus grand poids parmi ses voisins 2 sauts, qui ne sont pas encore affilis dautres clusters, est choisi comme cluster head pour la priode courante.
58
2.4
Conclusion
Nous avons dcrit dans les sections prcdentes quelques protocoles de routage non hirarchique dans les rseaux Ad-hoc et de capteurs. Lorsque le rseau vis est plus tendu, la gestion devient plus difficile lorsquun protocole non hirarchique est utilis pour la gestion des communications. Chaque nud doit stocker plus dinformations concernant le rseau et ses voisins. Les exigences en taille des rseaux de capteurs, dues aux dploiements gnralement tendus, rendent le stockage des informations de topologie trs coteux par rapport aux ressources disponibles dans ces dispositifs. De mme, le surcot de communications entre les nuds devient plus important d aux changes additionnels de paquets. Toute communication se traduit en consommation nergtique, qui constitue un objectif de minimisation dans les rseaux de capteurs. La bande passante limite est ainsi influe par ltendue du rseau. Nous avons aussi dcrit des protocoles de routage hirarchique dans les rseaux Ad-hoc et de capteurs. Les travaux actuels concernant le routage hirarchique nous ont permis lidentification de trois structures principales dorganisation : les zones, les clusters et les chanes (voir la Figure 2.9). Celles-ci sont la base de la classification propose la fin de cette conclusion, qui rsume galement les caractristiques des algorithmes de routage hirarchique. Les zones dfinissent gnralement un sous-ensemble de nuds capteurs sans contrleur central. Une forme particulire prsente dans la littrature est la grille, zone bien identifie par des surfaces carres de taille donne. La structure du cluster est la plus rpandue : elle identifie, en plus du primtre de la zone, un nud particulier, le cluster head, ayant la fonction de gestionnaire de la construction et de lappartenance. Le choix des cluster heads est souvent dpendant de facteurs divers comme le niveau nergtique, les positions gographiques ou la connectivit. Les approches cluster prsentent les inconvnients classiques similaires aux systmes centraliss, car le cluster heads sont source de concentration dinformation et sont donc susceptibles de dfaillance rapide pour des raisons de consommation nergtique. La caractristique point--point des partitionnements en zones, dans lesquels les nuds ont tous le mme rle, permet dviter le goulot dtranglement dans le trafic, les points de dfaillance et simplifie la gestion de la mobilit. Les chanes, structure dans laquelle un nud ne peut pas communiquer quavec deux nuds voisins, sont le rsultat de la recherche des schmas
59
Protocoles de routage dans les rseaux de capteurs dagrgation qui fournissent un quilibrage de la consommation nergtique. Ce type de structure est utilis conjointement avec les clusters, afin damliorer les dlais de transmission.
La hirarchisation rpond aux besoins dun rseau tendu, notamment un rseau de capteurs. Pour ce faire, certains protocoles exigent des informations concernant le rseau. Nous citerons la position gographique des nuds, lnergie rsiduelle des nuds, ltat des liens, etc. La position gographique peut tre obtenue en utilisant des techniques de localisation ou le GPS. Linformation concernant lnergie des nuds et des tats des liens ne peut pas tre obtenue qu travers la communication entre les nuds. Dautres protocoles exigent des contraintes matrielles comme la possibilit de varier la puissance de transmission du nud, une capacit de traitement adquate, une capacit nergtique importante, une vaste mmoire, etc. Certains protocoles se basent sur la structure en cluster, dautres sur la structure en zone, et dautres sur la structure en chane. Un bon tat de lart sur ces protocoles est dcrit dans ( (73), (74)). Le Tableau 1 rsume les caractristiques principales de chaque protocole.
Type hirarchie ZHLS Zone Cluster Cluster Cluster Chane Chane + cluster de Information exige sur le rseau Position des noeuds Connectivit nuds Etat des liens Energie des nuds Energie des nuds Energie des nuds des Variation de la puissance de transmission NON NON NON OUI OUI OUI Nombre prdfini clusters/zones/chanes NON NON NON NON NON NON de
Ad-hoc
CGSR
CBRP LEACH
WSN
60
Conclusion
CES
2 2
Chane + cluster Cluster Cluster Cluster Cluster Cluster Cluster Cluster Zone
Energie des nuds Position des noeuds Position des noeuds Position des noeuds Position des noeuds Energie des nuds Position des noeuds Etat des liens Position des noeuds
Tableau 1 : Bilan des protocoles de routage hirachique dans les rseaux Ad-hoc et de capteurs
Dans les approches de routage pour les rseaux de capteurs, les efforts ont t concentrs sur la dfinition dune topologie hirarchique deux ou plusieurs niveaux base sur les clusters. Ces nuds exigeant une capacit de calcul et de communication plus importante, leur choix ncessite linstrumentation du rseau, permettant dappliquer des critres de slection. Un autre point critique est le besoin de dcentralisation des dcisions, surtout dans les rseaux de grande taille. En vue de ces besoins, notre objectif est de proposer un protocole de routage hirarchique, bas sur une topologie de zone, sappuyant sur des dcisions et calculs distribus. Ceux-ci ne dpendront que dinformations statiques, car la mise jour exige par des informations dynamiques serait trop couteuse. Les rseaux viss par notre proposition de protocole de routage bas sur les zones comprennent des nuds capteurs qui ne disposent pas dinformation de localisation. Ils sont fixes et ont un rayon de communication constant durant leur dure de vie. Ce nouveau protocole est dcrit et dtaill dans le chapitre suivant.
61
Chapitre 3. Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol)
3.1
Introduction
Un rseau de capteurs est un ensemble de capteurs qui collaborent pour contrler et surveiller lenvironnement. Le nombre de capteurs peut atteindre des centaines, voire des milliers, suivant lapplication. Lnergie et lespace de stockage dans les rseaux de capteurs sont deux caractristiques critiques. Dans un rseau compos de milliers de capteurs, la gestion du routage et lchange de donnes entre les capteurs sont coteux en termes dnergie et de capacit de stockage. Un capteur doit stocker beaucoup dinformations (table de routage de taille importante dans les protocoles proactifs) afin deffectuer le routage de donnes. Des recherches et des travaux essayent de minimiser la consommation de lnergie en dcoupant le rseau en groupes afin de router les informations captures des niveaux diffrents. Dans les approches heuristiques proposes pour les rseaux de capteurs, bases sur la technique de clustering, les membres dun cluster ne transmettent pas leurs donnes collectes directement la station de base mais leur cluster head correspondant. En consquence, les cluster heads sont responsables pour coordonner les membres du cluster, agrger leurs donnes captures, et de les transmettre une station de base distante, directement ou via un mode de transmission multi-sauts. De ce fait, puisque les cluster heads reoivent plus de paquets et consomment plus dnergie pour les transmettre avec une longue porte, ils sont donc ceux dont lnergie sera puise le plus rapidement dans les clusters sils sont lus pour une longue priode. Par consquent, dautres techniques devraient viter le processus dlection des cluster heads, parce que ces derniers sont contraints par lnergie, et peuvent rapidement puiser leurs batteries cause de leur forte
63
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol) utilisation. Ainsi, cela peut causer des goulots dtranglement dans les clusters et dclencher par le suite le processus de rlection des cluster heads. Dans ce chapitre, nous proposerons une nouvelle technique de partitionnement dun rseau de capteurs en zones base sur le nombre de sauts [ (75), (76)]. La structure en zones rsultante de ce partitionnement sera la base dun nouveau protocole de routage hirarchique deux niveaux. Les nuds dune zone possderont une table de routage utilise pour acheminer des donnes lintrieur de la zone. Une deuxime table de routage est utilise pour router des donnes entre les zones du rseau. Cette deuxime table nexistera que chez les nuds qui sont aux frontires des zones. Ces nuds joueront le rle de relais entre les zones. La Figure 3.1 montre un exemple dun rseau de capteurs partitionn en zones et dun acheminement de donnes entre deux nuds de zones diffrentes.
Par la suite, nous dtaillerons notre approche de partitionnement dun rseau de capteurs en zones.
64
Algorithme distribu de partitionnement dun rseau de capteurs en zones ou partielles, conjointement aux techniques de triangularisation, soient conomiques, efficaces et fiables. Dans ce contexte, nous considrons un dploiement alatoire des nuds, sans perte de gnralit. Ainsi, tout autre dploiement peut tre pris en compte, mme celui dirig par lutilisateur, pour lequel les positions pourraient tre connues lavance. Dans ce dernier cas, linformation de localisation sera ignore par notre protocole. Pour cela, nous avons dploy alatoirement les nuds. Cest un dploiement sans aucune contrainte. Nous supposons que les nuds ont une identification globale NodeId. Cette technique est base sur le nombre de sauts (hops). Le nombre de zones est donn au dpart (paramtre de lalgorithme). A la fin de lexcution de lalgorithme, les nuds devraient tre affects une seule zone. En consquence, les zones sont disjointes. Le dcoupage en zones propos est un processus distribu et a comme acteurs de dclenchement certains nuds appels nuds-invitant. Ces nuds particuliers nont pas les fonctionnalits des cluster-heads dans les techniques de clusterisation, grce au fait quils sont seulement linitiative du lancement de la construction des zones. Ce mcanisme exige que les nuds-invitant soient au dpart assigns chacun une zone diffrente et quils envoient des messages dinvitation aux autres nuds par propagation de proche en proche. Les nuds recevant ces messages peuvent soit accepter, soit dcliner loffre dinvitation, construisant ainsi les zones. Une fois les messages initiaux dinvitation envoys, les nuds-invitant perdent leur proprit particulire car ils noprent aucune gestion ultrieurement. Les points critiques dans cette phase dorganisation virtuelle concernent deux aspects : le nombre de nuds-invitant et leur choix parmi les nuds du rseau. La dfinition du nombre de nudsinvitant dpend directement du nombre total de nuds et de la taille voulue pour chaque zone. Si la premire information est disponible, la seconde ne peut pas tre dduite facilement : plus il y a des nuds-invitant, plus petite est la taille moyenne des zones et inversement. Et ceci pour un placement bien rparti des nuds-invitant. Le choix des nuds-invitant est donc un autre point cl pour une bonne organisation des nuds en zones. En labsence de contrle centralis, ce choix est rendu encore plus difficile : comment sassurer que deux nuds-invitant ne soient pas choisis trop proche lun de lautre ? Sils sont proches, les messages dinvitation risquent de ne pas arriver tous les nuds et par consquent des nuds peuvent rester en dehors de toute zone. Lespace de dploiement serait ainsi que pareillement couvert par les zones. Dterminer le nombre optimal (minimal) de nuds-invitant pour que la surface de dploiement soit entirement couverte, sans avoir dinterfrence, entre les nuds-invitant est un problme NP-complet (77). Dans un systme distribu, le choix le plus simple et souvent efficace qui limite le nombre de messages changs et rduit la perte dnergie est de dsigner alatoirement les nuds-invitant. Dans ce contexte, nous nous sommes intresss au pourcentage de prsence des nuds-invitant dans la proximit dautres nuds-invitant. Nous appelons cette valeur taux des nuds-invitant proximit. Ce calcul sappuie sur la dfinition de proximit de deux nuds-invitant. Une des pires situations serait davoir deux nuds-invitant avec un prsent dans la porte de communication de lautre (donc ils seraient voisins un saut). Nous dfinissons donc la notion de proximit de la faon suivante : un nud v est proximit dun nud u si et seulement si v appartient la porte de communication de u.
65
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol) Le calcul de ce taux dpend du nombre de nuds-invitant, du nombre de nud total des nuds et de leurs positions. Le taux est dfini comme le nombre de liens de longueur infrieure la porte de communication entre les nuds-invitant divis par le nombre total des liens entre tous les nuds. Les simulations ont t faites pour des nuds capteurs ayant une porte de communication 150m6 et 300m dans un champ de dploiement de taille 1500m*1500m. Le nombre de nuds est vari de 400, 500 (rseau de faible densit) 600, 700, et 800 (rseau de forte densit). Le nombre de nuds-invitant a t vari de 5 jusqu 25 nuds. Nous avons effectu 1000 itrations par simulation. Comme le montre la Figure 3.2, le taux des nuds-invitant proximit (avec une porte de communication Tr = 150m) ne dpasse pas 2,7*10-5.
3,5E-04
3,0E-04
2,5E-04
2,0E-04
Taux
1,5E-04
1,0E-04
5,0E-05
0,0E+00
5 10 15 20 25
Si on double la porte (Tr = 300 m), le taux ne dpasse pas 1,2*10-3 (voir la Figure 3.3). Dans les deux cas, nous remarquons que le taux est trs faible par rapport au pire de cas o tous les nuds du rseau sont des nuds-invitant communicant entre eux. Dans ce cas, le graphe des liens entre les nuds est connexe et donc le taux est gal 1.
66
1,0E-03
8,0E-04
Taux
Tr=300, 600 nodes Tr=300, 500 nodes 4,0E-04 Tr=300, 400 nodes
2,0E-04
0,0E+00
5 10 15 20 25
Ce faible taux obtenu exprimentalement nous encourage utiliser une distribution alatoire des nuds-invitant dans lalgorithme de partitionnement du rseau en zones. Le choix alatoire des nuds-invitant est une technique qui prsente lavantage dtre moins coteuse que celle utilisant un algorithme distribu dlection comme dans la clusterisation. La minimisation du nombre de messages de contrle qui en dcoule permet dconomiser lnergie des nuds, et par consquent, de prolonger la dure de vie du systme. Aprs ce partitionnement virtuel du rseau, chaque nud est affect une seule zone. Les zones sont disjointes. Les paramtres de lalgorithme sont les suivants : R (rayon de la zone) - la distance maximale, en termes de nombre de sauts, entre le nudinvitant et les nuds invits. Par consquence, chaque nud une distance (nombre de sauts) du nud-invitant infrieure ou gale R devrait joindre sa zone. N - le nombre de nuds dans le rseau, zN - le nombre de zones, correspondant au nombre de nuds-invitant. Chaque nud spcifie durant lexcution de lalgorithme les valeurs suivantes : ZoneId - lidentification de la zone laquelle le nud appartient. Au dbut, cette variable a comme valeur ZONE_NodeId pour les nuds-invitant.
67
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol) NodeType - le type du nud qui pourrait tre NORMAL ou BORDER. Tous les nuds ont initialement le type NORMAL. Le nud devient de type BORDER lorsquil est la frontire avec une ou plusieurs zones. Ainsi, il est voisin de ces zones. BorderTable - la table-frontire dans laquelle le nud de type BORDER sauvegarde les informations concernant des nuds de type BORDER des zones voisines lui.
Z1
Z2
Z3
Nud BORDER
Z4
Z5
Z6
Nud NORMAL
La Figure 3.4 montre un exemple dun rseau partitionn en zones virtuelles (la forme rectangulaire est donne titre dexemple). Les nuds BORDER (en blanc) joueront le rle de relais entre les zones. Lorsquun paquet de donnes passe dune zone une autre, il parcourt ces nuds BORDER qui peuvent tre voisins de plusieurs zones (le nud A, dans la Figure 3.4, est voisin des zones Z5 et Z3).
68
Le champ Subject dun paquet ConstructZonesPacket dfinit son sujet. Ce champ peut avoir trois valeurs diffrentes : INVITATION : Il sagit dun paquet dinvitation une certaine zone. Ce paquet est initialement envoy par les nuds-invitant. Il est rediffus par les nuds qui rejoignent cette zone selon leur situation. Le premier paquet diffus par le nud-invitant a un TTL gal R (Rayon de la zone). DISAGREEMENT : il sagit dun paquet de refus dinvitation. Ce paquet est envoy quand un nud, dj attribu une certaine zone, reoit un paquet dinvitation une autre zone. Il sert aussi dfinir les nuds BORDER et complter la table BorderTable. BORDER : ce paquet est utilis, typiquement par un nud BORDER, pour informer ses voisins de son type. Ce paquet sert galement dfinir les nuds BORDER et complter la table BorderTable. NEW_NODE : ce type de paquet est chang lapparition dun nouveau nud dans le rseau. Il sert attribuer ce nouveau nud une certaine zone. A noter que lorsquun nud diffuse ou envoie un message dans un rseau sans-fil, tous les nuds dans sa porte de communication reoivent ce message. Nous les dsignerons par les nuds voisins ( un seul saut). Par exemple, si un nud veut envoyer un message un destinataire spcifique, il diffuse le message en spcifiant le destinataire concern par le message ; tous les nuds qui sont dans la porte de communication de ce nud reoivent le message mais seul le nud destinataire le traite. Donc, il ne sagit pas dun vrai unicast dans les rseaux sans fils comme dans les rseaux filaires.
69
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol)
INPUT : R PART A : IF (n is an inviting node) THEN Send a packet P (n.NodeId, ANY, n.ZONEID, INVITATION, NORMAL, R-1)[only once] ENDIF PART B : IF (n receives a packet P) THEN PART B.1 : IF (P.Subject = INVITATION) THEN IF (n.ZoneId is undefined) THEN Join the zone [n.ZONEID := P.ZONEID] IF (P.TTL = 0) THEN n.NodeType := BORDER Send a P(n.NodeId, ANY, n.ZONEID, BORDER, n.NodeType, 1) ELSE Send a packet P'(n.NodeId, ANY, n.ZONEID, INVITATION, n.NodeType, P.TTL - 1) ENDIF ELSE IF (n.ZONEID P.ZONEID) THEN n.NodeType := BORDER Send a packet P(n.NodeId, ANY, n.ZONEID, DISAGREEMENT, n.NodeType, 1) n.BorderTable.add(P.ZONEID, P.SrcId) ENDIF ENDIF ENDIF PART B.2 : IF (P.Subject = BORDER OR P.Subject = DISAGREEMENT) THEN IF (n.ZONEID P.ZONEID) THEN n.NodeType := BORDER n.BorderTable.add(P.ZONEID, P.SrcId) IF (BorderTable is modified) THEN Send a packet P(n.NodeId, ANY, n.ZONEID, BORDER, n.NodeType, 1) ENDIF ENDIF ENDIF PART C : IF (P.Subject = NEW_NODE) THEN Send a packet P(n.NodeId, P.SrcId, n.ZONEID, INVITATION, n.NodeType, 1) ENDIF ENDIF OUTPUT : BorderTable, ZoneID, NodeType at node n
Dans notre algorithme distribu propos, des informations concernant les nuds du rseau (lnergie, ltat des liens, la position gographique, etc.) ne sont pas ncessaires. Chaque nud possde un identificateur global NodeId. Lalgorithme excut par chaque nud du rseau, dune manire distribue, est illustr en pseudo-code dans la Figure 3.5.
70
Algorithme distribu de partitionnement dun rseau de capteurs en zones Initialement, les zones sont formes des nuds-invitant (un nud par zone7). Ces nuds-invitant diffusent un paquet dinvitation une seule fois leurs voisins (voir la Figure 3.5, partie A). Ce paquet dinvitation a un TTL gal R (rayon de la zone). Cette partie de code nest excute que par les nuds-invitant. Dans le but de spcifier le type de chaque nud NodeType et de complter la table-frontire BorderTable (stockant des informations utiles dans la phase de construction de la table de routage entre les zones), les nuds changent galement des paquets dont les sujets sont DISAGREEMENT ou BORDER. La partie B de la Figure 3.5 dcrit le comportement dun nud lorsquil reoit un de ces deux paquets. Quand un nud reoit un paquet dinvitation (voir la Figure 3.5, partie B.1), il le traite selon sa situation (sil est dj affect une certaine zone ou pas). Sil nest pas affect, il rejoint la mme zone du nud metteur du paquet. Si le TTL du message est gal zro, le nud est alors un nud BORDER, il diffuse ses voisins un paquet de type BORDER de TTL gal 1. Sinon, il rediffuse le message aprs avoir dcrment son TTL de 1. Quand un nud, dj affect une certaine zone, reoit un paquet dinvitation dun nud appartenant une autre zone, il change son type BORDER, puis il rpond en diffusant un paquet de type DISAGREEMENT de TTL gal 1. Lorsquun nud reoit un paquet de type DISAGREEMENT ou de type BORDER dun nud appartenant une autre zone (voir la Figure 3.5, partie B.2), il change son type en BORDER et enregistre le NodeId et ZoneID du nud metteur du paquet dans sa table BorderTable sils ny existent pas. Si la table BorderTable a t modifie, le nud diffuse un paquet de type BORDER de TTL gal 1. De cette faon, lchange des paquets BORDER sarrte lorsquil ny a plus de nouvelles informations insrer dans la table BorderTable. Lorsquun nud reoit un paquet de type NEW_NODE (voir la Figure 3.5, partie C), ceci signifie quil y a un nouveau nud qui apparat dans son voisinage. Pour cela, le nud rpond par un paquet dinvitation (de type INVITATION) de TTL gal 1 afin de joindre sa zone. A la fin de lexcution de cet algorithme, chaque nud doit tre attribu une certaine zone et avoir dfini son type. Pourtant, certains nuds pourraient rester sans aucune affectation. Ceci dpend, en effet, des paramtres de lalgorithme : le nombre de zones (zN), le rayon de la zone (R), le nombre de nuds (N) et leurs positions. Les nuds aux frontires (de type BORDER) possdent une table-frontire (BorderTable) utilise plus tard dans la phase de construction de la table de routage entre les zones. Chaque entre de la table BorderTable contient les informations suivantes : NeighZoneId - lidentification de la zone voisine avec le nud, BorderNodesIds - la liste des nuds appartenant la zone voisine et qui sont en communication directe ( un seul saut) avec le nud BORDER possdant la table BorderTable. Ces nuds sont galement des nuds de type BORDER dans leur zone.
A rappeler que le nombre de nuds-invitant est gal au nombre de zones zN (paramtre de lalgorithme)
71
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol) TimeOut la dure de vie de lentre de la table. Cette information est utilise pour la maintenance de la table BorderTable. Le Tableau 3 montre un exemple dune table-frontire (BorderTable) pour un certain nud BORDER N1 qui est voisin de deux zones Z2 et Z5. N1 est en communication directe avec les nuds N30, N18 et N17 qui appartiennent la zone Z2 et avec les nuds N13 et N14 qui appartiennent la zone Z5 (voir le Tableau 3). Chaque entre possde un TimeOut qui dfinit la dure de vie de lentre. Ce champ est utile pour la maintenance des tables BorderTable explique plus tard.
NeighZoneId BorderNodesIds N30 Z2 N18 N17 N13 Z5 N14 T5 TimeOut T1 T2 T3 T4
72
BORDER lchangent priodiquement. Par exemple, si le nud BORDER (possdant le Tableau 3) ne reoit pas un paquet HELLO du nud N30 aprs un TimeOut T1, lentre sera supprime
du tableau. La dfaillance dun nud NORMAL na aucun effet dans la topologie actuelle du rseau. Elle sera traite plus tard dans la partie de routage o la panne dun nud NORMAL influe la topologie. Dans les rseaux dynamiques, la mobilit des nuds est un dfi traiter. A la fin de cette phase de partitionnement du rseau, la mobilit ne peut tre gre que si on suppose que les nuds peuvent dtecter eux-mmes leur dplacement (par exemple en possdant un capteur vitesse). Par la suite, la mobilit dun nud peut tre interprte dans la maintenance de la topologie comme une dfaillance de ce nud et son apparition dans le rseau un autre emplacement gographique. Cette mobilit peut tre reflte dans notre topologie de rseau base sur les zones de la manire suivante : un nud se dplaant dun endroit un autre dans le rseau rinitialise ses attributs BorderTable et ZoneID, puis il diffuse un paquet de type NEW_NODE. Les nuds qui reoivent ce paquet rpondent par un paquet dinvitation leurs zones. Le nud mobile, la rception du paquet dinvitation, le traite suivant lalgorithme dcrit dans la Figure 3.5, partie B.1. Les protocoles de routage base de tables utilisent des tables chez chaque nud afin deffectuer le routage des donnes dans le rseau. Les protocoles hirarchiques ( deux niveaux) base de tables exigent des tables deux niveaux : tables pour le routage lintrieur dune zone et tables pour le routage entre les zones. La construction de ces deux types de tables est dtaille dans les sections suivantes, en se basant sur la topologie hirarchique partitionnant le rseau en zones virtuelles.
3.3
Afin deffectuer la communication entre les nuds dun rseau, chaque nud doit possder des informations sur dautres nuds. Par exemple, il doit connatre ses nuds voisins, dautres nuds plus loin et le cot de communication (nombre de sauts, quantit dnergie, etc.) pour les atteindre. La table est une des structures stockant ces informations. Dans notre approche et dans la phase qui suit le partitionnement du rseau en zones, nous construirons une table de routage dans chaque zone. Chaque nud possdera cette table appele dans la suite, la table intra-zone. Afin daccomplir cette phase, nous avons utilis lalgorithme Distance Vector (Bellmand-Ford) dune manire distribue. Comme nous lavons vu prcdemment, DV est simple et efficace pour les petits rseaux. Il nexige pas beaucoup de calculs, ni de communications, ni de stockage. La mtrique utilise est le nombre de sauts (hop). La mthode Maximum Count a t utilise afin dviter les boucles de routage (comme dans le protocole RIP (10)). En profitant des paquets changs, appels par la suite IntraZonePacket, durant la construction des tables de routage intra-zone, nous avons modifi lalgorithme DV afin de dfinir dans la table de routage intra-zone les informations suivantes :
73
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol) le type de chaque nud - BORDER pour les nuds qui sont la frontire dune ou de plusieurs zones, NORMAL pour les autres, la/les zone(s) avec laquelle un nud BORDER est voisin. Nous avons pu calculer galement, durant lchange de ces paquets, ce que nous avons dfini la mtrique de la zone : cest le cot de passage travers cette zone en termes de nombre de sauts. Cette mtrique utilise dans la phase suivante servira la construction des tables de routage entre les zones. Nous avions six choix possibles pour calculer cette mtrique. Quatre choix se basent sur le calcul de la moyenne des mtriques dans chaque table intra-zone : 1. la moyenne des moyennes des mtriques dans chaque table intra-zone, 2. le maximum des moyennes des mtriques dans chaque table intra-zone, 3. la moyenne des moyennes des mtriques des nuds BORDER dans chaque table intrazone, 4. le maximum des moyennes des mtriques des nuds BORDER dans chaque table intrazone. et deux autres choix se basant sur le maximum des mtriques dans chaque table intra-zone : 5. le maximum des maximums des mtriques dans chaque table de routage intra-zone, 6. la moyenne des maximums des mtriques dans chaque table de routage intra-zone. En dautres termes, cest la moyenne des plus longs chemins chez chaque nud de la zone. Nous avions jug que le dernier choix est le meilleur. En effet, emprunter le plus long chemin caractrise le pire des cas ; ce chemin est gnralement un chemin entre deux nuds BORDER de la zone comme ils sont lextrmit de la zone. Si nous calculons la moyenne des mtriques dune table de routage (choix 1 et 2), alors les mtriques des chemins entre les nuds NORMAL sont prises en compte dans ce calcul. Ceci ne nous intresse pas car nous ne voulons que les mtriques des chemins entre les nuds BORDER. Dailleurs, les choix 3 et 4 ont t limins car le calcul de la mtrique de la zone prend en compte des chemins entre des nuds BORDER, qui ne sont pas les plus longs chemins. Les choix 5 et 6 rpondent nos attentes puisque les maximums des mtriques dans toutes les tables intra-zone (les plus longs chemins) sont extraits et le calcul de la mtrique est bas seulement sur ces mtriques. Dailleurs nous avons prfr le choix 6 dans le but davoir des mtriques de valeurs proches pour les diffrentes zones. Ainsi, le passage sera quitable travers les zones comme nous allons se baser sur ces mtriques pour choisir une zone traverser. Ainsi les petites zones ayant une faible mtrique seront moins sollicites.
74
Construction de la table de routage intra-zone Chaque entre de la table de routage intra-zone est compose de quatre champs : DestNodeId lID du nud destinataire, NextHopId le nud suivant emprunter afin datteindre la destination. Cest le nud auquel le message sera transfr, Metric la mtrique du chemin. Cest le cot en termes de nombre de sauts pour atteindre la destination DestNodeId, NodeType le type du nud (BORDER ou NORMAL), ZoneIds la liste des IDs des zones auxquelles le nud destinataire DestNodeId est voisin, TimeOut la dure de vie de lentre dans la table.
Z1
Z2
Z3
N2 N3 N4 N0
N9 N8
N6 N1 N5 N7
Le Tableau 4 montre une table de routage intra-zone chez le nud BORDER N6 qui appartient la zone Z2 illustre dans la Figure 3.6. Comme nous le remarquons, les entres des nuds BORDER N1 et N4 contiennent la zone (Z1) avec laquelle ces nuds sont voisins.
75
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol)
DestNodeId N0 N1 N2 N3 N4 N5 N6 N7 N8 N9 NextHopId N7 N7 N9 N7 N7 N7 N6 N7 N7 N9 Metric 2 4 2 3 3 3 0 1 2 1 NodeType NORMAL BORDER NORMAL NORMAL BORDER NORMAL BORDER NORMAL NORMAL NORMAL Z3 Z1 Z1 ZoneIds TimeOut T0 T1 T2 T3 T4 T5 T6 T7 T8 T9
La section suivante dcrit la phase de construction de la table entre les zones. Cette table sert router les donnes dune zone une autre travers les nuds BORDER.
3.4
Aprs avoir partitionn le rseau en zones et avoir construit les tables de routage intra-zone (IntraZoneRoutingTable) dans chaque nud, une table est ncessaire pour le routage entre les zones. Le principe de lalgorithme distribu Distance Vector (Bellman Ford) est aussi appliqu pour la construction de cette table. Seuls les nuds BORDER la possderont car ils feront le relais entre les zones durant lchange des paquets de donnes. A la fin de cette phase de construction, les nuds BORDER de la mme zone auront la mme table. Dailleurs, elle est diffrente dune zone une autre. Cette table est appele par la suite table inter-zones.
76
La table inter-zones change dans le champ ZoneTable du paquet peut tre une partie de la table (des mises jour de la table). Le nud destinataire du paquet (FinalDestId) peut savoir si la table est complte ou non partir de la valeur du champ Subject.
a) Phase dinitialisation
Rappelons que chaque nud-chef possde pour linstant deux tables : une table frontire (comme le montre le Tableau 3) et une table de routage intra-zone (comme le montre le Tableau 4). Par une simple lecture de ces deux tables, le nud-chef extrait une nouvelle structure de donnes, la table inter-zones. Une entre dans cette table contient trois champs : DestZoneId - la zone destination,
77
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol) NextZoneId - la zone suivante emprunter, ZoneM - la mtrique pour atteindre la zone destination DestZoneId. Au dbut, la table inter-zones contient des informations de base. Reprenons lexemple du nudchef N6 qui appartient la zone Z2 et qui dispose dune table de routage intra-zone (voir le Tableau 4) et dune table-frontire (voir le Tableau 3). Supposons que la mtrique de la zone Z2 est gale 7. La table inter-zones chez le nud-chef N6 est illustre dans le Tableau 6.
DestZoneId Z1 Z3 NextZoneId Z1 Z3 ZoneM 7 7
Nous remarquons dans le Tableau 6 que les mtriques pour toutes les zones destinations ont la mme valeur. En fait, cette mtrique, dj calcule dans la phase de construction de la table intrazone, est le cot de passage travers la zone Z2. Comme toutes les zones destinations dans cette table sont initialement des zones voisines la zone Z2, alors leurs mtriques sont les mmes : le cot de passage travers la zone Z2. Nous remarquons aussi que la zone suivante emprunter NextZoneId a la mme valeur que DestZoneId, ceci est d au fait que ces zones destinatrices sont des zones voisines Z2. En dautres termes, cette table inter-zones contient, dans la phase dinitialisation, les informations concernant les zones voisines de la zone courante.
78
IF (n.NodeType = CHIEF-BORDER) THEN PART A : TempZones := For each entryRT in IntraZoneRoutingTable | entryRT.NodeType = BORDER DO For each zone in entryRT.ZoneIds | zone TempZones DO Send a packet P (n.NodeId, entryRT.NextHopId, entryRT.DestNodeId, n.ZoneId, UPDATE_TABLE, n.InterZoneRoutingTable) Save zone in TempZones ENDDO ENDDO PART B : For each entryBT in BorderTable DO For each node in entryBT.BorderNodesIds DO Choose randomly node from entryBT.BorderNodesIds Send a packet P (n.NodeId, node, NULL, n.ZoneId, UPDATE_TABLE, n.InterZoneRoutingTable) ENDDO ENDDO ENDIF
Ces paquets envoys par les nuds-chef de chaque zone seront traits par les nuds du rseau suivant lalgorithme illustr dans la Figure 3.8. A noter que durant lexcution de lalgorithme, les mtriques pour atteindre les zones destinations sont galement calcules. Dcrirons lalgorithme. Lorsquun nud NORMAL n reoit un paquet (Figure 3.8, partie A), il le transfre au nud suivant pour atteindre le destinataire final par un routage intra-zone. Si n est le nud-chef (Figure 3.8, partie B), il met jour sa table InterZoneRoutingTable. Si cette table nest pas encore complte, n envoie les mises jour aux nuds BORDER de sa zone (un nud par zone) et des zones voisines lui (un nud par zone). Si la table est complte, n lenvoie tous les nuds BORDER de sa zone. Si n nest pas le nud-chef mais un nud BORDER (Figure 3.8, partie C) et que le paquet reu arrive dune autre zone, il le transfre au nud-chef par un routage intra-zone. Si le paquet a t reu de sa zone et quil lui est destin (paquet envoy par le nud-chef), n le transfre aux nuds BORDER des zones voisines lui (un nud par zone) lorsquil sagit dun paquet de mise jour de la table inter-zones (UPDATE_TABLE). Sinon, n sauvegarde la table de routage complte inter-zones. Si le paquet nest pas destin au noeud n (il nest pas le destinataire final), il transfre le paquet au nud suivant pour atteindre le destinataire final par un routage intra-zone.
79
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol)
INPUT : InterZoneRoutingTable at CHIEF-BORDER nodes When node n receives a packet P PART A : IF (n.NodeType = NORMAL) THEN Find entryRT in IntraZoneRoutingTable | entryRT.DestNodeId = P.FinalDestId Send a packet P(n.NodeId, entryRT.NextHopId, P.FinalDestId, n.ZoneId, P.Subject, P.ZoneT) ELSE PART B : IF (n.NodeType = CHIEF-BORDER) THEN UPDATE n.InterZoneRoutingTable IF (InterZoneRoutingTable is not complet) THEN TempZones := For each entryRT in IntraZoneRoutingTable | entryRT.NodeType = BORDER DO For each zone in entryRT.ZoneIds | zone TempZones DO Send a packet P(n.NodeId, entryRT.NextHopId, entryRT.DestNodeId, n.ZoneId, UPDATE_TABLE, n.InterZoneRoutingTable) Save zone in TempZones ENDDO ENDDO For each entryBT in BorderTable DO Choose randomly node from entryBT.BorderNodesIds Send a packet P (n.NodeId, node, NULL, n.ZoneId, UPDATE_TABLE, n.InterZoneRoutingTable) ENDDO ELSE For each entryRT in IntraZoneRoutingTable | entryRT.NodeType = BORDER DO Send a packet P(n.NodeId, entryRT.NextHopId, entryRT.DestNodeId, n.ZoneId, COMPLET_TABLE, n.InterZoneRoutingTable) ENDDO ENDIF ELSE PART C : IF (n.ZoneId P.ZoneId) THEN Find entryRT in IntraZoneRoutingTable | entryRT.NodeType = CHIEF-BORDER Send a packet P(n.NodeId, entryRT.NextHopId, entryRT.DestNodeId, n.ZoneId, P.Subject, P.InterZoneRoutingTable) ELSE IF (n.NodeId = P.FinalDestId) THEN IF (P.Subject = UPDATE_TABLE) THEN For each entryBT in BorderTable DO Choose randomly node from entryBT.BorderNodesIds Send a packet P (n.NodeId, node, NULL, n.ZoneId, P.Subject, P.ZoneT) ENDDO ELSE Save P.ZoneT in n.InterZoneRoutingTable ENDIF ELSE Find entryRT in IntraZoneRoutingTable | entryRT.DestNodeId = P.FinalDestId Send a packet P(n.NodeId, entryRT.NextHopId, P.DestNodeId, n.ZoneId, P.Subject, P.ZoneT) ENDIF ENDIF ENDIF ENDIF OUTPUT : InterZoneRoutingTable at BORDER nodes
80
Construction de la table de routage inter-zones A la fin de lexcution de lalgorithme distribu, tous les nuds BORDER dans le rseau possdent une table inter-zones qui servira au routage entre les zones. Cette table inter-zones est videmment la mme chez les nuds BORDER de la mme zone et diffrente de celles des autres zones.
Nud BORDER
Z4(5)
Z5(7)
Z6(5)
Nud NORMAL
Z7(3)
Z8(4)
Z9(5)
La table inter-zones chez les nuds BORDER de la zone Z1 de la Figure 3.9 est illustre dans le Tableau 7. Nous remarquons que la mtrique des zones voisines de Z1 (Z2 et Z4) est gale la mtrique de la zone Z1. Un chemin dune zone courante (dans notre exemple Z1) une zone destination a un cot gal la somme de la mtrique de la zone courante et des mtriques des zones intermdiaires
81
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol)
DestZoneId Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z9 NextZoneId Z2 Z2 Z4 Z4 Z4 Z4 Z4 Z4 ZoneM 4 11 4 9 16 9 12 16
3.5
Le routage efficace des donnes entre les nuds dun rseau est le but des protocoles de routage. Dans cette section, nous dcrirons algorithmiquement comment les nuds changent les donns en se basant sur notre approche hirarchique dcrite prcdemment.
Lorsque les nuds veulent changer des donnes, ils gnrent un paquet de donnes, appel
82
DataPacket, dont la structure est illustre dans le Tableau 8. Le champ FinalDestId dfinit le
dernier nud qui doit recevoir les donnes Data. Ce champ a toujours la mme valeur dans le paquet chang entre la source et la destination. Dailleurs, le champ LocalDestId dfinit le champ du nud destinataire local, cest--dire le destinataire lintrieur dune zone. En effet, afin de router un paquet, le routage est ralis par le routage interne (dans la zone) et le routage externe (entre les zones). Le champ LocalDestId est utilis pour router le paquet lintrieur dune zone. FinalDestId et LocalDestId ont la mme valeur lorsque le paquet arrive la zone destination, dfinie par DestZoneId, qui contient le nud destinataire final (FinalDestId).
83
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol)
When source node n wants to send DATA to destination node n PART A : IF (n.ZoneId = n.ZoneId) THEN Find entryRT in IntraZoneRoutingTable | entryRT.DestNodeId = n.NodeId Send a packet P (n.NodeId, n.NodeId, entryRT.NextHopId, n.NodeId, n.ZoneId, DATA) ELSE PART B : IF (n.NodeType = NORMAL) THEN TempNodes := For each entryRT in IntraZoneRoutingTable | entryRT.NodeType = BORDER DO For each zone in entryRT.ZoneIds DO IF (zone = n.ZoneId) THEN Save entryRT.DestNodeId in TempNodes ENDIF ENDDO ENDDO IF (TempNodes ) THEN Choose randomly destNode from TempNodes Find entryRT in IntraZoneRoutingTable | entryRT.DestNodeId = destNode Send a packet P (n.NodeId, destNode, entryRT.NextHopId, n.NodeId, n.ZoneId, DATA) ELSE Find randomly entryRT in IntraZoneRoutingTable | entryRT.NodeType = BORDER Send P (n.NodeId, entryRT.DestNodeId, entryRT.NextHopId, n.NodeId, n.ZoneId, DATA) ENDIF ELSE PART C : IF ( entryBT in BorderTable | n.ZoneId = entryBT.neighZoneId) THEN Choose randomly node from entryBT.borderNodesIds Send P (n.NodeId, node, node, n.NodeId, n.ZoneId, DATA) ELSE Find entryZone in InterZoneRoutingTable | entryZone.DestZoneId = n.ZoneId IF ( entryBT in BorderTable | entryZone.NextZoneId = entryBT.neighZoneId) THEN Choose randomly node from entryBT.borderNodesIds Send P (n.NodeId, node, node, n.NodeId, n.ZoneId, DATA) ELSE TempNodes := For each entryRT in IntraZoneRoutingTable | entryRT.NodeType = BORDER DO For each zone in entryRT.ZoneIds DO IF (zone = entryZone.NextZoneId) THEN Save entryRT.DestNodeId in TempNodes ENDIF ENDDO ENDDO Choose randomly destNode from TempNodes Find entryRT in IntraZoneRoutingTable | entryRT.DestNodeId = destNode Send a packet P (n.NodeId, destNode, entryRT.NextHopId, n.NodeId, n.ZoneId, DATA) ENDIF ENDIF ENDIF ENDIF
Figure 3.10 : Algorithme appliqu par le noeud source lors de lenvoi dun paquet de donnes
84
When a node n receives a data packet P PART A : IF (n.NodeId = P.FinalDestId) THEN Process P.data ELSE PART B : IF (n.ZoneId = P.DestZoneId) THEN Find entryRT in IntraZoneRoutingTable | entryRT.DestNodeId = P.FinalDestId Send a packet P (n.NodeId, P.FinalDestId, entryRT.NextHopId, P.FinalDestId, P.DestZoneId, P.data) ELSE PART C : PART C.1 : IF (n.NodeType = NORMAL) THEN Find entryRT in IntraZoneRoutingTable | entryRT.DestNodeId = P.LocallDestId Send a packet P (n.NodeId, P.localDestId, entryRT.NextHopId, P.FinalDestId, P.DestZoneId, P.data) ELSE PART C.2 : IF ( entryBT in BorderTable | entryBT.neighZoneId = P.DestZoneId) THEN Choose randomly node from entryBT.borderNodesIds Send P(n.NodeId, node, node, P.FinalDestId, P.DestZoneId, P.data) ELSE PART C.3 : TempNodes := For each entryRT in IntraZoneRoutingTable | entryRT.NodeType = BORDER DO For each zone in entryRT.ZoneIds DO IF (zone = P.DestZoneId) THEN Save entryRT.DestNodeId in TempNodes ENDIF ENDDO ENDDO IF (TempNodes ) THEN Choose randomly destNode from TempNodes Find entryRT in IntraZoneRoutingTable | entryRT.DestNodeId = destNode Send P(n.NodeId, destnode, entryRT.NextHopId, P.FinalDestId, P.DestZoneId, P.data) ELSE PART C.4 : Find entryZone in InterZoneRoutingTable | entryZone.DestZoneId = P.DestZoneId IF ( entryBT in BorderTable |entryBT.neighZoneId = entryZone.NextZoneId) THEN Choose randomly node from entryBT.borderNodesIds Send P(n.NodeId, node, node, P.FinalDestId, P.DestZoneId, P.data) ELSE PART C.5 : TempNodes := For each entryRT in IntraZoneRoutingTable | entryRT.NodeType = BORDER DO For each zone in entryRT.ZoneIds DO IF (zone = entryZone.NextZoneId) THEN Save entryRT.DestNodeId in TempNodes ENDIF ENDDO ENDDO Choose randomly destNode from TempNodes Find entryRT in IntraZoneRoutingTable | entryRT.DestNodeId = destNode Send a packet P (n.NodeId, destnode, entryRT.NextHopId, P.FinalDestId, P.DestZoneId, P.data) ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF
85
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol) Si un nud n reoit un paquet de donnes dont il est le destinataire final, il traite les donnes du paquet (Figure 3.11, partie A). Sil ne lest pas, le nud n vrifie sil appartient la mme zone que le nud destinataire final du paquet afin de lui transfrer le paquet par un routage intra-zone (Figure 3.11, partie B). Sils se trouvent dans deux zones diffrentes, le comportement du nud est implment dans la partie C de la Figure 3.11. Si le nud n est NORMAL, il transfre le paquet au nud destinataire local (Figure 3.11, partie C.1). Si le nud n est BORDER et voisin de la zone destination du paquet, il transfre le paquet un nud BORDER de cette zone (Figure 3.11, partie C.2). Si le nud n nest pas voisin de la zone destination du paquet, mais un autre nud BORDER de sa zone lest, il lui transfre le paquet par un routage intra-zone (Figure 3.11, partie C.3). Si aucun nud de sa zone nest voisin de la zone destination du paquet, il cherche dans sa table inter-zones la zone suivante emprunter afin datteindre la zone destination. Il transfre le paquet un nud BORDER de cette zone suivante, sil en est voisin (Figure 3.11, partie C.4). Sinon, il transfre le paquet un nud BORDER appartenant sa zone et voisin de la zone suivante emprunter (Figure 3.11, partie C.5).
3.6
La maintenance des tables de routage intra-zone et inter-zones est ncessaire lorsquil y a une dfaillance, une apparition ou une mobilit dun nud. Lalgorithme Distance Vector (DV) permet aux nuds denvoyer priodiquement les mises jour de la table de routage afin de connatre les modifications de la topologie. Dailleurs, dans notre protocole et contrairement DV, aprs avoir fini la construction de la table intra-zone (IntraZoneRoutingTable), nous utilisons des messages de contrle priodiques8, appels HELLO, afin de dtecter une dfaillance ou une apparition dun nud et par la suite de mettre jour les tables. Si un nud dtecte un lien bris (d la non rception dun message HELLO dun nud voisin aprs lexpiration de son TimeOut), il met jour sa table et envoie ces mises jour ses voisins qui appliquent, leur tour, la mme procdure. Ainsi, linformation du lien bris se propage dans la zone sous forme des mises jour des tables intra-zone. Si ce nud dfaillant tait un nud BORDER, les nuds BORDER des zones voisines peuvent connatre cette nouvelle (lien bris) lors de lchange priodique des paquets de contrle (comme HELLO). Par la suite ils mettent jour leurs tables-frontire BorderTable. Lintrt de lenvoi priodique, durant la maintenance des tables, des messages - de petite taille -
HELLO est de minimiser la quantit de donnes changes (table entire dans DV) entre les
nuds. Par consquent, la consommation nergtique des nuds est minimise et la vie du systme est prolonge. Ainsi la convergence de la nouvelle information (nouveau nud, dfaillance, mobilit) est plus rapide surtout lorsque le dlai entre les envois rguliers est court.
86
Maintenance des tables de routage Si un nouveau nud apparat dans le rseau, il envoie un paquet de type NEW_NODE afin dtre affect une certaine zone (comme mentionn prcdemment dans la section de partitionnement du rseau en zones). Une fois ce nud affect une zone, il change des paquets de contrle DV avec ses voisins afin de construire sa table de routage intra-zone. Les voisins, leurs tours, mettent jour leurs tables intra-zone et propagent cette nouvelle information dans la zone en utilisant lalgorithme Distance Vector. Si ce nouveau nud constate quil est un nud BORDER (suite une rception de paquets dinvitation de diffrentes zones), sa table-frontire BorderTable quil possde est aussi mise jour par les paquets de contrle changs entre lui et les nuds un seul saut des zones voisines. De la mme manire que dans la phase de partitionnement en zones, la mobilit dun nud peut tre traite comme une dfaillance du nud dans lemplacement o il tait et son apparition dans le nouvel endroit. Donc, il envoie un paquet de type NEW_NODE afin dtre affect une certaine zone aprs avoir rinitialis ses attributs ( lexception de NodeId) comme sil est un nouveau nud. Puis il change des paquets de contrle DV pour construire sa table intra-zone. De mme, sil devient un nud BORDER il construit sa table-frontire BorderTable en changeant des paquets avec les nuds un seul saut des zones voisines. Notons que dans les trois cas prcdents, la mtrique de la zone (cot de passage travers la zone) est recalcule en utilisant les paquets DV. En ce qui concerne les tables inter-zones (InterZoneRoutingTable), si la mtrique dune certaine zone a chang dune manire significative (lcart entre lancienne valeur et la nouvelle valeur est grand), alors la procdure de construction des tables inter-zones est relance par le nud-chef de la zone. Ainsi, les tables inter-zones dans toutes les zones seront mises jour. La dtection du dplacement dun nud par le nud lui-mme reste un point cl pour enclencher la gestion de la mobilit. Les capteurs peuvent ne pas disposer de mcanismes physiques permettant didentifier le mouvement (comme par exemple les dtecteurs de vitesse ou les quipements permettant la localisation gographique). Dans ces cas, une solution logicielle devrait tre employe. Dans notre approche, un nud peut constater quil a t dplac sil ne reoit plus des messages priodiques HELLO dun certain nombre de ses voisins et en reoit des nuds non lists dans sa table intra-zone. Dailleurs lenvoi et la rception des paquets ConstructZonePacket, IntraZonePacket, InterZonePacket, et DataPacket ne peuvent pas indiquer la mobilit dun nud.
3.7
Conclusion
Dans ce chapitre, nous avons dcrit un protocole distribu de routage dans un rseau de capteurs tendu. Ce protocole est bas sur une topologie hirarchique issue dun dcoupage du rseau en zones virtuelles. Lalgorithme distribu de partitionnement du rseau en zones que nous avons propos ne requiert pas pralablement dinformations sur le rseau (par exemple, nergie des nuds, tats des
87
Protocole hirarchique de routage bas sur les zones (ZHRP - Zone-based Hierarchical Routing Protocol) liens, positions gographiques des nuds, etc.). Ce partitionnement est bas sur le nombre de sauts. Les zones sont disjointes. A la fin du dcoupage du rseau en zones virtuelles, chaque nud devrait tre affect une certaine zone. Nous classifions les nuds en deux types : BORDER si le nud est la frontire dune ou plusieurs zones et NORMAL dans le cas contraire. Les nuds BORDER jouent le rle de relais entre les zones. Nous neffectuons pas de clusterisation et nous ne nous intressons pas llection des clusters head qui exige gnralement des informations sur le rseau et provoque de la consommation nergtique. Contrairement aux protocoles bass sur la clusterisation qui exigent gnralement plus de ressources matrielles pour certains nuds (comme les cluster heads), nous nimposons pas cette contrainte pour lutilisation de notre protocole de routage. Le routage des donnes, dans notre protocole, se ralise deux niveaux : intra-zone et interzones. Nous parlons de routage intra-zone lorsque le paquet de donnes est achemin lintrieur dune zone. Lorsquil sagit du passage du paquet dune zone une autre, nous parlons de routage inter-zones. Le routage se ralise dune manire compltement distribue et ne dispose pas dune centralisation comme dans la clusterisation (les nuds envoient leurs paquets aux cluster heads qui les transmettent la station de base). Chaque nud du rseau possde une table de routage dont la construction est base sur lalgorithme Distance Vector (Bellman-Ford). Cette table sert au routage intra-zone. Les entres de cette table, chez un tel nud, contiennent les informations de routage vers tous les autres nuds de la mme zone. Durant la phase de construction de la table intra-zone, des informations concernant les nuds (sils sont NORMAL ou BORDER, leurs zones voisines, etc..) ont pu tre dcouvertes et la mtrique de chaque zone a t calcule. Cette mtrique est dfinie comme le cot de passage travers la zone. Cette information est utile pour le routage inter-zones. Comme les nuds BORDER servent de relais entre les zones, ils possdent une table utilise pour le routage interzones. Cette table est galement construite en se basant sur lalgorithme Distance Vector. Chaque entre de cette table contient les informations de routage de la zone courante vers les autres zones. Nous avons dcrit aussi, dans ce chapitre, des algorithmes de maintenance des tables de routage (intra-zone et inter-zones) utiles lors dune dfaillance, dune apparition ou dun dplacement dun certain nud. Cette maintenance est base sur lenvoi priodique des paquets de contrle HELLO entre les nuds. Notre protocole de routage se distingue de la plupart des autres protocoles hirarchiques par les caractristiques suivantes : notre protocole est compltement distribu, lalgorithme de partitionnement du rseau en zones nexploite aucune information sur le rseau (position des nuds, niveau nergtique, etc.), le protocole sappuie sur lalgorithme Distance Vector qui est simple et non coteux pour la construction des tables de routage, adapt aux larges rseaux de capteurs,
88
Conclusion la maintenance des tables de routage seffectue par des envois priodiques de petits messages HELLO, ce qui est une amlioration de lalgorithme Distance Vector qui transmet rgulirement toute la table.
89
4.1
Introduction
Dans ce chapitre, nous valuons le protocole de routage propos prcdemment. Une des caractristiques principales des rseaux de capteurs viss est la taille de ces rseaux. Le nombre important de capteurs ncessaires pour la couverture de lespace surveill et les principes du protocole de routage propos constituent les arguments pour lutilisation dun simulateur afin dvaluer notre proposition. Cependant, une analyse de fiabilit de limplmentation sur un systme rel sera galement prsente dans le dernier chapitre, dcline en deux types dapplications. Nous commencerons par une description du simulateur J-Sim que nous avons utilis pour tablir les simulations. Ensuite, nous montrerons les rsultats de simulations et valuerons notre protocole suivant quatre mtriques : le taux derreur, le surcot, la dure de vie du systme, lespace de stockage et la scalabilit. Nous dfinissons le taux derreur par le pourcentage de nuds isols restant sans affectation aucune zone. Le surcot sera valu par le nombre de messages de contrle envoys et reus durant lexcution du protocole. Une valuation du niveau nergtique de la batterie des nuds sera ralise galement. La dure de vie du systme sera calcule par rapport au nombre dvnements qui pourront tre effectus. Nous estimerons aussi lespace de stockage requis pour la structure de donnes utilise pour le routage (tables et attributs). Enfin, nous montrerons le bon comportement de notre protocole de routage dans des rseaux de grande taille, ce qui prouve sa scalabilit.
4.2
Le simulateur J-Sim
J-Sim [ (78), (79), (80)] est un logiciel utilis pour simuler le comportement des processus pseudoparallles. Dans J-Sim cest lutilisateur (programmeur) de crer la simulation. Le simulateur est programm en Java. Pour modifier le comportement du simulateur, il est ncessaire de complter ou de modifier ses fichiers sources. J-Sim repose sur une structure
91
Exprimentations et rsultats logicielle base sur des composants, appele Autonomous Component Architecture (ACA). Le code source est organis en paquetages relatifs un type de composants. Un composant est une entit indpendante reprsentant un objet physique (une batterie, un module radio, une couche logicielle, etc.) ou logique (un protocole de routage, un modle de mobilit, etc.). Ces composants seront ensuite connects laide de ports afin de gnrer un rseau simul. La simulation du fonctionnement dun rseau de capteurs, qui exige la dfinition des composants et leur mise en relation, est ralise grce un langage spcifique, TCL (81). Il sagit dun langage de script dans lequel on spcifie larchitecture du rseau ainsi que les paramtres de simulation et danalyse. Les commandes de script peuvent galement tre fournies en ligne de commande, instruction par instruction. A laide de TCL, on dfinit les composants puis on les connecte. Tous les composants sont hbergs dans un conteneur, qui est son tour un composant. La dfinition des composants est en fait la cration des objets. Cette cration est ralise par la commande TCL mkdir. Chaque composant est dune entit indpendante (la couche MAC par exemple) qui fonctionne indpendamment des autres entits. Les composants possdent des ports par dfaut pour quils puissent communiquer entre eux. Dautres ports peuvent tre crs pour un composant. Une connexion entre deux composants est ralise par lintermdiaire de deux ports ddis, un dans chaque composant (voir la Figure 4.1). Cette connexion est matrialise par la commande TCL connect. Il suffit de suivre un schma qui indique linterconnexion entre les diffrents types de composants que lon veut utiliser. On obtient ainsi larchitecture du nud. Toujours dans ce script TCL, on y dfinit les paramtres globaux (par exemple la taille du champ de simulation), les outils de visualisation des rsultats et lordonnancement de la simulation.
composant port
connexion
On distingue trois types de nuds : target, sink et sensor. Les nuds target ont pour fonction de gnrer des signaux (stimuli) qui peuvent tre, par exemple, une secousse sismique, un bruit, etc. Le nud sink est quant lui le nud cible, celui o les informations doivent arriver. Le reste du rseau est form par les nuds sensor qui acheminent les paquets jusquau nud sink. Lorsquun nud target envoie un stimulus et quil est capt par un nud sensor, ce dernier cre un paquet contenant linformation de mesure pour la faire parvenir au nud sink via le rseau.
92
Le simulateur J-Sim La Figure 4.2 (partie en pointill) montre larchitecture interne dun nud sensor dans J-Sim. On y distingue notamment les composants CPU et Radio qui dfinissent les modles de la consommation nergtique du microcontrleur et de lantenne radio. Le composant CPU dcrit en principe le cot de traitement des instructions. Le composant Radio dcrit le cot de lenvoi et la rception des signaux et la mise en veille. Le composant Battery dfinit le modle de la batterie dun nud. Ce composant calcule la consommation nergtique due au traitement des instructions, envois et rceptions des signaux en se basant sur les modles du CPU et de Radio. Un programmeur peut facilement crer ses propres modles (CPU, Radio, Battery) et les insrer dans un scnario de simulation afin de les tester. A noter que seuls les nuds sensor sont dots dune batterie. La Figure 4.2 montre aussi que les composants des diffrentes couches dun nud sont spars (Network layer, Mac Layer, Physical Layer). Ils communiquent entre eux via des ports. Les connexions (dsignes par des flches) entre les composants peuvent tre unidirectionnelles ou bidirectionnelles. Une connexion unidirectionnelle dun composant C1 vers un composant C2 signifie que les informations peuvent tre envoyes dans une seule direction (de C1 C2). Dautre part, une connexion bidirectionnelle signifie un change dinformation dans les deux directions. Le composant Wireless Channel est le composant commun pour tous les nuds sensor du rseau. Il fait communiquer tous les nuds sensor entre eux. Chaque nud sensor du rseau doit avoir une connexion, ralise par le programmeur, avec ce composant. Le cas chant, le nud ne peut pas communiquer avec les autres nuds. Le composant Sensor Channel est responsable de la communication entre les nuds target et les nuds sensor. De mme, chaque nud (sensor ou target) doit avoir une connexion avec ce composant. Si, par exemple, un tel vnement est cr par un nud target, ce composant envoie linformation tous les nuds sensor qui entourent le target (la distribution des nuds et leurs positions dans le champ de simulation sont dfinies dans le fichier TCL). Notons quil existe plusieurs simulateurs dans la littrature tels que GlomoSim (82), OMNET++ (83), OPNET (84), NS-2 (85).
Figure 4.2 : Architecture interne dun noeud sensor dans J-Sim (78)
93
Exprimentations et rsultats
4.3
4.3.1 Le composant
Lentit de base dans larchitecture logicielle de J-Sim est le composant. Nous dfinissons une application en ralisant une composition de composants. La notion des composants nest pas nouvelle et a t employe dans plusieurs normes composant telles que JavaBeans, CORBA et COM/DCOM/COM+. A la diffrence des JavaBeans, de CORBA, et de COM/DCOM, les composants dans J-Sim sont faiblement connects (loosely coupled). Ils communiquent entre eux en connectant leurs ports ensemble, et sont lis par des contrats. Les contrats indiquent la causalit des informations envoyes/reues entre les composants, mais nindiquent pas les composants qui participent la communication.
4.3.2 Le port
Un composant communique avec les autres composants par lintermdiaire de ses ports. Il peut possder plus dun port. Linterface de programmation entre un composant et son port est bien dfinie. Un composant peut tre dvelopp sans la prsence dautres composants (il se doit dtre autonome). En outre, le mcanisme rel de communication quun composant emploie pour communiquer avec le reste du monde est compltement cach par la notion de port.
4.3.3 Le contrat
La communication entre composants est dcrite par les contrats. Le contrat impose les conditions sur les ports dentre/sortie des composants afin de les faire communiquer. Un contrat indique comment un initiateur (visiteur) et un racteur (appel) accomplissent une certaine communication. Il dcrit comment un composant rpond aux donnes qui arrivent chacun de ses ports (par exemple, comment le composant traite les donnes, certaines structures de donnes de mises jour, et produit des sorties certains ports).
94
Larchitecture dtaille de J-Sim Dailleurs des commandes systmes UNIX, telles que ls, cd, pwd, mkdir, cp, mv, et rm peuvent tre utilises pour manuvrer des composants et des ports dans le systme. Les ports ont une utilisation particulire pour le nommage : a@b (o a est le nom du port et b le groupe du port). En rsumant, des composants peuvent tre crs et ils peuvent tre lis grce une interface de commande qui utilise la syntaxe des invits de commandes (shells).
Le rayon maximal de transmission, nomm Tr, est la distance maximale entre deux nuds communicants. Selon le modle de transmission de J-Sim, ce rayon est la diagonale du carr form par quatre sous-champs (voir la Figure 4.3, ct droit). Ainsi, ce rayon peut tre calcul en utilisant la formule T = 2(dx+dy).
r
Le ct droit de la Figure 4.3 dcrit le comportement de trois nuds communicants dans J-Sim en se basant sur le modle de transmission dcrit prcdemment. Le nud A ne peut pas communiquer avec le nud C qui nappartient aucun sous-champ des neuf en gris (porte de transmission de A) mme si la distance d entre eux est infrieure Tr. Cependant, le nud A peut communiquer avec le nud B qui appartient un des neuf sous-champs en gris. Ce modle de
95
Exprimentations et rsultats propagation est spcifique J-Sim, qui nutilise donc ni le modle thorique sphrique ni celui de voisinage qui en dcoule et est indpendant dune distance constante entre lmetteur et le rcepteur. Ceci peut traduire une simulation de lattnuation du signal cause des obstacles ou dautres facteurs (par exemple antenne unidirectionnelle). Dans nos simulations, nous avons modifi le code dimplmentation de J-Sim de faon avoir un rayon de transmission sphrique pour les nuds du rseau car la gestion des obstacles dans le simulateur J-Sim nest pas simple et les simulations se font gnralement dans les conditions idales.
4.4
Dans J-Sim, un module ddi aux rseaux de capteurs est incorpor dans le paquetage
drcl.inet.sensorsim. On y retrouve les classes concernant les composants suivants : les nuds (sensor, target et sink), le canal des nuds sensor (sensor channel), le modle de propagation des
signaux radio (le canal radio, la couche physique, la couche Mac), le modle de batterie, le modle de CPU, le modle radio pour chaque nud et le protocole de routage. Nous utiliserons le simulateur J-Sim, afin dvaluer lefficacit du protocole de routage propos dans ce rapport. Quatre mtriques ont t prises en compte : le taux derreur, le surcot (overhead), lespace de stockage exig et la scalabilit. Le partitionnement du rseau en zones affecte les nuds une zone particulire. Idalement, chaque nud du rseau devrait tre membre dune zone. Suivant les paramtres du protocole et le dploiement des nuds dans le rseau, nous valuons lefficacit de notre protocole propos en termes de pourcentage des nuds non affects aucune zone (nuds isols), dfini comme le taux derreur. Une autre mtrique particulire dvaluation est le surcot gnr. Nous lestimons par le nombre de paquets envoys et reus et le niveau nergtique de la batterie (86). Une des mtriques dvaluation principales pour un protocole de routage dans un rseau de capteurs est lespace de stockage. Nous lvaluons par le nombre de bits occups par la structure de donnes intervenant dans les algorithmes (tables de routage et attributs). Les trois mtriques prcdentes dpendent de la taille du rseau. La scalabilit dun protocole de routage est une des caractristiques importantes pour un rseau de capteurs de grande taille. Pour cela, nous valuons aussi le comportement du protocole propos lors de la variation de la taille du rseau de capteurs. Les simulations ont t excutes dans un espace de 1500m*1500m. Le rayon maximal de transmission est de 150m. Dans nos simulations nous avons fait varier la taille du rseau de 400 600 nuds.
96
12
10
R=5 R=10
R=15 R=20
R=25
0 5 10 15 20 25
Nombre de zones
Les figures (Figure 4.4, Figure 4.5, et Figure 4.6) montrent les taux derreur pour des rseaux constitus respectivement de 300, 400 et 600 nuds. Les graphes montrent que le taux derreur atteint zro sauf dans le cas o le rayon de la zone R a la valeur 5. Ceci sexplique par le fait quil y a des nuds dans le rseau qui nont pas reu un paquet dinvitation car le rayon R est petit.
4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 5 10 15 20 25 R=5 R=10 R=15 R=20 R=25
Nombre de zones
97
Exprimentations et rsultats
3,5
2,5
R=5 R=10
1,5
R=15 R=20
R=25
0,5
0 5 10 15 20 25
Nombre de zones
98
3
2,5 2 1,5 1 5 10 15 Nombre de zones 20 25
R=15
R=20 R=25
Figure 4.7 : Nombre de paquets envoys durant la phase de partitionnement en zones pour 400 nuds
6 5,5
Figure 4.8 : Nombre de paquets envoys durant la phase de partitionnement en zones pour 500 nuds
99
Exprimentations et rsultats
7,5 7
6,5
10
15 Nombre de zones
20
25
Figure 4.9 : Nombre de paquets envoys durant la phase de partitionnement en zones pour 600 nuds
16,00
15,00
14,00 R=5 13,00 12,00 11,00 10,00 5 10 15 Nombre de zones 20 25 R=10 R=15 R=20 R=25
Figure 4.10 : Nombre de paquets reus durant la phase de partitionnement en zones pour 400 nuds
Les figures (Figure 4.10, Figure 4.11, et Figure 4.12) montrent le nombre de paquets reus par chaque nud du rseau durant la phase de partitionnement du rseau pour 400, 500 et 600 nuds respectivement. Ce nombre ne dpasse pas 24 paquets/nud dans le pire des cas (Figure 4.12, R = 25, nombre de zones = 25, N=600).
100
18,5 18 R=5 17,5 17 16,5 16 15,5 5 10 15 Nombre de zones 20 25 R=10 R=15 R=20 R=25
Figure 4.11 : Nombre de paquets reus durant la phase de partitionnement en zones pour 500 nuds
24 23,5 23
22,5 22 21,5 21
20,5
Figure 4.12 : Nombre de paquets reus durant la phase de partitionnement en zones pour 600 nuds
La mme remarque que dans les graphes des paquets envoys peut tre extraite de ces trois figures : augmentation proportionnelle mais faible avec le nombre de zones, le rayon de la zone et le nombre de nuds. Ceci sexplique par le fait que laugmentation du nombre de nuds-invitant (nombre de zones) aboutit une augmentation du nombre de paquets dinvitation envoys dans le
101
Exprimentations et rsultats rseau, et par suite cela augmente le nombre de paquets reus. De mme, lorsque le rayon de la zone et le nombre de nuds sont plus grands, les paquets dinvitation sont rediffuss plus largement pour atteindre des nuds plus loigns du nud invitant. Ceci engendre laugmentation du nombre de paquets reus. Dailleurs si nous comparons les graphes des paquets envoys et ceux des paquets reus pour un mme nombre de nuds, nous remarquons que le nombre de messages reus ne dpasse pas quatre fois le nombre de ceux envoys. Ceci sexplique par le fait que les nuds, aprs laffectation la zone, rediffusent les paquets dinvitation ; les nuds voisins, qui sont dj affects la mme zone, reoivent ces paquets mais ne rpondent pas et ne rediffusent pas ces paquets. Donc ils reoivent plus de paquets quils en envoient. Le cot nergtique qui en dcoule est moins pnalisant que dans le cas dun nombre denvois suprieur au nombre de rceptions, car le cot denvoi dun paquet est gnralement plus coteux (3 4 fois) que le cot de rception pour un capteur. En conclusion, les graphes de simulations montrent clairement que lalgorithme de partitionnement gnre un faible surcot. Ceci est d au nombre faible des paquets de contrle envoys et reus afin de raliser le partitionnement du rseau en zones. Ce faible surcot engendre aussi une faible consommation nergtique de la batterie.
102
45
40
R=5 R=10
35
R=15 R=20
30
R=25
25 5 10 15 Nombre de zones 20 25
Figure 4.13 : Nombre de paquets envoys durant la phase de construction des tables de routage pour 400 nuds
51 49 47
Figure 4.14 : Nombre de paquets envoys durant la phase de construction des tables de routage pour 500 nuds
103
Exprimentations et rsultats
49
48
47
Nombre de paquets envoys
46 R=5 45
R=10
42
41
10
15 Nombre de zones
20
25
Figure 4.15 : Nombre de paquets envoys durant la phase de construction des tables de routage pour 600 nuds
Les figures (Figure 4.16, Figure 4.17 et Figure 4.18) montrent le nombre de paquets reus par nud durant la phase de construction des tables de routage intra-zone et inter-zones pour 400, 500 et 600 nuds respectivement en fonction du nombre de zones et du rayon de la zone (R). Depuis ces figures, la mme remarque que dans les graphes des paquets envoys peut tre extraite : les courbes, dans les trois figures, sont quasiment confondues lorsque le nombre de zones est fixe et le rayon de la zone (R) varie. Ceci sexplique aussi par le fait que lorsque le nombre de zones est fixe, les zones ont presque la mme taille. De ce fait, les tables de routage ont presque la mme taille et exigent presque le mme nombre de paquets de contrle (reus dans ces figures) pour la construction des tables de routage. Dans ces trois figures et pour les diffrentes valeurs du rayon de la zone (R), nous remarquons aussi que les courbes dcroisent rapidement lorsque le nombre de zones est petit (5 10) et augmentent lentement lorsque le nombre de zones est suprieur 15. La dcroissance rapide des courbes sexplique par le fait que lorsque le nombre de zones augmente, le nombre de nuds dans chaque zone diminue car le nombre de nuds est fixe. Par consquent, les nuds dune zone auront besoin de moins dchanges de paquets de contrle pour construire les tables de routage et notamment la table intra-zone. Dans le cas o le nombre de zones est faible (5 10), le nombre de paquets de contrle pour construire la table inter-zones est petit par rapport celui pour la construction les tables intra-zones car la table inter-zones est de petite taille. Dailleurs, lorsque le nombre de zones devient plus important (suprieur 15), la construction de la table inter-zones induit un surcot plus lev quavant mme si celui-ci reste raisonnable. Ce surcot explique la croissance faible des courbes lorsque le nombre de zones est suprieur 15.
104
Figure 4.16 : Nombre de paquets reus durant la phase de construction des tables de routage pour 400 nuds
125
120 115
Nombre de paquets reus
110 105 100 95 90 85 80 5 10 15 Nombre de zones 20 25 R=5 R=10 R=15 R=20 R=25
Figure 4.17 : Nombre de paquets reus durant la phase de construction des tables de routage pour 500 nuds
105
Exprimentations et rsultats
155
145
135 R=5
125
R=10 R=15
115
R=20 R=25
105
95 5 10 15 Nombre de zones 20 25
Figure 4.18 : Nombre de paquets reus durant la phase de construction des tables de routage pour 600 nuds
En conclusion, les graphes de simulations montrent le faible surcot durant la phase de construction des tables de routage. En fait, cette phase dpend directement de la taille des zones qui influe la taille des tables de routage. Ainsi, le nombre de paquets de contrle pour la construction de ces tables dpend de la taille des zones. Les graphes montrent bien que les deux paramtres de lalgorithme, le nombre de zones (zN) et le rayon de la zone (R), samortissent concernant la taille des zones. Ce qui aboutit un faible surcot.
c) Consommation de la batterie
Consommation CPU Consommation rception radio Consommation transmission radio Energie initiale de la batterie Voltage Taux de transfert de donnes Porte de communication 8 mAh 10 mAh 27 mAh 2900 mAh 3V 38400 bits/s 500 ft
106
Evaluation du protocole de routage propos En se basant sur le modle nergtique des capteurs MICA2 (23), nous avons calcul la consommation nergtique de la batterie. Les caractristiques dun capteur MICA2 sont illustres dans le Tableau 9. Nous avons fait varier le nombre de nuds de 400 600 et avons pris les valeurs intermdiaires du nombre de zones et du rayon de la zone (10, 15 et 20).
3,44E-04
3,24E-04
3,04E-04
2,84E-04
2,64E-04 2,44E-04
R=10, zN=15
R=15, zN=15 R=20, zN=15
2,24E-04
400 500 600
Nombre de noeuds - N
La Figure 4.19 montre le pourcentage de la consommation nergtique de la batterie dun capteur MICA2 en fonction du rayon de la zone et du nombre de nuds dans le rseau durant lexcution du protocole de routage propos en fixant le nombre de zones 15. De mme, la Figure 4.20 montre ce pourcentage en fonction du nombre de zones et du nombre de nuds dans le rseau en fixant le rayon de la zone 15.
3,64E-04
R=15, zN = 10
R=15, zN = 15 R=15, zN = 20
2,24E-04
400 500 Nombre de noeuds - N 600
Ces deux figures montrent clairement la faible consommation nergtique du protocole. Elle ne dpasse pas le 3,5*10-4 % de la batterie dans le pire des cas (600 nuds) dans les deux figures.
107
Exprimentations et rsultats En conclusion, nous pouvons remarquer que le nombre de paquets reus est plus important que celui des paquets envoys. Cette diffrence est due principalement au modle de communication utilis dans les rseaux de capteurs : un paquet envoy par un nud peut tre reu par plusieurs nuds dans sa porte de communication. Comme nous lavons dit, cette diffrence nest pas gnante car le cot nergtique denvoi dun paquet est gnralement plus important (trois quatre fois) que celui de la rception dans les rseaux sans fil. Lensemble des graphes dcrits dans cette section montre lefficacit nergtique de notre protocole.
Consommation CPU Consommation rception radio Consommation transmission radio Energie initiale de la batterie Voltage Taux de transfert de donnes Porte de communication
En se basant sur le modle nergtique des capteurs Tmote SKY (87) illustr dans le Tableau 11,
108
Evaluation du protocole de routage propos nous avons calcul la moyenne de la consommation nergtique par chaque nud du rseau.
Consommation de la batterie (%) 4,0E-03 3,5E-03 3,0E-03 2,5E-03 2,0E-03 1,5E-03 1,0E-03 5,0E-04 0,0E+00 30000 36000 42000 48000 54000 60000 66000 72000 Nombre d'vnements durant 6 minutes
Les fgures (Figure 4.21 et Figure 4.22) montrent les rsultats des simulations. Dans la Figure 4.21, le pourcentage de la consommation de la batterie ne dpasse pas 4*10-3 % de lnergie initiale de la batterie dun nud lorsquon atteint le maximum denvois (72000 vnements durant 6 minutes). Ceci prouve lefficacit nergtique du protocole ZHRP durant le routage de donnes. Dautre part, la Figure 4.22 montre la dure de vie du systme en nombre de jours en effectuant des vnements priodiques chaque 6 minutes. La dure de vie du systme est dfinie par la mort du premier nud dans le rseau. Cette figure montre le systme peut durer longtemps en utilisant le protocole ZHRP malgr le grand nombre dchange de donnes.
300
250
200 150
100
50 0 30000 36000 42000 48000 54000 60000 66000 72000
109
Exprimentations et rsultats
( + + ) 2
Tableau 12 : Taille thorique de lespace de stockage (en octets) de la structure de donnes de routage
Nous avons galement valu exprimentalement la taille de lespace de stockage demand pour la structure de donnes utilise pour le routage. Le rsultat illustr dans le Tableau 13 est donn pour un rseau de 600 nuds (N), R = 15 et zN=15. Ce rsultat dexprimentation confirme lestimation donne dans le cas gnral. Une moyenne de 4 Kb par nud est ncessaire pour stocker les informations de donnes pour le routage. Cette capacit reprsente 15 % de la mmoire totale dun capteur MICA2.
110
8 32
Tableau 13 : Taille exprimentale de lespace de stockage (en octets) pour la structure de donnes de routage dans un rseau de 600 nuds
111
Exprimentations et rsultats
4.5
Conclusion
Dans ce chapitre, nous avons dcrit brivement le simulateur J-Sim utilis pour valuer le protocole de routage propos dans ce document. J-Sim est programm en Java. Le langage TCL est utilis pour crire des scnarios de simulation en utilisant un systme appel RUV. Ensuite, nous avons montr lefficacit du protocole de routage suivant les mtriques suivantes : taux derreur, le surcot, lespace de stockage et la scalabilit. Les rsultats de simulations ont montr un taux derreur qui est voisin de zro. Dautre part, une consommation nergtique trs faible a t montre par les rsultats pour un rseau de capteurs MICA2. Ceci est d au faible surcot du protocole. Nous avons galement montr lefficacit du protocole durant le routage de donnes, ce qui prolonge la vie du systme. Nous avons aussi estim lespace de stockage requis pour la structure de donnes du protocole. Cet espace est faible et ne reprsente que 15% de la mmoire dun capteur MICA2. Pour terminer, nous avons montr la scalabilit du protocole en se basant sur des simulations faites pour des rseaux de taille importantes.
112
5.1
Introduction
Le rle dun systme dexploitation est de permettre le dveloppement fiable dapplications en fournissant une abstraction commode et sre des ressources matrielles. Dans les PCs et les serveurs, le systme dexploitation permet lapplication de traiter les tches sur les processeurs, dresse la carte dadresses virtuelles des emplacements dans la mmoire, manipule les disques, gre les rseaux et les priphriques. La sparation entre systme dexploitation et applications dans le calcul conventionnel est moins flagrant dans le monde des systmes embarqus, o les applications utilisent ncessairement du matriel particulier. De plus, les ressources matrielles sont trs contraintes. Les rseaux de capteurs sans fil (WSNs) doivent supporter une varit dapplications utilisant des composants htrognes et capables de se dployer rapidement dans de nouveaux environnements. La gestion de rseaux sans fil exige un traitement simultan plus important que les rseaux cbls. Lorsquun nud WSN effectue son acquisition de donnes normale, il doit aussi effectuer des vnements de routage et des transferts de paquet qui surgissent dune manire asynchrone dans le rseau. Dans ce chapitre, nous prsenterons tout dabord brivement deux plateformes dexploitation pour les capteurs. Ensuite, nous dcrirons la mise en place dun systme rseau de capteurs bas sur notre proposition de routage. Nous montrerons aussi le fonctionnement du systme lors de lacquisition de donnes. Enfin, nous dtaillerons deux applications relles pour montrer lutilit de notre protocole.
113
5.2
5.2.1 TinyOS
TinyOS (88) est un systme dexploitation intgr, modulaire, destin aux rseaux de capteurs. Cette plate-forme logicielle open-source est compose dune srie doutils dvelopps par lUniversit de Berkeley. En effet, TinyOS est le plus rpandu des OS (Operating System) pour les rseaux de capteurs sans fil (89). Il est utilis dans les plus grands projets de recherche sur le sujet. Un grand nombre de ces groupes de recherche ou entreprises participent activement au dveloppement de cet OS en fournissant de nouveaux modules, de nouvelles applications, etc. La librairie TinyOS comprend les protocoles rseaux, les services de distribution, les drivers pour capteurs et les outils dacquisition de donnes (90). Le systme TinyOS, ses librairies et ses applications sont crits en nesC (91), un nouveau langage pour le dveloppement dapplications orientes composants. Le langage nesC est principalement ddi aux systmes embarqus comme les rseaux de capteurs. NesC a une syntaxe proche du langage C mais supporte le modle concurrent de TinyOS ainsi que des mcanismes pour la structuration, le nommage et lassemblage de composants logiciels en des systmes rseaux embarqus fiables. Lobjectif principal est de permettre aux concepteurs dapplications de construire des composants qui peuvent tre composs rapidement en des systmes complets, concurrents, tout en permettant une vrification profonde la compilation (91). TinyOS dfinit un nombre important de concepts qui sont exprims dans nesC. Premirement, les applications nesC sont construites partir de composants ayant des interfaces bidirectionnelles bien dfinies. Deuximement, nesC dfinit un modle de concurrence bas sur les notions de tches, les "handlers" dvnements matriels, et la dtection des conditions daccs concurrent aux donnes au moment de la compilation.
114
SPOT utilise une machine virtuelle de type J2ME mais de taille rduite appel Squawk Virtual Machine (95) crite en Java. Lavantage de Squawk VM est sa capacit utiliser de manire plus performante le peu despace mmoire que possdent les capteurs. Cette machine virtuelle fonctionne sans OS et permet une communication directe avec lunit de traitement (CPU), ce qui augmente les performances des applications (96).
5.3
Dans la suite de cette section, nous dcrirons lutilit et le fonctionnement de notre systme bas sur le protocole ZHRP. Nous dcoupons cette opration en plusieurs tapes.
115
Mise en uvre du protocole de routage qui seront utiliss par lapplication dploye sur le capteur. Les modules constituent les briques lmentaires du code et implmentent une ou plusieurs interfaces. Les interfaces spcifient un ensemble de fonctions mettre en application par le fournisseur de linterface (commandes) et par lutilisateur de linterface (vnements). Ceci permet une interface simple de reprsenter une interaction complexe entre les composants (par exemple, enregistrement dun vnement pertinent, suivi dun rappel de service quand cet vnement se produit). En outre, les interfaces permettent de lier statiquement les composants entre eux. Ceci augmente lefficacit dexcution, favorise la robustesse de lapplication, et permet une meilleure analyse statique du programme de lapplication. TinyOS est prvu pour fonctionner sur diverses plateformes. En effet, TinyOS peut aussi bien tre install sur Windows, Linux, Mac OS ou sur un capteur. Cependant il nest pas possible de faire des allocations dynamiques ni utiliser des pointeurs. Linstallation du protocole de routage ncessite la mise en place de TinyOS et du langage nesC. Pour cela il faut installer : MoteWorks qui est un ensemble de logiciels permettant de dvelopper facilement des programmes pour les capteurs sous Windows, MoteView qui est un logiciel permettant de visualiser et analyser les donnes envoyes par les capteurs, Cygwin qui permet lmulation dun systme Unix sous Windows (inclus dans MoteWorks). TinyOS 2.x inclut un outil de liaison entre les nuds et une application Java : SerialForwarder (voir la Figure 5.2 ). Celui-ci rcupre les messages reus par le nud et les transmet lapplication Java. Linverse est aussi possible, lapplication Java peut envoyer des messages au nud, par exemple le Sink, qui va les transmettre aux autres nuds.
116
Description et mise en place du systme Une fois le systme dexploitation et les outils ncessaires installs sur les capteurs, le protocole de routage peut y tre inject facilement. Nous aurions pu utiliser la plateforme SPOT car il est tout fait possible dy intgrer notre implmentation puisquelle est code en Java. Le choix des types de capteur dpend de lapplication vise.
117
A la fin de cette tape, chaque nud devrait tre affect une certaine zone. En consquence, le rseau devient virtuellement partitionn en plusieurs zones, se constituant en une structure hirarchique deux niveaux. Une fois le rseau stabilis, ltape suivante, de construction des tables de routage aura lieu. La stabilit du rseau est atteinte lorsquil ny a plus de paquets de contrle changs pour le partitionnement en zones. Dans un simulateur, il est facile de prciser le point de stabilit et de connatre le temps requis pour finir une tape. Cependant, pour une application relle, ce dlai ne peut pas tre prvu ; pour cette raison, nous donnons lalgorithme de partitionnement en excution une marge de temps suffisante avant de passer ltape suivante.
118
Description et mise en place du systme systme sera oprationnel. Chaque nud du rseau possde un tableau de routage intra-zone qui aide router les paquets de donnes lintrieur des zones. Les nuds BORDER possdent de plus une table de routage inter-zones qui permet de router les paquets de donnes entre les zones. Par la suite, nous dcrirons le fonctionnement de notre systme lors de lenvoi et de la rception des donnes entre les nuds du rseau.
5.4
Fonctionnement du systme
Avant de dcrire le fonctionnement du systme, nous dcrirons deux types dchanges de donnes utiliss gnralement entre les nuds dun rseau de capteurs : change entre les diffrents nuds dans le rseau o les capteurs communiquent entre eux les informations collectes. Ces communications seffectuent en multi-sauts entre le nud metteur et le nud destinataire.
Capteur
Figure 5.4 : Echange de donnes entre les nuds du rseau
envoi des informations collectes la station de base (ou Sink) qui est le centre de collecte de donnes (voir la Figure 5.5). La station de base est gnralement une machine puissante en ressources (alimentation, mmoire, etc.) et peut tre mobile. Les nuds qui collectent des informations de lenvironnement surveill envoient les donnes la station de base directement ou via dautres nuds ; cela dpend de la position de la station de base si elle est loin ou pas du champ surveill o se trouvent les capteurs. De la mme manire, la station de base peut envoyer ventuellement des requtes aux nuds du rseau.
119
Station de base
Capteur
Figure 5.5 : Collecte des informations et envoi la station de base
Dans la suite, nous dcrirons comment les nuds ragissent lors de lchange de donnes entre eux dans les deux types dchanges de donnes dcrits prcdemment.
120
Fonctionnement du systme destinataires peut tre dfinie durant la mise en place du systme. Par exemple, nous pouvons dsigner des nuds du rseau appels nuds destinataires vers lesquels les donnes sont achemines surtout si le dploiement des nuds est non alatoire, donc nous connaissons leur emplacement.
121
Mise en uvre du protocole de routage Dans la suite nous dcrirons le comportement du systme lors dune panne, de lapparition, et la mobilit dun nud dans le rseau.
5.5
Gnralement, les applications dans les rseaux de capteurs peuvent tre classifies en trois classes : Collecte priodique de donnes dans ce type dapplication, les nuds du rseau envoient
122
Applications utilisant notre priodiquement leurs donnes collectes du champ dintrt la station de base ou au Sink. Rponse un vnement dans ce type dapplication, les nuds ne ragissent que lors de la dtection dun vnement dans le rseau (par exemple dtection de feu) et puis ils envoient les donnes au Sink ou la station de base. Poursuite dune cible les nuds du rseau poursuivent une cible en changeant des signaux avec la cible. Dans cette section nous dcrirons deux applications qui peuvent sappuyer sur notre systme dcrit prcdemment. Une application est utilise pour aider un vhicule (ou personne mal voyante) atteindre une certaine cible. Lautre application concerne la dtection de feu dans une fort.
Z4
Z5
Z6
Requte
Z7
Z8
Z9
Dest.
La Figure 5.6 montre un systme de guidage de vhicule en se basant sur un rseau de capteurs partitionn virtuellement en zones selon notre proposition. Rappelons que chaque nud dune zone possde une table de routage intra-zone. Les nuds BORDER possdent les tables inter-
123
Mise en uvre du protocole de routage zones. Dans la Figure 5.6, les liens entre les nuds BORDER qui relient les zones sont illustres par des flches. A noter que dans un tel partitionnement les zones ne sont pas forcment de formes rectangulaires comme le montre la Figure 5.6, mais cest juste pour simplifier lexemple et pour quil soit plus claire. Voyons le fonctionnement de ce systme. Tout dabord, le Sink (vhicule) diffuse un paquet requte autour de lui demandant un chemin vers un nud destinataire. Dans notre exemple (Figure 5.6), le vhicule envoie la requte quelques nuds de la zone Z4 afin de lui trouver un chemin vers le nud destinataire dans la zone Z9 (par exemple la gare). Un seul nud suffit parmi ces nuds pour rpondre la requte et ainsi tre en contact avec le vhicule. Le vhicule choisit un seul nud de la zone Z4 pour lui trouver le chemin (par exemple, le premier nud qui rpond est choisi). Nommons-le nud metteur et supposons quil est un nud NORMAL. Le vhicule doit attendre une rponse de ce nud avant quil commence se dplacer. Cette attente est utilise pour tre sr quil y a un chemin vers la destination (nud multi-couleur dans la zone Z9). Ensuite, le nud metteur utilise sa table de routage afin de router le paquet requte vers le nud destinataire. En utilisant le protocole de routage hirarchique que nous avons propos, un chemin vers le nud destinataire est construit travers les nuds du rseau (voir la Figure 5.7). Les identifiants des nuds peuvent tre enregistrs dans ce paquet afin de les utiliser dans le chemin emprunter par le vhicule.
Z1 Z2 Z3
Z4
Z5
Z6
Emett.
Z7
Z8
Z9
Dest.
Lorsque le nud destinataire reoit la requte, il rpond au nud metteur (en contact avec le
124
Applications utilisant notre vhicule) par un paquet de rponse contenant le chemin emprunter. Ce paquet de rponse passe par les mmes nuds du chemin mais en sens inverse. De cette faon, nous pouvons garder en veille les nuds des zones non empruntes par le chemin, voire les nuds non utiliss dans les zones empruntes. Ceci conomise leur nergie et prolonge la vie du systme. Une fois que le vhicule reoit le chemin de la part du nud metteur, il commence se dplacer suivant le chemin construit par les nuds. Au cours du dplacement le vhicule est en contact avec les nuds du chemin qui collectent et envoient en temps rel des donnes au vhicule qui, son tour, les traite. Supposons que le vhicule reoive une information dun tel nud sur le chemin lui indiquant quil ne peut plus passer par le reste du chemin (par exemple, un nouvel obstacle est survenu). Comment le Sink doit-il se comporter ?
Z1 Z2 Z3
Z4
Z5
Z6
Emett.
Z7
Z8
Z9
Dest.
La Figure 5.8 montre un exemple du dplacement du vhicule sur un certain chemin pour atteindre la destination dans la zone Z9 (la gare dans notre exemple). Cette figure montre aussi quun nud (nomm A) de ce chemin informe le vhicule quil ne peut pas continuer sur ce chemin pour atteindre le nud suivant (nomm B) car il existe un nouvel obstacle. Le vhicule doit sarrter et demande aux nuds qui lentourent si cest possible de passer travers eux pour atteindre le nud B. Ensuite, les nuds qui ont B comme destination dans leur table de routage intra-zone rpondent par un paquet avec le cot du chemin. Le vhicule choisit le nud qui a le
125
Mise en uvre du protocole de routage cot minimal pour complter son chemin. Ainsi, un chemin est construit entre ce nud et le nud B par une simple requte. Ce chemin est retourn au vhicule qui pourra reprendre son dplacement suivant le nouveau chemin (chemin vers B + chemin de B vers la destination dans la zone Z9) pour atteindre la destination. Sil ny a pas de chemins pour atteindre le nud B, alors le vhicule cre une nouvelle requte (comme au dpart) et la diffuse pour demander un chemin vers la destination. De cette faon, le systme est capable de dtecter les obstacles fixes (nomms statiques) et mobiles (nomms dynamiques) et informer le vhicule de ces donnes en temps rel.
Z4
Z5
Z6
Internet, satellite,
Z7
Z8
Z9
La Figure 5.9 montre un systme de dtection de feu dans une fort. Comme lapplication prcdente, le rseau de capteurs est partitionn en zones. Chaque nud possde une table de routage intra-zone pour le routage lintrieur de la zone. Les nuds BORDER possdent les tables inter-zones pour le routage entre les zones. Dautre part, dans cette application, on demande le chemin vers la station de base lors dun tel vnement (dtection de feu). Les nuds du rseau doivent connatre pralablement o se situe la station de base (ou son identification si elle est considre comme un nud). Cette figure montre aussi une dtection dun feu par un nud du rseau dans la zone Z8. Ce nud envoie linformation dalerte, via les nuds du rseau, la station de base qui informera lutilisateur final du systme (personnes intervenir comme les pompiers) de cet vnement. Ce nud envoie galement son identification afin de prciser le lieu du feu. Aprs
126
Applications utilisant notre lintervention des personnes concernes, nous supposons quelles possdent galement des systmes par lesquels elles peuvent communiquer directement avec la station de base. Cette communication directe est indispensable afin de les alerter rapidement dun nouveau feu sur le champ dintervention. La Figure 5.10 montre le comportement du systme la dcouverte dun nouvel vnement dans la zone Z4 lors de lintervention des pompiers. Le nud qui dtecte le nouveau feu envoie linformation dalerte la station de base qui, son tour, informe directement les pompiers se trouvant sur le champ afin des les avertir du nouveau danger.
Z1 Z2 Z3
Z4
Z5
Z6
Z7
Z8
Z9
Figure 5.10 : Dtection dun nouveau feu lors de lintervention des pompiers
Comme dans lapplication prcdente, les zones o il ny a pas de feu peuvent garder leurs nuds en veille afin dconomiser lnergie, ainsi que les nuds non utiliss pour le routage des informations dans les zones du feu.
5.6
Conclusion
Nous avons dcrit dans ce chapitre comment notre protocole de routage peut tre mis en place et comment un tel systme utilisant ce protocole fonctionne. Nous avons aussi dcrit globalement la faon dinjecter le protocole dans des capteurs MICA2 fabriqus par CrossBow en utilisant le systme dexploitation TinyOS et le langage nesC. Ensuite, nous avons montr comment le systme peut tre install : le dploiement des nuds, le partitionnement du rseau en zones, la construction des tables de routage (intra-zone et inter-zones). Nous avons dcrit galement deux
127
Mise en uvre du protocole de routage types de fonctionnement du systme lors de lchange de donnes avec ou sans station de base. A la fin, nous avons montr deux applications relles qui utilisent le protocole de routage propos : guidage dune vhicule et dtection de feu dans une fort.
128
Chapitre 6. Conclusion
Dans cette thse nous avons trait le problme du routage dans les rseaux da capteurs. Cet aspect est fondamental pour ce genre de rseau caractris par labsence dinfrastructure. Le routage se ralise en collaboration entre les diffrents nuds du rseau. Un protocole de routage doit prendre en compte les contraintes matrielles dun capteur : une batterie faible, un capacit de stockage modeste, une bande passante faible, etc. Lorsque la taille du rseau devient de plus en plus importante, les protocoles de routage plat ne se comportent pas de faon optimale. Do vient lide de partitionner le rseau en zones. Pour atteindre cet objectif, nous avons propos un nouveau protocole hirarchique de routage nomm ZHRP (Zone-based Hierarchical Routing Protocol) bas sur une topologie structure en zones. La construction de cette topologie est constitue de deux phases : le partitionnement du rseau en zones et la construction des tables de routage. En effet, nous avons propos un algorithme distribu de partitionnement dun rseau de capteurs en zones. Le but de cet algorithme est davoir une structure hirarchique pour le rseau. Contrairement la plupart des algorithmes de structuration du rseau de la littrature, notre algorithme nexige pas dinformations sur le rseau (nergie de nuds, position des nuds, tat des liens, etc.). Il est bas sur le nombre de sauts. Le nombre de zones est paramtrable et prdfini. La distribution des nuds est alatoire. A la fin de lexcution de cet algorithme, chaque nud du rseau devrait tre affect une seule zone. Les nuds qui sont aux frontires des zones, appels nuds BORDER, possdent une table-frontire utile pour la phase de construction des tables de zones. Nous avons galement dfini une mtrique de zone, qui est le nombre de sauts maximal pour traverser la zone. Cette mtrique est calcule durant cette phase et utilise dans la phase suivante. Durant la deuxime phase du protocole, les nuds de chaque zone construisent dabord leurs tables de routage intra-zone. Ces tables servent router les donnes entre les nuds dune mme zone. La construction est faite en se basant sur lalgorithme Distance Vector qui est simple et efficace dans les petits rseaux. Puis, les nuds BORDER de chaque zone changent leurs tables-
129
Conclusion frontires pour construire une table partielle de routage inter-zones. Les tables compltes de routage inter-zones sont ensuite construites par les nuds BORDER qui ont le plus grand ID dans leurs zones en se basant sur lalgorithme Distance Vector. A la fin de cette construction, ces nuds diffusent la table complte tous les nuds BORDER de leurs zones. Cette table est utile pour le routage entre les zones. Nous avons ensuite propos un algorithme de routage de donnes entre les nuds du rseau partitionn en zones. Dans cet algorithme, le routage est dcision locale, cest-dire, chaque nud qui reoit un paquet de donnes transfre le paquet suivant les informations de routage quil possde (table intra-zone, table inter-zones). Aussi, nous avons propos galement des algorithmes pour la maintenance du systme bas sur le protocole ZHRP lors dune panne, dune apparition ou dune mobilit dun nud dans le rseau. Afin de montrer le bon comportement du protocole propos, nous avons ralis des simulations. Nous avons utilis le simulateur open source J-Sim qui contient un package pour les rseaux de capteurs. J-Sim est cod en Java et utilise le langage TCL pour crire le scnario de la simulation. Le protocole a t valu selon cinq mtriques : le taux derreur dfini comme le nombre de nuds non affects aucune zone (nuds isols), le surcot dfini par le nombre de messages de contrles envoys et reus pour partitionner le rseau et construire les tables de routage, la consommation nergtique calcule suivant le surcot en se basant sur les caractristiques matrielles dun capteur MICA2, lespace de stockage calcule par le nombre doctets ncessaires pour stocker les informations de routage dans un capteur, la scalabilit ladaptabilit du systme garder ses fonctionnalits lorsquon passe un rseau grande chelle. Les simulations ont montr un taux derreur gal zro dans la plupart des cas, un faible surcot, une consommation nergtique trs modeste, et un petit espace de stockage ncessaire pour les informations de routage. Ces simulations ont galement montr le bon comportement du protocole dans les rseaux grande chelle. A la fin de cette thse, nous avons dcrit comment mettre en uvre le protocole de routage propos. Ainsi, nous avons dcrit la manire de construire un rseau de capteurs oprationnel en se basant sur une architecture hirarchique et en utilisant notre protocole de routage.
Perspectives
Afin de continuer le travail, nous proposons de dvelopper notre approche pour traiter le problme de la mobilit du Sink sur un chemin non prdfini. En effet, dans notre approche, les nuds qui collectent les donnes envoient les donnes au Sink (il a une position connue ou un chemin prdfini) ou ses voisins. Dautre part, lorsque le Sink est mobile, les nuds ne pourront plus connatre sa position. La solution basique est de diffuser les paquets de donnes dans tous le rseau. De cette manire, le Sink sera forcement atteint. Mais, cette solution nest pas efficace car le rseau est inond par lenvoi et la rception des paquets, ce qui consomme lnergie des nuds et
130
Conclusion par suite diminue la vie du systme. Une autre perspective est de proposer une technique de mise en veille des nuds qui ne sont pas utiliss durant un tel acheminement de donnes. Dans notre protocole hirarchique, certaines zones peuvent ne pas tre concernes par le fonctionnement du systme un certain moment. Pour cela, il est indispensable de mettre les nuds de ces zones en mode veille afin de conserver leur nergie et par suite prolonger la vie du systme. Enfin une dernire ide concernant une mthode dagrgation de donnes. En effet, dans cette mthode, plusieurs nuds qui sont proximit dun certain vnement communiquent dans le but de fusionner les donnes collectes. Lagrgation permettrait de minimiser le nombre denvois des donnes collectes identiques par plusieurs nuds voisins afin de les acheminer vers la destination finale. Ainsi, on prolonge la vie du systme en minimisant lenvoi et la rception des paquets.
131
Bibliographie
1. S. Macker, J. Corsen. Mobile Ad hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Consideration. RFC2501. [En ligne] January 1999. http://www.ietf.org/rfc/rfc2501.txt. 2. Jacquet, P. Muhlethaler, P. Clausen, T. Laouiti, A. Qayyum, A. Viennot, L. Optimized link state routing protocol for ad hoc networks. Multi Topic Conference IEEE INMI, Technology for the 21st Century. 2001, pp. 62- 68. 3. T. Clausen, P. Jacquet. Optimized Link State Routing Protocol. RFC3626. [En ligne] October 2003. http://www.ietf.org/rfc/rfc3626.txt. 4. Mario Gerla, Xiaoyan Hong, Guangyu Pei. Fisheye State Routing Protocol (FSR) for Ad Hoc Networks. INTERNET-DRAFT . [En ligne] 17 June 2002. http://tools.ietf.org/html/draft-ietf-manet-fsr03. 5. Pei, Guangyu, Gerla, M. and Chen, Tsu-Wei. Fisheye state routing : a routing scheme for ad hoc wirelessnetworks. IEEE International Conference on Communication. 2000, Vol. 1, pp. 70-74. 6. C. E. Perkins, E. M. Royer, S. R. Das. Ad hoc on demand distance vector (aodv ) routing. In IETF, Internet Draft, draft-ietf-manet-aodv-05.txt. [En ligne] 2000. 7. David B. Johnson, David A. Maltz. Protocols for adaptive wireless and mobile computing. IEEE Personal Communications. February 1996, Vol. 3, 1. 8. David B. Johnson, David A. Maltz, and Josh Broch. DSR: The Dynamic Source Routing Protocol for Multi-Hop Wireless Ad Hoc Networks. [d.] Tomasz Imielinski and Hank Korth. Kluwer Academic Publishers . 1996. pp. 153-181. 9. M. Jiang, J. Li & Y. C. Tay. Cluster Based Routing Protocol (CBRP). Internet draft 1, IETF-
IETF.
[En
ligne]
November
1998.
11. Lindqvist, J. Counting to Infinity. Sjkull : Helsinki Telecommunications Software and Multimedia Laboratory, 2004.
University
of
Technology,
12. Holger Karl, Andreas Wilig. Protocols and Architectures for Wireless Sensor Networks. Wiley. 2006. 13. Walden, D. The Bellman-Ford Algorithm and Distributed Bellman-Ford. [En ligne] 2009.
133
Bibliographie
http://www.walden-family.com/public/bf-history.pdf. 14. Charles E. Perkins, Pravin Bhagwat. Highly dynamic Destination-Sequenced Distance-Vector routing (DSDV) for mobile computers. ACM SIGCOMM Computer Communication Review. October 1994, Vol. 24, 4. 15. Adjih, C., Baccelli, E. et Jacquet, P. Link state routing in wireless ad-hoc networks. Military Communications Conference, MILCOM 2003. IEEE. 2003, Vol. 2, pp. 1274 - 1279. 16. Dijkstra, E. W. A note on two problems in connexion with graphs. [d.] Springer Berlin Heidelberg. Numerische Mathematik. dcembre 1959, Vol. Volume 1, pp. 269-271. 17. Moy, J. OSPF, Anatomy of an Internet Routing Protocol. Addison-Wesley. 1998. 18. Moy, J. OSPF version 2. RFC 2328. [En ligne] April 1998. http://ietf.org/rfc/rfc2328.txt. 19. Georges, Asch. Les capteurs en instrumentation industrielle. Dunod. 1998. 20. Noury, Norbet. Du signal l'information : le capteur intelligent Exemples industriels et en mdecine. Grenoble : TIMC-IMAG, 2002. 21. S.J., Pister Kristofer. http://webs.cs.berkeley.edu/tos/. TinyOS. [En ligne] 2009. 22. Kristofer, Pister. http://robotics.eecs.berkeley.edu/~pister/SmartDust/. SmartDust. [En ligne] 2001. 23. Crossbow. MICA2 Data sheet. [Online] http://www.xbow.com/products/Product_pdf_files/Wireless_pdf/MICA2_Datasheet.pdf. 2009.
24. Antoine Gallais, Franois Ingelrest, Jean Carle, David Simplot-Ryl. Maintien de la couverture de surface dans les rseaux de capteurs avec une couche physique non idale. CFIP, Colloque Francophone sur l'Ingnierie des Protocoles. 2006. 25. Gallais, Antoine. Ordonnancement dactivit dans les rseaux de capteurs : lexemple de la couverture de surface. Universit des sciences et technologies de Lille. 2007. Rapport de thse. 26. Cheng, K. Field and Wave Electromagnetics. s.l. : Addison-Wesley, 1989. p. 639. 27. CrossBow. Sensor Boards. https://www.xbow.com/Products/productdetails.aspx?sid=158. [En ligne]
28. I. F. Akyildiz, W. Su , Y. Sankarasubramaniam , E. Cayirci. Wireless sensor networks: a survey. 2002, Vol. 38, pp. 393-422. 29. C.Y. Chong, S.P. Kumar. Sensor Networks : Evolution, Opportunities, and Challenges.
134
Bibliographie
31. Brown, M. J. Users Guide Developed for the JBREWS Project. Los Alamos National Laboratory of California University. 1999. Technical repport LA-UR-99-4676. 32. Andrews, P. Johnson and D.C. Remote continuous monitoring in the home. Telemedicine and Telecare. June 1996, Vol. 2, 2, pp. 107-113. 33. E.M. Petriu, N.D. Georganas, D.C. Petriu, D. Makrakis, and V.Z. Groza. Sensor-based information appliances. IEEE Instrumentation Measurement Magazine. December 2000, Vol. 3, 4, pp. 31-35. 34. Michael Fitzgerald. Technnology Review : Tracking a Shopper's Habits. Technology Review. [En ligne] 04 August 2008. http://www.technologyreview.com/computing/21161/. 35. Chen, Tsu-Wei et Gerla, M. Global state routing: a new routing scheme for ad-hoc wirelessnetworks. IEEE International Conference on Communications. 1998, Vol. 1, pp. 171-175. 36. Stevens, L. Kleinrock and K. Fisheye: A Lenslike Computer Display Transformation. s.l. : UCLA, Computer Science Department, 1971. Technical report. 37. Josh Brosh, David B. Johnson, David A. Maltz. The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks. Internet Draft. [En ligne] 13 March 1998. http://www.ietf.org/proceedings/98dec/I-D/draft-ietf-manet-dsr-00.txt. 38. Anis Laouiti, Cdric Adjih. Mesures de performances du protocole OLSR. Projet Hipercom. 2003. Rapport technique. 39. Amir Qayyum, Laurent Viennot, Anis Laouiti. Multipoint relaying : An efficient technique for flooding in mobile wireless networks. s.l. : INRIA, 2000. Reaserch report. 40. S. Woo, S. Singh. Scalable Routing Protocols for Ad Hoc Networks. [d.] Kluwer Academic Publishers. Wireless Network. January 2001, Vol. 7, pp. 513-529. 41. C. Cheng, H. Lemberg, S. Philip, E. Van Den Berg et T. Zhang. SLALoM: Scalable Location Management Scheme for Large Mobile Ad Hoc Networks. Wireless Communications and Networking Conference. March 2002, Vol. 2, pp. 574 - 578. 42. Philip, Sumesh J. and Qiao, Chunming. Hierarchical grid location management for large wireless Ad hoc networks. SIGMOBILE Mob. Comput. Commun. Rev. 2003, Vol. 7, 3, pp. 33--34. 43. Li, Jinyang, et al. A scalable location service for geographic ad hoc routing. 6th annual
135
Bibliographie
46. Lee, K.C. Haerri, J. Uichin Lee Gerla, M. Enhanced Perimeter Routing for Geographic Forwarding Protocols in Urban Vehicular Scenarios. Globecom Workshops, 2007 IEEE. 2007. 47. W. Heinzelman, J. Kulik, and H. Balakrishnan. Adaptive protocols for information dissemination in wireless sensor networks. 5th annual ACM/IEEE international conference on Mobile computing and networking . August 1999, pp. 174 - 185. 48. Kemal Akkaya, Mohamed Younis. A survey on routing protocols for wireless sensor networks. Ad
136
Bibliographie
pp. 2009-2015. 61. Manjeshwar, Arati and Agrawal, Dharma P. APTEEN: A Hybrid Protocol for Efficient Routing and Comprehensive Information Retrieval in Wireless Sensor Networks. IPDPS '02, 16th International Parallel and Distributed Processing Symposium. 2003, p. 48. 62. Al-Karaki, Jamal N. and Ul-Mustafa, Raza and Kamal, Ahmed E. Data aggregation and routing in Wireless Sensor Networks: Optimal and heuristic algorithms. Computer Networks: The International Journal of Computer and Telecommunications Networking. 2009, Vol. 53, 7, pp. 945-960. 63. Al-Karaki, Jamal N. and Ul-Mustafa, Raza and Kamal, Ahmed E. Data aggregation in wireless sensor networks - exact and approximate algorithms. High Performance Switching and Routing, HPSR 2004. 2004, pp. 241-245. 64. A. Savvides, C.C. Han, and M. Srivastava. Dynamic fine-grained localization in Ad-Hoc networks of sensors. 7th ACM Annual International Conference on Mobile Computing and Networking (MobiCom). July 2001, pp. 166-179. 65. J.N. Al-Karaki, Kamal A.E. On the Correlated Data Gathering Problem in Wireless Sensor Networks. Ninth IEEE Symposium on Computers and Communications (ISCC04). July 2004, Vol. 1, pp. 226-231. 66. Lin H., Chu Y. A clustering technique for large multihop mobile wireless networks. Vehicular
137
Bibliographie
74. Jamal N. Al Karaki, Ahmed E. Kamal. Routing techniques in wireless sensor networks : A survey. Wireless Communications, IEEE. Dec 2004, 6, pp. 6-28. 75. Kamal Beydoun, Violeta Felea, and Herv Guyennet. Energy-Efficient WSN Infrastructure. DCSN'08, IEEE Int. Workshop on Distributed Collaborative Sensor Networks. May 2008, pp. 58--65. 76. Kamal Beydoun, Violeta Felea, and Herve Guyennet. Wireless Sensor Network Infrastructure: Construction and Evaluation. ICWMC'09, IEEE Int. Conf. on Wireless and Mobile Communications. August 2009, pp. 279-284. 77. Karp, R. M. Reducibility Among Combinatorial Problems. [d.] J. W. Thatcher R. E. Miller.
138
Bibliographie
93. Bernard Horan, Bill Bush, John Nolan, and David Cleal. A Platform for Wireless Networked Transducers. s.l. : SUN, 2007. 94. Sun SPOT. The Sensor http://www.snm.ethz.ch/Projects/SunSPOT.
Network
Museum.
[En
ligne]
2009.
[En
ligne]
Septembre
2009.
96. Sun SPOT World. [En ligne] 2009. http://www.sunspotworld.com/. 97. Kamal Beydoun, Violeta Felea, and Herv Guyennet. Wireless sensor network system helping navigation of the visually impaired. ICTTA'08, IEEE int. conf. on Information and Communication Technologies: from Theory to Applications. April 2008, pp. 1--5.
139
141