Sie sind auf Seite 1von 31

VANET : Clustering dans les rseaux de vhicules

Rdig par : Amel GUETARNI Raja YAHYAOUI Imad ALLAMA

Encadr par : Mr Abderahim BENSLIMENE

2009/2010

VANET : Clustering dans les rseaux de vhicules

Sommaire
Remerciements Glossaire Introduction Partie1 : Contexte7 1 Sujet.7 2 Etude du problme.8 3 Planning prvisionnel8 4 Outils.10 4.1 NS210 4.2 IVG.11 4.3 DYMO12 4.4 Mtriques dvaluation13 Partie2 : Dveloppement14 1 Description du protocole V2I 14 2 Conception de lalgorithme du protocole V2I 17 3 Implmentation17 4 Simulations..18 5 Problmes rencontrs22 Conclusion 23 Bibliographie Annexe

VANET : Clustering dans les rseaux de vhicules

Remerciements
Nous tenons remercier notre tuteur, professeur Abderrahim BENSLIMENE, pour nous avoir propos ce sujet intressant, trs enrichissant du fait quil se rapprochait de lexprimentation et de la recherche. Nous souhaitons galement le remercier pour son suivi, ses claircissements, ses conseils et son coute qui nous ont permis de mener bien ce projet.

VANET : Clustering dans les rseaux de vhicules

Glossaire
Wi-Fi : pour Wireless Fidelity est la dnomination commerciale des rseaux suivant la norme 802.11 VANET: Vehicular Ad-Hoc Net work. Rseau sans fil ad-hoc spcifique compos de vhicules en mouvement. Broadcast : ou diffusion et un type de paquet qui est transmis et pris en compte par toutes les stations du rseau. Unicast : type de communication qui fait intervenir une source et seulement une destination. Geocast : diffusion identique au broadcast mais limite dans lespace et dans le temps. Overhead : utilisation de bande passante gnre par un protocole pour acheminer un autre protocole dune couche suprieure. OTcl : pour Object Tcl. OTcl est une extension de Tcl/Tk pour la programmation oriente objet. Tcl/Tk : Combinaison du langage script Tcl avec son toolkit d'interface graphique Tk qui permet de raliser trs rapidement des interfaces graphiques ou des script. . .

VANET : Clustering dans les rseaux de vhicules

Introduction
De nos jours, les vhic ules prennent de plus en plus dimportance dans nos vies et pour le moment la voiture est le moyen de transport le moins sur. Mme si les technologies ont fait dnormes progrs ces dernires annes, aucun systme de communication entre vhicules na encor e t introduit pour diminuer le risque daccident. Au jour daujourdhui, la recherche dans ce domaine est devenue trs active et les constructeurs automobiles pensent intgrer des systmes de communication sans fils dans les vhicules. Le domaine de recherche concernant les rseaux sans fil de vhicules est trs large, allant des applications concernant la scurit, aux applications de divertissement ou de publicit. Notre projet est orient recherche sur ce type de rseau de vhicules, les VANET pour Vhicule Ad- Hoc NET works, un type particulier de rseau sans fil dans lequel les nuds sont des vhicules en mouvement sur les routes. Ce type de rseau est une version spcifique des rseaux mobiles ad-hoc MANET avec des spcificits supplmentaires. Notre travail consiste tudier et analyser un nouveau protocole V2I Vehicle To Infrastructure , dvelopp par Mr A.Benslimane Enseignant chercheur LIUP , il sagit : de tirer lalgorithme de routage qui est un algorithme distribu, c'est--dire que chaque nud dcide de faon autonome sil doit router les paquets ou non , de limplmenter et de lintgrer dans un simulateur afin dvaluer ses performances et de les comparer avec dautres protocoles dj existants La dmarche adopte a t de se documenter dans un premier temps sur le domaine des VANET et a partir de cette premire tude prliminaire, dtablir un planning dfinissant les tches effectuer tout au long du stage. Ce planning a permis de dfinir les tches danalyse, de codage et de simulati on du nouveau protocole de routage, qui ont t suivies tout au long du stage et ajusts en fonction de lavancement et des problmes rencontrs.

VANET : Clustering dans les rseaux de vhicules


La premire partie de ce document dcrit le contexte gnral et technique de ltude. La seconde partie prsente la solution conue ainsi que limplmentation de cette solution. Enfin, la dernire partie prsente les rsultats obtenus et les conclusions.

