10.08.2013 Views

Topologie Dynamique Virtuelle pour le Routage dans les Réseaux ...

Topologie Dynamique Virtuelle pour le Routage dans les Réseaux ...

Topologie Dynamique Virtuelle pour le Routage dans les Réseaux ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

SETIT 2007<br />

4 th International Conference: Sciences of E<strong>le</strong>ctronic,<br />

Technologies of Information and Te<strong>le</strong>communications<br />

March 25-29, 2007 – TUNISIA<br />

<strong>Topologie</strong> <strong>Dynamique</strong> <strong>Virtuel<strong>le</strong></strong> <strong>pour</strong> <strong>le</strong> <strong>Routage</strong> <strong>dans</strong><br />

<strong>le</strong>s <strong>Réseaux</strong> Mobi<strong>le</strong>s Ad Hoc<br />

Kaouther Drira * , Hamamache Kheddouci * et Nabil Tabbane **<br />

* Laboratoire PRISMA, Université Claude Bernard Lyon 1, Bâtiment Nautibus,<br />

843, Bd. du 11 novembre 1918, 69622 Vil<strong>le</strong>urbanne Cedex France<br />

{kdrira, hkheddou}@bat710.univ-lyon1.fr<br />

** Unité de recherche MEDIATRON, Eco<strong>le</strong> Supérieure des Communications de Tunis<br />

Route de Raoued Km 3.5, 2083Cité El Ghazala Ariana, Tunisie<br />

nabil.tabbane@supcom.rnu.tn<br />

Résumé: Dans <strong>le</strong>s réseaux mobi<strong>le</strong>s ad hoc, la conception et la mise en oeuvre de protoco<strong>le</strong>s de routage représentent un<br />

problème comp<strong>le</strong>xe. Cela est du essentiel<strong>le</strong>ment à l’absence de toute infrastructure et de toute administration<br />

centralisée. Une des solutions à ce problème, passe par la mise en place de topologies bien adaptées au routage <strong>dans</strong> <strong>le</strong>s<br />

réseaux ad hoc. C’est <strong>dans</strong> ce cadre que s’inscrit notre travail. En effet, nous proposons une topologie orientée routage<br />

sur laquel<strong>le</strong> va s’appuyer ce dernier. Cette topologie intègre deux notions fondamenta<strong>le</strong>s: noeuds dominants et clusters.<br />

El<strong>le</strong> forme une structure capab<strong>le</strong> de s’adapter dynamiquement aux changements de l’environnement mobi<strong>le</strong>. Nous<br />

fournissons en outre des résultats expérimentaux qui mettent en évidence l’efficacité de la topologie et du protoco<strong>le</strong> de<br />

routage, notamment <strong>pour</strong> <strong>le</strong>s réseaux à forte densité de nœuds. L’algorithme a éga<strong>le</strong>ment l’avantage de supporter <strong>le</strong><br />

passage à l’échel<strong>le</strong>, d’être asynchrone et de minimiser <strong>le</strong> nombre de messages échangés.<br />

Mots-clés: Graphes, Protoco<strong>le</strong> de <strong>Routage</strong>, <strong>Réseaux</strong> Mobi<strong>le</strong>s Ad hoc, <strong>Topologie</strong> <strong>Dynamique</strong>.<br />

INTRODUCTION<br />

Les environnements mobi<strong>le</strong>s offrent aujourd'hui<br />

une bonne alternative de communication à moindre<br />

coût et à grande f<strong>le</strong>xibilité d'emploi. En effet, <strong>le</strong>s<br />

mobi<strong>le</strong>s permettent à un ensemb<strong>le</strong> de machines hôtes<br />

d’être interconnectées faci<strong>le</strong>ment et rapidement entre<br />

el<strong>le</strong>s avec un minimum d’infrastructure préalab<strong>le</strong>,<br />

voire sans infrastructure. Les réseaux mobi<strong>le</strong>s ad hoc<br />

sont définis comme une col<strong>le</strong>ction relativement dense<br />

d’entités mobi<strong>le</strong>s interconnectées par une liaison sans<br />

fil, sans aucune administration ou support fixe. Une<br />

des spécificités fondamenta<strong>le</strong>s de ces réseaux c’est<br />

qu’ils doivent assurer automatiquement <strong>le</strong>ur propre<br />

organisation interne sachant qu’aucune administration<br />

du réseau n’est fournie : ils doivent donc s’autoorganiser<br />

<strong>pour</strong> acheminer <strong>le</strong> trafic entre deux<br />

différents nœuds du réseau ad hoc.<br />

Un réseau mobi<strong>le</strong> ad hoc peut être modélisé par un<br />

graphe orienté connexe G = (V, E). V représente<br />

l'ensemb<strong>le</strong> des nœuds (i.e. <strong>le</strong>s unités ou <strong>le</strong>s hôtes<br />

mobi<strong>le</strong>s) du réseau et E modélise l'ensemb<strong>le</strong> des<br />

connections qui existent entre ces nœuds. Si e = (u,v)<br />

Є E, cela veut dire que <strong>le</strong>s nœuds u et v sont en<br />

mesure de communiquer directement à l'instant t.<br />

- 1 -<br />

Les réseaux ad hoc et plus particulièrement la<br />

définition d’une stratégie de routage au sein de ces<br />

réseaux ouvrent une nouvel<strong>le</strong> piste de recherche.<br />

L’objectif consiste à résoudre <strong>le</strong> problème<br />

d’acheminent de l’information entre <strong>le</strong>s différents<br />

nœuds du réseau d’une manière efficace. Quelques<br />

paramètres doivent être pris en compte afin<br />

d’économiser la bande passante, <strong>le</strong>s ressource radio<br />

rares, etc. Le protoco<strong>le</strong> conçu doit s’adapter à<br />

l’augmentation du nombre de participants et à <strong>le</strong>urs<br />

mobilités <strong>pour</strong> qu’il puisse fonctionner correctement.<br />

Notre point de vue sur ce problème est fondé sur<br />

l'idée de structurer et d'organiser <strong>le</strong> réseau avant de<br />

diffuser efficacement une information. L’idée consiste<br />

à agir sur des paramètres <strong>pour</strong> obtenir la topologie<br />

adéquate du réseau. La présence d'une tel<strong>le</strong> structure<br />

<strong>pour</strong>rait: diminuer l'impact de la mobilité, optimiser <strong>le</strong><br />

passage à l'échel<strong>le</strong>, faciliter <strong>le</strong> routage…<br />

En effet, un réseau ad hoc est un réseau<br />

complètement autonome qui ne se base sur aucune<br />

infrastructure existante. Afin de faciliter la<br />

communication et optimiser <strong>le</strong>s taches qui impliquent<br />

plusieurs nœuds à la fois, une organisation du réseau<br />

s’impose. Cette organisation est garantie par la mise<br />

en place d’une topologie logique <strong>dans</strong> <strong>le</strong> réseau. Cette


SETIT2007<br />

topologie permet d’imposer des règ<strong>le</strong>s et des<br />

contraintes qui régissent <strong>le</strong> fonctionnement du réseau,<br />

ainsi que la collaboration qui existe entre <strong>le</strong>s<br />

différends nœuds.<br />

Nous allons <strong>dans</strong> une première partie présenter un<br />

état de l’art des solutions existantes <strong>pour</strong> la<br />

construction d’arbres, de clusters, d’un sous-ensemb<strong>le</strong><br />

de nœuds dominants <strong>dans</strong> un réseau ainsi que <strong>le</strong>s<br />

solutions des protoco<strong>le</strong>s de routage. Ensuite, la partie<br />

suivante traite notre topologie orientée routage. Son<br />

principe est basé sur la sé<strong>le</strong>ction d’un sous-ensemb<strong>le</strong><br />

de nœuds afin de contrô<strong>le</strong>r et de maintenir la topologie<br />

