Topologie Dynamique Virtuelle pour le Routage dans les Réseaux Mobiles Ad Hoc



Documents pareils
2 État de l art. Topologie Virtuelle pour Réseaux Hybrides

Ebauche Rapport finale

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Revue d article : Dynamic Replica Placement for Scalable Content Delivery

L exclusion mutuelle distribuée

Modélisation et Gestion de la Confiance dans les Réseaux Mobiles Ad hoc

Cours n 12. Technologies WAN 2nd partie

Udynamiquement et arbitrairement éparpillés d'une manière où

Big Data et Graphes : Quelques pistes de recherche

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Le service IPv4 multicast pour les sites RAP

ROUTEURS CISCO, PERFECTIONNEMENT

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Chapitre 11 : Le Multicast sur IP

Transmission d informations sur le réseau électrique

Big Data et Graphes : Quelques pistes de recherche

Application Note. WeOS Création de réseaux et de réseaux virtuels VLAN

Modélisation multi-agents - Agents réactifs

Clustering pour l optimisation de la durée de vie des réseaux de capteurs sans fil.

Chapitre 2 : Systèmes radio mobiles et concepts cellulaires

4.2 Unités d enseignement du M1

L apprentissage automatique

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Présentation et portée du cours : CCNA Exploration v4.0

Présentation et portée du cours : CCNA Exploration v4.0

TD 2 Chapitre 4 : Support des Services et Serveurs. Objectifs : Maîtriser l'exploitation des tables de routage dynamique.

NOTIONS DE RESEAUX INFORMATIQUES

TD n o 8 - Domain Name System (DNS)

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

TP de réseaux : Domain Name Server.

Réseaux grande distance

Algorithmique et langages du Web

Flex Multipath Routing

données en connaissance et en actions?

TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE

RAPPORT DE STAGE DE MASTER INFORMATIQUE DE L UNIVERSITE PIERRE ET MARIE CURIE Sécurité des infrastructures critiques.

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

VLAN Virtual LAN. Introduction. II) Le VLAN. 2.1) Les VLAN de niveau 1 (Port-based VLAN)

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Chapitre 01 Généralités

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Sommaire. Introduction. I. Notions de routage a) Technologies actuelles b) Avantages et désavantages

Conception de réseaux de télécommunications : optimisation et expérimentations

SCALABLE ROUTING PROTOCOLS WITH APPLICATIONS TO MOBILITY

Windows Internet Name Service (WINS)

DNS ( DOMAIN NAME SYSTEM)

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

Network musical jammin

Chapitre 1 Le routage statique

Les réseaux de campus. F. Nolot

Multicast & IGMP Snooping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Architecture de réseau de senseurs : monitoring environnemental et écosystèmes forestiers

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Image d un intervalle par une fonction continue

Chapitre 1 : Introduction aux bases de données

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Les RPV (Réseaux Privés Virtuels) ou VPN (Virtual Private Networks)

ManageEngine IT360 : Gestion de l'informatique de l'entreprise

Détection d'intrusions en environnement haute performance

Bravo! Vous venez d acquérir un routeur large bande à 4 ports Conceptronic C100BRS4H.

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

PRODUCTION ASSOCIEE. Le réseau de la M2L est organisé VLANs et comporte des commutateurs de niveau 2 et des routeurs.

Routage Statique. Protocoles de Routage et Concepts. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Principe de symétrisation pour la construction d un test adaptatif

Contrôle par commande prédictive d un procédé de cuisson sous infrarouge de peintures en poudre.

Note d application: Les différentes topologies de réseaux de capteurs sans fil

Qualité du logiciel: Méthodes de test

Fonctions de plusieurs variables

Pourquoi l apprentissage?

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

La continuité de service

Sécurité des réseaux Firewalls

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

DIFF AVANCÉE. Samy.

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

CCNA Discovery Travailler dans une PME ou chez un fournisseur de services Internet

Rétablissement d un réseau cellulaire après un désastre

Evolution de l infrastructure transport

Les réseaux cellulaires

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Virtualiser un serveur de fax

NFS Maestro 8.0. Nouvelles fonctionnalités

La sécurité dans un réseau Wi-Fi

Métriques de performance pour les algorithmes et programmes parallèles

Analyse empirique et modélisation de la dynamique de la topologie de l Internet

EFFETS D UN CHIFFRAGE DES DONNEES SUR

L annuaire et le Service DNS

IBM Business Process Manager

LE PROBLEME DU PLUS COURT CHEMIN

1 Résolution de nom Introduction à la résolution de noms Le système DNS Les types de requêtes DNS...

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Une nouvelle approche de détection de communautés dans les réseaux sociaux

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

2. Activités et Modèles de développement en Génie Logiciel

Transcription:

SETIT 2007 4 th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March 25-29, 2007 TUNISIA Topologie Dynamique Virtuelle pour le Routage dans les Réseaux Mobiles Ad Hoc Kaouther Drira *, Hamamache Kheddouci * et Nabil Tabbane ** * Laboratoire PRISMA, Université Claude Bernard Lyon 1, Bâtiment Nautibus, 843, Bd. du 11 novembre 1918, 69622 Villeurbanne Cedex France {kdrira, hkheddou}@bat710.univ-lyon1.fr ** Unité de recherche MEDIATRON, Ecole Supérieure des Communications de Tunis Route de Raoued Km 3.5, 2083Cité El Ghazala Ariana, Tunisie nabil.tabbane@supcom.rnu.tn Résumé: Dans les réseaux mobiles ad hoc, la conception et la mise en oeuvre de protocoles de routage représentent un problème complexe. Cela est du essentiellement à l absence de toute infrastructure et de toute administration centralisée. Une des solutions à ce problème, passe par la mise en place de topologies bien adaptées au routage dans les réseaux ad hoc. C est dans ce cadre que s inscrit notre travail. En effet, nous proposons une topologie orientée routage sur laquelle va s appuyer ce dernier. Cette topologie intègre deux notions fondamentales: noeuds dominants et clusters. Elle forme une structure capable de s adapter dynamiquement aux changements de l environnement mobile. Nous fournissons en outre des résultats expérimentaux qui mettent en évidence l efficacité de la topologie et du protocole de routage, notamment pour les réseaux à forte densité de nœuds. L algorithme a également l avantage de supporter le passage à l échelle, d être asynchrone et de minimiser le nombre de messages échangés. Mots-clés: Graphes, Protocole de Routage, Réseaux Mobiles Ad hoc, Topologie Dynamique. INTRODUCTION Les environnements mobiles offrent aujourd'hui une bonne alternative de communication à moindre coût et à grande flexibilité d'emploi. En effet, les mobiles permettent à un ensemble de machines hôtes d être interconnectées facilement et rapidement entre elles avec un minimum d infrastructure préalable, voire sans infrastructure. Les réseaux mobiles ad hoc sont définis comme une collection relativement dense d entités mobiles interconnectées par une liaison sans fil, sans aucune administration ou support fixe. Une des spécificités fondamentales de ces réseaux c est qu ils doivent assurer automatiquement leur propre organisation interne sachant qu aucune administration du réseau n est fournie : ils doivent donc s autoorganiser pour acheminer le trafic entre deux différents nœuds du réseau ad hoc. Un réseau mobile ad hoc peut être modélisé par un graphe orienté connexe G = (V, E). V représente l'ensemble des nœuds (i.e. les unités ou les hôtes mobiles) du réseau et E modélise l'ensemble des connections qui existent entre ces nœuds. Si e = (u,v) Є E, cela veut dire que les nœuds u et v sont en mesure de communiquer directement à l'instant t. Les réseaux ad hoc et plus particulièrement la définition d une stratégie de routage au sein de ces réseaux ouvrent une nouvelle piste de recherche. L objectif consiste à résoudre le problème d acheminent de l information entre les différents nœuds du réseau d une manière efficace. Quelques paramètres doivent être pris en compte afin d économiser la bande passante, les ressource radio rares, etc. Le protocole conçu doit s adapter à l augmentation du nombre de participants et à leurs mobilités pour qu il puisse fonctionner correctement. Notre point de vue sur ce problème est fondé sur l'idée de structurer et d'organiser le réseau avant de diffuser efficacement une information. L idée consiste à agir sur des paramètres pour obtenir la topologie adéquate du réseau. La présence d'une telle structure pourrait: diminuer l'impact de la mobilité, optimiser le passage à l'échelle, faciliter le routage En effet, un réseau ad hoc est un réseau complètement autonome qui ne se base sur aucune infrastructure existante. Afin de faciliter la communication et optimiser les taches qui impliquent plusieurs nœuds à la fois, une organisation du réseau s impose. Cette organisation est garantie par la mise en place d une topologie logique dans le réseau. Cette - 1 -