VANET : Clustering dans les rseaux de vhicules

Contexte
1 Sujet
Le sujet de notre projet a t dtudier le protocole de routage V2I, dvelopp par notre tuteur Mr Abderrahim BENSLIMENE, pour les rseaux de type VANET en considrant les spcifis de ce type de rseaux et de le simuler en utilisant un simulateur rseau afin dvaluer ses performances et de les comparer avec dautres protocoles dj existants. Le but du projet est donc de permettre une communication entre une source et une destination au travers dun rseau de type VANET. Une des particularits de ce type de rseaux ad- hoc est que les nuds sorganisent de faon autonome. Pour atteindre le but fix, il faudra dvelopper une mthode base sur le broadcasting. Lorsque le paquet est diffus la premire fois par la source, plusieurs nuds vont recevoir ce paquet et sont susceptibles de le retransmettre. La difficult est que les nuds doivent lire eux mme le nud le plus apte retransmettre linformation. Ceci est difficile parce que les nuds sont indpendants. Ils ne peuvent donc pas dcider en collaborations mais chaque nud devra agir en fonction des informations quil possde. Ainsi chaque nud doit dterminer lui mme sil est le mieux plac pour retransmettre. La politique de retransmission sera donc la mme pour chaque nud et donc lalgorithme de routage est distribu sur chaque nud.

VANET : Clustering dans les rseaux de vhicules 2 Etude du problme


Une des premires tches effectuer au cours du projet, a t danalyser le sujet et le domaine de recherche des VANET. Pour cela nous avons lu plusieurs articles de recherche concernant les VANET et rsum chaque articles afin den tirer les informations importantes dont nous avions besoin pour atteindre les objectifs qui sont : Etude du protocole de routage V2I mis en place dans le cadre des rseaux VANET. Conception de lalgorithme pour ce protocole de routage V2I. Simuler un rseau mobile et dgager des rsultats quand la fiabilit des liens, dlaisetc. Dgager des rsultats comparatifs de chacune des simulations. Tenter de dfinir la meilleure combinaison de solutions proposes et la viabilit de ces solutions sous la contrainte de haute mobilit.

3 Planning prvisionnel
De cette tude du sujet et du domaine, nous avons dtermin un planning prvisionnel afin de planifier le droulement du projet. Ce planning est prsent comme suit :

VANET : Clustering dans les rseaux de vhicules

VANET : Clustering dans les rseaux de vhicules

4 Outils
Afin datteindre les objectifs cits prcdemment, nous avons utilis plusieurs outils qui permettent la simulation dun rseau routier, lintgration des protocoles de routage ainsi que lvaluation et la comparaison de ces protocoles.

4.1 NS2
Network Simulator est un logiciel libre de simulation par vnements discrets trs largement utilis dans la recherche acadmique et dans l'industrie. Il est bas sur l'utilisation de langages de scripts pour la commande des simulations (tcl/tk) alors que le cur des simulations est implment avec le langage C++. Le logiciel NS est fourni avec une interface graphique (NAM) permettant de dmontrer le fonctionnement des rseaux en gnrant des fichiers avec une extension .nam , ce qui en fait un outil la valeur pdagogique trs intressante. NS2 nous permet la simulation d'un protocole de routage qui est V2I dans notre cas.

10

VANET : Clustering dans les rseaux de vhicules 4.2 Protocole Inter-Vehicule Goecast IVG

IVG est un protocole conu pour rsoudre les problmes tels que la dtermination de la direction, la loc alisation dans lespace et la dissmination de linformation, qui sont dus la forte mobilit des nuds. Il est bas sur un simple principe qui est lenvoi dun message dalarme aux voisins lors dun accident, les vhicules qui sont lextrmit de la porte de transmission envoient eux mme le message ainsi de suite. Le but de ce protocole est dviter les collisions donc la perte dinformations ainsi que la surcharge du rseau. Le protocole IVG se base sur le calcul du deferTime et de Teta qui sont calculs en fonction de la distance entre les nuds et notamment la porte de transmissi on de lantenne dans le but de minimiser le nombre de message diffuser. Ltude de ce protocole nous a permis de faire une conformit avec notre protocole IVG afin de lintgrer sous NS. tude de

4.3 Protocole DYMO (Dynamic On-Demand MANET)


Le "Dynamic MANET On-demand" (DYMO) est un protocole de