désirée du réseau puis un nouvel algorithme de<br />

groupement en cluster est appliqué. Dans la troisième<br />

partie, nous décrivons notre solution de routage.<br />

Quelques résultats expérimentaux vont suivre <strong>pour</strong><br />

démontrer l’efficacité de la topologie et du protoco<strong>le</strong><br />

de routage proposés. Une conclusion et des<br />

perspectives achèveront cet artic<strong>le</strong>.<br />

1. Etat de l'art<br />

Le routage est un des problèmes <strong>le</strong> plus diffici<strong>le</strong>.<br />

Cependant, <strong>le</strong>s solutions actuel<strong>le</strong>s ne peuvent être<br />

utilisées sur des réseaux à grande échel<strong>le</strong> car <strong>le</strong> trafic<br />

de contrô<strong>le</strong> généré, ainsi que <strong>le</strong>s tab<strong>le</strong>s de routage<br />

augmentent avec la tail<strong>le</strong> du réseau. De nombreux<br />

protoco<strong>le</strong>s de routage ont été proposés. Ces protoco<strong>le</strong>s<br />

peuvent être classés en trois catégories [ROY 99]:<br />

réactif, proactif et hybride. Le réactif crée des routes à<br />

la demande. Un nœud initie une découverte de route<br />

lorsqu’il doit envoyer un paquet et qu’il ne connaît<br />

aucune route vers la destination. Dans l’approche<br />

proactive, chaque nœud connaît une route vers chaque<br />

nœud du réseau.<br />

Parmi <strong>le</strong>s protoco<strong>le</strong>s réactifs développés, nous<br />

pouvons trouver : Dynamic Source Routing (DSR), Ad<br />

hoc On Demand Distance Vector (AODV), Temporally<br />

Ordered Routing Algorithm (TORA) et Associativity<br />

Based Routing (ABR). Ces derniers protoco<strong>le</strong>s<br />

maintiennent des architectures plates. Des protoco<strong>le</strong>s<br />

proactifs ont été proposés tels que Destination<br />

Sequenced Distance Vector (DSDV), Wire<strong>le</strong>ss Routing<br />

Protocol (WRP), Global State Routing (GSR),<br />

Clusterhead Gateway Switch Routing (CGSR) et<br />

Fisheye State Routing (FSR). Le routage <strong>dans</strong> DSDV,<br />

FSH, GSR et WRP est basé sur une architecture plate<br />

tandis que <strong>dans</strong> CGSR, il est basé sur une architecture<br />

hiérarchique. Les protoco<strong>le</strong>s hybrides combinent <strong>le</strong>s<br />

dispositifs proactifs et réactifs. Comme exemp<strong>le</strong>, nous<br />

pouvons citer <strong>le</strong> protoco<strong>le</strong> Zone Routing Protocol<br />

(ZRP) [ZOU 02].<br />

Le contrô<strong>le</strong> de la topologie [WAT 01] <strong>dans</strong> <strong>le</strong>s<br />

réseaux ad hoc est un domaine de recherche récent. Il<br />

vise à maintenir une topologie adéquate en maîtrisant<br />

<strong>le</strong>s liens à inclure <strong>dans</strong> <strong>le</strong> réseau. Parmi <strong>le</strong>s objectifs<br />

visés, on peut citer : la réduction des interférences, la<br />

réduction de la consommation d’énergie,<br />

l’augmentation de la capacité efficace de réseau…<br />

Certains travaux se basent sur ses critères <strong>pour</strong><br />

proposer une construction de topologies adaptée à<br />

- 2 -<br />

<strong>le</strong>urs protoco<strong>le</strong>s. Suite aux capacités limitées des<br />

équipements mobi<strong>le</strong>s en termes de batterie, <strong>le</strong>s<br />

premiers travaux <strong>pour</strong> <strong>le</strong> contrô<strong>le</strong> de la topologie <strong>dans</strong><br />

<strong>le</strong>s réseaux ad hoc utilisent la consommation d’énergie<br />

comme métrique. Ces travaux sont basés<br />

principa<strong>le</strong>ment sur l’ajustement de la puissance de<br />

transmission des nœuds [RAM 00]. Une autre<br />

approche <strong>pour</strong> contrô<strong>le</strong>r la topologie du réseau ad hoc<br />

est basée sur l’utilisation d’un sous-ensemb<strong>le</strong> de<br />

noeuds <strong>pour</strong> couvrir la totalité du réseau. Ce sousensemb<strong>le</strong><br />

peut servir de cluster-head (super noeud)<br />

dotés de fonctionnalités additionnel<strong>le</strong>s. Ce type<br />

d’approche, souvent appelée ’Cluster Based Protocol’,<br />

consiste à élire un ensemb<strong>le</strong> de cluster-heads, où<br />

chaque noeud mobi<strong>le</strong> est associé à un cluster-head.<br />

D'autres approches proposent la construction d'un<br />

ensemb<strong>le</strong> dominant connecté (connected dominating<br />

set: CDS) comme un backbone virtuel <strong>pour</strong> acheminer<br />

<strong>le</strong>s informations <strong>dans</strong> un réseau mobi<strong>le</strong>. Cet ensemb<strong>le</strong><br />

dominant est une notion de la théorie de graphes. Un<br />

sous-ensemb<strong>le</strong> D de V est dit dominant si et seu<strong>le</strong>ment<br />

si tout nœud de V est soit <strong>dans</strong> D soit voisin d’un<br />

nœud de D. Plus précisément, l’ensemb<strong>le</strong> D est<br />

dominant si et seu<strong>le</strong>ment si:<br />

∀ i ∈V<br />

i ∈ D ∧ ( ∃j<br />

∈ D i ∈ N(<br />

j))<br />

(1)<br />

Dans un réseau ad hoc, l’ensemb<strong>le</strong> dominant doit<br />

être connexe <strong>pour</strong> assurer une diffusion complète. Par<br />

définition, un graphe est dit connexe si tous <strong>le</strong>s nœuds<br />

sont joignab<strong>le</strong>s, c’est-à-dire qu’il existe toujours un<br />

chemin constitué d’arcs reliant deux nœuds du graphe.<br />

Cette propriété est très importante <strong>dans</strong> <strong>le</strong> cas des<br />

ensemb<strong>le</strong>s dominants. En effet, el<strong>le</strong> garantit que<br />

chaque nœud de l’ensemb<strong>le</strong> dominant peut joindre<br />

n’importe quel autre nœud de ce même ensemb<strong>le</strong>.<br />

Quand un nœud décide de diffuser un message et si<br />

tous <strong>le</strong>s nœuds appartenant au CDS réémettent, tout <strong>le</strong><br />

réseau est couvert. L'intérêt ici est de minimiser la<br />

tail<strong>le</strong> du CDS de manière à limiter <strong>le</strong> nombre de<br />

nœuds qui retransmettent <strong>le</strong> message. De même <strong>pour</strong><br />

<strong>le</strong> routage, diminuer la tail<strong>le</strong> du CDS réduit la<br />

comp<strong>le</strong>xité de la recherche de route. Wu et Li [WU<br />

01] proposent un algorithme de marquage fournissant<br />

un CDS. Les nœuds sont supposés disposer d'une<br />

priorité qui peut être fonction de l'identifiant du nœud,<br />

du niveau de batterie, du nombre de voisins ou encore<br />

aléatoire. La première étape de l'algorithme consiste à<br />

marquer <strong>le</strong>s nœuds possédant au moins deux voisins<br />

qui ne sont pas directement connectés. Ensuite, deux<br />

règ<strong>le</strong>s sont successivement appliquées <strong>pour</strong> réduire la<br />

tail<strong>le</strong> du CDS précédemment obtenu.<br />

Plusieurs méthodes ont été déployées <strong>pour</strong><br />

