Académique Documents
Professionnel Documents
Culture Documents
KAMMOUN Sabeur
KAMMOUN Sabeur
Option :
Rseaux mobiles
Thme :
Sabeur KAMMOUN
Encadrant :
M. Nabil TABBANE
A mon pre,
A ma mre,
A mon frre et ma sur,
A mon oncle et toute sa famille,
A tous ceux qui m'aiment ; A tous ceux que j'aime,
Je ddie ce travail.
Remerciements
Je tiens remercier tous mes camarades et surtout Issa Konat AW pour son aide.
Rsum
De nos jours, plusieurs travaux ont t mens sur les rseaux ad hoc afin dintgrer
les applications temps rel telles que la voix et la vido exigeant certaines contraintes au
niveau des ressources offertes en terme de dlai et de bande passante. Parmi
ces
applications temps rel, nous pouvons citer la vidoconfrence qui ncessite en plus la
communication de groupe.
La topologie dynamique des rseaux ad hoc a une influence importante sur la
qualit de service. Pour cela, et vue lmergence des applications temps rel, la QoS dans
les rseaux mobiles ad hoc devient un sujet de plus en plus important mais aussi dlicat.
Dans ce projet, nous avons implment laspect QoS sur les protocoles de routage
AODV et MAODV en considrant les contraintes de dbit, dlai et le couplage de ces
deux contraintes ensemble dans la recherche et ltablissement des routes. Nous avons
tudi lapport de ces mcanismes de QoS sur les trafics unicast et multicast.
Mots cls
Rseaux ad hoc, QoS, AODV, Multicast-AODV.NS-2
INTRODUCTION GENERALE......................................................................................................1
CHAPITRE I .....................................................................................................................................2
RESEAUX AD HOC ET QOS .........................................................................................................2
I.1 INTRODUCTION...........................................................................................................................2
I.2 ETAT DART................................................................................................................................2
I.2.1 Modlisation dun rseau ad hoc .......................................................................................3
I.2.2 Les applications des rseaux ad hoc ..................................................................................4
I.2.3 Les caractristiques des rseaux ad hoc ............................................................................4
I.3 PROTOCOLES DE ROUTAGE DANS LES RESEAUX AD HOC ........................................................5
I.3.1 Les protocoles de routage proactifs ...................................................................................5
I.3.2 Les protocoles de routage ractifs .....................................................................................5
I.3.3 Le protocole de routage AODV..........................................................................................5
I.4 QOS DANS LES RESEAUX AD HOC ...............................................................................................7
I.4.1 Les mtriques de QoS pour un environnement ad hoc .......................................................8
I.4.2 QoS au niveau routage .......................................................................................................9
I.4.3 Modles de QoS pour les rseaux ad hoc.........................................................................11
I.4 CONCLUSION ............................................................................................................................12
CHAPITRE II..................................................................................................................................13
LE PROTOCOLE DE ROUTAGE MAODV ...............................................................................13
II.1 GENERALISATION ...................................................................................................................13
II.2 DECOUVERTE ET MAINTENANCE DE ROUTE POUR ATTEINDRE LARBRE ................................16
II.3 CONSTRUCTION DE LARBRE ..................................................................................................17
II.4 LA MAINTENANCE DE LARBRE MULTICAST ...........................................................................19
II.4.1 la propagation priodique dun GRPH...........................................................................20
II.4.2 la maintenance de la connectivit entre les nuds voisins .............................................20
II.4.3 La slection du chef de groupes (group leader)..............................................................22
II.4.4 Rvocation des membres de groupe ................................................................................24
II.4.5 Fusion darbres...............................................................................................................25
II.5 CONCLUSION...........................................................................................................................27
CHAPITRE III ................................................................................................................................28
IMPLEMENTATION DE LA QOS AU NIVEAU ROUTAGE..................................................28
respectant la contrainte
de dbit ..............................................................................................................................................44
Figure 4.3 : Dlai dtablissement dune route en fonction du temps avec contrainte de dbit ........44
Figure 4.4 : Taux de paquets livrs avec succs en fonction de la vitesse en respectant la . contrainte
de dbit ..............................................................................................................................................45
Figure 4.5 : Taux de paquets livrs avec succs en fonction du temps avec contrainte de dbit ......46
Figure 4.6 : Dlai moyen de bout en bout en fonction de la vitesse en respectant la contrainte de
dbit ...................................................................................................................................................47
Figure 4.7 : Dlai moyen de bout en bout en fonction du temps avec contrainte de dbit................48
Figure 4.8 : Trafic de contrle en fonction de la vitesse en respectant la contrainte de dlai ...........48
Figure 4.9 : Dlai dtablissement dune route en fonction de la vitesse en respectant la contrainte
de dlai ..............................................................................................................................................49
Figure 4.10 : Dlai dtablissement dune route en fonction du temps avec contrainte de dlai .....50
Figure 4.11 : Taux de paquets livrs avec succs en
Introduction gnrale
supcom
Introduction gnrale
Les concepteurs et les fournisseurs de services dans le domaine des tlcoms ont choisi d'investir
dans l'intgration de la qualit de service (QoS) pour les rseaux filaires. Au dbut, les rseaux
sans fil prsentaient beaucoup de difficults cause de leurs caractristiques principales telles
que le dynamisme de la topologie et les limites de la bande passante.
On distingue deux classes de rseaux sans fil; les rseaux avec infrastructure qui utilisent
gnralement le modle de la communication cellulaire, et les rseaux sans infrastructures dits ad
hoc.
A loppos des rseaux cellulaires, un rseau mobile ad hoc peut tre dfini comme une
collection d'entits mobiles interconnectes par une technologie sans fil formant un rseau
temporaire sans l'aide de toute administration ou de tout support fixe. Les rseaux ad hoc
peuvent tre relis d'autres catgories de rseaux (LAN, WAN,) et donc ils sont trs utiles
pour les communications de groupe. De nos jours, plusieurs travaux ont t mens sur de tels
rseaux afin d'intgrer les applications temps rels telles que la voix ou la vido exigeant
certaines contraintes au niveau des ressources offertes en terme de dlai et de bande passante.
Parmi ces applications temps rels, nous pouvons citer la vidoconfrence qui ncessite en plus
la communication de groupe.
Dans notre travail nous avons choisi un protocole de routage utile pour les communications de
groupe qui est le protocole MAODV : Multicast Ad hoc On Demand Vector distance. A ce
protocole, nous avons apport des modifications afin d'implmenter les contraintes de dbit et de
dlai exiges pour les applications temps rels.
L'objectif de ce projet est d'implmenter la qualit de service sur les protocoles de routage
AODV et MAOV tout en respectant les contraintes de dbit, de dlai et le couplage des deux.
Notre rapport est organis de la faon suivante :
Nous avons effectu, dans le premier chapitre, une tude bibliographique sur les rseaux mobiles
ad hoc, et recens les mcanismes de qualit de service existants.
Dans le deuxime chapitre nous allons analyser les spcifications du protocole de routage
MAODV.
Quand au troisime chapitre, nous prsentons les diffrentes tapes de l'implmentation de la
QoS dans les protocoles AODV et MAODV.
Enfin, le quatrime chapitre traite l'analyse des rsultats de simulations effectues l'aide du
simulateur rseau NS-2.
supcom
Chapitre I
Rseaux ad hoc et QoS
I.1 Introduction
Les systmes de communication cellulaire sont bass essentiellement sur l'utilisation des rseaux
filaires (tel que Internet ou ATM) et la prsence des stations de base qui couvrent les diffrentes
units mobiles du systme. Les rseaux mobiles "ad hoc" sont l'inverse, des rseaux qui
s'organisent automatiquement de faon tre dployable rapidement, sans infrastructure fixe, et
qui doivent pouvoir s'adapter aux conditions de propagation, aux trafics et aux diffrents
mouvements pouvant intervenir au sein des nuds mobiles.
Les rseaux mobiles prsentent une architecture originale. En effet, l'attnuation des signaux
avec la distance, fait que le mdium peut tre rutilis simultanment en plusieurs endroits
diffrents sans pour autant provoquer de collisions, ce phnomne est appel la rutilisation
spatiale (Spatial Reuse) et il sert de base au concept de la communication cellulaire.
supcom
Unit mobile
Lien de communication
6
3
4
La topologie du rseau peut changer tout moment (voir la figure 1.2), elle est donc dynamique
et imprvisible ce qui fait que la dconnexion des units soit trs frquente.
Aprs dplacement des nuds, la topologie du rseau de la figure 1.1 peut devenir un moment
donn comme suit :
Unit mobile
2
5
Lien de communication
3
4
supcom
Dans ce cas, lancienne route qui existait entre le nud 2 et le nud 8 est perdu car le lien entre
le nud 2 et le nud 5 est cass.
I.2.2 Les applications des rseaux ad hoc
Les applications qui vont s'orienter vers les rseaux ad hoc sont naturellement celles qui ne
peuvent se contenter d'une mobilit restreinte ou reposant sur une infrastructure existante. Nous
trouverons bien sr dans ces applications les rseaux militaires. Nous y trouverons galement les
rseaux d'urgence (incendies, tremblement de terre), et les rseaux temporaires d'exposition ou
correspondant un vnement particulier.
I.2.3 Les caractristiques des rseaux ad hoc
Les rseaux mobiles ad hoc sont caractriss par :
Une topologie dynamique : Les units mobiles du rseau, se dplacent d'une faon libre
et arbitraire. Par consquent la topologie du rseau peut changer, des instants
imprvisibles, d'une manire rapide et alatoire. Les liens de la topologie peuvent tre
unis ou bidirectionnels.
Une bande passante limite : Une des caractristiques primordiales des rseaux bass sur
la communication sans fil est l'utilisation d'un mdium de communication partag. Ce
partage fait que la bande passante rserve un hte soit modeste.
Des contraintes d'nergie : Les htes mobiles sont aliments par des sources d'nergie
autonomes comme les batteries ou les autres sources consommables. Le paramtre
d'nergie doit tre pris en considration dans tout contrle fait par le systme.
Une scurit physique limite : Les rseaux mobiles ad hoc sont plus touchs par le
paramtre de scurit, que les rseaux filaires classiques. Cela se justifie par les
contraintes et limitations physiques qui font que le contrle des donnes transfres doit
tre minimis.
L'absence d'infrastructure : Les rseaux ad hoc se distinguent des autres rseaux mobiles
par la proprit d'absence d'infrastructures prexistante et de tout genre d'administration
centralise. Les htes mobiles sont responsables d'tablir et de maintenir la connectivit
du rseau d'une manire continue.
supcom
supcom
squence permettent d'utiliser les routes les plus nouvelles (fresh routes).
De la mme manire que dans le DSR [14], l'AODV utilise une requte de route dans le but de
crer un
chemin vers une certaine destination. Cependant, l'AODV [2] maintient les chemins
d'une faon distribue en gardant une table de routage, au niveau de chaque nud de transit
appartenant au chemin cherch.
Un nud
diffuse une requte de route (RREQ) dans le cas o il aurait besoin de connatre un
chemin vers une certaine destination et qu'une telle route n'est pas disponible. Cela peut arriver:
Si la destination n'est pas connue au pralable, ou
Si la dure de vie du chemin existant vers la destination a expir ou le chemin est
devenu dfaillant.
Lorsque la destination reoit ce message, elle rpond par un RREP.
Le champ numro de squence destination du paquet RREQ, contient la dernire valeur connue
du numro de squence, associ au nud
routage. Si le numro de squence n'est pas connu, la valeur nulle sera prise par dfaut. Le
numro de squence source du paquet RREQ contient la valeur du numro de squence du nud
source.
A fin de maintenir des routes consistantes, une transmission priodique du message "HELLO"
est effectue. Si trois messages "HELLO" ne sont pas reus conscutivement partir d'un nud
voisin, le lien en question est considr dfaillant.
Le protocole AODV ne prsente pas de boucle de routage, en outre il vite le problme
"counting to infinity" de Bellman-Ford, ce qui offre une convergence rapide quand la topologie
du rseau ad hoc change.
Formats des messages RREQ :
Type
Rserv
Nombre de sauts
Identit
@ destination
Numro de squence destination
@ source
Numro de squence destination
supcom
Type : 1
J : join flag ; rserv pour le multicast.
R : Repair flag ; rserv pour le multicast.
Rserv : envoy 0 ; ignor la rception.
Nombre de sauts : le nombre de sauts entre la source et le nud manipulant la requte.
Identit : un numro qui identifie dune manire unique le RREQ.
@ destination : ladresse IP de la destination
Numro de squence destination : Le dernier numro de squence reu au pass par la source
pour une route vers la destination
@ source : ladresse IP du nud qui a mis la requte.
Numro de squence source : le numro de squence courant utiliser dans lentre de la route
qui pointe vers le nud source de la requte.
Formats des messages RREP :
Type
Rserv
Taille prfixe
Nombre de sauts
@ destination
Numro de squence destination
Dur de vie
supcom
Dans les rseaux ad hoc, tant donn le dynamisme de la topologie, il faut trouver une route
ayant suffisamment de ressources pour satisfaire les besoins de la QoS dune communication,
tout en optimisant lutilisation des ressources disponibles.
Le modle IntServ [7] savre donc inadapte lenvironnement ad hoc alors que le modle
DiffServ [8] semble le mieux adapt aux rseaux mobiles.
Il existe deux types d'algorithme traitant les mcanismes de la QoS dans les rseaux ad hoc :
Les algorithmes qui introduisent la QoS au niveau des protocoles de routage. On parle
alors de la QoS niveau routage.
supcom
CEDAR [9] est un protocole de routage ractif avec qualit de service. Il rduit au maximum les
messages de contrle. Il est bas sur une lection dynamique dun sous ensemble de stations qui
forment un coeur de rseau stable. Ces stations sont appeles routeurs cur . Des
informations sur les liens stables disposant dune grande bande passante sont propages entre les
nuds cur. Le calcul des routes est effectu par ces nuds en utilisant des informations locales.
Utilis dans des rseaux de petite moyenne taille (de dizaines des centaines de nuds), il est
bas sur trois composantes essentielles :
Extraction dun coeur du rseau : un ensemble de nud
calculer les routes et maintenir ltat des liens du rseau. Lavantage dune telle approche est
quavec un ensemble rduit de nud
minimiss, vitant ainsi des messages supplmentaires circulant dans le rseau. En outre, lors
dun changement de route, seuls les nuds du cur serviront au calcul,
Propagation dtat de lien : le routage avec qualit de service est ralis grce la propagation
des informations sur les liens stables avec une grande bande passante.
Lobjectif est dinformer les nuds distants sur les liens de grande capacit, alors que les liens de
faible capacit sont connus au niveau local (les nuds nont pas une information sur la topologie
globale du rseau),
Calcul de route : celui-ci est bas sur la dcouverte et ltablissement dun plus court chemin
vers la destination satisfaisant la bande passante demande. Des routes de secours sont utilises
lors de la reconstruction de la route principale, quand cette dernire est perdue. La reconstruction
peut tre locale ( lendroit de la cassure), ou linitiative de la source.
Au lieu de calculer une route avec un minimum de saut, lobjectif principal de CEDAR est de
trouver un chemin stable pour garantir plus de bande passante. Dans ce protocole de routage, les
nud
s du cur du rseau auront plus de trafics grer, en plus des messages de contrle (pour
supcom
Unit mobile
Nud coeur
Lien de communication
2
Lien virtuel
6
3
4
C'est un protocole de routage distribu [11], qui autorise des informations dtat imprcises
durant la phase de calcul de la route. Il permet de rduire la quantit des messages de routage
diffuse pour la dcouverte de la route, en publiant un certain nombre de tickets logiques.
Chaque message de dcouverte (ou dobservation) de route doit avoir au moins un ticket. Quand
un message arrive un nud, il peut tre divis en plusieurs messages dobservation, qui sont
relays vers les prochains sauts.
Chaque message fils contiendra un sous ensemble des tickets de son message pre.
Evidemment, un message ayant un seul ticket ne peut tre divis. Lors de larrive dun message
de dcouverte de route la destination, le chemin saut par saut est connu et les informations de
dlai ou de bande passante peuvent tre utilises pour effectuer la rservation de ressources pour
la route rpondant aux besoins de la qualit de service. Le nombre de tickets gnrs est fonction
de la prcision des informations dtats disponibles la source et les besoins de la qualit de
service de la communication. Plus de tickets sont publis dans le but daugmenter la chance de
trouver un chemin dsir.
Dans les rseaux filaires, une distribution de probabilit, selon des informations sur le dlai ou la
bande passante, peut tre calcule. Cependant, cela reste inappropri dans les rseaux ad hoc o
les liens sans fil sont sujets des cassures, o les informations dtats sont imprcises. Pour cela,
un modle simple a t propos pour lalgorithme Ticket Based.
10
supcom
Il utilise lhistorique et lestimation des variations du dlai, et une formule de lissage pour
calculer le dlai courant. Pour sadapter aux changements de topologie, lalgorithme autorise
diffrents niveaux de redondance de route. Il utilise aussi des techniques de rparation et de
reroutage pour la maintenance des routes. La rparation des routes se fait en utilisant des
reconstructions locales.
I.4.2.3 Multipath QoS Routing Protocol
Contrairement aux autres protocoles avec QoS, qui essayent de trouver un seul chemin entre la
source et la destination, le Multipath QoS Routing Protocol, permet de trouver plusieurs routes
qui fournissent collectivement suffisamment de ressources.
I.4.3 Modles de QoS pour les rseaux ad hoc
I.4.3.1 Flexible quality of service model for MANETs (FQMM)
Le modle FQMM [5] repose sur une architecture rseau plate (non hirarchique), constitue
dune cinquantaine de nuds mobiles, formant un domaine DiffServ [8]. Il combine les
proprits des modles filaires IntServ [7] et DiffServ, en offrant une mthode
dapprovisionnement hybride : par flux, pour les trafics prioritaires, et par classe pour les autres
trafics. Dans le rseau, les nuds peuvent avoir des rles diffrents suivant les trafics existants :
nud dentre du trafic, intermdiaire ou de sortie. Les nuds dentre permettent de marquer et
classifier les paquets, qui seront ensuite relays par les nuds intermdiaires suivant leurs PHB
(Per Hop Behavior), jusqu arriver au nud
sur la couche IP, o les fonctionnalits sont spares en deux grands plans : le plan relayage de
donnes et le plan contrle et gestion. Les techniques dordonnancement et de gestion de
mmoires tampons sont tudies. Dans ce modle, le protocole de routage est suppos fournir
des routes ayant suffisamment de ressources.
Lavantage dune telle approche est la possibilit dinterfacer le rseau avec lInternet, vu les
mcanismes de qualit de services offerts qui sont proches des protocoles filaires.
Cependant, plusieurs mcanismes ainsi que linteraction avec la couche MAC restent dfinir
pour sadapter aux conditions variables du rseau ad hoc.
I.4.3.2 Service differentiation in wireless ad hoc networks (SWAN)
SWAN [6] est un modle rseau sans tat bas sur des algorithmes de contrle distribus dans le
but dassurer une diffrenciation de services dans les rseaux ad hoc. Il offre la priorit (au
Projet de fin dtude
11
supcom
niveau paquet) aux trafics temps rel en contrlant la quantit de trafics best effort accepte par
nud. Pour accepter un nouveau trafic temps rel, le contrle dadmission sonde la bande
passante minimale disponible sur la route (valide et obtenu par un protocole de routage). Une
dcision la source est alors prise suivant la bande passante obtenue. Pour maintenir la qualit
de service des trafics dj accepts, le dbit des trafics best effort est rgul en utilisant les
mesures de dlais au niveau MAC comme paramtre. Un classificateur et un shaper permettent
de diffrencier les deux types de trafic. En cas de congestion, les bits ECN (Explicit Congestion
Notification) de lentte des paquets IP sont positionns pour permettre la source de re-initier le
contrle dadmission. Si la route ne dispose pas dassez de bande passante, le trafic est supprim.
Ainsi, SWAN permet de fournir une QoS logiciel (soft QoS).
Un flux prioritaire admis nest pas sr davoir des garanties pour lentire dure de la
communication, et peut tout moment tre viol par dautres demandes de trafics. Un
mcanisme de contrle de dbit des flux best effort nest pas lui seul suffisant pour offrir des
garanties aux applications temps rel. En outre, dans cette approche, le protocole de routage ainsi
que la couche daccs au mdium sont de type best effort.
I.4.3.3 Modle iMAQ
Le modle iMAQ [10] fournit le support des transmissions des donnes multimdia dans un
MANET [1]. Le modle inclut une couche ad hoc de routage et une couche de service logiciel
(Middleware). Dans chaque nud, ces deux couches partagent les informations et communiquent
afin de fournir les garanties de qualit de service aux trafics multimdia. Le protocole de routage
est bas sur la prdiction de la position des nuds (predictive location-based) et orient qualit
de service. La couche Middleware communique galement avec la couche application et la
couche rseau et essaye de prvoir le partitionnement du rseau. Pour fournir une meilleure
accessibilit aux donnes, il rplique les donnes entre les diffrents groupes du rseau avant
deffectuer le partitionnement.
I.4 Conclusion
Tous ces modles et ces protocoles ne peuvent pratiquement pas servir pour des applications qui
ncessitent des protocoles de routages adapts aux communications de groupes. Il faudra donc
introduire la QoS au niveau des protocoles de routage multicast qui sont les mieux adaptes pour
les applications de ce type. Nous allons dtaill dans le chapitre suivant les spcifications du
protocole de routage MAODV classique.
12
supcom
Chapitre II
Le protocole de routage MAODV
II.1 Gnralisation
MAODV [3] est un protocole de routage ractif pour les rseaux ad hoc ddi au trafic multicast.
Cest en fait un protocole obtenu par extension du protocole AODV, ce dernier est ddi au trafic
unicast dans les rseaux ad hoc. Le MAODV comme tout autre protocole de routage multicast
se base sur le concept de groupe. Rappelons quun groupe multicast est un ensemble de nuds
qui se communiquent les informations par diffusion slective dans un rseau topologie
dynamique tel que le rseau ad hoc. Le MAODV fait partie de la famille des protocoles "Treebased" c'est--dire quil respecte une structure arborescente pour livrer des paquets de donnes
pour un groupe multicast. Chaque groupe multicast possde une adresse multicast unique de
groupe. Selon les spcifications du MAODV, les groupes multicast sont organiss en une
structure arborescente (voir la figure 2.1) compose de membres de groupe et plusieurs routeurs,
qui ne sont pas membre de groupe mais doivent exister dans l'arbre pour relier les membres de
groupe. Nous dirons que les membres de groupe et les routeurs sont tous membres de larbre et
appartiennent au groupe de l'arbre. Associs chaque arbre multicast, le membre de groupe qui
construit le premier l'arbre est le chef du groupe pour cet arbre, et est donc responsabilis la
maintenance du groupe de l'arbre par une diffusion priodique de messages "Group-Hello"
(GRPH) dans tout le rseau. Le chef de groupe maintient galement le numro de squence du
groupe, qui est propag dans le rseau travers le message GRPH.
13
supcom
Chaque nud
dans le rseau peut maintenir trois tables. La premire est la table de routage
unicast dans laquelle, est enregistr le prochain saut servant router le trafic unicast vers d'autres
destinations (figure2.1). Habituellement, la destination est un nud
Un cas particulier qui peut se prsenter est lorsque ladresse de destination est une adresse
multicast, ce qui se produit quand le nud n'est pas un membre d'arbre multicast mais doit
envoyer des paquets de donnes multicast un groupe multicast.
(1:1)
RREQ
(1:3)
RREP
[8:8]
Group leader
Membre de groupe
Membre de larbre
14
supcom
La seconde table est la table de routage multicast dans laquelle, sont enregistrs les prochains
sauts vers la structure arborescente de chaque groupe multicast du rseau. Dans cette table,
chaque entre reprsente une structure arborescente de groupe. Chaque nud qui appartient cet
arbre de groupe devrait maintenir de telles entres, avec sa propre identit comme : chef de
groupe, membre de groupe ou routeur. La construction de cette table est dtaille dans la section
II.3.
A chaque prochain saut est associ une direction qui est soit en amont ou soit en aval. Si le
prochain saut est un nud plus prs du chef de groupe alors la direction est ascendante (en
amont); autrement la direction est descendante (en aval). Le chef de groupe n'a aucun saut en
amont, alors que d'autres nuds dans l'arbre devraient avoir un et seulement un saut en amont.
La troisime table est la table du Chef de groupe "Group Leader Table". Elle enregistre ladresse
du groupe multicast courant avec ladresse du chef de groupe et le prochain saut vers ce chef de
groupe, et toutes ces informations sont reues travers les messages GRPH priodiquement
diffuses. La figure 2.3 illustre la construction de cette table et la diffusion des messages GRPH.
[6:8]
[6:3]
[destination:prochain saut
vers la destination]
[6:6]
Group leader
Membre de groupe
Membre de larbre
6
[6:6]
[6:6]
[6:5]
[6:6]
[6:9]
[6:4]
15
supcom
intermdiaire et le nud
de source
mettent jour la route vers le membre de l'arbre avec l'adresse de destination qui est l'adresse de
groupe multicast. Cette mise jour est faite dans leur table de routage unicast. Pour cette
premire tape, le nud
) La deuxime tape :
La deuxime tape est accomplie avec la construction de l'arbre multicast, qui est dcrite dans la
section II.3. Pendant l'expdition de paquets de donnes multicast, chaque nud
vrifie
d'abord sil est lui-mme membre de l'arbre multicast. Sil n'est pas un membre de l'arbre, il
vrifiera sa table de routage unicast pour trouver le prochain saut vers l'adresse multicast. S'il
16
supcom
trouve les informations, les paquets de donnes sont expdis vers le prochain saut sinon il
enverra un RREP au nud source pour que ce dernier initialise une nouvelle procdure de
dcouverte de route. Si le nud lui-mme est membre de larbre, il suivra sa table de routage
multicast pour expdier les paquets. Lors de lutilisation de la table de routage Unicast pour
expdition des paquets de donnes multicast, on utilise la dtection de la couche MAC pour
dtecter la rupture de lien sur les routes.
informations sur le chef de groupe et les informations pour atteindre ce chef de groupe en
vrifiant sa propre Group Leader Table et que cest la premire fois qu'il envoie RREQ-J,
RREQ-J peut tre envoy dune faon unicast vers le chef de groupe. Pendant la propagation de
RREQ-J, la route inverse au nud source de la requte est tablie dans la table de routage
unicast. Quand un nud reoit un RREQ-J non dupliqu, seuls les membres de l'arbre avec un
numro de squence du groupe multicast suprieur ou gal celui du RREQ-J peuvent rpondre
au RREQ-J avec un RREP-J (RREP avec un champ Join ). Le renvoi de RREP-J le long de la
route inverse signifie que cette route peut tre une branche potentielle de l'arbre. Ainsi dans la
table de routage multicast, les informations sur le prochain saut en amont vers l'arbre sont mises
dans la mmoire cache sans ajouter un nouveau saut valide dans l'entre (figure 2.4). Si plus tard
le nud reoit un autre RREP-J indiquant une meilleure branche (c'est--dire un numro de
squence plus grand ou un nombre de saut plus petit au cas o le numro de squence est le
mme), il met les nouvelles informations en mmoire cache et propage le RREP-J vers le nud
source; dans le cas contraire il abandonne les derniers RREP-J.
17
supcom
Un nouveau message, MACT (Multicast Route Activation), est utilis pour greffer une branche
l'arbre multicast. Lorsque le nud source envoie RREQ-J et attend un temps spcifique gal
RREP_WAIT_TIME [13], il vrifie s'il a dj reu un quelconque RREP-J et mmoris les
informations correspondantes. Si oui, il envoie un MACT avec un champ Join MACT-J vers
le nud en amont mmoris qui va tre ajouter sa table de routage multicast. Chaque nud
recevant un message MACT-J devrait ajouter dans sa table de routage multicast, le nouveau
prochain saut en aval indiquant le nud auprs duquel il a reu le MACT-J (figure 2.5). Sil est
membre de l'arbre, alors la branche est finalement greffe ; sinon, il vrifiera sa propre mmoire
cache pour trouver un prochain saut potentiel en amont vers l'arbre et ajouter ce prochain saut
dans sa table de routage multicast, puis envoyer un MACT-J vers ce nud .
RREQ-J
RREP-J
[-]
[-:-]
[1:3]
Group leader
[1:2]
Membre de groupe
[8]
[1:1]
[1:1]
[7]
[5]
[1:5]
Figure 2.4 : Les oprations de jointure de larbre, propagation des messages RREQ-J et RREP-J
18
supcom
dans ce groupe et agit comme un chef de groupe pour maintenir le numro de squence du
groupe et la structure arborescente.
Lenvoi des paquets de donnes multicast se fait par diffusion dans tout larbre afin
dconomiser la largeur de bande. Mais nous ne savons pas si tous les voisins dans l'arbre
reoivent correctement les donnes car il ny pas de rservation de canal pour obtenir un
feedback de rception.
MACT-J
[-,-]
[7: 1 ]
1
[5]
[6: 5]
Figure 2.5 : Propagation des MACT et construction des tables de routage multicast
19
supcom
20
supcom
se joindre un groupe multicast, du fait que ce RREQ-J doit tre diffuser avec une extension
contenant des informations additionnelles sur le hop-count vers le chef de groupe, afin
d'viter la vieille branche et ses propres nuds descendants de rpondre au RREQ-J, sans
compter la condition pour rpondre ce RREQ-J (seulement le membre d'arbre avec le mme ou
un plus grand numro de squence de groupe peuvent rpondre ce RREQ-J). Quand un
membre d'arbre reoit un RREQ-J avec extension, il doit vrifier son propre hop-count vers
le chef de groupe, seul le membre de l'arbre avec un hop count gal ou plus petit peut
rpondre. Et le processus devient ensuite le mme que celui vu dans la section II.3 (construction
de larbre).
3
7
1
5
9 [2,8:7]
8
RREQ-J
Liaison
[8,2:1]
8
9
2
10
10
En plus de cela, si suite une rparation locale, les changements interviennent sur les
informations de groupe du nud source tels que le chef de groupe le numro de squence du
groupe et le hop-count vers le chef de groupe, ce nud enverra un GRPH avec un champ de
mise jour (GRPH-U) ses nuds descendants un un dune faon unicast pour mettre jour
leur information de groupe. Si le nud source essaye plusieurs fois (RREQ_RETRIES
tentatives) de rparer cette branche, mais ne reoit pas de rponse RREP-J, alors une partition
21
supcom
d'arbre s'est produite. Ainsi un nouveau chef de groupe doit tre choisi pour cet arbre partitionn.
Le choix de chef de groupe est dcrit dans la section suivante (choix du Chef de groupe).Si ce
n'est pas le nud descendant mais le nud ascendant qui ralise la rupture de lien, le nud
ascendant supprime le prochain saut (un de ses liens descendants) dans sa table de routage
multicast. Si ce nud ascendant n'est pas un membre de groupe, il devient une feuille sans aucun
nud en aval, et si aprs a il garde encore cet tat, alors commence le processus de rvocation
self-prune dcrit dans la section (Rvocation des membres de larbre).
II.4.3 La slection du chef de groupes (group leader)
Un nouveau chef de groupe doit tre choisi pour l'arbre divis ou quand le chef de groupe retire
son adhsion au groupe. Quand le partitionnement d'arbre se produit, et le nud courant est un
membre de groupe, il devient le nouveau chef de groupe (figure 2.7). Sinon, il forcera un de ses
voisins d'arbre tre le chef de groupe. Tous ses voisins sont des nuds descendants, parce que
le nud divis n'a aucun nud ascendant comme le chef prcdent de groupe n'a aucun
ascendant non plus. Si le nud courant a un seul nud descendant, il supprime l'entre pour ce
groupe dans sa table de routage multicast pour indiquer quil n'appartient plus l'arbre, et envoie
un MACT avec un champ prune (MACT-P) vers ce nud descendant, indiquant qu'il quittera
l'arbre et que ce dernier a besoin dun chef (figure 2.8).
Group leader
Membre de groupe
7
1
9 [2,8:7]
8
2 [10:9]
[8,2:] 9
8
[10:9]
10
10
22
supcom
Si le nud courant a plus quun nud en aval, il slectionne un descendant, change sa direction
d'un nud en aval en un nud en amont, et envoie un MACT avec un champ de group
leader (MACT-GL) vers ce nud, pour indiquer qu'il existe une autre branches dans l'arbre et
que ce dernier a besoin dun chef. Ainsi le nud descendant peut recevoir un MACT-P ou un
MACT-GL de son nud ascendant.
En recevant un MACT-P de son ascendant, le nud supprime sa liaison ascendante de sa table
de routage multicast. En recevant un MACT-GL, le nud change la direction ascendante en une
direction descendante. Puis si ce nud est un membre de groupe, il devient le nouveau chef de
groupe. Sinon, il poursuit le mme processus jusqu' atteindre un membre de groupe qui devient
un nouveau chef de groupe. Une fois que le nouveau chef de groupe est choisi, il commence
maintenir l'arbre et diffuser priodiquement le message GRPH dans le rseau entier. S'il a un
quelconque nud en aval, il enverra galement un GRPH-U chaque nud descendant dune
faon unicast, pour indiquer le nouveau chef de groupe et mettre jour l'information du groupe
dans leur table de routage multicast.
Group leader
Membre de groupe
MACT-P
7
5
[9:7]
1
9
9
8
8
2
10
10
23
supcom
Group leader
Membre de groupe
MACT-GL
7
1
9 [2,8:7]
8
2 [10:9]
[8:2] 9
8
10
[9,10: ]
10
24
supcom
Group leader
Membre de groupe
MACT-P
7
1
9 [2,8:7]
8
9 [8:7]
2 [10:9]
10
10
25
supcom
dj la route vers ce chef de groupe dans sa table de chefs de groupe Group Leader Table ,
ainsi on utilise l'information dans la table de Chef de groupe pour atteindre l'autre arbre. Une fois
un membre de l'autre arbre atteint, le RREQ-JR est envoy dune faon unicast du nud
descendant vers le nud ascendant jusqu' ce que le chef de groupe soit atteint. Durant
lacheminement du RREQ-JR, la route inverse vers le nud source est tablie. Quand le chef de
groupe avec l'adresse plus grande reoit le RREQ-JR, il renvoie un RREP-JR au nud source
demandeur le long de la route inverse. Pendant lacheminement du RREP-JR, l'information de
groupe, telle que l'adresse de chef de groupe, le numro de squence du groupe, et le hopcount vers le chef de groupe est mise jour. Quand le RREP-JR circule dans l'arbre avec une
plus grande adresse de chef de groupe, il se propage simplement d'un nud en amont vers un
nud en aval. Si un nud non membre de larbre est atteint, ce nud devient un routeur pour le
nouvel arbre, ajoutant deux prochains sauts dans sa table de routage multicast, indiquant les
nuds ascendant et descendant correspondants.
Quand le membre d'arbre ayant la plus petite adresse de groupe est atteint, il ajoute le nud
partir duquel il a reu RREP-JR comme son prochain saut en amont, change lancien nud
ascendant une direction descendante. Puis le RREP-JR se propage d'un nud en aval vers un
nud en amont dans l'arbre avec l'adresse la plus petite de chef de groupe.
Group leader
Membre de groupe
RREQ-JR/RREP-JR
RREQ-JR/RREP-R
[8,2: ]
8
9
2
10
[10:9]
[8:2]
9
8
[10,9:1]
10
26
supcom
chaque tape, le nud courant change la direction descendant en une direction ascendante
pour le prochain saut duquel il reoit le RREP-JR, change le nud en amont en un nud en aval,
et expdie le RREP-JR vers le vieux nud ascendant. Ainsi quand le RREP-JR atteint le chef de
groupe ayant une plus petite adresse, ce chef de groupe met jour un de ses propres nuds
descendants en un nud ascendant, et change son identit de chef de groupe en un membre de
groupe, ainsi le nouvel arbre est compltement tabli. Aprs ces tapes, lancien chef de groupe
devrait diffuser dune faon unicast le message GRPH-U ses nuds en aval, leur indiquant le
changement dinformation de groupe.
II.5 Conclusion
Le protocole de routage MAODV [3] est utile pour des applications tels que la vidoconfrence,
le travail de collaboration et les jeux distribus. Ce type dapplications, ncessite un certain
niveau de QoS (bande passante, dlai de transmission, ).
Le chapitre suivant dveloppe une mthode pour implmenter laspect QoS dans ce protocole.
27
supcom
Chapitre III
Implmentation de la QoS au niveau routage
III.1 Introduction
Dans cette partie nous dveloppons notre mthode pour limplmentation de la qualit de service
sur le protocole de routage MAODV [3] tout en respectant lune des contraintes de dlai ou de
dbit et quon va ensuite les coupler.
Nos algorithmes vont tre excuts au niveau de chaque nud jusquau traage de la route.
Lalgorithme consiste en une estimation de lune des deux contraintes au niveau dun lien. Si
cette contrainte est assure par ce lien, alors il est choisi pour construire un itinraire vers la
destination. Un nud peut estimer le dlai ou la bande passante au niveau dun lien en utilisant
les informations propages par les messages RREQ. Nous avons donc ajout des champs
supplmentaires au niveau du message RREQ fin de les utiliser dans la procdure de
lestimation du dlai ou de la bande passante.
28
supcom
Nous allons donc ajouter au niveau du message RREQ un nouveau champ permettant le calcul
de ce temps. Linformation que peut apporter le paramtre enregistr dans ce champ est le
moment de lmission dun RREQ. En dautre terme, la rception dun RREQ, un nud peut
connatre, en plus du temps de son rception, le temps de son mission par le nud metteur de
ce mme RREQ.
La figure suivante montre lutilit de ce champ :
RREQ, ts
N1
ts
tr
N2
N1
RREQ, d1
N2
Aprs avoir estim le dbit que peut offrir le lien, N2 va extraire du message RREQ
linformation qui lui permet de connatre le dbit minimum demand par N1 (d1). Le nud N2
29
supcom
va finalement comparer entre ce qui est demand par N1 (d1) et ce que le lien peut offrir comme
dbit.
Nous allons ajouter au message RREQ deux champs qui contiennent le temps de lmission du
message et le dbit demand par la source. Ces extensions reprsentent en fait des informations
utiles pour le nud rcepteur du RREQ lui permettant destimer le dbit et de prendre la bonne
dcision pour le choix du lien en cours.
III.2.2 Estimation de dbit
Une valuation de dbit peut tre faite simplement en mettant des paquets RREQ et en mesurant
les dlais correspondants :
d N 1N 2 = t r t s
(3.1)
T
d N 1N 2
(3.2)
30
supcom
Group leader
RREQ,d1,ts1
Membre de groupe
RREQ,d1,ts3
Membre de larbre
Dans le cas prsent par la figure 3.3, le nud 3, en recevant le RREQ, calcule le dbit
maximum au niveau du lien entre le nud 1 et le nud 2 en utilisant ts1 et puis il compare le
rsultat trouv avec le dbit d1 demand par la source (nud 1). Si le dbit estim est suprieur
d1, il diffuse le message RREQ ses voisins (tant donne quil ne dispose pas de chemin vers la
destination dans sa table de routage). Le nud 8 (qui est un membre de larbre et donc il
reprsente la destination) effectue les mmes oprations que le nud 3 et sil peut offrir le dbit
demand par la source, il renvoi un RREP vers le nud 3. Cest ce moment que lalgorithme
enregistre ce chemin avec le dbit quil offre dans la table de routage du nud qui reoit le
RREP.
Enregistrement du chemin trouv dans la table de routage :
Nous avons ajout au message RREP un champ contenant le minimum des dbits au niveau des
liens constituant le chemin vers la destination. Ce champ est initialis par une valeur trs leve.
A la rception dun RREP, chaque nud enregistre dans ce champ le minimum entre lancienne
valeur et le dbit estim. Cette valeur va tre enregistre dans la table de routage (dans un
nouveau champ que nous avons appel dbit). Avant lexcution de lalgorithme, le champ dbit
de la table de routage est initialis par une valeur qui tend vers linfini.
31
supcom
Pour mieux comprendre cette procdure nous allons prsenter les tables de routage des nuds 1,
3 et 8 de la figure 3.4.
Table du nud 1 :
destination
@ du groupe multicast
Nombre de
Prochain
Numro de
sauts
saut
squence
Dlai de validit
dbit
X1
1000000000
Table du nud 3 :
Destination
Nombre de
sauts
Prochain
saut
Numro de
squence
Dlai de validit
dbit
@ du groupe multicast
X2
1000000000
Nombre de
Prochain
Numro de
Dlai de validit
dbit
sauts
saut
squence
X3
1000000000
Table du nud 8 :
destination
@ du groupe multicast
32
supcom
Dans le cas de la figure 3.4, le nud 1 va consulter sa table de routage et comparer le champ
dbit (d3) avec d1 (dbit demand par la source). Si d3 est suprieur d1 le nud 1 lance le
trafic de donnes sur ce chemin.
Group leader
Membre de groupe
RREQ,d1,ts1
Membre de larbre
33
tr1
N1
supcom
RREQ, tr1,dprop,dr
tr
N2
34
supcom
Notons que le dlai d N 1N 2 entre un nud N1 et un nud N2 dpend de la taille des paquets. Une
correction doit tre faite afin de tenir compte de la taille des paquets de donnes.
Taille du paquet de donnes
d ' N 1N 2 = d N 1N 2
Taille
du
paquet
de
contrle
(3.3)
Ce dlai reprsente lestimation du dlai de transmission dun paquet de donne entre deux
nuds adjacents (figure 3.6)
dN0N1
N0
N1
dN1N2
N2
Dans la figure 3.6, le dlai de traitement du paquet de donne nest pas pris en compte. Nous
avons donc propos de calculer le dlai de traitement du paquet RREQ en utilisant la mthode
donne par la figure 3.5 (tr-tr1). De cette faon, le dlai d N 1N 2 reprsentera le dlai de
transmission du RREQ plus le dlai de son traitement dans N1. Aprs correction, ce dlai
reprsentera une estimation du NTT "node traversal time" qui est en fait un des paramtres
existant dans le protocole AODV [2] et qui est considr comme constant de 30 ms [12].
III.3.3 Fonctionnement de lalgorithme
Recherche d'un chemin entre la source et la destination selon la contrainte de dlai exige
Le nud source diffuse un paquet RREQ (au format intgrant la QoS) tous ses nuds voisins.
En recevant ce message, un nud intermdiaire estime le NTT. Pour sassurer que le chemin en
construction offre un dlai infrieur ou gal celui impos par la source, chaque nud
intermdiaire soustrait le NTT quil trouve du dlai maximum restant et ne pas dpasser dans le
reste du chemin. Si le rsultat est ngatif, ce chemin est abandonn. Si cest positif le processus
continu et ceci jusqu' atteindre la destination.
35
supcom
Group leader
Membre de groupe
RREQ tr, NTT, dr
Membre de larbre
La figure 3.7 illustre un exemple de recherche de route o la contrainte de dlai est respecte. En
recevant le RREQ, le nud 3 estime le NTT [12] (initialis 0), soustrait le rsultat du dr (NTTdr) (initialis par la contrainte de dlai ne pas dpasser) et vrifie le signe de la nouvelle valeur
de dr. Si cest positif, il achemine le RREQ avec les nouvelles valeurs (tr1, NTT1, dr1). Si non, il
abandonne le processus. Quand le nud 8 reoit ce RREQ, il calcule le NTT, soustrait le rsultat
du dr1 et vrifie si la nouvelle valeur du dr1 est positive. Si cest le cas, il rpond par un RREP.
Si non il abandonne le processus.
36
supcom
III.5 Conclusion
Dans ce chapitre nous avons dcrit le droulement de lalgorithme qui permet dintroduire la
qualit de service au niveau du protocole de routage MAODV. Cette approche est applicable
aussi pour le protocole de routage AODV.
Dans la procdure de lintroduction de la contrainte de dbit, nous avons choisi dutiliser les
anciens chemins trouvs. Car si non, le trafic de contrle augmente et consommera plus de bande
passante. Dans ce cas, il devient difficile de trouver le chemin qui peut fournir le dbit exig.
Pour la contrainte de dlai, lenregistrement de ce paramtre au niveau de la table de routage de
chaque nud constituant le chemin, ncessite des oprations beaucoup plus complexes que dans
le cas de la bande passante. Ces oprations risquent daugmenter considrablement le dlai
dtablissement dune route. Nous avons donc choisi de ne pas modifier la structure de la table
de routage dans la procdure de recherche de route avec la contrainte de dlai.
37
supcom
Chapitre IV
Evaluation des performances
IV.1 Introduction
Lobjectif dans cette partie est dvaluer certains aspects de performances de notre approche et
de comparer avec le protocole de routage sans qualit de service. Pour ce faire, nous allons
utiliser le simulateur de rseaux NS-2 [4]. Les paramtres que nous allons valuer touchent la
capacit de service que peut offrir le rseau ad hoc savoir :
Nous allons examiner de prs quelques scnarios de simulation du protocole multicast et unicast
AODV [2] avant et aprs implmentation de la qualit de service. Les scnarios simuler vont
mettre laccent sur un paramtre troitement li la topologie dynamique des rseaux ad hoc.
Ce paramtre reprsente la vitesse de dplacement des nuds. Nous allons aussi tudier la
stabilit de ce protocole dot de la qualit de service tout en variant le temps de simulation.
38
supcom
et se trouvent sur des agents de transports UDP (User Datagrammes Protocol) modlisant la
couche transport.
Dans notre application nous allons utiliser cinq agents source qui vont envoyer les donnes un
groupe mulicast dans le cas du MAODV [3]. Pour le cas de lAODV [2], nous allons considrer
cinq connexions. Les sources mettent des paquets de taille 512 octets avec un dbit de cinq
paquets par secondes et un temps de simulation de 590 s ce qui fait que le trafic total qui circule
dans le rseau est 14750 paquets, soit 7552 koctets.
rester en repos pendant une dure entre 0 et un temps de pause maximal en ms.
Ainsi, deux paramtres pourront affecter la mobilit des nuds dans le rseau : la vitesse Vmax
ou bien le temps de pause maximal : nous avons choisi de fixer le temps de pause 0s et faire
varier la vitesse entre 0 et 20m/s.
T (i) T (i)
End to End Delay : EED = 1000
paquets reus
AR
AS
39
supcom
TAR(i) : instant o le paquet de donne i est reu par lagent de transport de destination.
TAS(i) : instant o le paquet de donne i est mis par lagent de transport source.
Remarque : Pour le protocole MAODV [3], nous avons pris la moyenne des dlais entre la
source et chacun des membres de groupe.
IV.4.2 Taux de paquets livrs avec succs
Ce paramtre donne le pourcentage des paquets livrs leurs destinations par rapport aux
paquets mis par le rseau.
paquet reus
100
Dans le cas de lAODV [2] unicast, le nombre de rcepteur est gal un.
IV.4.3 Dlai dtablissement dune route
Ce paramtre renseigne sur le temps mis par le protocole de routage pour trouver une route. Il
peut nous donner une indication sur le temps de sjour dun paquet de donnes dans les buffers
dun nud avant dtre mis.
Ts (i) Tr (i)
Route Acquisition Latency : RAL = 1000
paquets reus
i
Tr(i) : instant o le paquet de donne i est dlivr par lagent de transport la couche
rseau.
40
supcom
590s
Protocoles
AODV et MAODV
0s
512 octets
Vitesse dmission
5 pkts/s
50 paquets
10
Pour les paramtres de la qualit de service, chaque source va imposer comme contrainte de dlai
ne pas dpasser 70 ms pour le MAODV et 60 ms pou le AODV et comme contrainte de bande
passante minimum qui doit tre disponible au niveau dun lien 50 kbps pour lunicast et le
multicast.
Lenvironnement de la simulation est dcrit dans le tableau suivant :
Machine
Systme
NS
Ns-allinone-2.26
Tableau 2 : Environnement de simulation
Au dbut de chaque simulation, les paramtres de chaque nud mobile doivent tre configurs
comme suit :
41
supcom
Trace de lagent : ON
Trace du routeur : ON
En plus, la topographie du rseau consiste en une surface cre de dimension 1000 m x 1000 m
sur laquelle sont distribus 50 nuds. Nous avons vari la vitesse de dplacement des nuds de
0 20m/s, et pour chaque vitesse nous avons fait cinq simulations.
25000
toh_aodv
toh_maodv
toh_aodv_bw
toh_maodv_bw
20000
15000
10000
5000
0
0
10
15
20
vitesse (m/s)
42
supcom
La figure 4.1 nous donne le nombre de paquets de contrle circulant dans le rseau. La premire
constatation est que le trafic de contrle augmente avec la vitesse de dplacement des nuds. En
effet, si la vitesse augmente la route dj enregistre dans la table de routage nest plus valable et
donc le nombre de paquet RERR (indispensable pour la maintenance de la route) va augmenter.
Cette figure montre aussi que le protocole MAODV dot de la qualit de service gnre plus de
trafic de contrle. Cela est d aux exigences de la source. En dautre terme, le risque de ne pas
trouver une route qui rpond aux exigences de lmetteur en dbit augmente ce qui fait que la
source va mettre plus de paquets RREQ pour la dcouverte dune route.
Nous constatons aussi que la marge de trafic entre les courbes toh_maodv_bw et toh_aodv_bw a
diminu par rapport celle entre les courbes toh_maodv et toh_aodv pour une mobilit comprise
entre 3 et 8 m/s. Cette diminution de la marge du trafic de contrle tait prvisible car non
seulement le mcanisme de maintien de larbre multicast gnre plus de paquets de contrle,
mais galement le mcanisme du protocole AODV classique ne sexcute que pour rparer les
ruptures de liens. Pour les protocoles AODV et MAODV avec contrainte de qualit de service, le
nombre dexcutions de la procdure de recherche de route va augmenter. Et ce nombre est plus
important en unicast quen multicast (car en unicast le nombre des nuds intermdiaires est plus
important ce qui fait que le temps dattente de la rponse "RREP_WAIT_TIME = 1 sec" risque
de sexpirer. Si cest le cas, la source relance la recherche en diffusant dautres paquets RREQ).
IV.6.1.2 Dlai dtablissement dune route
La figure 4.2 montre que le dlai dtablissement dune route devient plus important avec
laugmentation de la vitesse de dplacement des nuds. En effet, pour une mobilit rapide, la
topologie du rseau change rapidement et par consquence, les liens au niveau du chemin inverse
(pour la propagation des RREP) risquent dtre casss.
Cette figure montre aussi que laspect qualit de service a des effets ngatifs sur le
comportement de ce paramtre. En effet, il faut trouver une route qui rpond aux exigences de la
source. Pour ce faire, chaque nud intermdiaire est oblig deffectuer des oprations
supplmentaires par rapport au protocole best effort. Ces oprations permettent un nud de
chercher un lien satisfaisant la contrainte de dbit demande par lmetteur.
Finalement, nous constatons que le taux daugmentation de ce dlai est plus important pour le
MAODV (en comparant les courbe ral_maodv_bw et ral_maodv ce taux est environ 3 ms pour
des vitesse < 10 m/s et 6 ms pour des vitesses > 10 m/s) que pour le AODV (en comparant les
courbes ral_aodv_bw et ral_aodv il est autour de 6 ms pour des vitesse < 10 m/s et 13 ms pour
43
supcom
des vitesses > 10 m/s). Cela est d au fait que le nombre des nuds intermdiaires est plus
important dans le cas unicast.
30
ral_aodv
ral_maodv
ral_aodv_bw
ral_maodv_bw
25
20
15
10
0
0
10
15
20
vitesse (m/s)
ral_maodv_bw (5m/s)
ral_aodv_bw (5m/s)
30
ral_maodv_bw (20m/s)
ral_aodv_bw (20m/s)
25
20
15
10
0
0
50
100
150
200
250
300
350
400
450
500
550
590
Figure 4.3 : Dlai dtablissement dune route en fonction du temps avec contrainte de dbit
44
supcom
Nous remarquons dabord que si le temps de simulation avance, le dlai de recherche dune route
rpandant la contrainte de dbit dmuni. En effet, au dbut de la simulation il n y a pas de route
enregistre dans la table de routage et qui satisfait les exigences de la source. Mais avec le temps,
les nuds intermdiaires peuvent utiliser les routes dj enregistres dans la table de routage.
Le problme cest que ces routes ont une dure de vie (ACTIVE_ROUTE_TIMEOUT = 50 sec)
[13] et pour cette raison le dlai dtablissement dune route augmente dans des instants prcis et
en particulier pour un mouvement rapide des nuds. Ces instant o le dlai augmente (50,200 et
350 sec) correspondent aux moments o le chemin enregistr dans la table de routage nest plus
valable.
IV.6.1.3 Taux de paquets livrs avec succs
La figure 4.4 montre dabord que le taux de livraison de paquets de donnes diminue lgrement
si la vitesse de dplacement des nuds augmente. En effet, si la vitesse de dplacement des
nuds augmente, il devient plus difficile de maintenir les liaisons au niveau du rseau et donc le
nombre de paquets perdus augmente.
100
98
96
94
92
90
88
86
84
82
80
78
76
74
72
70
68
pdr_aodv
66
pdr_maodv
64
pdr_aodv_bw
62
pdr_maodv_bw
60
0
10
15
20
vitesse (m/s)
Figure 4.4 : Taux de paquets livrs avec succs en fonction de la vitesse en respectant la
contrainte de dbit
Nous remarquons que ce taux augmente aprs lintroduction de la qualit de service en terme de
bande passante. En effet, le protocole de routage classique (reprsent par la courbe pdr_aodv
dans le cas unicast et la courbe pdr_maodv dans le cas multicast) choisit la route la plus rcente
45
supcom
et la plus courte, alors que celui dot de la qualit de service (reprsent par la courbe
pdr_aodv_bw dans le cas unicast et la courbe pdr_maodv_bw dans le cas multicast) impose en
plus une contrainte de bande passante. Dans ce cas, les liens composant la route possdent une
bande passante plus large. Ce qui fait que le nombre de paquets perdus diminue.
110
100
90
80
70
60
50
40
30
pdr_maodv_bw (5m/s)
pdr_aodv_bw (5m/s)
pdr_maodv_bw (20m/s)
pdr_aodv_bw (20m/s)
20
10
0
0
50
100
150
200
250
300
350
400
450
500
550
590
Figure 4.5 : Taux de paquets livrs avec succs en fonction du temps avec contrainte de dbit
46
supcom
100
80
60
40
eed_aodv
eed_maodv
eed_aodv_bw
eed_maodv_bw
20
0
0
10
15
20
vitesse (m/s)
Figure 4.6 : Dlai moyen de bout en bout en fonction de la vitesse en respectant la contrainte de
dbit
A partir de la figure 4.6, nous constatons la diffrence entre le protocole MAODV (reprsent
par la courbe eed_maodv) et le QoS-MAODV (reprsent par la courbe eed_maodv_bw).
Sur cette mme figure, nous remarquons que si la vitesse des nuds augmente, le dlai de bout
en bout augmente.
Nous remarquons aussi que le mcanisme de qualit de service pour le trafic multicast rduit le
dlai de bout en bout de 10 ms. Il nous fait aussi gagner 20 ms sur le dlai pour le trafic unicast.
Pour mieux comprendre leffet de lintroduction de la qualit de service sur le dlai de bout en
bout, nous avons tudi le comportement de ce dlai le long de la simulation. Le rsultat est
illustr dans la figure 4.7.
Nous remarquons sur cette figure que le protocole MAODV avec QoS est plus stable pour les
faibles mobilit. Nous constatons aussi qu partir du temps de simulation 300 secondes, le dlai
de bout en bout du protocole QoS-AODV est devenu plus faible que celui du QoS-MAODV. En
effet, ce comportement peut tre justifi par le fait que plus on avance dans le temps plus les
nuds mobiles composant le groupe multicast ont tendance de sloigner. Ce qui donne des
chemins plus longs (en nombre de sauts) entre la source et l'un des membres du groupe.
47
supcom
140
eed_maodv_bw (5m/s)
eed_aodv_bw (5m/s)
eed_maodv_bw (20m/s)
eed_aodv_bw (20m/s)
120
100
80
60
40
20
0
0
50
100
150
200
250
300
350
400
450
500
550
590
Figure 4.7 : Dlai moyen de bout en bout en fonction du temps avec contrainte de dbit
22000
20000
18000
16000
14000
12000
10000
8000
6000
toh_aodv
4000
toh_maodv
toh_aodv_dlai
2000
toh_maodv_dlai
0
0
10
15
20
vitesse (m/s)
48
supcom
Sur la figure 4.8 nous remarquons que le trafic de contrle du protocole de routage sous
contrainte de qualit de service en terme de dlai (courbes toh_aodv_dlai et toh_maodv_dlai)
est lgrement suprieur celui du protocole de routage best effort (courbes toh_aodv et
toh_maodv). En effet, ce comportement est prvisible dans la mesure o le mcanisme de la
qualit de service rend les conditions sur les routes recherches plus strictes. Ie nombre de
paquets RREQ et RREP circulant dans le rseau va ncessairement augmenter
IV.6.2.2 Dlai dtablissement dune route
La figure 4.9 montre que le protocole de routage dot de la qualit de service (reprsent par les
courbes ral_aodv_dlai et ral_maodv_dlai) met plus de temps pour trouver une route. En effet,
lors de la propagation des messages RREQ il y a plus de traitements effectuer dans le cas o la
qualit de service est implante. Le temps de propagation de ces messages va donc augmenter et
par consquent le mcanisme de recherche de la route prend plus de temps. Nous remarquons
que le dlai dtablissement dune route devient six fois plus grand aprs introduction de la
qualit de service.
30
ral_aodv
ral_maodv
ral_aodv_dlai
ral_maodv_dlai
25
20
15
10
0
0
10
15
20
vitesse (m/s)
49
supcom
40
ral_maodv_dlai (5m/s)
ral_aodv_dlai (5m/s)
35
ral_maodv_dlai (20m/s)
ral_aodv_dlai (20m/s)
30
25
20
15
10
0
0
50
100
150
200
250
300
350
400
450
500
550
590
Figure 4.10 : Dlai dtablissement dune route en fonction du temps avec contrainte de dlai
La figure 4.10 donne le comportement du dlai d'tablissement d'une route en fonction du temps
avec la contrainte de dlai. Nous constatons que les courbes de cette figure admettent des
maximums et des minimums relatifs. Cette variation de dlai est due la disposition des nuds.
En effet, le temps d'tablissement d'une route depuis la source jusqu' la destination comprend le
temps d'excution de l'algorithme de qualit de service au niveau des nuds intermdiaires. Ce
temps augmente en fonction du nombre de sauts.
IV.6.2.3 Taux de paquets livrs avec succs
La figure 4.11 montre que dans le cas dun routage multicast et pour des vitesses leves le taux
de livraison se dgrade denviron 2.5% avec lintroduction de la qualit de service. Pour les
grandes vitesses, les messages de contrles sont plus nombreux, ceci est d au changement
frquent de la topologie du rseau. En plus ces messages disposent d'une taille plus importante
aprs l'introduction de la contrainte du dlai comme contrainte de QoS, ce qui occupera des
ressources supplmentaires en bande passante.
Dans le cas dune faible mobilit, le MAODV avec QoS (reprsent par la courbe
pdr_maodv_dlai) dispose d'un PDR suprieur celui offert par le MAODV classique
(reprsent par la courbe pdr_maodv). Ceci s'explique par le fait que nous garantissons avec ce
protocole un chemin plus stable permettant de satisfaire la contrainte de dlai exige. Par
consquent les paquets de donnes ont plus de chance d'atteindre leurs destinations.
50
supcom
105
pdr_aodv
pdr_maodv
pdr_aodv_dlai
pdr_maodv_dlai
100
95
90
85
80
75
70
65
60
0
10
15
20
vitesse (m/s)
Figure 4.11 : Taux de paquets livrs avec succs en fonction de la vitesse en respectant la
contrainte de dlai
Pour le routage unicast, nous remarquons que le taux de livraison des paquets de donnes se
dgrade lgrement avec la vitesse comme dans le cas du MAODV avec QoS.
Nous constatons que les PDR offerts par les trafics unicasts sont environ 20% plus importants
que ceux constats dans les trafics multicasts. Ceci est d au trafic de contrle supplmentaire
indispensable pour la maintenance de l'arbre multicast qui consomme des ressources
supplmentaires en bande passante.
120
100
80
60
40
pdr_maodv_dlai (5m/s)
20
pdr_aodv_dlai (5m/s)
pdr_madv_dlai (20m/s)
pdr_aodv_dlai (20m/s)
0
0
50
100
150
200
250
300
350
400
450
500
550
590
Figure 4.12 : Taux de paquets livrs avec succs en fonction du temps avec contrainte de dlai
51
supcom
Sur la figure 4.12 nous remarquons que pour un temps de simulation suprieur 150 secondes, le
taux de livraison est stable. Pour un temps de simulation compris entre 0 et 30 secondes, ce taux
est infrieur 50 %. En effet, cela est prvisible parce que les paquets de donnes ne peuvent
tre livrs quaprs tablissement ditinraire ou rparation de liens.
IV.6.2.4 Dlai moyen de bout en bout
Sur la figure 4.13, nous constatons que le dlai de bout en bout ne dpasse pas les 70 ms pour le
QoS-MAODV (reprsent par la courbe eed_maodv_dlai), alors quil atteint les 100 ms pour le
MAODV sans QoS (reprsent par la courbe eed_maodv). De mme pour le aodv unicast
(reprsent par les courbes eed_aodv et eed_aodv_dlai). En effet, ceci sexplique du fait que
nous avons garanti des liens disposant dun dlai minimal.
120
eed_aodv
eed_maodv
eed_aodv_dlai
100
eed_maodv_dlai
80
60
40
20
0
0
10
15
20
vitesse (m/s)
Figure 4.13 : Dlai moyen de bout en bout en fonction de la vitesse en respectant la contrainte de
dlai
Lvolution de ce dlai durant la simulation est prsent dans la figure 4.14. Nous observons sur
cette figure que le dlai de bout en bout du protocole MAODV fluctue lgrement en fonction du
temps. En effet, cela est prvisible du fait que ce dlai dpend de la distance (nombre de sauts)
entre la source et chacun des membres de groupe multicast.
Nous remarquons aussi que le dlai offert par le QoS-MAODV peut tre soit infrieur soit
suprieur celui offert par le QoS-AODV. Cela est d lvolution de la structure de larbre
(distance entre les membre du groupe) en fonction du temps.
52
supcom
.
100
eed_maodv_dlai (5m/s)
eed_aodv_dlai (5m/s)
90
eed_maodv_dlai (20m/s)
eed_aodv_dlai (20m/s)
80
70
60
50
40
30
20
10
0
0
50
100
150
200
250
300
350
400
450
500
550
590
Figure 4.14 : Dlai moyen de bout en bout en fonction du temps avec contrainte de dlai
25000
toh_aodv
toh_maodv
toh_qos-aodv
toh_qos-maodv
20000
15000
10000
5000
0
0
10
vites se (m /s)
15
20
Figure 4.15 : Trafic de contrle en fonction de la vitesse en respectant les contraintes de dlai et
de dbit
La figure 4.15 montre quil y a plus de paquets de contrle circulant dans le rseau pour les
protocoles de routages avec qualit de service (toh_qos-aodv et toh_qos-maodv). En effet, les
conditions sur la route que le protocole de routage avec QoS exige, sont plus strictes que celles
exiges par les protocoles unicast et multicast AODV.
53
supcom
Nous constatons, sur la figure 4.16 que le dlai dtablissement dune route est influenc
considrablement par lintroduction de la qualit de service. En effet, chaque nud
intermdiaire, en recevant un paquet RREQ ou RREP, est oblig deffectuer des oprations de
calcul et de comparaison pour les deux contraintes de dbit et de dlai, ce qui ncessite un temps
dtablissement dune route supplmentaire.
30
ral_aodv
ral_maodv
ral_qos-aodv
ral_qos-maodv
25
20
15
10
0
0
10
15
20
vitesse (m/s)
Figure 4.16 : Dlai dtablissement dune route en fonction de la vitesse en respectant les
contraintes de dbit et de dlai
50
ral_qos-maodv (5m/s)
ral_qos-aodv (5m/s)
ral_qos-maodv (20m/s)
ral_qos-aodv (20m/s)
45
40
35
30
25
20
15
10
5
0
0
50
100
150
200
250
300
350
400
450
500
550
590
Figure 4.17 : dlai dtablissement dune route en fonction du temps avec contraintes de dbit et
de dlai
54
supcom
La figure 4.17 donne lvolution de ce dlai durant la simulation. Nous remarquons linstabilit
de ce dlai cause de la variation de la langueur du chemin durant la simulation. Ce dlai est
plus important pour les vitesses leves.
IV.6.3.3 Taux de paquets livrs avec succs
105
pdr_aodv
pdr_maodv
pdr_qos-aodv
pdr_qos-maodv
100
95
90
85
80
75
70
65
60
0
10
15
20
vitesse (m/s)
Figure 4.18 : Taux de paquets livrs avec succs en fonction de la vitesse en respectant les
contraintes de dbit et de dlai
Daprs la figure 4.18 nous remarquons que les deux protocoles AODV et MAODV
implmentant les deux contraintes ensembles (pdr_qos-aodv et pdr_qos-maodv) possdent un
taux de livraison plus important que les protocoles de routage AODV et MAODV classiques
(pdr_aodv et pdr_maodv). En effet, les protocoles de routages unicast et multicast dots de la
qualit de service imposent la contrainte de bande passante. Les liens composant la route
possdent donc une bande passante plus large. Dans ce cas le nombre de paquets perdus diminue.
La figure 4.19 donne lvolution du PDR en fonction du temps de simulation. Cette figure
montre que le PDR est important et assez stable. Ceci sexplique du fait que nous avons garantie
des liens disposant dune bande passante maximal et dun dlai minimal.
55
supcom
120
100
80
60
40
pdr_qos-maodv (5m/s)
pdr_qos-aodv (5m/s)
pdr_qos-maodv (20m/s)
pdr_qos-aodv (20m/s)
20
0
0
50
100
150
200
250
300
350
400
450
500
550
590
Figure 4.19 : Taux de paquets livrs avec succs en fonction du temps avec contraintes de dbit et de
dlai
120
eed_aodv
eed_maodv
eed_qos-aodv
eed_qos-maodv
100
80
60
40
20
0
0
10
15
20
vitesse (m/s)
Figure 4.20 : Dlai moyen de bout en bout en fonction de la vitesse en respectant les contraintes
de dbit et de dlai
56
supcom
eed_qos-maodv (5m/s)
eed_qos-aodv (5m/s)
eed_qos-maodv (20m/s)
eed_qos-aodv (20m/s)
100
80
60
40
20
0
0
50
100
150
200
250
300
350
400
450
500
550
590
Figure 4.21 : Dlai moyen de bout en bout en fonction du temps avec contraintes
de dbit et de dlai
57
supcom
IV.7. conclusion
Malgr que le protocole de routage dot de la qualit de service implantant les contraintes de
dbit et de dlai ensemble consomme plus de la bande passante, il a permis de combler les points
faibles du protocole dot de la qualit de service en terme de dlai ou de dbit. En effet, un
protocole de routage implantant les deux contraintes ensemble, doit dterminer des chemins tout
en respectant la bande passante et le dlai demand par lmetteur.
58
Conclusion gnrale
supcom
Conclusion gnrale
Vue lmergence de nombreuses applications dans les rseaux ad hoc et qui ncessitent des
communications multicast tels que la visioconfrence, le travail de collaboration, et les jeux
distribus, lenvironnement ad hoc a commenc attirer lintention des chercheurs dans le
domaine des protocoles de routage multicast.
Le dynamisme des membres dun rseau ad hoc induit des problmes de routage dans ce type de
rseaux, ce qui va influencer la qualit de service offert (dlai de transmission, taux de perte, ).
Pour cela, et vue lmergence des applications sans fil, la QoS dans les rseaux mobiles ad hoc
devient un sujet de plus en plus important mais aussi dlicat.
Dans ce projet, nous avons implment laspect QoS sur les protocoles de routage AODV et
MAODV en considrant les contraintes de dbit, dlai et le couplage de ces deux contraintes
ensemble dans la recherche et l'tablissement de routes. Nous avons tudi l'apport de ces
mcanismes de QoS sur les trafics unicast et multicast.
Lanalyse des rsultats de simulations montre que lintroduction de la contrainte de dlai de bout
en bout a amlior les performances du rseau. Nous avons constat aussi que le taux de paquets
livrs avec succs augmente avec lintroduction de la contrainte de dbit. Le couplage des deux
contraintes a nettement amlior ces deux mtriques.
Lvaluation de performance dun protocole de routage se fait gnralement sur les mmes
paramtres. Et cest l justement que se pose le problme qui relve de la diversification des
paramtres configurables avant tout scnarios de simulation. En effet, les rsultats prsents ici
resteront certainement valables condition de garder la mme configuration. Ce qui pose en fait
un problme relativement complexe lorsquil sagit de se ramener la ralit du terrain.
Ici par exemple, nous avons utilis une mobilit alatoire pour les nuds, ce qui nest
gnralement pas le cas dans lutilisation relle du rseau ad hoc.
Ce travail laisse entrevoir des perspectives intressantes. Cependant, nous prvoyons dtudier
notre approche dans un contexte multimdia rel. Nous pouvons aussi utiliser un modle de
mobilit plus proche de la ralit.
59
Conclusion gnrale
supcom
En fin, malgr quon peut sapprocher de la ralit, une valuation par simulation nous ne donne
quune ide globale sur la performance du protocole. Une valuation sur terrain peut donc nous
donner une ide plus claire sur notre approche.
60
Bibliographie
supcom
Bibliographies
[1] S. Corson, J. Macker, Mobile Ad hoc Networking (MANET) : Routing Protocol
Performance Issues and Evaluation Considerations, Request for Comments 2501,
[5] H. Xiao, K. G. Seah, A. Lo, and K. C. Chua, "A flexible quality of service model for mobile
ad-hoc networks", Vehicular Technology Conference Proceedings, 2000, VTC 2000-Spring
Tokyo, IEEE : 51st, Volume : 1, Page(s) : 445 -449
[6] Gahng-Seop Ahn, Andrew T. Campbell, Andras Veres and Li-Hsiang Sun, SWAN : Service
Differentiation in Stateless Wireless Ad Hoc Networks , Proc. IEEE INFOCOM, New York,
2002
[7] R. Braden RFC : 2205 Resource ReSerVation Protocol (RSVP), Request for Comments,
and Communications Societies Proceedings, IEEE, Volume : 1, 21-25 Mar 1999 Page(s) : 202 209 vol.1 1999
[10] K. Chen, S. H. Shah, and K. Nahrstedt, Cross Layer Design for Data Accessibility in
Mobile Ad Hoc Networks, Journal on Wireless Communications, vol. 21, pp. 49-75, 2002
[11] S. Chen, K. Nahrstedt, Distributed quality-of-service routing in ad hoc networks, IEEE
61
Bibliographie
supcom
[14] D. B. Johnson, D. Maltz, Yih-Chun Hu, The Dynamic Source Routing Protocol for
Mobile Ad Hoc Networks (DSR), Internet Draft , 19 July 2004
62
Acronymes
supcom
Acronymes
AODV : Ad hoc On Demand Vector distance
CEDAR : Core-Extraction Distributed Ad hoc Routing algorithm
DiffServ : Differentiated Services
DSDV : Distance Source Distance Vector routing protocol
DSR : Dynamic Source Routing Protocol
EED : End to end delay
FQMM : Flexible quality of service model for MANETs
GRPH : Group Hello
GRPH-U : Group Hello-Update
IntServ : Integrated Services
MAC : Medium Access Control
MACT : Multicast route ACTivation
MANET : Mobile Ad hoc NETwork
MAODV : Multicast Ad hoc On Demand Vector distance
NS : Network Simulator
PDR : Packet Delivery Ratio
QoS : Quality of Service
QoS-AODV : Quality of Service for Ad hoc On Demand Vector distance
QoS-MAODV : Quality of Service for Multicast Ad hoc On Demand Vector distance
RERR : Route ERRor
RREP : Route REPly
RREP-J : Route REPly-Join
RREP-R : Route REPly-Repair
RREQ : Route REQuest
RREQ-J : Route REQuest-Join
RREQ-R : Route REQuest-Repair
SWAN : Service differentiation in wireless ad hoc networks
63
Annexe 1
supcom
Annexe 1
NS2 : Aperu du logiciel
NS est un outil logiciel de simulation de rseaux informatiques. Il est principalement bti sur
lide de la conception par objets, de la rutilisation du code et de modularit. Il est devenu
aujourd'hui un standard de rfrence dans ce domaine. C'est un logiciel dans le domaine public
disponible sur l'Internet. Son utilisation est gratuite. Le logiciel est excutable tant sous la
plateforme Unix que Windows.
Il sagit dun simulateur vnement discret, fruit de la collaboration entre luniversit de
Berkely, USC et Xerox PARC dans le cadre du projet VINT. Ce projet est soutenu par le
DARPA. NS-2 est un outil de recherche trs utile pour le design et la comprhension des
protocoles.
Le simulateur NS actuel est particulirement bien adapt aux rseaux commutation de paquets
et la ralisation de simulations de petite taille. Il contient les fonctionnalits ncessaires
l'tude des algorithmes de routage unipoint ou multipoint, des protocoles de transport, de session,
de rservation, des services intgrs, des protocoles d'application comme HTTP. De plus le
simulateur possde dj une palette de systmes de transmission (couche 1 de l'architecture
TCP/IP), d'ordonnanceurs et de politiques de gestion de files d'attente pour effectuer des tudes
de contrle de congestion. Il permet lutilisateur de concevoir un rseau et de simuler les
communications entre les nuds. Le simulateur utilise le langage orient objet OTCL (Object
TCL) driv du TCL (Tool Command Language) pour la description des conditions de
simulation sous forme de script.
La liste des principaux composants actuellement disponible dans NS par catgorie est:
64
Annexe 1
supcom
Application Web
Transport
Routage
Discipline de service
De base: on utilise le simulateur tel que] (code fourni par les dveloppeurs).
Avance: on dveloppe son propre code (en C++) et on modifie le coeur du simulateur.
La figure (A.1) illustre un cycle de simulation typique avec NS2
65
Annexe 1
supcom
Problme
tudier
Modle de
simulation
Cration de scnario
de simulation
Analyse des
rsultats
Excution des
simulations
Modification NS2
(code OTcl et/ou
c++)
Architecture et implmentation
NS-2 est dvelopp en C++ et en OTcl abject Tools command language . Il contient une
hirarchie de classes compiles d'objets crits en C++ et une hirarchie de classes interprtes
d'objets crits en OTcl. Ces deux hirarchies sont troitement lies. En effet, lorsque l'utilisateur
cre un nouvel objet par l'interprteur OTcl, un objet correspondant, appel objet reflet, est aussi
cre dans la hirarchie compile. On dit que ces objets sont des "objets fondus". D'ailleurs, des
procdures d'appel entre OTcl et C++ sont mises en place permettant ainsi l'utilisateur
d'accder aux diffrents objets aussi bien en Otcl qu'en C++ .
Il est noter que l'utilisation de deux langages permet la sparation entre les plans donnes et
contrle (des chelles temporelles diffrentes). Le langage C++ est utilis pour le plan
donnes pour traiter des vnements au niveau paquet tels que la gnration de paquets IP et le
traitement des paquets dans les routeurs. Quant au langage OTcl. Il sert pour le plan contrle
afin de pouvoir effectuer des traitements des chelles temporelles plus grandes et coder des
66
Annexe 1
supcom
format des paquets et choisir le planificateur d'vnements. Elle stocke intrieurement des
rfrences chaque lment de la topologie. Un script devra donc toujours commencer par
l'instanciation d'une variable de cette classe. L'utilisateur cre ensuite la topologie travers Otcl
en utilisant les classes node et link qui sont les composants essentiels de la topologie.
Nous avons choisit l'extension CMU, car elle nous offre une architecture protocolaire complte
pour la simulation des rseaux ad hoc, cette architecture implmente un modle de canal
Projet de fin dtude
67
Annexe 1
supcom
L'interface physique:Chaque nud mobile est quip d'une interface physique pour la
transmission et rception des donnes. Cette interface offre une porte radio de 250m, un
dbit maximal de 2 Mb/s et utilise une antenne omni-directionelle de gain unit. De plus,
cette interface contient les files d'attentes ncessaires pour drouler les algorithmes de
routage.
Les donnes sont gnres par la couche application et les paquets de donnes atteignent l'agent
de routage qui dtermine la route que doit prendre le paquet puis le fait passer la couche LLC.
Celle ci utilise le protocole de rsolution d'adresse (ARP) pour la correspondance entre l'adresse
IP du nud destinataire et son adresse physique (MAC). Le paquet est ensuite mis dans la file
d'attente en attendant que le protocole MAC dcide de le faire passer l'interface physique qui
son tour l'met dans le canal radio.
Chaque interface physique qui reoit un paquet, va y inscrire des informations particulires
(instant de rception, ...) puis fait appel au modle de propagation. Celui ci utilise alors les
informations qui ont t marqu sur le paquet durant son parcours par les diffrentes interfaces
physiques, pour estimer la puissance avec laquelle les donnes sont reues. Si cette puissance
n'est pas au dessous d'un seuil de dtection, alors le paquet est livr la couche MAC, qui
s'assure de l'absence d'erreurs et de trace de collision, puis le met dans le module " Entry Point"
qui livre le paquet un dmultiplexeur.
Si le paquet a atteint sa destination, le dmultiplexeur dcide vers quelle application aiguiller les
donnes, si non, le dmultiplexeur fait passer le paquet la couche rseau pour tre relay vers
sa destination.
68
Annexe 1
supcom
Prsentation du TCL
Tcl est un langage de commande comme le shell UNIX mais qui sert contrler les applications.
Son nom signifie Tool Command Language. Tcl offre des structures de programmation telles que
les boucles, les procdures ou les notions de variables. Il y a deux principales faons de se servir
de Tcl: comme un langage autonome interprt ou comme une interface applicative d'un
programme classique crit en C ou C++. En pratique, l'interprteur Tcl se prsente sous la forme
d'une bibliothque de procdures C qui peut tre facilement incorpore dans une application.
Cette application peut alors utiliser les fonctions standard du langage Tcl mais galement ajouter
des commandes l'interprteur.
Prsentation de lOTcl
La documentation est accessible l'URL ftp://ftp.tns.lcs.mit.edu/pub/otcl/. OTcl est une
extension oriente objet de Tcl. Les commandes Tcl sont appeles pour un objet. En OTcl, les
classes sont galement des objets avec des possibilits d'hritage. Les analogies et les diffrences
avec C++ sont:
C++ a une unique dclaration de classe. En OTcl, les mthodes sont attaches un objet
ou une classe.
69
Annexe 1
supcom
init{}/destroy{}.
L'identification de l'objet lui-mme: this (C++), $self (OTcl). $self s'utilise l'intrieur
d'une mthode pour rfrencer l'objet lui-mme. A la diffrence de C++, il faut toujours
utiliser $self pour appeler une autre mthode sur le mme objet. C'est dire "$self xyz 5"
serait "this->xyz(5)" ou juste "xyz(5)" en C++.
Les mthodes OTcl sont tout le temps "virtual". A savoir, la dtermination de la mthode
appeler est effectue l'excution.
En C++ les mthodes non dfinies dans la classe sont appeles explicitement avec
Loprateur de porte ":. En OTcl, les mthodes sont implicitement appeles dans l'arbre
d'hritage par "$self next". Cette commande appelle la mthode de mme nom de la
classe parent.
Technique de simulation
La simulation des protocoles de routage des rseaux ad hoc s'articule autour de 4 grandes parties
interdpendantes:
1- Pr simulation
Durant cette phase, nous allons gnrer le script principal en OTCL faire transmettre NS2 ; ce
script est gnr automatiquement partir de plusieurs modles de scripts TCL pour les
configurations et la manipulation de fichiers, ainsi qu'un script OTCL contenant le code de
gnration du trafic sur le rseau et un autre script OTCL, contenant les instructions dfinissant
le mouvement des nuds dans le rseau. L'ensemble des ces fichiers constitue un "scnario" de
simulation.
2- Simulation
Durant cette phase, NS2 va simuler les diffrents scnarios pendant une dure bien fixe. Le
rsultat de ces simulations se trouve dans des fichiers de trace gnrs par NS2.
70
Annexe 1
supcom
3- Post-simulation
Dans cette phase, nous allons rcuprer les fichiers de trace NS2 et en extraire les rsultats que
nous voudrions visualiser ou interprter. Cette extraction ainsi que toute autre opration de calcul
est assure par plusieurs scripts en langage AWK ou PERL.
4- Exploitation
Une fois les rsultats calculs, les scripts AWK les enregistrent dans des fichiers que nous
pouvons ensuite sauvegarder ou bien utiliser avec d'autres programmes pour tracer des courbes
ou bien effectuer d'autres calculs.(MatLab, excel...).
71
Annexe 2
supcom
Annexe 2
Implmentation du protocole MAODV
Etapes dimplmentation
Dabord il faut que NS2 soit install. Tlcharger les paquetages NS2 du site
http:/www.isi.edu/nsnam/ns.
Les paquetages MAODV contiennent en total 18 fichiers :
1) aodv.h;
2) aodv.cc;
3) aodv_mcast.cc;
4) aodv_mtable_aux.cc;
5) aodv_mtable_aux.h;
6) aodv_mtable.cc
7) aodv_mtable.h;
8) aodv_packet.h;
9) aodv_rqueue.cc;
10) aodv_rqueue.h;
11) aodv_rtable.cc;
12) aodv_rtable.h;
13) cmu-trace.cc;
14) wireless-phy.cc;
15) wireless-phy.h;
16) node.cc;
17) node.h;
18) ns-mcast.tcl.
Parmi ces fichiers il y a trois nouveaux qui nexistaient pas dans la AODV.
Ces fichiers sont :
Aodv_mtable.cc : construction de la table de routage multicast
Aodv_mtable_aux.cc : construction de la table du group leader
Aodv_mcast.cc : il contient les procdures suivantes :
72
Annexe 2
supcom
73
Annexe 3
supcom
Annexe 3
Modle de trafic multicast
Le modle de trafic dcrit les ensembles nuds {Nud source, les nuds du group multicast
destinations} choisi pour une communication (lutilisateur celui qui impose le nombre des
nuds mettrices et le nombre des nuds rceptrices qui constituent le groupe multicast.
Le script TCL permettant de gnrer un trafic pour 50 nuds avec le nud 0 comme source et
les nuds 40 49 des nuds rceptrices par exemple est le suivant :
set udp_(0) [new Agent/UDP]
$udp_(0) set dst_addr_ 0xE000000
$ns_ attach-agent $node_(0) $udp_(0)
set cbr_(0) [new Application/Traffic/CBR]
$cbr_(0) set packetSize_ 512
$cbr_(0) set interval_ 0.50
$cbr_(0) set random_ 1
$cbr_(0) set maxpkts_ 2950
$cbr_(0) attach-agent $udp_(0)
$cbr_(0) set dst_ 0xE000000
$ns_ at 30.0 "$cbr_(0) start"
for {set i 40} {$i < 50} {incr i} {
$ns_ at 0.0100000000 "$node_($i) aodv-join-group 0xE000000"
}
74