routage ractif permettant un routage unicast multi-saut entre les routeurs DYMO participants. Il se base sur deux oprations de qui sont la dcouverte de la route "route discovery" et le maintien des routes "route maintenance". Au cours de dcouverte de route, le routeur DYMO "source" lance la diffusion d'une demande de route (RREQ: Route Request) travers le rseau pour trouver un itinraire vers routeur DYMO cible (destination). Au cours de ce processus de diffusion saut par saut, chaque routeur DYMO intermdiaires enregistre un itinraire pour l'expditeur. Lorsque le routeur DYMO cible

reoit le RREQ, il rpond par un message Route Reply (RREP) envoy saut par saut vers le routeur DYMO source. Chaque routeur DYMO intermdiaire qui reoit les RREP cre une route vers la cible.

11

VANET : Clustering dans les rseaux de vhicules


Lorsque le routeur DYMO source reoit les RREP, les routes seront tablies entre ces deux routeurs DYMO source et cible dans les deux directions. La deuxime opration qui est le maintien de la route se compose en deux oprations : Afin de prserver les routes en service, les routeurs DYMO prolonge la dure de vie de la transmission d'un paquet sur la route. Afin de pouvoir ragir aux changements dans la topologie du rseau, les routeurs DYMO surveillent les liens sur lesquelles le trafic est fluide. Lorsqu' un paquet de donnes est reu pour tre acheminer une destination et que litinraire pour cette destination est inconnu (il ne figure pas dans la table de routage) ou cass, le routeur DYMO source est notifi. Un message de type Route Erreur (RERR) est envoy vers la source pour indiquer que la route actuelle vers cette destination particulire est non valide ou manquant. Lorsque le routeur DYMO source reoit le RERR, il supprime l'itinraire. Si le routeur DYMO source reoit un paquet plus tard, pour une transmission la mme destination, il excutera de nouveau l'opration de "route discovery" pour cette destination. DYMO utilise des numros de

squence pour assurer la libert de la boucle. Les numros de Squence permettent aux routeurs DYMO de dterminer l'ordre des messages DYMO de la Dcouverte du chemin "route discovery", ainsi que d'viter l'utilisation des informations de routage rassies. (C. Perkins, 2008)* Ltude de ce protocole nous permet dvaluer le protocole V2I en effectuant des comparaisons bases sur des mtriques dvaluation dcrites dans la section qui suit.

12

VANET : Clustering dans les rseaux de vhicules 4.4 Mtriques de performance


Plusieurs mesures permettent danalyser les performances des protocoles de routage. Ces paramtres sont les suivants: A. Ratio de livraison des paquets (Paquets Delivery Ratio) Le ratio de la livraison des paquets est calcul en divisant le nombre de paquets reus par la destination sur le nombre de paquets mis par la couche application de la source ( savoir, Constant Bit Rate (CBR)). Il prcise les taux de perte de paquets, ce qui limite au maximum le dbit du rseau. Le meilleur est le ratio de la livraison, le plus complet et correct est le protocole de routage. David Oliver Jrg (2003), B. Normalized Routing Overhead (Normalis la surcharge de gestion de routage) La surcharge de gestion de routage est value par la division le nombre total de paquets routs, par le nombre total des paquets de donnes livrs (A. AlMaashri et M. Ould-Khaoua, 2006). Cette mtrique fournit une indication

supplmentaire de la bande passante consomme par la charge pour dlivrer le trafic de donnes. Il est crucial que la taille des paquets de routage varie. C. Le dbit (Throughput) Le dbit (messages / seconde) est le nombre total de paquets de donnes livrs divis par la dure totale de temps de simulation (A. Al-Maashri et M. Ould-Khaoua, 2006). Dans ce cas, le dbit du protocole de routage en termes de nombre de messages dlivrs pendant une seconde est valu. D. Le dlai moyen de bout en bout (Moyenne End-to-End Delay) Le dlai moyen de bout en bout est le temps moyen (en secondes) qu'il faut pour qu'un paquet de donnes atteigne la destination. Cette mesure est calcule en soustrayant "le temps au moment duquel le premier paquet a t transmis par la source du temps au moment duquel le premier

paquets est arriv destination". Cela inclut tous les retards ventuels causs par la mise en mmoire tampon pendant la latence de dcouverte de route, faisant la queue la file d'attente de l'interface, les retards de