construire une topologie d’arbre. Dans l’artic<strong>le</strong> [JAV<br />

05], <strong>le</strong>s auteurs propose de construire l’arbre couvrant<br />

minimal MST à partir de l’arbre couvrant minimal<br />

localisé LMST (local minimum spanning-tree) [LI 03].<br />

Chaque nœud construit indépendamment son arbre<br />

d'enjambement minimum local et ne maintient que <strong>le</strong>s<br />

nœuds qui sont à un houblon loin de ses voisins <strong>dans</strong><br />

la topologie fina<strong>le</strong>. En cas de l’ajout d’un nœud <strong>dans</strong><br />

<strong>le</strong> réseau, l’algorithme proposé achève une mise à jour<br />

de MST simp<strong>le</strong> à mettre en oeuvre.


SETIT2007<br />

Un K-tree est un arbre à k feuil<strong>le</strong>s, minimisant la<br />

distance entre un nœud du réseau et un nœud de<br />

l’arbre. Les artic<strong>le</strong>s [SRI 02] et [SRI 03] traitent <strong>dans</strong><br />

un premier temps la création d’un spanning-tree dont<br />

<strong>le</strong>s feuil<strong>le</strong>s se trouvent à la périphérie du réseau. La<br />

deuxième étape consiste à interconnecter tous <strong>le</strong>s<br />

arbres. Chaque racine envoie un identifiant d’arbre.<br />

Une fois <strong>le</strong> nœud reçoit <strong>le</strong>s identifiants de tous ses<br />

voisins, il sé<strong>le</strong>ctionne l’identifiant <strong>le</strong> plus fort, et en<br />

cas d’égalité, il choisi comme père l’émetteur de cet<br />

identifiant. Une tel<strong>le</strong> solution est intéressante car el<strong>le</strong><br />

élit des cluster-heads permettant de minimiser la<br />

distance entre <strong>le</strong>s cluster-heads et <strong>le</strong>s membres.<br />

Cependant, <strong>le</strong> nombre de cluster-heads est fixe, ce qui<br />

défavorise l’adaptabilité de tous <strong>le</strong>s nœuds du réseau.<br />

De plus, des antennes directionnel<strong>le</strong>s sont obligatoires<br />

<strong>pour</strong> pouvoir départager un cône de réception d’ang<strong>le</strong><br />

α. La structure du k-tree n’est pas construite selon des<br />

principes de stabilité, el<strong>le</strong> entraîne de nombreuses<br />

mises à jour, et des répercussions globa<strong>le</strong>s de<br />

changements locaux. Le trafic de contrô<strong>le</strong> est donc<br />

important. L’approche du k-tree core a été utilisée<br />

<strong>pour</strong> un routage dense entre clusters par<br />

l’intermédiaire de « dense cluster gateways » (DCG)<br />

[GHO 06]. Ce dernier est caractérisé par un nombre<br />

important d’arrêtes assurant la connectivité entre deux<br />

clusters. Ce protoco<strong>le</strong> est une amélioration du routage<br />

basé sur <strong>le</strong> clustering et utilisant <strong>le</strong> backbone k-tree<br />

core, Il assure en outre des meil<strong>le</strong>ures performances<br />

du trafic <strong>dans</strong> <strong>le</strong> cluster et réduit <strong>le</strong> goulot<br />

d’étrang<strong>le</strong>ment <strong>dans</strong> <strong>le</strong> cluster-head. Il se base sur une<br />

nouvel<strong>le</strong> méthode appelée random wheel. Son principe<br />

consiste à choisir une passerel<strong>le</strong> <strong>pour</strong> router<br />

l'information. Cette méthode présente l'avantage de<br />

diminuer la probabilité de choisir une passerel<strong>le</strong> ayant<br />

une surcharge de routage. Cependant, cette approche<br />

copie tous <strong>le</strong>s inconvénients de l’approche décrite<br />

<strong>dans</strong> [SRI 02] et [SRI 03].<br />

2. <strong>Topologie</strong> orientée routage<br />

2.1. Description de la construction de la topologie<br />

L'idée principa<strong>le</strong> consiste à construire un ensemb<strong>le</strong><br />

de nœuds dominants <strong>dans</strong> <strong>le</strong> réseau. Le caractère<br />

dominant caractérise <strong>le</strong>s nœuds dont <strong>le</strong> nombre de<br />

chemin de diffusion, <strong>pour</strong> atteindre <strong>le</strong>s nœuds à deux<br />

sauts, est supérieur à celui de <strong>le</strong>urs voisins. La fixation<br />

des nœuds dominants représente une étape primordia<strong>le</strong><br />

<strong>pour</strong> la construction de l’ensemb<strong>le</strong> des clusters dont <strong>le</strong><br />

diamètre est égal au plus à quatre. En outre, chaque<br />

cluster est identifié par trois catégories de noeuds :<br />

(1) Le cluster-head (CH) est un nœud dominant et il<br />

est chef du cluster<br />

(2) Les cluster-heads secondaires (CHS) est un sousensemb<strong>le</strong><br />

de nœuds dominants voisins au CH. Ces<br />

nœuds se mettent d’accord sur <strong>le</strong> même CH.<br />

(3) Les nœuds ordinaires (NO) ne sont pas des nœuds<br />

dominants.<br />

Le CH acquiert une connaissance tota<strong>le</strong> des nœuds<br />

de son cluster. Etant donné une requête à diffuser,<br />

cette dernière doit passer par <strong>le</strong> CH. Si la destination<br />

- 3 -<br />

n’apparaît pas <strong>dans</strong> sa tab<strong>le</strong> de voisinage (ses voisins<br />

ainsi que <strong>le</strong>urs voisins), la requête est par conséquent<br />

diffusée vers <strong>le</strong>s CHSs qui s’occupent à la faire<br />

circu<strong>le</strong>r aux nœuds passerel<strong>le</strong>s. Une passerel<strong>le</strong> permet<br />

de diffuser l’information aux clusters voisins. Un<br />

cluster maintient une structure d’arborescence uti<strong>le</strong><br />

<strong>pour</strong> éliminer <strong>le</strong>s bouc<strong>le</strong>s au sein du cluster. Ainsi, <strong>le</strong><br />

réseau tout en entier peut être considéré comme un<br />

ensemb<strong>le</strong> de zones reliées.<br />

Le principe de l’algorithme se résume comme<br />

suit : Au début, chaque noeud <strong>dans</strong> <strong>le</strong> réseau choisi<br />

son nœud préféré (appelé aussi nœud de diffusion) : <strong>le</strong><br />

nœud qui lui assure une meil<strong>le</strong>ure diffusion à deux<br />

sauts. Ensuite, <strong>le</strong> nœud de diffusion ayant une<br />

moyenne de choix supérieure à cel<strong>le</strong> de ses voisins se<br />

déclare comme CH. La moyenne de choix est <strong>le</strong><br />

rapport du nombre de nœuds dominants qui sont<br />

voisins à un nœud u et ont choisi ce même nœud u<br />

comme nœud de diffusion divisé par <strong>le</strong> nombre de<br />

voisins. Pour <strong>le</strong>s NOs, ils sont toujours rattachés à <strong>le</strong>ur<br />

nœud de diffusion. Ces nœuds ont une moyenne de<br />

choix nul<strong>le</strong>. Une forêt est alors construite en reliant <strong>le</strong>s<br />

CHs, <strong>le</strong>s CHSs et <strong>le</strong>s NOs. Après, l'algorithme<br />

construit la tab<strong>le</strong> de routage intra cluster afin de<br />

donner une structure appropriée à chaque arbre. Cette<br />

dernière est située uniquement au niveau du CH. Pour<br />

<strong>le</strong>s CHSs et <strong>le</strong>s NOs, ils maintiennent un vecteur<br />

(prochain nœud qui recevra l’information) vers <strong>le</strong>ur<br />

noeud de diffusion. L'algorithme construit ainsi la<br />