topologie permet d imposer des règles et des contraintes qui régissent le fonctionnement du réseau, ainsi que la collaboration qui existe entre les différends nœuds. Nous allons dans une première partie présenter un état de l art des solutions existantes pour la construction d arbres, de clusters, d un sous-ensemble de nœuds dominants dans un réseau ainsi que les solutions des protocoles de routage. Ensuite, la partie suivante traite notre topologie orientée routage. Son principe est basé sur la sélection d un sous-ensemble de nœuds afin de contrôler et de maintenir la topologie désirée du réseau puis un nouvel algorithme de groupement en cluster est appliqué. Dans la troisième partie, nous décrivons notre solution de routage. Quelques résultats expérimentaux vont suivre pour démontrer l efficacité de la topologie et du protocole de routage proposés. Une conclusion et des perspectives achèveront cet article. 1. Etat de l'art Le routage est un des problèmes le plus difficile. Cependant, les solutions actuelles ne peuvent être utilisées sur des réseaux à grande échelle car le trafic de contrôle généré, ainsi que les tables de routage augmentent avec la taille du réseau. De nombreux protocoles de routage ont été proposés. Ces protocoles peuvent être classés en trois catégories [ROY 99]: réactif, proactif et hybride. Le réactif crée des routes à la demande. Un nœud initie une découverte de route lorsqu il doit envoyer un paquet et qu il ne connaît aucune route vers la destination. Dans l approche proactive, chaque nœud connaît une route vers chaque nœud du réseau. Parmi les protocoles réactifs développés, nous pouvons trouver : Dynamic Source Routing (DSR), Ad hoc On Demand Distance Vector (AODV), Temporally Ordered Routing Algorithm (TORA) et Associativity Based Routing (ABR). Ces derniers protocoles maintiennent des architectures plates. Des protocoles proactifs ont été proposés tels que Destination Sequenced Distance Vector (DSDV), Wireless Routing Protocol (WRP), Global State Routing (GSR), Clusterhead Gateway Switch Routing (CGSR) et Fisheye State Routing (FSR). Le routage dans DSDV, FSH, GSR et WRP est basé sur une architecture plate tandis que dans CGSR, il est basé sur une architecture hiérarchique. Les protocoles hybrides combinent les dispositifs proactifs et réactifs. Comme exemple, nous pouvons citer le protocole Zone Routing Protocol (ZRP) [ZOU 02]. Le contrôle de la topologie [WAT 01] dans les réseaux ad hoc est un domaine de recherche récent. Il vise à maintenir une topologie adéquate en maîtrisant les liens à inclure dans le réseau. Parmi les objectifs visés, on peut citer : la réduction des interférences, la réduction de la consommation d énergie, l augmentation de la capacité efficace de réseau Certains travaux se basent sur ses critères pour proposer une construction de topologies adaptée à leurs protocoles. Suite aux capacités limitées des équipements mobiles en termes de batterie, les premiers travaux pour le contrôle de la topologie dans les réseaux ad hoc utilisent la consommation d énergie comme métrique. Ces travaux sont basés principalement sur l ajustement de la puissance de transmission des nœuds [RAM 00]. Une autre approche pour contrôler la topologie du réseau ad hoc est basée sur l utilisation d un sous-ensemble de noeuds pour couvrir la totalité du réseau. Ce sousensemble peut servir de cluster-head (super noeud) dotés de fonctionnalités additionnelles. Ce type d approche, souvent appelée Cluster Based Protocol, consiste à élire un ensemble de cluster-heads, où chaque noeud mobile est associé à un cluster-head. D'autres approches proposent la construction d'un ensemble dominant connecté (connected dominating set: CDS) comme un backbone virtuel pour acheminer les informations dans un réseau mobile. Cet ensemble dominant est une notion de la théorie de graphes. Un sous-ensemble D de V est dit dominant si et seulement si tout nœud de V est soit dans D soit voisin d un nœud de D. Plus précisément, l ensemble D est dominant si et seulement si: i V i D ( j D i N( j)) (1) Dans un réseau ad hoc, l ensemble dominant doit être connexe pour assurer une diffusion complète. Par définition, un graphe est dit connexe si tous les nœuds sont joignables, c est-à-dire qu il existe toujours un chemin constitué d arcs reliant deux nœuds du graphe. Cette propriété est très importante dans le cas des ensembles dominants. En effet, elle garantit que chaque nœud de l ensemble dominant peut joindre n importe quel autre nœud de ce même ensemble. Quand un nœud décide de diffuser un message et si tous les nœuds appartenant au CDS réémettent, tout le réseau est couvert. L'intérêt ici est de minimiser la taille du CDS de manière à limiter le nombre de nœuds qui retransmettent le message. De même pour le routage, diminuer la taille du CDS réduit la complexité de la recherche de route. Wu et Li [WU 01] proposent un algorithme de marquage fournissant un CDS. Les nœuds sont supposés disposer d'une priorité qui peut être fonction de l'identifiant du nœud, du niveau de batterie, du nombre de voisins ou encore aléatoire. La première étape de l'algorithme consiste à marquer les nœuds possédant au moins deux voisins qui ne sont pas directement connectés. Ensuite, deux règles sont successivement appliquées pour réduire la taille du CDS précédemment obtenu. Plusieurs méthodes ont été déployées pour construire une topologie d arbre. Dans l article [JAV 05], les auteurs propose de construire l arbre couvrant minimal MST à partir de l arbre couvrant minimal localisé LMST (local minimum spanning-tree) [LI 03]. Chaque nœud construit indépendamment son arbre d'enjambement minimum local et ne maintient que les nœuds qui sont à un houblon loin de ses voisins dans la topologie finale. En cas de l ajout d un nœud dans le réseau, l algorithme proposé achève une mise à jour de MST simple à mettre en oeuvre. - 2 -