13

VANET : Clustering dans les rseaux de vhicules


retransmission la MAC, la propagation et les temps de transfert. Cette mesure est importante pour comprendre le retard introduit par la dcouverte du chemin.

14

VANET : Clustering dans les rseaux de vhicules

Dveloppement
1 Description du protocole V2I Vhicules to Infrastructure
Le protocole Vhicule to Infrastructure V2I est un protocole de routage, dvelopp par notre tuteur Mr Abdarrahim BENSLIMENE, qui permet la coopration entre les vhicules afin de se connecter internet. Ce protocole vise rduire les frais gnraux au cours du processus de la dcouverte de passerelle, de crer un rseau relativement robuste et de faire les remises homognes. L'accs Internet est assur par les passerelles qui sont mises en uvre dans les units de l'infrastructure routire, Pour que les vhicules, dans un rseau vhiculaire ad hoc, puissent se connecter Internet, ils doivent obtenir les

informations sur les passerelles disponibles et il convient de slectionner les plus appropries d'entre elles. Les passerelles mettent priodiquement les Messages publicitaires dans un secteur gographiquement limit utilisant geocast capabilities. La dcouverte de la passerelle vise propager les messages de publicit dans VANET travers des tapes multiples dans ce secteur. Nous appelons ce secteur broadcast zone . Un message qui provient de cette passerelle ne devrait pas tre diffus en dehors de cette zone. Ce secteur peut tre un rectangle ou un cercle et est dfinit selon la distance entre des passerelles, le port de transmission des passerelles, et la densit des vhicules (si c'est une autoroute ou une ville, les embouteillages, etc.) Par exemple, si la zone d'mission est un cercle, les passerelles envoient leurs positions (Xg, Yg), comme le centre de ce cercle et un rayon prdfini dans les messages de publicit. Aprs avoir reu le message, les vhicules extraient cette information et peuvent percevoir s'ils sont localiss l'intrieur ou l'extrieur de la zone d'mission d'une passerelle. Ces messages sont alors rediffuss dans le rseau par quelques nuds particuliers appels des relais. La figure1 montre un simple scnario, dans lequel la passerelle commence mettre des messages de publicit aux vhicules voisins. La zone d'mission est considre comme un rectangle ici et a une intersection avec la zone de transmission de passerelle 2. Dans ce cas, les messages de la passerelle 1

15

VANET : Clustering dans les rseaux de vhicules


seront mis par des tapes multiples certains nuds qui sont connects la passerelle2. Chaque message publicitaire contient l'adresse de passerelle, l'adresse de relais, le numro de squence de message, la zone d'mission, et les paramtres de stabilits.

Figure1: Une passerelle mettant un message publicitaire Les vhicules choisissent le parcours le plus stable aux passerelles et prolongent la dure de vie de leur connexion. Le parcours le plus stable n'est pas ncessairement le plus court, c'est le chemin avec la dure de vie la plus longue. Ici, nous sommes plus intresss par la dure de vie de la connexion, plutt que le nombre de sauts la destination. Les Paramtres de stabilit des vhicules qui sont : la vitesse, direction et l'emplacement, peuvent nous aider prdire l'emplacement prochain des vhicules, et la priode qu'ils restent dans la porte de transmission l'un de l'autre. Nous avons appliqu ces informations pour valuer la dure de vie de lien(LET) et rcursivement la dure de vie de parcours de vhicules pour accder aux passerelles(RET). Aprs avoir une liste de routes aux diffrentes passerelles, un vhicule peut faire la remise de la connexion la passerelle disponible suivante avant que la connexion courante choue. Si un vhicule ne reoit pas des messages de publicit,

16

VANET : Clustering dans les rseaux de vhicules


il devrait commencer envoyer des messages de sollicitation pour trouver une nouvelle passerelle.

2 Conception de lalgorithme du protocole V2I


Afin de faciliter limplmentati on du protocole de routage, nous avons dans un premier temps d fini sous la forme dun algorithme le comportement des nuds en se basant sur le document qui a t fournit par notre tuteur Mr A.BENSLIMENE, cet algorithme, qui est prsent dans la partie Annexe, rpond aux tapes et aux

critres dcrits sur ce document.