tab<strong>le</strong> inter cluster au niveau des nœuds de frontière :<br />

<strong>le</strong>s passerel<strong>le</strong>s. Il est à noter que chaque cluster a un<br />

identifiant unique qui est l’identité du CH. Décrivons<br />

maintenant <strong>le</strong>s différentes étapes de l'algorithme. Il se<br />

décompose en trois phases:<br />

(1) E<strong>le</strong>ction du nœud de diffusion,<br />

(2) Partitionnement du réseau,<br />

(3) Nomination des clusters.<br />

Ces différentes phases sont établies à base de<br />

l'information fournie par <strong>le</strong>s messages HELLO.<br />

HELLO est un message périodique échangé seu<strong>le</strong>ment<br />

entre un noeud et ses voisins. Ce message ne contient<br />

au début que l’information reliée à son identité. Le<br />

contenu de ce message sera enrichi au fur et à mesure<br />

de son évolution <strong>dans</strong> <strong>le</strong>s différentes phases de<br />

l'algorithme. Après réception des messages HELLO de<br />

ses voisins directs, <strong>le</strong> nœud u connaît l’identité et <strong>le</strong><br />

degré de ses voisins. Il enregistre ces informations<br />

<strong>dans</strong> une matrice appelée matrice de la topologie. Le<br />

message HELLO forme une structure de vecteur<br />

HELLO={ZID, VID, N, DEG, BP, BN, AVRG, GTWY}:<br />

− Zone ID number (ZID) : identité du cluster,<br />

− Vertex ID number (VID) : l’identifiant du nœud,<br />

− Neighbors (N) : liste des noeuds voisins,<br />

− Degree (DEG) : <strong>le</strong> nombre de voisins,<br />

− Broadcast Parameter (BP) : paramètre de<br />

diffusion, <strong>le</strong> nombre des chemins possib<strong>le</strong>s <strong>pour</strong><br />

atteindre ses voisins à deux sauts,<br />

− Broadcast Neighbour (BN) : noeud de diffusion,<br />

<strong>le</strong> nœud préféré (ayant la va<strong>le</strong>ur maxima<strong>le</strong> de BP)<br />

<strong>pour</strong> la diffusion à deux sauts,


SETIT2007<br />

− Average (AVRG) : rapport du nombre de nœuds<br />

dominants qui sont voisins à un nœud u et ont<br />

choisi ce même nœud u comme nœud de diffusion<br />

divisé par <strong>le</strong> nombre de voisins,<br />

− Gateway (GTWY): <strong>le</strong> champ mis à 1 si un nœud<br />

est une passerel<strong>le</strong> sinon il est mis à zéro.<br />

2.1.1. Calcul du BP et choix du BN<br />

Une fois toutes <strong>le</strong>s mises à jour de la matrice sont<br />

effectuées, <strong>le</strong> nœud u calcu<strong>le</strong> son BP. Trois cas<br />

peuvent se présenter :<br />

− Si <strong>le</strong> nœud u ne possède aucun voisin alors son<br />

paramètre de diffusion sera mis à zéro et il<br />

s’identifie en tant que nœud de diffusion. Dans la<br />

figure 1, <strong>le</strong> nœud 14 n’a pas de voisin ; ce qui<br />

implique l’absence de nœud de diffusion. Son<br />

champ BP contient donc son identité.<br />

− Si <strong>le</strong> nœud u possède un seul voisin alors son<br />

unique voisin est son BN. A titre d’exemp<strong>le</strong>, <strong>le</strong><br />

nœud 5 de la figure 1 choisit <strong>le</strong> nœud 13 comme<br />

nœud de diffusion.<br />

− Si DEGu >1 alors <strong>le</strong> nœud u applique la formu<strong>le</strong><br />

suivante :<br />

BP ( DEG − 1 )<br />

(2)<br />

u = ∑<br />

i∈N<br />

i<br />

Il cherche l’ensemb<strong>le</strong> de ses voisins ayant la<br />

va<strong>le</strong>ur maxima<strong>le</strong> du paramètre BP :<br />

BN u= { VIDi avec i/<br />

∃ i ∈ N , ∀ j ∈ N BPi=max(BP(Nj))} (3)<br />

Figure 1: E<strong>le</strong>ction du nœud de diffusion<br />

Dans la figure 1, <strong>le</strong> nœud 1 choisit <strong>le</strong> nœud 15<br />

comme nœuds de diffusion, ce nœud a la va<strong>le</strong>ur<br />

maxima<strong>le</strong> du paramètre BP (marquée avec la cou<strong>le</strong>ur<br />

rouge et BP=18) des nœuds voisins. Si l’ensemb<strong>le</strong> BN<br />

contient plusieurs nœuds, <strong>le</strong> nœud dont <strong>le</strong> VID =1<br />

choisit celui qui a <strong>le</strong> plus grand nombre de voisins. En<br />

cas d’égalité, <strong>le</strong> nœud caractérisé par l’identité<br />

maxima<strong>le</strong> est privilégié. Donc, <strong>le</strong> nœud 1 choisi <strong>le</strong><br />

nœud 15.<br />

Les nœuds s'échangent périodiquement <strong>le</strong>s<br />

informations des messages HELLO, et chacun<br />

construit une partie de l’arbre de la topologie offrant<br />

des routes vers <strong>le</strong>s autres nœuds. En effet, un nœud<br />

choisit son meil<strong>le</strong>ur chemin, ainsi que <strong>le</strong> nœud voisin<br />

qui va être élu comme nœud de diffusion. Dans cette<br />

partie, <strong>le</strong> choix du BN se fait en une seu<strong>le</strong> étape. Le<br />

choix d’un nœud ne dépend pas du choix des autres.<br />

- 4 -<br />

2.1.2. Partitionnement du réseau<br />

La formation du noyau du cluster est limitée<br />

uniquement aux nœuds dominants. Dès qu‘un noeud u<br />

détermine son nœud préféré, il doit informer ses<br />

voisins de sa décision. Après avoir reçu tous <strong>le</strong>s<br />

messages HELLO voisins, <strong>le</strong> nœud u calcu<strong>le</strong> sa<br />

moyenne de choix (AVRG). Dans cette partie <strong>le</strong> choix<br />

du CH dépend parfois du choix des autres nœuds :<br />

− Un nœud u avec une moyenne de choix<br />

supérieure à cel<strong>le</strong>s de ses voisins se déclare<br />

comme CH. Ses (BNs) -1 (sous-ensemb<strong>le</strong> de nœuds<br />

dominants qui se mettent d’accord sur <strong>le</strong> même<br />

CH) vont être inclus <strong>dans</strong> <strong>le</strong> noyau du cluster. Ces<br />

nœuds sont appelés CHSs. La figure 2 illustre que<br />

<strong>le</strong> nœud 15 a une variab<strong>le</strong> AVRG éga<strong>le</strong> à 1<br />

(marquée en b<strong>le</strong>u) et supérieure à la moyenne des<br />

nœuds {1, 3, 6, 9}. Le noyau du cluster est formée<br />

par <strong>le</strong> CH (VID=15) et <strong>le</strong>s CHSs: VID = {1,3,6,9}.<br />

− Un nœud u peut ne pas vérifier la première<br />

condition, il a au moins un nœud voisin avec une<br />

moyenne supérieure à la sienne. Si ce nœud<br />

voisin est un CHS, alors <strong>le</strong> nœud u se déclare<br />

comme CH. Sinon <strong>le</strong> nœud ne fait rien, il attend<br />

un changement des messages HELLO.<br />

Par exemp<strong>le</strong> <strong>dans</strong> la figure 2, <strong>le</strong> nœud 4 a comme<br />

voisins dominants {1, 9, 24}, sa moyenne est :<br />

[AVRG4 = 1 ] > [AVRG1 = 1 ] et [AVRG24 = 1 ]<br />

2<br />