Un K-tree est un arbre à k feuilles, minimisant la distance entre un nœud du réseau et un nœud de l arbre. Les articles [SRI 02] et [SRI 03] traitent dans un premier temps la création d un spanning-tree dont les feuilles se trouvent à la périphérie du réseau. La deuxième étape consiste à interconnecter tous les arbres. Chaque racine envoie un identifiant d arbre. Une fois le nœud reçoit les identifiants de tous ses voisins, il sélectionne l identifiant le plus fort, et en cas d égalité, il choisi comme père l émetteur de cet identifiant. Une telle solution est intéressante car elle élit des cluster-heads permettant de minimiser la distance entre les cluster-heads et les membres. Cependant, le nombre de cluster-heads est fixe, ce qui défavorise l adaptabilité de tous les nœuds du réseau. De plus, des antennes directionnelles sont obligatoires pour pouvoir départager un cône de réception d angle α. La structure du k-tree n est pas construite selon des principes de stabilité, elle entraîne de nombreuses mises à jour, et des répercussions globales de changements locaux. Le trafic de contrôle est donc important. L approche du k-tree core a été utilisée pour un routage dense entre clusters par l intermédiaire de «dense cluster gateways» (DCG) [GHO 06]. Ce dernier est caractérisé par un nombre important d arrêtes assurant la connectivité entre deux clusters. Ce protocole est une amélioration du routage basé sur le clustering et utilisant le backbone k-tree core, Il assure en outre des meilleures performances du trafic dans le cluster et réduit le goulot d étranglement dans le cluster-head. Il se base sur une nouvelle méthode appelée random wheel. Son principe consiste à choisir une passerelle pour router l'information. Cette méthode présente l'avantage de diminuer la probabilité de choisir une passerelle ayant une surcharge de routage. Cependant, cette approche copie tous les inconvénients de l approche décrite dans [SRI 02] et [SRI 03]. 2. Topologie orientée routage 2.1. Description de la construction de la topologie L'idée principale consiste à construire un ensemble de nœuds dominants dans le réseau. Le caractère dominant caractérise les nœuds dont le nombre de chemin de diffusion, pour atteindre les nœuds à deux sauts, est supérieur à celui de leurs voisins. La fixation des nœuds dominants représente une étape primordiale pour la construction de l ensemble des clusters dont le diamètre est égal au plus à quatre. En outre, chaque cluster est identifié par trois catégories de noeuds : (1) Le cluster-head (CH) est un nœud dominant et il est chef du cluster (2) Les cluster-heads secondaires (CHS) est un sousensemble de nœuds dominants voisins au CH. Ces nœuds se mettent d accord sur le même CH. (3) Les nœuds ordinaires (NO) ne sont pas des nœuds dominants. Le CH acquiert une connaissance totale des nœuds de son cluster. Etant donné une requête à diffuser, cette dernière doit passer par le CH. Si la destination n apparaît pas dans sa table de voisinage (ses voisins ainsi que leurs voisins), la requête est par conséquent diffusée vers les CHSs qui s occupent à la faire circuler aux nœuds passerelles. Une passerelle permet de diffuser l information aux clusters voisins. Un cluster maintient une structure d arborescence utile pour éliminer les boucles au sein du cluster. Ainsi, le réseau tout en entier peut être considéré comme un ensemble de zones reliées. Le principe de l algorithme se résume comme suit : Au début, chaque noeud dans le réseau choisi son nœud préféré (appelé aussi nœud de diffusion) : le nœud qui lui assure une meilleure diffusion à deux sauts. Ensuite, le nœud de diffusion ayant une moyenne de choix supérieure à celle de ses voisins se déclare comme CH. La moyenne de choix est le rapport du nombre de nœuds dominants qui sont voisins à un nœud u et ont choisi ce même nœud u comme nœud de diffusion divisé par le nombre de voisins. Pour les NOs, ils sont toujours rattachés à leur nœud de diffusion. Ces nœuds ont une moyenne de choix nulle. Une forêt est alors construite en reliant les CHs, les CHSs et les NOs. Après, l'algorithme construit la table de routage intra cluster afin de donner une structure appropriée à chaque arbre. Cette dernière est située uniquement au niveau du CH. Pour les CHSs et les NOs, ils maintiennent un vecteur (prochain nœud qui recevra l information) vers leur noeud de diffusion. L'algorithme construit ainsi la table inter cluster au niveau des nœuds de frontière : les passerelles. Il est à noter que chaque cluster a un identifiant unique qui est l identité du CH. Décrivons maintenant les différentes étapes de l'algorithme. Il se décompose en trois phases: (1) Election du nœud de diffusion, (2) Partitionnement du réseau, (3) Nomination des clusters. Ces différentes phases sont établies à base de l'information fournie par les messages HELLO. HELLO est un message périodique échangé seulement entre un noeud et ses voisins. Ce message ne contient au début que l information reliée à son identité. Le contenu de ce message sera enrichi au fur et à mesure de son évolution dans les différentes phases de l'algorithme. Après réception des messages HELLO de ses voisins directs, le nœud u connaît l identité et le degré de ses voisins. Il enregistre ces informations dans une matrice appelée matrice de la topologie. Le message HELLO forme une structure de vecteur HELLO={ZID, VID, N, DEG, BP, BN, AVRG, GTWY}: Zone ID number (ZID) : identité du cluster, Vertex ID number (VID) : l identifiant du nœud, Neighbors (N) : liste des noeuds voisins, Degree (DEG) : le nombre de voisins, Broadcast Parameter (BP) : paramètre de diffusion, le nombre des chemins possibles pour atteindre ses voisins à deux sauts, Broadcast Neighbour (BN) : noeud de diffusion, le nœud préféré (ayant la valeur maximale de BP) pour la diffusion à deux sauts, - 3 -