3 Implmentation
Afin dintgrer notre protocole V2I sous le simulateur NS2, nous tions amens limplmenter avec le langage de programmation C. Notre code et avant a compilation contient trois fichier dont la premire lextension .h dans laquelle nous avons dclar toutes les structures et variables, et les deux autres ont lextension .C dans lesquelles nous avons dfini les fonctions et la classe main qui permet de lancer lexcution. Ce code est prsent dans la partie Annexe. Nous allons mettre en place un nouveau protocole de routage Manet appel V2I tape par tape .Cette partie est assez gnrale, on peut noter plusieurs points communs avec d'autres protocoles de routage. Le dveloppement du code sera en langage C + + et puis nous ferons des simulations de scnarios dcrivant avec scripts Tcl. Pour implmenter notre code nous allons tout d'abord crer un nouveau rpertoire nomm V2I l'intrieur du rpertoire de base NS2 o nous allons crer nos diffrents fichiers comme suit : V2I.h : C'est le fichier entte dans lequel seront dfinis tous les compteurs, structures et variables ncessaires et l'agent de routage pour performer les fonctionnalits du protocole. V2I.cc : Dans ce fichier est effectivement mis en uvre tous les timers, ainsi que lagent de routage.

17

VANET : Clustering dans les rseaux de vhicules 4 Simulations


Dans le but dvaluer le protocole V2I, nous tions amens lintgrer sous le simulateur NS2, pour cela, il nous a t ncessaire dans un premier temps de faire une tude sur lintgration des protocoles d ans le simulateur afin de procder aux modifications ncessaires limplmentation du protocole de routage par potentiel dans les fichiers dimplmentation de NS.

Les modifications requises :


Suite la mis en place dun agent de routage pour le protocole V2I. On doit apporter des changements que nous devons faire pour intgrer notre code l'intrieur du simulateur.
Premirement il faut compiler le dossier V2I qui contient tout les fichiers c et bibliothques h du protocole V2I dans notre rpertoire NS2

*Editez le fichier MAKFILE de NS2 en Ajoutent la ligne en ++

mcast/lms-sender.o \

++ /V2I/V2I.o \

$(OBJ_STL)

aprs modification du fichier MAkfile vous modifier le fichier /common/packet.h :

*Editez le fichier en Ajoutent les lignes en ++

si vous avez la version ns2.33 : // V2I Protocole

18

VANET : Clustering dans les rseaux de vhicules


++ static packet_t PT_V2I= 61 ;

// insert new packet types here static packet_t PT_NTYPE = 62; // This MUST be the LAST one

et puis ajoutez les lignes : // V2I ++ name_[PT_V2I] = "V2I"; name_[PT_NTYPE]= "undefined";

si vous avez la version ns2.3.x :

Editez le fichier en Ajoutent leslignes en ++

./ns-2.3x/common/packet.h ( ligne 175)