4<br />

4<br />

Mais [AVRG4 = 1 ] < [AVRG9 = 3 ]<br />

2<br />

5<br />

Si <strong>le</strong> nœud 9 a été choisi par <strong>le</strong> nœud 15 comme un<br />

CHS, <strong>le</strong> nœud 4 limite sa comparaison aux nœuds 1<br />

et 24. Sa moyenne est supérieure, il se déclare donc<br />

comme CH et ses (BNs) -1 sont définies comme CHSs.<br />

Dans ce cas, <strong>le</strong> seul nœud qui appartient à la tab<strong>le</strong> de<br />

routage intra cluster est <strong>le</strong> nœud 24. Le nœud 20<br />

n’appartient pas au noyau du cluster puisqu’il n’est<br />

pas un nœud dominant.<br />

Figure 2: Formation du noyau du cluster<br />

Dans l’étape suivante, nous avons comme entrée<br />

<strong>le</strong>s noyaux des clusters sous forme d’un ensemb<strong>le</strong><br />

d’étoi<strong>le</strong>s éparpillées <strong>dans</strong> <strong>le</strong> réseau. En sortie, <strong>le</strong>s NOs<br />

vont se rattacher à <strong>le</strong>urs nœuds de diffusions (Fig. 3).


SETIT2007<br />

Figure 3: Partitionnement du réseau<br />

2.1.3. Nomination des clusters<br />

Le but de cette partie est de correctement répartir<br />

<strong>le</strong>s différents noeuds afin de définir <strong>le</strong>s clusters. Ceci<br />

doit être mis en oeuvre de tel<strong>le</strong> sorte que chaque nœud<br />

<strong>dans</strong> <strong>le</strong> réseau n'appartient qu'à un seul cluster. Pour<br />

tout nœud du réseau qui se déclare comme CH, son<br />

champ ZID prend la va<strong>le</strong>ur de son VID. Pour <strong>le</strong>s autres<br />

nœuds (<strong>le</strong>s CHSs et <strong>le</strong>s NOs), <strong>le</strong>urs champs ZID<br />

prennent une va<strong>le</strong>ur éga<strong>le</strong> à cel<strong>le</strong> de <strong>le</strong>urs nœuds de<br />

diffusions. En effet, l’attribution d’un numéro à un<br />

cluster se fait d’une façon hiérarchique : tout d’abord,<br />

<strong>le</strong>s CHs définissent <strong>le</strong>s va<strong>le</strong>urs de <strong>le</strong>urs champs ZID<br />

qui seront copiées à la suite par <strong>le</strong>urs voisins. Cette<br />

procédure sera itérée sur <strong>le</strong>s voisins des voisins afin<br />

d’aboutir à un ensemb<strong>le</strong> de zone formant une forêt.<br />

2.2. Maintenance des clusters<br />

Les changements topologiques d’un réseau mobi<strong>le</strong><br />

ad hoc peuvent se résumer en trois différents types :<br />

allumage, arrêt et mouvement de l’hôte mobi<strong>le</strong>.<br />

En ce qui concerne <strong>le</strong>s nœuds de diffusion, une<br />

mise à jour automatique de <strong>le</strong>urs va<strong>le</strong>urs est réalisée<br />

chaque fois qu’un nœud de diffusion modifie son<br />

champ BN suivant <strong>le</strong>s messages HELLO de ses<br />

voisins. Par conséquent, nous n’avons pas besoin <strong>dans</strong><br />

ces conditions d’un algorithme de maintenance <strong>pour</strong><br />

ces nœuds de diffusion. Le défi ici consiste à définir<br />

l’instant de la mise à jour du CH et à recalcu<strong>le</strong>r ses<br />

informations au niveau du cluster.<br />

− s’il y a ajout d’un nouveau nœud <strong>dans</strong> <strong>le</strong> réseau,<br />

<strong>le</strong> CH compare la va<strong>le</strong>ur de sa moyenne<br />

(AVRGCH) à cel<strong>le</strong> du nouveau nœud (AVRG’).<br />

− Si AVRGCH > AVRG’, <strong>le</strong> CH ajoute cette<br />

nouvel<strong>le</strong> entrée <strong>dans</strong> sa tab<strong>le</strong> de routage intra<br />

cluster.<br />

− Sinon il initialise son état, son identité de<br />

zone est vide.<br />

− Une entrée de sa tab<strong>le</strong> de routage intra cluster est<br />

supprimée tant qu’el<strong>le</strong> n’apparaît pas <strong>dans</strong> son<br />

voisinage.<br />

− Si AVRGCHS devient supérieure à AVRGCH, alors<br />

<strong>le</strong> CH initialise son état.<br />

Les CHSs et <strong>le</strong>s NOs seront automatiquement mis<br />

à jour dés qu’il y a une mise à jour du CH.<br />

- 5 -<br />

2.3. Construction de la tab<strong>le</strong> de routage inter cluster<br />

La recherche de la destination est effectuée au<br />

niveau du cluster. En son absence, la recherche doit se<br />

faire <strong>dans</strong> <strong>le</strong>s autres clusters. Ce sont <strong>le</strong>s passerel<strong>le</strong>s<br />

qui permettent la communication entre eux. Pour<br />

router l’information aux clusters voisins, une<br />

passerel<strong>le</strong> consulte sa tab<strong>le</strong> de routage inter cluster.<br />

Cette tab<strong>le</strong> contient un sous-ensemb<strong>le</strong> de nœuds<br />

voisins qui vont prendre la relève <strong>pour</strong> <strong>le</strong> routage.<br />

Ceci présente l’avantage de minimiser <strong>le</strong> nombre<br />

d’entrée de la tab<strong>le</strong> de routage, uniquement <strong>le</strong>s nœuds<br />

de frontière auront une tab<strong>le</strong> de routage inter cluster.<br />

Une passerel<strong>le</strong> regroupe <strong>dans</strong> sa tab<strong>le</strong> de routage tous<br />

<strong>le</strong>s voisins appartenant à d’autres clusters ayant<br />

comme champ GTWY=1. Il peut exister plus qu’un<br />

nœud avec une même identité de zone. Pour minimiser<br />

d’avantage la tail<strong>le</strong> de la tab<strong>le</strong>, une passerel<strong>le</strong><br />

maintient un seul nœud menant à un cluster voisin.<br />

Cette sé<strong>le</strong>ction privilégie <strong>le</strong>s nœuds situés en haut de<br />

la hiérarchie. Si deux nœuds ou plus appartiennent à la<br />

même hiérarchie, <strong>le</strong> choix se base sur <strong>le</strong> nœud ayant<br />

un degré maximal. En cas d’égalité du degré, c’est <strong>le</strong><br />

nœud dont sa VID est maxima<strong>le</strong> qui sera inclut <strong>dans</strong> la<br />

tab<strong>le</strong> de routage inter cluster.<br />

3. Conception du protoco<strong>le</strong> de routage<br />

Cette section décrit notre algorithme de routage se<br />

base sur la topologie construite <strong>dans</strong> la section<br />

précédente. Lorsqu’un paquet arrive à l’agent de<br />

routage, ce dernier vérifie si la destination existe ou<br />

non <strong>dans</strong> la tab<strong>le</strong> de voisinage à un et à deux sauts -<br />

chaque nœud <strong>dans</strong> <strong>le</strong> réseau à une connaissance à deux<br />

sauts :<br />

− Si la route menant au destinataire est trouvée,<br />

l’agent envoie une réponse (route_reply) qui<br />

suivra <strong>le</strong> chemin inverse <strong>pour</strong> informer <strong>le</strong> nœud<br />

source du chemin comp<strong>le</strong>t menant au destinataire.<br />

− Si la destination n’apparaît pas, l’agent essaye<br />

alors de trouver une route. Par conséquent, il<br />

envoie sa requête (route_request) en appliquant<br />