Average (AVRG) : rapport du nombre de nœuds dominants qui sont voisins à un nœud u et ont choisi ce même nœud u comme nœud de diffusion divisé par le nombre de voisins, Gateway (GTWY): le champ mis à 1 si un nœud est une passerelle sinon il est mis à zéro. 2.1.1. Calcul du BP et choix du BN Une fois toutes les mises à jour de la matrice sont effectuées, le nœud u calcule son BP. Trois cas peuvent se présenter : Si le nœud u ne possède aucun voisin alors son paramètre de diffusion sera mis à zéro et il s identifie en tant que nœud de diffusion. Dans la figure 1, le nœud 14 n a pas de voisin ; ce qui implique l absence de nœud de diffusion. Son champ BP contient donc son identité. Si le nœud u possède un seul voisin alors son unique voisin est son BN. A titre d exemple, le nœud 5 de la figure 1 choisit le nœud 13 comme nœud de diffusion. Si DEG u >1 alors le nœud u applique la formule suivante : ( ) BPu = DEG i 1 (2) i N Il cherche l ensemble de ses voisins ayant la valeur maximale du paramètre BP : BN u = { VID i avec i/ i N, j N BP i =max(bp(n j ))} (3) 2.1.2. Partitionnement du réseau La formation du noyau du cluster est limitée uniquement aux nœuds dominants. Dès qu un noeud u détermine son nœud préféré, il doit informer ses voisins de sa décision. Après avoir reçu tous les messages HELLO voisins, le nœud u calcule sa moyenne de choix (AVRG). Dans cette partie le choix du CH dépend parfois du choix des autres nœuds : Un nœud u avec une moyenne de choix supérieure à celles de ses voisins se déclare comme CH. Ses (BNs) -1 (sous-ensemble de nœuds dominants qui se mettent d accord sur le même CH) vont être inclus dans le noyau du cluster. Ces nœuds sont appelés CHSs. La figure 2 illustre que le nœud 15 a une variable AVRG égale à 1 (marquée en bleu) et supérieure à la moyenne des nœuds {1, 3, 6, 9}. Le noyau du cluster est formée par le CH (VID=15) et les CHSs: VID = {1,3,6,9}. Un nœud u peut ne pas vérifier la première condition, il a au moins un nœud voisin avec une moyenne supérieure à la sienne. Si ce nœud voisin est un CHS, alors le nœud u se déclare comme CH. Sinon le nœud ne fait rien, il attend un changement des messages HELLO. Par exemple dans la figure 2, le nœud 4 a comme voisins dominants {1, 9, 24}, sa moyenne est : [AVRG 4 = 1 ] > [AVRG 1 = 1 ] et [AVRG 24 = 1 ] 2 4 4 Mais [AVRG 4 = 1 ] < [AVRG 9 = 3 ] 2 5 Si le nœud 9 a été choisi par le nœud 15 comme un CHS, le nœud 4 limite sa comparaison aux nœuds 1 et 24. Sa moyenne est supérieure, il se déclare donc comme CH et ses (BNs) -1 sont définies comme CHSs. Dans ce cas, le seul nœud qui appartient à la table de routage intra cluster est le nœud 24. Le nœud 20 n appartient pas au noyau du cluster puisqu il n est pas un nœud dominant. Figure 1: Election du nœud de diffusion Dans la figure 1, le nœud 1 choisit le nœud 15 comme nœuds de diffusion, ce nœud a la valeur maximale du paramètre BP (marquée avec la couleur rouge et BP=18) des nœuds voisins. Si l ensemble BN contient plusieurs nœuds, le nœud dont le VID =1 choisit celui qui a le plus grand nombre de voisins. En cas d égalité, le nœud caractérisé par l identité maximale est privilégié. Donc, le nœud 1 choisi le nœud 15. Les nœuds s'échangent périodiquement les informations des messages HELLO, et chacun construit une partie de l arbre de la topologie offrant des routes vers les autres nœuds. En effet, un nœud choisit son meilleur chemin, ainsi que le nœud voisin qui va être élu comme nœud de diffusion. Dans cette partie, le choix du BN se fait en une seule étape. Le choix d un nœud ne dépend pas du choix des autres. Figure 2: Formation du noyau du cluster Dans l étape suivante, nous avons comme entrée les noyaux des clusters sous forme d un ensemble d étoiles éparpillées dans le réseau. En sortie, les NOs vont se rattacher à leurs nœuds de diffusions (Fig. 3). - 4 -

Figure 3: Partitionnement du réseau 2.1.3. Nomination des clusters Le but de cette partie est de correctement répartir les différents noeuds afin de définir les clusters. Ceci doit être mis en oeuvre de telle sorte que chaque nœud dans le réseau n'appartient qu'à un seul cluster. Pour tout nœud du réseau qui se déclare comme CH, son champ ZID prend la valeur de son VID. Pour les autres nœuds (les CHSs et les NOs), leurs champs ZID prennent une valeur égale à celle de leurs nœuds de diffusions. En effet, l attribution d un numéro à un cluster se fait d une façon hiérarchique : tout d abord, les CHs définissent les valeurs de leurs champs ZID qui seront copiées à la suite par leurs voisins. Cette procédure sera itérée sur les voisins des voisins afin d aboutir à un ensemble de zone formant une forêt. 2.2. Maintenance des clusters Les changements topologiques d un réseau mobile ad hoc peuvent se résumer en trois différents types : allumage, arrêt et mouvement de l hôte mobile. En ce qui concerne les nœuds de diffusion, une mise à jour automatique de leurs valeurs est réalisée chaque fois qu un nœud de diffusion modifie son champ BN suivant les messages HELLO de ses voisins. Par conséquent, nous n avons pas besoin dans ces conditions d un algorithme de maintenance pour ces nœuds de diffusion. Le défi ici consiste à définir l instant de la mise à jour du CH et à recalculer ses informations au niveau du cluster. s il y a ajout d un nouveau nœud dans le réseau, le CH compare la valeur de sa moyenne (AVRG CH ) à celle du nouveau nœud (AVRG ). Si AVRG CH > AVRG, le CH ajoute cette nouvelle entrée dans sa table de routage intra cluster. Sinon il initialise son état, son identité de zone est vide. Une entrée de sa table de routage intra cluster est supprimée tant qu elle n apparaît pas dans son voisinage. Si AVRG CHS devient supérieure à AVRG CH, alors le CH initialise son état. Les CHSs et les NOs seront automatiquement mis à jour dés qu il y a une mise à jour du CH. 2.3. Construction de la table de routage inter cluster La recherche de la destination est effectuée au niveau du cluster. En son absence, la recherche doit se faire dans les autres clusters. Ce sont les passerelles qui permettent la communication entre eux. Pour router l information aux clusters voisins, une passerelle consulte sa table de routage inter cluster. Cette table contient un sous-ensemble de nœuds voisins qui vont prendre la relève pour le routage. Ceci présente l avantage de minimiser le nombre d entrée de la table de routage, uniquement les nœuds de frontière auront une table de routage inter cluster. Une passerelle regroupe dans sa table de routage tous les voisins appartenant à d autres clusters ayant comme champ GTWY=1. Il peut exister plus qu un nœud avec une même identité de zone. Pour minimiser d avantage la taille de la table, une passerelle maintient un seul nœud menant à un cluster voisin. Cette sélection privilégie les nœuds situés en haut de la hiérarchie. Si deux nœuds ou plus appartiennent à la même hiérarchie, le choix se base sur le nœud ayant un degré maximal. En cas d égalité du degré, c est le nœud dont sa VID est maximale qui sera inclut dans la table de routage inter cluster. 3. Conception du protocole de routage Cette section décrit notre algorithme de routage se base sur la topologie construite dans la section précédente. Lorsqu un paquet arrive à l agent de routage, ce dernier vérifie si la destination existe ou non dans la table de voisinage à un et à deux sauts - chaque nœud dans le réseau à une connaissance à deux sauts : Si la route menant au destinataire est trouvée, l agent envoie une réponse (route_reply) qui suivra le chemin inverse pour informer le nœud source du chemin complet menant au destinataire. Si la destination n apparaît pas, l agent essaye alors de trouver une route. Par conséquent, il envoie sa requête (route_request) en appliquant soit la première phase correspondant au routage intra cluster soit la deuxième phase correspondant au routage inter cluster. Ceci ne peut avoir lieu qu après avoir ajouté ce nœud intermédiaire à la requête et enregistré cette requête dans sa mémoire tampon. Chaque nœud ayant reçu la requête (route_request), maintient un vecteur inverse qui indique le chemin de la réponse. Un tel vecteur n est activé que s il reçoit un route_reply associé à cette même requête. Si après un certain temps, le vecteur n est pas activé, il est automatiquement supprimé de sa mémoire tampon ainsi que la requête associée. Le route_request forme une struture de vecteur ; route_request={ SRC, DEST, IN, phase}avec : le champ SRC : l identité du nœud source, le champ DEST : l identité du nœud destinataire, le champ IN : les identités des nœuds intermédiaires. Chaque nœud enregistre son identité avant de la diffuser, - 5 -