enum packet_t { PT_TCP, PT_UDP, . . //V2I ++ PT_V2I, PT_NTYPE }; //this must the last one

dans le mme fichier ajoutez la ligne ++ :

../ns-2.3x/common/packet.h ( ligne 273)

19

VANET : Clustering dans les rseaux de vhicules

p_info() { name_[PT_TCP]= "tcp"; name_[PT_UDP]= "udp"; . . ++ name_[PT_V2I]= "V2I"; name_[PT_NTYPE]= "undefined"; }

il faut modifier aussi le fichier /tcl/lib/ns-packet.tcl

Editez le fichier /tcl/lib/ns-packet.tcl file en ajoutant des lignes en ++ :

# Application-Layer Protocols: Message # a protocol to carry text messages Ping PBC ++ V2I # Ping # PBC # V2I protocol "at line 159"

6- il faut modifier le fichier/tcl/lib/ns-default.tcl :

Editez le fichier /tcl/lib/ns-default.tcl file en ajoutant des lignes en ++ :

dans la fin du fichier ajoutez les lignes ++

++ ++

Agent/V2I set packetSize_ 64 Agent/V2I set bytes_ 0

20

VANET : Clustering dans les rseaux de vhicules

aprs ces modifications recompiler ns2 en tapant la commande : # make

21

VANET : Clustering dans les rseaux de vhicules 5 Problmes rencontrs


Les problmes rencontrs sont divers, le principal problme tait de se familiariser avec l'outil NS2, sont installation pour une premire fois a pris du temps, et suite des problmes de version on a t men installer une nouvelle version qui est la ns-2.34 dans la mesure o l'implmentation du protocole DYMO ncessite une version assez rcente. Le protocole DYMO ncessite linstallation dune librairie ns-miracle . En effet, NS-MIRACLE est un ensemble de bibliothques destines amliorer les fonctionnalits fournies par le simulateur de rseau NS2, pour grer les messages inter-couche et en mme temps permet la coexistence de plusieurs modules au sein de chaque couche de la pile de protocole. Par exemple, plusieurs IP, les couches de liaison, Mac ou couches physiques peuvent tre spcifis et utiliss dans le mme nud. Le cadre NS-MIRACLE facilite la mise en uvre et la simulation des systmes de communication modernes dans ns2; ailleurs, en raison de sa modularit, le code sera portable, rutilisable et extensible. Mais l'installation de cette librairie prendra effet aprs la compilation patch qui a d modifie un ensemble de fichier important de ns2 savoir le Makefile, qui gnrait suite cela une erreur de compilation. Dans le cadre du dveloppement dun protocole, on a pu noter que cest toujours dlicat de programmer un protocole de routage en particulier et un protocole de routage en gnral.

22

VANET : Clustering dans les rseaux de vhicules

Conclusion
Ltude que nous avons ralise a port sur le dveloppement dun protocole de routage V2I adapt la communication sur un rseau de type VANET. Ce protocole simplante au niveau de la couche MAC et lalgorithme de routage est distribu, ce qui fait que chaque nud est indpendant. Limplmentation du protocole a t termine et dbugue, Cependant il

serait intressant de pousser les simulations un peu plus loin, pour notamment simuler un trafic rseau plus raliste. Ce Projet nous a permis de dcouvrir le domaine des VANET et des rseaux sans fils Wi-Fi en gnral, sur lesquels nous navions que quelques notions. Le domaine des VANET nous a beaucoup intress parce que ce domaine de recherche est en plein bouillonnement et attire de plus en plus lattention des chercheurs et des constructeurs automobiles. Les premires applications de ce type de rseaux devrait apparaitre dici peu. Les tudiants qui reprendront ce sujet peuvent apporter des futures amliorations du protocole que nous avons voqu cette occasion.

23

VANET : Clustering dans les rseaux de vhicules

Bibliographie
[ABD 07] ABDALLA G., ABU-RGHEFF M., SENOUCI S., Current Trends in Vehicular Ad Hoc Networks ,in UBIROADS 2007 workshop, IEEE GIIS Marrakech, Morocco, July 2007. [BUC 05] BUCCIOL P., MASALA E., KAWAGUCHI N., TAKEDA K., DE MARTIN J., Performance Evaluation of H.264 Video Streaming over Inter-Vehicular 802.11 Ad Hoc Networks , Proc. of 16th Annual [DUC 07a] DUCOURTHIAL B., About efficiency in wireless communication frameworks on vehicular networks, Invited paper, workshop ACM WIN-ITS colocated with IEEE ACM QShine 2007, Canada,August 2007. dynamic vehicular ad hoc network. , In IEEE WoWMoM07, 2007. [HUI 01] HUI F., Experimental Charaterization of Communications in Vehicular Ad Hoc Networks , Thesis Master of Science in Computer Science, University of California Davis, 2001. [JER 07] JERBI M., SENOUCI S., MERAIHI R., Y. G.-D., An improved Vehicular Ad Hoc Routing Protocol for City Environments , IEEE International Conference on Communications (ICC), Glasgow, Scotland, June 2007. [KHA 05] KHALED Y., DUCOURTHIAL B., SHAWKY M., IEEE 802.11 performances for inter-vehicle communication networks , Vehicular Technology Conference,2005. VTC 2005-Spring, vol. 5, 2005, p. 2925-2929. [KHA 07a] KHALED Y., DUCOURTHIAL B., SHAWKY M., A usage oriented taxonomy of routing protocols in VANET , June 2007. [KHA 07b] KHALED Y., DUCOURTHIAL B., SHAWKY M., Conditional transmissions : a communication strategy for highly dynamic vehicular ad hoc networks , IEEE Transactions on Vehicular Technology,special issue on vehicular communication networks, vol. 56, no 6, November 2007, p. 3348-3357. [SIN 02] SINGH J., BAMBOS N., SRINIVASAN B., D. C., Wireless lan performance under varied stress conditions in vehicular traffic scenarios. , In Proceedings. IEEE 56th Vehicular Technology Conference,vol. 2, 2002, p. 743-747.

24

VANET : Clustering dans les rseaux de vhicules

Annexe
// debut Algo au niveau de la Gatway /*** intialisation ******/ tr; // port ou transmission Range Zm; // la zone de transmission dist; // distance entre les Gatway DirectionSender; // direction de l'emeteur speedSender; //vitesse de l'emeteur adrSource, // adresse source adrRelay; // adresse Relay seqNb; // numero de sequence du message

int [] position; // Xg,Yg position Gatway ou du noeud Xi,Yi adrRelay=adrSource; seqNb=0; RET=valMax; speedSender=0; MessageDif=creatMessage(adrSource,adrRelay,seqNb,positionSender,speedSender,DirectionSender, RET,Zm); seqNb ++; broadcast(MessageDif)

// cot noeud init(); // fonction d'initialisation random-node(); random-region(); random-mobility(); random-trafic(); // choix du noeud // choix de la position //vitesse vectoriel // generation du trafic

while(condi.sim=!0) //tant qu'il y a un trafic {

while( buffer!=null) { message = buffer; if(inZone(Zm,postion)) { if( relay()) {

25

VANET : Clustering dans les rseaux de vhicules


calcul-LET();// calcul de la duree de vie du lien entre deux noeuds voisins calcul-RET();// calcul de la duree de vie du chement entre deux noeuds calcul-stability();//calcul des parametres de stabilit: position de l'emetteur, vitesse de l'emetteur, direction de l'emetteur,le RET updatMessage(); message braodcast(); publicitaire et sauvgarderer les parametres de trafic stat(); //enregistrer les statistiques //envoyer le message // metre a jour le

} } } } affichage();//affichage des rsultats