soit la première phase correspondant au routage<br />

intra cluster soit la deuxième phase correspondant<br />

au routage inter cluster. Ceci ne peut avoir lieu<br />

qu’après avoir ajouté ce nœud intermédiaire à la<br />

requête et enregistré cette requête <strong>dans</strong> sa<br />

mémoire tampon. Chaque nœud ayant reçu la<br />

requête (route_request), maintient un vecteur<br />

inverse qui indique <strong>le</strong> chemin de la réponse. Un<br />

tel vecteur n’est activé que s’il reçoit un<br />

route_reply associé à cette même requête. Si après<br />

un certain temps, <strong>le</strong> vecteur n’est pas activé, il est<br />

automatiquement supprimé de sa mémoire<br />

tampon ainsi que la requête associée.<br />

Le route_request forme une struture de vecteur ;<br />

route_request={ SRC, DEST, IN, phase}avec :<br />

− <strong>le</strong> champ SRC : l’identité du nœud source,<br />

− <strong>le</strong> champ DEST : l’identité du nœud destinataire,<br />

− <strong>le</strong> champ IN : <strong>le</strong>s identités des nœuds<br />

intermédiaires. Chaque nœud enregistre son<br />

identité avant de la diffuser,


SETIT2007<br />

− <strong>le</strong> champ phase : indique la phase du routage.<br />

Phase=1 <strong>pour</strong> <strong>le</strong> routage intra cluster et phase=2<br />

<strong>pour</strong> <strong>le</strong> routage inter cluster.<br />

Les entrées enregistrées peuvent être changées<br />

durant la propagation de la requête. Cette procédure<br />

permet de trouver <strong>le</strong> chemin <strong>le</strong> pus court (shortest path<br />

routing SPR). Si un nœud voisin (respectivement un<br />

nœud à deux sauts) apparaît <strong>dans</strong> <strong>le</strong> champ IN, mais il<br />

n’est pas <strong>le</strong> dernier (respectivement l’avant dernier)<br />

nœud qui a envoyé la requête, une modification visant<br />

l’amélioration du chemin peut être appliquée <strong>dans</strong> ce<br />

cas. Par conséquent, l’agent supprime tous <strong>le</strong>s<br />

successeurs de ce voisin (respectivement ce voisin à<br />

deux sauts). Le route_reply a presque la même<br />

structure que <strong>le</strong> route_request, sauf qu’il n’utilise pas<br />

<strong>le</strong> dernier champ, route_reply={ SRC, DEST, IN}.<br />

Cette réponse suit <strong>le</strong> vecteur inverse enregistré au<br />

niveau du nœud.<br />

3.1. Route_request<br />

3.1.1. Phase du routage intra cluster<br />

Cette phase permet à un nœud source de trouver la<br />

destination à l’intérieur du cluster tant que <strong>le</strong> nœud<br />

destinataire ne se trouve pas à deux sauts de lui. C’est<br />

<strong>le</strong> CH qui a une connaissance tota<strong>le</strong> du cluster, toute<br />

requête doit obligatoirement passer par lui, il vérifie si<br />

<strong>le</strong> nœud destinataire se trouve <strong>dans</strong> <strong>le</strong> cluster.<br />

Plusieurs cas peuvent se présenter :<br />

− Si <strong>le</strong> nœud émetteur (ou un nœud intermédiaire)<br />

est un NO (respectivement un CHS), nous n’avons<br />

pas encore une connaissance tota<strong>le</strong> du cluster, une<br />

requête est envoyée donc à son nœud de diffusion<br />

sous la forme de (SRC, DEST, IN, 1), tant que la<br />

destination n’apparaît pas. L’enregistrement de<br />

cette requête <strong>dans</strong> la mémoire tampon du nœud<br />

est relié au type du nœud :<br />

− Pour <strong>le</strong>s nœuds passerel<strong>le</strong>, la requête est<br />

envoyée à son nœud de diffusion sans<br />

l’enregistrer <strong>dans</strong> sa mémoire tampon. Pour<br />

éviter <strong>le</strong>s bouc<strong>le</strong>s infinies <strong>dans</strong> <strong>le</strong> réseau, un<br />

nœud recevant la même requête (c'est-à-dire<br />

provenant d’une même source et envoyée<br />

vers une même destination) ne la transmet<br />

pas. Dans la deuxième phase, ce nœud<br />

passerel<strong>le</strong> va servir <strong>pour</strong> envoyer la requête<br />

aux clusters voisins.<br />

− Si <strong>le</strong> nœud n’est pas une passerel<strong>le</strong>, la<br />

requête sera enregistrée <strong>dans</strong> <strong>le</strong> tampon.<br />

− Si <strong>le</strong> nœud émetteur (ou un nœud intermédiaire)<br />

est un CH et la destination n’apparaît pas <strong>dans</strong> <strong>le</strong><br />

cluster, la recherche de la destination <strong>dans</strong> ce cas<br />

va se faire <strong>dans</strong> <strong>le</strong>s autres clusters.<br />

Par exemp<strong>le</strong>, <strong>dans</strong> la figure 4, si on suppose que <strong>le</strong><br />

nœud 3, qui est un CHS veut atteindre <strong>le</strong> nœud 12. Il<br />

doit envoyer alors une requête (3, 12, 3,1) vers son<br />

nœud de diffusion (VID=15), sans l’enregistrer <strong>dans</strong> sa<br />

mémoire tampon. (C’est un nœud passerel<strong>le</strong>). Le<br />

nœud 15 est un CH et la destination n’apparaît pas<br />

<strong>dans</strong> sa tab<strong>le</strong> de voisinage, une phase de routage inter<br />

cluster est nécessaire.<br />

- 6 -<br />

Figure 4 : Exemp<strong>le</strong> de routage (phase 1)<br />

3.1.2. Phase du routage inter cluster<br />

Cette phase permet à un nœud source (ou<br />

intermédiaire) d’atteindre <strong>le</strong>s nœuds des clusters<br />

voisins.<br />

− Le CH consulte sa tab<strong>le</strong> de routage intra cluster et<br />

il envoie sa requête (SRC, DEST, IN, 2). Si son<br />

champ GTWY =1, il consulte sa tab<strong>le</strong> inter cluster<br />

<strong>pour</strong> envoyer sa requête aux différentes entrées.<br />

Cette requête est enregistrée <strong>dans</strong> <strong>le</strong> tampon.<br />

− Les CHSs <strong>dans</strong> cette phase qui reçoivent <strong>le</strong><br />

message envoyé par <strong>le</strong> CH enregistrent cette<br />

requête. Puis ils envoient la nouvel<strong>le</strong> requête<br />

(SRC, DEST, IN, 1), aux nœuds passerel<strong>le</strong> en<br />

consultant <strong>le</strong>ur tab<strong>le</strong> de routage inter cluster. La<br />

requête (SRC, DEST, IN, 2) est envoyée aux NOs<br />

dont <strong>le</strong>urs champs GTWY=1 et appartenant au<br />

même cluster.<br />

− Si un NO est une passerel<strong>le</strong>, il consulte sa tab<strong>le</strong> de<br />

routage inter cluster <strong>pour</strong> envoyer sa requête aux<br />

clusters voisins.<br />

L’exemp<strong>le</strong> fourni <strong>dans</strong> la figure 5 (a) traite un<br />

exemp<strong>le</strong> de routage. En effet, <strong>le</strong> CH enregistre la<br />

requête <strong>dans</strong> sa mémoire tampon, crée un vecteur de<br />

réponse qui mène au dernier nœud situé <strong>dans</strong> la liste<br />

des nœuds intermédiaires de la requête, puis envoie (3,<br />

12, 3-15, 2) aux CHSs qui sont {1, 3, 6, 9}. Ces CHSs<br />

créent à <strong>le</strong>ur tour un vecteur de réponse, enregistrent<br />