le champ phase : indique la phase du routage. Phase=1 pour le routage intra cluster et phase=2 pour le routage inter cluster. Les entrées enregistrées peuvent être changées durant la propagation de la requête. Cette procédure permet de trouver le chemin le pus court (shortest path routing SPR). Si un nœud voisin (respectivement un nœud à deux sauts) apparaît dans le champ IN, mais il n est pas le dernier (respectivement l avant dernier) nœud qui a envoyé la requête, une modification visant l amélioration du chemin peut être appliquée dans ce cas. Par conséquent, l agent supprime tous les successeurs de ce voisin (respectivement ce voisin à deux sauts). Le route_reply a presque la même structure que le route_request, sauf qu il n utilise pas le dernier champ, route_reply={ SRC, DEST, IN}. Cette réponse suit le vecteur inverse enregistré au niveau du nœud. 3.1. Route_request 3.1.1. Phase du routage intra cluster Cette phase permet à un nœud source de trouver la destination à l intérieur du cluster tant que le nœud destinataire ne se trouve pas à deux sauts de lui. C est le CH qui a une connaissance totale du cluster, toute requête doit obligatoirement passer par lui, il vérifie si le nœud destinataire se trouve dans le cluster. Plusieurs cas peuvent se présenter : Si le nœud émetteur (ou un nœud intermédiaire) est un NO (respectivement un CHS), nous n avons pas encore une connaissance totale du cluster, une requête est envoyée donc à son nœud de diffusion sous la forme de (SRC, DEST, IN, 1), tant que la destination n apparaît pas. L enregistrement de cette requête dans la mémoire tampon du nœud est relié au type du nœud : Pour les nœuds passerelle, la requête est envoyée à son nœud de diffusion sans l enregistrer dans sa mémoire tampon. Pour éviter les boucles infinies dans le réseau, un nœud recevant la même requête (c'est-à-dire provenant d une même source et envoyée vers une même destination) ne la transmet pas. Dans la deuxième phase, ce nœud passerelle va servir pour envoyer la requête aux clusters voisins. Si le nœud n est pas une passerelle, la requête sera enregistrée dans le tampon. Si le nœud émetteur (ou un nœud intermédiaire) est un CH et la destination n apparaît pas dans le cluster, la recherche de la destination dans ce cas va se faire dans les autres clusters. Par exemple, dans la figure 4, si on suppose que le nœud 3, qui est un CHS veut atteindre le nœud 12. Il doit envoyer alors une requête (3, 12, 3,1) vers son nœud de diffusion (VID=15), sans l enregistrer dans sa mémoire tampon. (C est un nœud passerelle). Le nœud 15 est un CH et la destination n apparaît pas dans sa table de voisinage, une phase de routage inter cluster est nécessaire. Figure 4 : Exemple de routage (phase 1) 3.1.2. Phase du routage inter cluster Cette phase permet à un nœud source (ou intermédiaire) d atteindre les nœuds des clusters voisins. Le CH consulte sa table de routage intra cluster et il envoie sa requête (SRC, DEST, IN, 2). Si son champ GTWY =1, il consulte sa table inter cluster pour envoyer sa requête aux différentes entrées. Cette requête est enregistrée dans le tampon. Les CHSs dans cette phase qui reçoivent le message envoyé par le CH enregistrent cette requête. Puis ils envoient la nouvelle requête (SRC, DEST, IN, 1), aux nœuds passerelle en consultant leur table de routage inter cluster. La requête (SRC, DEST, IN, 2) est envoyée aux NOs dont leurs champs GTWY=1 et appartenant au même cluster. Si un NO est une passerelle, il consulte sa table de routage inter cluster pour envoyer sa requête aux clusters voisins. L exemple fourni dans la figure 5 (a) traite un exemple de routage. En effet, le CH enregistre la requête dans sa mémoire tampon, crée un vecteur de réponse qui mène au dernier nœud situé dans la liste des nœuds intermédiaires de la requête, puis envoie (3, 12, 3-15, 2) aux CHSs qui sont {1, 3, 6, 9}. Ces CHSs créent à leur tour un vecteur de réponse, enregistrent cette requête puis l envoient aux autres nœuds passerelles appartenant aux autres clusters (Fig. 5 (b)). Le nœud 1 envoie (3, 12, 3-15-1, 1) aux nœuds 4 et 21, le nœud 9 envoie (3, 12, 3-9, 1) aux nœuds 4 et 11 (dans ce cas une modification au niveau de la requête a été initié par le nœud 9) et le nœud 3 envoie (3, 12, 3, 1) au nœud 11. Une fois la requête arrive aux nœuds (4, 21, 11), ces derniers finissent par se comporter comme des nœuds émetteurs et les deux phases du routage se réexécutent. Figure 5 (a) : Exemple de routage (phase 2) - 6 -

Figure 5 (b) : Exemple de routage (phase 2) 3.2. Route_reply Le nœud destinataire doit recevoir la requête afin de pouvoir y répondre. C est lui l initiateur de la première réponse route_reply. Si un nœud reçoit un route_reply alors il insère son identité au niveau du champ NI de la réponse. Cette requête sera à la suite envoyée au prochain nœud, qui représente l entrée enregistrée au niveau de son vecteur. 4. Simulation La simulation permet de tester à moindre coût les nouveaux protocoles et d'anticiper les problèmes qui pourront se poser dans le futur afin d implémenter la topologie la mieux adaptée aux besoins. Network simulator NS [FAL 03] est un simulateur qui permet à l'utilisateur de définir un réseau et de simuler des communications entre les noeuds de ce réseau. NS v2 utilise le langage OTCL (Object Tools Command Language), dérivé objet de TCL. À travers ce langage, l'utilisateur décrit les conditions de la simulation : topologie du réseau, caractéristiques des liens physiques, protocoles utilisés, communications... La simulation doit d'abord être saisie sous forme de fichier texte que NS utilise pour produire un fichier trace contenant les résultats. NS est fourni avec différents utilitaires dont des générateurs aléatoires et un programme de visualisation : Nam. 4.1. Étude de la simulation Nous avons mené certaines simulations pour déterminer l'efficacité de notre topologie. Ces simulations ont été effectuées en utilisant NS2 Le but principal de ces simulations est d'analyser le comportement de notre protocole dans divers scénarios de simulation. Les noeuds se déplacent selon le modèle de mobilité RWP (Random Waypoint Model) [BET 04]. Généralement, c'est le modèle de mobilité le plus utilisé dans ces types de simulation. Dans ce modèle, le mouvement des nœuds est typiquement aléatoire. En effet, la destination et la vitesse de chaque nœud mobile, désirant se déplacer, est aléatoire, et est limité à un intervalle bien déterminé. Après son déplacement le nœud mobile s immobilise pour un temps fini, puis se déplace à nouveau de la même manière que la première fois, et cela jusqu'à la fin de la simulation. Notons que le modèle RWM reflète bien les caractéristiques des réseaux ad hoc, il offre une mobilité aléatoire aux nœuds mobiles appartenant au réseau ad hoc. Le taux de mobilité est un facteur très important dans le processus de simulation dans les réseaux ad hoc, il nous permet de bien évaluer et interpréter les résultats de la simulation. Le calcul du taux de mobilité est basé sur la vitesse et le mouvement des noeuds mobiles. «Si plusieurs noeuds se déplacent pendant un laps de temps, alors la mobilité est la moyenne du changement de la distance entre tous les noeuds pendant cette période» [LAR 98]. Il existe trois types majeurs de mobilité (Mob): mobilité faible 0 < Mob 3, mobilité moyenne : 3 < Mob < 8, mobilité élevée : Mob 8 4.2. Résultats préliminaires Nous présentons les simulations qui illustrent les résultats préliminaires des tests du protocole. Les simulations montrent une allure décroissante des courbes pour différents scénarios de mobilité. Nous avons évalué le comportement de la topologie face à l'augmentation de la connectivité ou de la densité. Le premier aspect que nous notons est la diminution du nombre de nœuds dominants et des clusters en fonction de l augmentation de la densité du réseau. Dans la figure 6, nous remarquons une baisse du nombre de nœuds dominants pour les trois courbes de la mobilité. Ce nombre diminue de 10 à 4 si nous augmentons la connectivité de 20% à 80%. Cette diminution est ainsi linéaire avec l'augmentation de la densité, ceci peut s expliquer par nos meilleurs choix des métriques utilisées. Les mêmes remarques s appliquent sur la figure 7 qui montre la diminution du nombre de clusters. En conséquence, cette topologie s'adapte bien avec les réseaux ayant une forte densité de noeuds. Le nombre de noeuds dominants et de clusters est plus réduit permettant d optimiser la diffusion dans le réseau. Nombre de BN 12 10 8 6 4 2 0 0 50 100 Connectivité (%) Mob faible Mob moyenne Mob élevée Figure 6: Nombre moyen de noeuds dominants La figure 6 et 7 montre que le nombre de nœuds dominants et de clusters est légèrement affecté par le facteur de la mobilité, pour une valeur fixe de la connectivité. Normalement, l accroissement de la mobilité signifie plus de changements topologiques, d où augmentation du nombre de messages de mise à jour. Nous pouvons conclure que notre topologie réduit nettement l'impact de mobilité. Notre protocole fonctionne très bien, il a fait preuve, dans l ensemble, de bonnes performances pour des mobilités élevées, dans un temps raisonnable. Notre topologie s'adapte aux différents scénarios de mobilité sans augmentation - 7 -

du trafic de contrôle, nous utilisons seulement les messages HELLO. Ainsi, la mise à jour de la topologie est généralement exécutée automatiquement. Dans notre protocole le nombre de message de contrôle est constant, même lorsque la mobilité est extrêmement élevée. Nomber de cluster 7 6 5 4 3 2 1 0 0 50 100 5. Conclusion Connectivité (%) Figure 7: Nombre moyen de clusters Mob faible Mob moyenne Mob élevée Dans cet article, nous avons proposé un nouvel algorithme distribué pour le routage dans les réseaux mobiles ad hoc. Il calcule un ensemble de noeuds dominants qui fournissent la topologie adaptée pour le routage. Notre principale contribution a été de proposer une métrique et un algorithme qui permette d auto-organiser un très grand nombre de nœuds ad hoc. La métrique est calculée à la base du nombre de chemins, à deux sauts, possible pour la diffusion à partir de ce nœud. En outre, dans l'algorithme proposé une nouvelle construction de clusters est développée. Une telle structure s'adapte dynamiquement aux changements de l'environnement. Elle fournit les plus courts chemins et une mise à jour rapide. Pour démontrer l efficacité de notre proposition, des simulations ont été effectuées. Les premiers résultats prouvent que la topologie est bien adaptée même pour des réseaux à forte densité de noeuds ce qui optimise la diffusion dans le réseau. L algorithme a également l avantage de supporter le passage à l échelle et de minimiser le nombre de messages échangés. Cette première partie de l étude a permis de poser les bases de notre protocole de routage, mais des améliorations et des évolutions sont envisageables. Les résultats obtenus montrent que notre système actuel impose le passage de la requête par tous les clusters du réseau, surtout pour le traitement de deux nœuds (source/destination) localement différents. Nous envisageons introduire un routage probabiliste afin de privilégier certains clusters dans la réception de la requête ce qui permet de mieux optimiser la diffusion dans le réseau. Une simulation plus approfondie du protocole est envisageable, car elle permettrait d évaluer le protocole dans des environnements dynamiques de plus grande échelle. Ainsi, une comparaison avec les autres protocoles de routage existants permettrait de mieux évaluer le protocole. REFERENCES [BET 04] Bettstetter, C. et col., 2004. Stochastic properties of the random waypoint mobility model. Dans ACM/Kluwer Wireless Networks: Special Issue on Modeling and Analysis of Mobile Networks [FAL 03] Fall, K. et Varadhan, K., 2003. The ns Manual (formerly ns Notes and Documentation). The VINT Project, disponible dans http://www.isi.edu/nsnam/ns/doc/ [GHO 06] Ghosh, R.K. et col., 2006. Dense cluster gateway based routing protocol for multi-hop mobile ad Hoc networks. Ad hoc Networks. [JAV 05] Javier, F. et col., 2005. Finding minimum transmission radii for preserving connectivity and constructing minimal spanning trees in ad hoc and sensor networks. Journal of Parallel and Distributed Computing. [LAR 98] Larsson, T. et Hedman, N., 1998. Routing protocols in wireless ad-hoc networks-a simulation study. Master's thesis, Luleå University of Technology, Stockholm. [LI 03] Li, N. et col., 2003. Design and Analysis of an MST- Based Topology Control Algorithmin. Dans Infocom'03, proceedings of the IEEE Infocom. [ROY 99] Royer, E.M., et Toh, C.K., 1999. A review of current routing protocols for ad hoc mobile wireless networks. Dans IEEE Personal Communications magazine. [RAM 00] Ramanathan, R. et Rosales-Hain, R., 2000. Topology Control of Multihop Wireless Networks Using Transmit Power Adjustment. Dans Infocom 00, proceedings of the IEEE Infocom. [SRI 02] Srivastava, S. et Ghosh, R.K., 2002. Cluster based routing using a k-tree core backbone for mobile ad hoc networks. Dans DIAL M 02, proceedings of the 6th international workshop on Discrete algorithms and methods for mobile computing and communications. [SRI 03] Srivastava, S. et Ghosh, R.K., 2003. Distributed algorithms for finding and maintaining a k-tree core in a dynamic network. Information processing letters. [WAT 01] Wattenhofer, R. et col., 2001. Distributed Topology Control for Power Efficient Operation in Multihop Wireless ad hoc Networks. Dans Infocom 01, proceedings of the IEEE Infocom. [WU 01] Wu, J. et Li, H., 2001. A dominating-set-based routing scheme in ad hoc wireless networks. Special Issue on Wireless Networks Telecommunication Systems Journal. [ZOU 02] Zou, X. et col., 2002. Routing Techniques in Wireless Ad hoc Networks - Classification and Comparison. Dans SCI 02, Proceedings of the Sixth World Multiconference on Systemics, Cybernetics, and Informatics. - 8 -