/* *cette fonction nous permet de cre le message avant de le broadcast utilise *notament par la Gatway */ struct creatMessage(adrSource,adrRelay,seqNb,positionSender,speedSender,DirectionSender,RET,Zm)

// remplir la structure qui represente notre message agent

} /* *cette fonction nous permet de metre a jour le message avant de le broadcast utilise

26

VANET : Clustering dans les rseaux de vhicules


* notament par le relay pour metre a jour le RET */

function struct updatMessage(adrSource,adrRelay,seqNb,positionSender,speedSender,DirectionSender,RET,Zm)

// modification de la structure

/* *difusion des message sur la zone */

function { send ( all) ;

broadcast ( string message )

/* *A la reception du message les noued verifie d'abord si il sont a l'interieur de Zm */

27

VANET : Clustering dans les rseaux de vhicules


function booleen inZone(Zm,postion)

return 1 ; // si je suis dans la zone

function int {

relay( )

TimeOut= calculeTimeOut();

for(;TimeOut!=0;TimeOut--) { if(Buffer.seqNb==message.seqNb && Buffer.adrSource=message.adrSource ) { return 0; // le noeud a reu le message d'un Relay } }

return 1; // si je suis relay

function int {

calcul-LET()

28

VANET : Clustering dans les rseaux de vhicules


for(int i=o; i<=nbNodes; i++) { for(int j=i; j<=nbNodes; j++) { if(dist(node[i].node[j])<=R) { LET(i,j)= (-1)(a*b +c*d)+ sqrt[(a+c)*r-(a*d -b*c)] / a+ c } } }

function int {

calcul-RET()

order-node-by-dist(); apartiennent

//organiser les noeuds en fonction de la station de base laquelle ils

for(i=1; i<=nbNodes; i++); { RET[i]=0; if dist(node[i],BS)<=R { RET[i]=0; } else { for(j=1;j<=i; j++) { if dist(i,j)<=R

29

VANET : Clustering dans les rseaux de vhicules


{ RET(i,j)= min(RET(j), LET(i,j)); } } } } RET(i)=max(RET(i,j));

function int {

calcul-stability()

for(i=0; i<=nbNodes; i++) { s(i)= 1-exp(-LET/a);

for(j=i; j<=nbNodes; j++) { P(i,j)=cos(teta(i)-teta(j))*dist(i,j)/R; F= alpha*S(i)+(1-alpha)* P(i,j);

Tm=T(1-F);

while(Tm!=0) { if (receive ()) // quand il recoit un message {

30

VANET : Clustering dans les rseaux de vhicules


st=0; //stabilit } } } } } return 1; }

31