cette requête puis l’envoient aux autres nœuds<br />

passerel<strong>le</strong>s appartenant aux autres clusters (Fig. 5 (b)).<br />

− Le nœud 1 envoie (3, 12, 3-15-1, 1) aux nœuds 4<br />

et 21,<br />

− <strong>le</strong> nœud 9 envoie (3, 12, 3-9, 1) aux nœuds 4 et 11<br />

(<strong>dans</strong> ce cas une modification au niveau de la<br />

requête a été initié par <strong>le</strong> nœud 9) et<br />

− <strong>le</strong> nœud 3 envoie (3, 12, 3, 1) au nœud 11.<br />

Une fois la requête arrive aux nœuds (4, 21, 11),<br />

ces derniers finissent par se comporter comme des<br />

nœuds émetteurs et <strong>le</strong>s deux phases du routage se réexécutent.<br />

Figure 5 (a) : Exemp<strong>le</strong> de routage (phase 2)


SETIT2007<br />

Figure 5 (b) : Exemp<strong>le</strong> de routage (phase 2)<br />

3.2. Route_reply<br />

Le nœud destinataire doit recevoir la requête afin<br />

de pouvoir y répondre. C’est lui l’initiateur de la<br />

première réponse route_reply. Si un nœud reçoit un<br />

route_reply alors il insère son identité au niveau du<br />

champ NI de la réponse. Cette requête sera à la suite<br />

envoyée au prochain nœud, qui représente l’entrée<br />

enregistrée au niveau de son vecteur.<br />

4. Simulation<br />

La simulation permet de tester à moindre coût <strong>le</strong>s<br />

nouveaux protoco<strong>le</strong>s et d'anticiper <strong>le</strong>s problèmes qui<br />

<strong>pour</strong>ront se poser <strong>dans</strong> <strong>le</strong> futur afin d’implémenter la<br />

topologie la mieux adaptée aux besoins. Network<br />

simulator NS [FAL 03] est un simulateur qui permet à<br />

l'utilisateur de définir un réseau et de simu<strong>le</strong>r des<br />

communications entre <strong>le</strong>s noeuds de ce réseau. NS v2<br />

utilise <strong>le</strong> langage OTCL (Object Tools Command<br />

Language), dérivé objet de TCL. À travers ce langage,<br />

l'utilisateur décrit <strong>le</strong>s conditions de la simulation :<br />

topologie du réseau, caractéristiques des liens<br />

physiques, protoco<strong>le</strong>s utilisés, communications... La<br />

simulation doit d'abord être saisie sous forme de<br />

fichier texte que NS utilise <strong>pour</strong> produire un fichier<br />

trace contenant <strong>le</strong>s résultats. NS est fourni avec<br />

différents utilitaires dont des générateurs aléatoires et<br />

un programme de visualisation : Nam.<br />

4.1. Étude de la simulation<br />

Nous avons mené certaines simulations <strong>pour</strong><br />

déterminer l'efficacité de notre topologie. Ces<br />

simulations ont été effectuées en utilisant NS2 Le but<br />

principal de ces simulations est d'analyser <strong>le</strong><br />

comportement de notre protoco<strong>le</strong> <strong>dans</strong> divers<br />

scénarios de simulation. Les noeuds se déplacent selon<br />

<strong>le</strong> modè<strong>le</strong> de mobilité RWP (Random Waypoint<br />

Model) [BET 04]. Généra<strong>le</strong>ment, c'est <strong>le</strong> modè<strong>le</strong> de<br />

mobilité <strong>le</strong> plus utilisé <strong>dans</strong> ces types de simulation.<br />

Dans ce modè<strong>le</strong>, <strong>le</strong> mouvement des nœuds est<br />

typiquement aléatoire. En effet, la destination et la<br />

vitesse de chaque nœud mobi<strong>le</strong>, désirant se déplacer,<br />

est aléatoire, et est limité à un interval<strong>le</strong> bien<br />

déterminé. Après son déplacement <strong>le</strong> nœud mobi<strong>le</strong><br />

s’immobilise <strong>pour</strong> un temps fini, puis se déplace à<br />

nouveau de la même manière que la première fois, et<br />

cela jusqu'à la fin de la simulation. Notons que <strong>le</strong><br />

modè<strong>le</strong> RWM reflète bien <strong>le</strong>s caractéristiques des<br />

réseaux ad hoc, il offre une mobilité aléatoire aux<br />

nœuds mobi<strong>le</strong>s appartenant au réseau ad hoc.<br />

- 7 -<br />

Le taux de mobilité est un facteur très important<br />

<strong>dans</strong> <strong>le</strong> processus de simulation <strong>dans</strong> <strong>le</strong>s réseaux ad<br />

hoc, il nous permet de bien évaluer et interpréter <strong>le</strong>s<br />

résultats de la simulation. Le calcul du taux de<br />

mobilité est basé sur la vitesse et <strong>le</strong> mouvement des<br />

noeuds mobi<strong>le</strong>s. « Si plusieurs noeuds se déplacent<br />

pendant un laps de temps, alors la mobilité est la<br />

moyenne du changement de la distance entre tous <strong>le</strong>s<br />

noeuds pendant cette période » [LAR 98]. Il existe<br />

trois types majeurs de mobilité (Mob): mobilité faib<strong>le</strong><br />

0 < Mob ≤ 3, mobilité moyenne : 3 < Mob < 8,<br />

mobilité é<strong>le</strong>vée : Mob ≥ 8<br />

4.2. Résultats préliminaires<br />

Nous présentons <strong>le</strong>s simulations qui illustrent <strong>le</strong>s<br />

résultats préliminaires des tests du protoco<strong>le</strong>. Les<br />

simulations montrent une allure décroissante des<br />

courbes <strong>pour</strong> différents scénarios de mobilité. Nous<br />

avons évalué <strong>le</strong> comportement de la topologie face à<br />

l'augmentation de la connectivité ou de la densité.<br />

Le premier aspect que nous notons est la<br />

diminution du nombre de nœuds dominants et des<br />

clusters en fonction de l’augmentation de la densité du<br />

réseau. Dans la figure 6, nous remarquons une baisse<br />

du nombre de nœuds dominants <strong>pour</strong> <strong>le</strong>s trois courbes<br />

de la mobilité. Ce nombre diminue de 10 à 4 si nous<br />

augmentons la connectivité de 20% à 80%. Cette<br />

diminution est ainsi linéaire avec l'augmentation de la<br />

densité, ceci peut s’expliquer par nos meil<strong>le</strong>urs choix<br />

des métriques utilisées. Les mêmes remarques<br />

s’appliquent sur la figure 7 qui montre la diminution<br />

du nombre de clusters. En conséquence, cette<br />

topologie s'adapte bien avec <strong>le</strong>s réseaux ayant une<br />

forte densité de noeuds. Le nombre de noeuds<br />

dominants et de clusters est plus réduit permettant<br />

d’optimiser la diffusion <strong>dans</strong> <strong>le</strong> réseau.<br />

Nombre de BN<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

0 50 100<br />

Connectivité (%)<br />

Mob faib<strong>le</strong><br />

Mob moyenne<br />

Mob é<strong>le</strong>vée<br />

Figure 6: Nombre moyen de noeuds dominants<br />

La figure 6 et 7 montre que <strong>le</strong> nombre de nœuds<br />

dominants et de clusters est légèrement affecté par <strong>le</strong><br />

facteur de la mobilité, <strong>pour</strong> une va<strong>le</strong>ur fixe de la<br />

connectivité. Norma<strong>le</strong>ment, l’accroissement de la<br />

mobilité signifie plus de changements topologiques,<br />

d’où augmentation du nombre de messages de mise à<br />

jour. Nous pouvons conclure que notre topologie<br />

réduit nettement l'impact de mobilité. Notre protoco<strong>le</strong><br />

fonctionne très bien, il a fait preuve, <strong>dans</strong> l’ensemb<strong>le</strong>,<br />

de bonnes performances <strong>pour</strong> des mobilités é<strong>le</strong>vées,<br />

<strong>dans</strong> un temps raisonnab<strong>le</strong>. Notre topologie s'adapte<br />

aux différents scénarios de mobilité sans augmentation


SETIT2007<br />

du trafic de contrô<strong>le</strong>, nous utilisons seu<strong>le</strong>ment <strong>le</strong>s<br />

messages HELLO. Ainsi, la mise à jour de la topologie<br />

est généra<strong>le</strong>ment exécutée automatiquement. Dans<br />

notre protoco<strong>le</strong> <strong>le</strong> nombre de message de contrô<strong>le</strong> est<br />

constant, même lorsque la mobilité est extrêmement<br />

é<strong>le</strong>vée.<br />

Nomber de cluster<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

0 50 100<br />

5. Conclusion<br />

Connectivité (%)<br />

Figure 7: Nombre moyen de clusters<br />

Mob faib<strong>le</strong><br />

Mob moyenne<br />

Mob é<strong>le</strong>vée<br />

Dans cet artic<strong>le</strong>, nous avons proposé un nouvel<br />

algorithme distribué <strong>pour</strong> <strong>le</strong> routage <strong>dans</strong> <strong>le</strong>s réseaux<br />

mobi<strong>le</strong>s ad hoc. Il calcu<strong>le</strong> un ensemb<strong>le</strong> de noeuds<br />

dominants qui fournissent la topologie adaptée <strong>pour</strong> <strong>le</strong><br />

routage. Notre principa<strong>le</strong> contribution a été de<br />

proposer une métrique et un algorithme qui permette<br />

d’auto-organiser un très grand nombre de nœuds ad<br />

hoc. La métrique est calculée à la base du nombre de<br />

chemins, à deux sauts, possib<strong>le</strong> <strong>pour</strong> la diffusion à<br />

partir de ce nœud. En outre, <strong>dans</strong> l'algorithme proposé<br />

une nouvel<strong>le</strong> construction de clusters est développée.<br />

Une tel<strong>le</strong> structure s'adapte dynamiquement aux<br />

changements de l'environnement. El<strong>le</strong> fournit <strong>le</strong>s plus<br />

courts chemins et une mise à jour rapide.<br />

Pour démontrer l’efficacité de notre proposition,<br />

des simulations ont été effectuées. Les premiers<br />

résultats prouvent que la topologie est bien adaptée<br />

même <strong>pour</strong> des réseaux à forte densité de noeuds ce<br />

qui optimise la diffusion <strong>dans</strong> <strong>le</strong> réseau. L’algorithme<br />

a éga<strong>le</strong>ment l’avantage de supporter <strong>le</strong> passage à<br />

l’échel<strong>le</strong> et de minimiser <strong>le</strong> nombre de messages<br />

échangés.<br />

Cette première partie de l’étude a permis de poser<br />

<strong>le</strong>s bases de notre protoco<strong>le</strong> de routage, mais des<br />

améliorations et des évolutions sont envisageab<strong>le</strong>s.<br />

Les résultats obtenus montrent que notre système<br />

actuel impose <strong>le</strong> passage de la requête par tous <strong>le</strong>s<br />

clusters du réseau, surtout <strong>pour</strong> <strong>le</strong> traitement de deux<br />

nœuds (source/destination) loca<strong>le</strong>ment différents.<br />

Nous envisageons introduire un routage probabiliste<br />

afin de privilégier certains clusters <strong>dans</strong> la réception<br />

de la requête ce qui permet de mieux optimiser la<br />

diffusion <strong>dans</strong> <strong>le</strong> réseau. Une simulation plus<br />

approfondie du protoco<strong>le</strong> est envisageab<strong>le</strong>, car el<strong>le</strong><br />

permettrait d’évaluer <strong>le</strong> protoco<strong>le</strong> <strong>dans</strong> des<br />

environnements dynamiques de plus grande échel<strong>le</strong>.<br />

Ainsi, une comparaison avec <strong>le</strong>s autres protoco<strong>le</strong>s de<br />

routage existants permettrait de mieux évaluer <strong>le</strong><br />

protoco<strong>le</strong>.<br />

- 8 -<br />

REFERENCES<br />

[BET 04] Bettstetter, C. et col., 2004. Stochastic properties<br />

of the random waypoint mobility model. Dans<br />

ACM/Kluwer Wire<strong>le</strong>ss Networks: Special Issue on<br />

Modeling and Analysis of Mobi<strong>le</strong> Networks<br />

[FAL 03] Fall, K. et Varadhan, K., 2003. The ns Manual<br />

(formerly ns Notes and Documentation). The VINT<br />

Project, disponib<strong>le</strong> <strong>dans</strong><br />

http://www.isi.edu/nsnam/ns/doc/<br />

[GHO 06] Ghosh, R.K. et col., 2006. Dense cluster gateway<br />

based routing protocol for multi-hop mobi<strong>le</strong> ad Hoc<br />

networks. Ad hoc Networks.<br />

[JAV 05] Javier, F. et col., 2005. Finding minimum<br />

transmission radii for preserving connectivity and<br />

constructing minimal spanning trees in ad hoc and<br />

sensor networks. Journal of Paral<strong>le</strong>l and Distributed<br />

Computing.<br />

[LAR 98] Larsson, T. et Hedman, N., 1998. Routing<br />

protocols in wire<strong>le</strong>ss ad-hoc networks-a simulation<br />

study. Master's thesis, Lu<strong>le</strong>å University of Technology,<br />

Stockholm.<br />

[LI 03] Li, N. et col., 2003. Design and Analysis of an MST-<br />

Based Topology Control Algorithmin. Dans Infocom'03,<br />

proceedings of the IEEE Infocom.<br />

[ROY 99] Royer, E.M., et Toh, C.K., 1999. A review of<br />

current routing protocols for ad hoc mobi<strong>le</strong> wire<strong>le</strong>ss<br />

networks. Dans IEEE Personal Communications<br />

magazine.<br />

[RAM 00] Ramanathan, R. et Rosa<strong>le</strong>s-Hain, R., 2000.<br />

Topology Control of Multihop Wire<strong>le</strong>ss Networks Using<br />

Transmit Power Adjustment. Dans Infocom’00,<br />

proceedings of the IEEE Infocom.<br />

[SRI 02] Srivastava, S. et Ghosh, R.K., 2002. Cluster based<br />

routing using a k-tree core backbone for mobi<strong>le</strong> ad hoc<br />

networks. Dans DIAL M’02, proceedings of the 6th<br />

international workshop on Discrete algorithms and<br />

methods for mobi<strong>le</strong> computing and communications.<br />

[SRI 03] Srivastava, S. et Ghosh, R.K., 2003. Distributed<br />

algorithms for finding and maintaining a k-tree core in a<br />

dynamic network. Information processing <strong>le</strong>tters.<br />

[WAT 01] Wattenhofer, R. et col., 2001. Distributed<br />

Topology Control for Power Efficient Operation in<br />

Multihop Wire<strong>le</strong>ss ad hoc Networks. Dans Infocom’01,<br />

proceedings of the IEEE Infocom.<br />

[WU 01] Wu, J. et Li, H., 2001. A dominating-set-based<br />

routing scheme in ad hoc wire<strong>le</strong>ss networks. Special<br />

Issue on Wire<strong>le</strong>ss Networks Te<strong>le</strong>communication<br />

Systems Journal.<br />

[ZOU 02] Zou, X. et col., 2002. Routing Techniques in<br />

Wire<strong>le</strong>ss Ad hoc Networks - Classification and<br />

Comparison. Dans SCI’02, Proceedings of the Sixth<br />

World Multiconference on Systemics, Cybernetics, and<br />

Informatics.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!