Vous êtes sur la page 1sur 7

Dr.

Mriem Afif

Anne Universitaire : 2013/2014


Matire : Travaux pratiques - Protocoles des rseaux mobiles
Filire : RT4
Encadr par : Dr.Mriem Afif

Sujet 2 : Mobilit dans NS2


Objectif :
Lobjectif du prsent TP est de se familiariser avec lutilisation de NS2 en particulier la
dfinition du scnario de simulation, ddi au rseau mobile sans fil ad hoc, avec le script
TCL ainsi que linterprtation des rsultats de simulation avec lanalyse des fichiers traces.

1. Prsentation Thorique

1.1 Mobilit des nuds en NS

Dans un premier temps, la mobilit a t introduite dans NS-2 par les chercheurs de
luniversit Cartegie Mellon de Pittsburgh (CMU) dans la volont de simuler des rseaux ad
hoc.
Lapport de la mobilit passe par lajout dun nouveau type de nuds dfinis dans la classe
MobileNode, qui ne sont pas connects entre eux. Les caractristiques de la mobilit telles que
le mouvement des nuds, les mises jour de localisation ou les limites de la topologie sont
implmentes en C++. Par contre, les composants rseaux comme le nud mobile lui-mme
(classificateur, couche liaison) sont implments en OTcl. Lorsquun nud mobile est cr
dans une simulation, le simulateur cre un objet MobileNode, un agent de routage et la pile
rseau qui sera dcrite plus loin. Ensuite, ces composants sont interconnects et la pile est
connecte au canal. Ces composants sont illustrs dans la figure 1.
La figure n1 est valable pour tous les protocoles de routage sauf pour DSR. Lorsque ce
dernier est utilis, les fonctionnalits du nud mobile sont diffrentes ; Tous les paquets reus
par le nud mobile sont dirigs vers lagent DSR. Cest lobjet SRNode, driv de
MobileNode, qui ralise cette redirection. Cet objet nutilise pas de dmultiplexeur dadresses
ou de classificateur.
Une caractristique forte des nuds mobiles est de pouvoir se dplacer. NS2 a t conu
pour excuter des dplacements en 3D. Il existe deux mcanismes pour lutilisateur pour
donner du mouvement aux nuds mobiles :
- Indiquer le point dorigine, la destination et la vitesse explicitement pour
chaque nud mobile. Les mises jour sont dclenches chaque fois que lon
exige la position du nud mobile un moment donn. Cette solution est plutt
faite pour des petites simulations.
- Gnrer des mouvements alatoires : lappel dune procdure, le nud
mobile dmarre partir dune position alatoire et excute des dplacements. Le
nud mobile excute des mises jour de routage pour changer de destination et
de vitesse.

TP-Protocoles des rseaux mobiles -1-


Dr.Mriem Afif

Figure n1. Composants dun nud mobile en NS2

Indpendamment des mthodes utilises pour gnrer les mouvements des nuds mobiles, il
faut dfinir une topographie ; Lespace est considr comme tant une grille dont il faut
donner les frontires (valeurs de x en abscisse et y en ordonne).

1.2 Comment crire un script simulant une topologie sans fil en NS ?

La simulation de la mobilit dans NS-2 passe par la dclaration de nuds mobiles.


Lattache des agents pour simuler un protocole de transport ou une application est identique.
Cependant, on peut dfinir la position initiale des nuds mobiles ainsi que leur mouvement de
manire trs prcise.

1- Pour dfinir la grille qui constitue la dfinition de la zone de simulation : Cration


d'une topologie qui mmorise les mouvements des mobiles dans une zone
gographique
set topo [new Topography]
$topo load_flatgrid 500 500 #500m x 500m la rsolution par dfaut
#est 1 mais peut tre modifie
Create-god $val(nn) #GOD General Operations Descriptor

TP-Protocoles des rseaux mobiles -2-


Dr.Mriem Afif

God (General Operations Director) est utilis pour stocker des informations sur l'tat de
l'environnement, du rseau ou des noeuds qui doivent tre connues de toutes les entits de la
simulation. Par exemple :
le nombre de mobiles
Une table du nombre de sauts entre les mobiles 2 2
Le next hop est rcupr par les fichiers de mouvement avant la simulation
create-god est dans le fichier donn par le chemin suivant : ~ns/tcl/mobility/com.tcl,
Une unique instance globale
Appel de manire interne par les MAC des mobiles => GOD est indispensable

2- Un mobile comporte les composants suivants qu'il faut dfinir au dbut de la


simulation : configuration des options du lien radio
LL
IFQ
MAC
Le canal sans fil,
Signaux dmission/rception des mobiles
Autres paramtres configurer
Type d'antenne,
Modle de propagation radio
Type de routage ad hoc
Dfinir les options dun lien sans fil :

set val(chan) Channel/WirelessChannel ;# channel type


set val(prop) Propagation/TwoRayGround ;# radio-propagation model
set val(ant) Antenna/OmniAntenna ;# Antenna type
set val(ll) LL ;# Link layer type
set val(ifq) Queue/DropTail/PriQueue ;# Interface queue type
set val(ifqlen) 50 ;# max packet in ifq
set val(netif) Phy/WirelessPhy ;# network interface type
set val(mac) Mac/802_11 ;# MAC type
set val(rp) DSDV ;# ad-hoc routing protocol
set val(nn) 2 ;# number of mobilenodes

3- Cration des mobiles : configuration des nuds


Adressage plat/hirarchique
Protcole de routage ad hoc
Link Layer,
MAC layer,
IfQ etc.

Configuration des nuds

$ns_ node-config -addressingType flat ;# or hierarchical or expanded flat by default


$ns_ node-config -adhocRouting $val(rp) \ ; # adhocRouting DSDV or DSR or TORA
-llType $val(ll) \ ;# LL
-macType $val(mac) \ ; # Mac/802_11

TP-Protocoles des rseaux mobiles -3-


Dr.Mriem Afif
-ifqType $val(ifq) \ ; #"Queue/DropTail/PriQueue"
-ifqLen $val(ifqlen) \ ; # -ifqLen 50
-antType $val(ant) \ ; # -antType "Antenna/OmniAntenna"
-propType $val(prop) \ ; #"Propagation/TwoRayGround"
-phyType $val(netif) \ ; # -phyType "Phy/WirelessPhy"
-topoInstance $topo \
-channelType $val(chan) \ ; # -channelType Channel/WirelessChannel"
-topoInstance $topo
-energyModel "EnergyModel"
-initialEnergy (in Joules)
-rxPower (in W)
-txPower (in W)
-agentTrace ON \ ;# ON or OFF
-routerTrace ON \ ;# ON or OFF
-macTrace OFF \ ;# ON or OFF
-movementTrace OFF ;# ON or OFF
Remarque : Les quatre derniers paramtres de node-config concernent lactivation ou la
dsactivation des agents de trace au niveau routage, MAC et mobilit des nuds.

4- Cration des mobiles : Positionnement

for {set i 0} {$i < $val(nn) } {incr i} {


set node_($i) [$ns_ node ]
$node_($i) random-motion 0 ;# disable random motion, 1 to enable it
}

- Positionnement des nuds mobiles : Les lignes de commandes ci-dessous indiquent la


position initiale du mobile (node 0) dans la grille
# Provide initial (X,Y, for now Z=0) co-ordinates for node_(0)
$node_(0) set X_ 5.0
$node_(0) set Y_ 2.0
$node_(0) set Z_ 0.0

- Mouvement des mobiles : la ligne de commande ci-dessous signifie que le nud 1 au


temps 50.0 va se dplacer en direction de la position (x=25, y=20) sur la grille une vitesse
de 15 mtres par seconde.

# Node_(1) starts to move towards node_(0) #


$ns_ at 50.0 "$node_(1) setdest 25.0 20.0 15.0"
O setdest X2 Y2 V, X2 et Y2 dsigne la prochaine position du noeud et V reprsente la
vitesse de dplacement du noeud.

A noter : Dans un souci de clart des scripts, surtout pour les grandes simulations, les
spcifications de mouvement ou les dfinitions des agents de trafic peuvent se faire dans des
fichiers spars.

1.3 Exemples dapplication : quelques astuces dimplmentation

Exemple 1 : Rseaux interconnects :

TP-Protocoles des rseaux mobiles -4-


Dr.Mriem Afif
set num_wired_nodes 2
set num_bs_nodes 1
Il faut utiliser le routage hirarchique
$ns_ node-config -addressType hierarchical
AddrParams set domain_num_ 2 ;# number of domains 1 domaine fixe, 1 domaine
mobile
lappend cluster_num 2 1 ;# number of clusters in each domain 2 clusters dans le 1er
domaine et 1 dans le 2eme
AddrParams set cluster_num_ $cluster_num lappend eilastlevel 1 1 4 ;# nodes in each
cluster : 1 dans les 2 premiers clusters et 4 dans le 3eme
AddrParams set nodes_num_ $eilastlevel ;# for each domain
#create wired nodes
set temp {0.0.0 0.1.0} ;# hierarchical addresses to be used
for {set i 0} {$i < $num_wired_nodes} {incr i} {
set W($i) [$ns_ node [lindex $temp $i]]}
node-config option -wiredRouting ON; # Pour configurer la BS

Dans une simulation avec des mobiles et des noeuds fixes il faut
- Utiliser le routage hirarchique
- Crer des domaines spars pour les noeuds filaires / sans fil.
- Avoir une BS dans chaque domaine sans fil travers laquelle les noeuds sans fil
passent pour communiquer avec les noeuds hors de leur domaine

Exemple 2 : Scnario avec des mobiles :


Exemple avec 2 domaines et 2 clusters

Adresses 0(domaine 0).0(cluster 0).0(noeud) et 0(same domain 0).1(cluster 1).0(again only


node).
Les mobiles sont dans un mme domaine 1. Les adresses sont alors :
Base-station: 1(deuxime domaine).0(cluster 0).0(premier noeud du cluster)
WL node#1 : 1.0.1(deuxime noeud du cluster
WL node#2 : 1.0.2
WL node#3 : 1.0.3
# configure for base-station node
$ns_ node-config -adhocRouting $opt(adhocRouting) \ -llType $opt(ll) \ -macType $opt(mac)
\ -ifqType $opt(ifq) \ -ifqLen $opt(ifqlen) \ -antType $opt(ant) \ -
propType $opt(prop) \ -phyType $opt(netif) \ -channelType $opt(chan) \ -topoInstance $topo \
-wiredRouting ON \ -agentTrace ON \ -routerTrace OFF \ -
macTrace OFF

#create base-station node


set temp {1.0.0 1.0.1 1.0.2 1.0.3} ;# address to be used for wireless domain
set BS(0) [ $ns_ node [lindex $temp 0]]
$BS(0) random-motion 0 ;# disable random motion
#provide some co-ordinates (fixed) to base station node
$BS(0) set X_ 1.0
$BS(0) set Y_ 2.0
$BS(0) set Z_ 0.0
#configure for mobilenodes
$ns_ node-config -wiredRouting OFF # now create mobilenodes

TP-Protocoles des rseaux mobiles -5-


Dr.Mriem Afif
for {set j 0} {$j < $opt(nn)} {incr j} {
set node_($j) [ $ns_ node [lindex $temp \ [expr $j+1]] ]
$node_($j) base-station [AddrParams addr2id \ [$BS(0) node-addr]] ;# provide each
mobilenode with address of its base-station }

1.4 Fichier de trace


Le format des fichiers traces dans le cas des rseaux mobiles Ad hoc nest pas le mme que
celui du rseau local fixe.
Extrait dune ligne dun fichier de trace simulant un rseau mobile Ad hoc :

- Le premier champ est une lettre qui peut tre : r, s, f, D qui reprsente les tats suivants :
rception, transmission (sent), retransmission (forwarded) et suppression (dropped)
respectivement. De plus, la premire lettre peut tre M pour indiquer la position ou le
mouvement du nud linstant donn.
- Le deuxime champ reprsente le temps
- Le troisime champ dsigne le numro du nud
- Le quatrime champ indique le niveau du paquet qui peut tre : MAC, AGT (niveau
transport), RTR (routage du paquet), IFQ (pour indiquer linterfrence de priorit au niveau
de la file dattente, ce qui gnre la suppression du paquet).
- Ensuite, cest le numro de squence du paquet
- etc

2. Travail demand : Simulation dun rseau mobile sans fil Adhoc

Dans cette partie, nous allons simuler un scnario de trois nuds mobiles distribus dans une
surface de 500x400 m2 (voir figure 2).

Figure 2. Topologie dun rseau mobile sans fil Adhoc simuler

- Initialement, la position des nuds 0, 1 et 2 est (5, 5, 0), (490, 285, 0) et (150, 240,
0) respectivement.

TP-Protocoles des rseaux mobiles -6-


Dr.Mriem Afif

- Aprs 10 secondes de simulation, le nud 0 commence se dplacer vers la


position (250, 250, 0) la vitesse de 3 m/sec. Ensuite, 20 secondes de la
simulation, le nud 1 commence se dplacer vers la position (45, 285, 0) la
vitesse de 5 m/sec. Le nud 2 10 secondes de la simulation commence se
dplacer vers la position (480, 300, 0) avec une vitesse de 5 m/sec.
- De plus, le temps de simulation est de 150 sec et le flux TCP entre le nud 0 et le
nud 1 commence 10 secondes aprs le lancement de la simulation.

Questions :
1. Ecrire le script TCL correspondant la topologie donne par la figure 2 avec les
paramtres indiqus ci-dessus.
2. Aprs avoir excut le script dvelopp en (1), et analys les fichiers traces, rpondre
aux questions suivantes :

a). Tracer le dbit moyen en fonction du temps de simulation. Analyser le rsultat obtenu.
b). Tracer le taux de perte des paquets en fonction du temps de simulation.
c). Tracer le dbit en fonction de la taille de fentre du protocole TCP (20 et 140 octets).

3. Interprter les rsultats obtenus.


4. Changer le code en considrant la notion de rseaux interconnects : Fixe et mobile.
On suppose simuler deux domaines 1 fixe et 1 mobile. Le domaine fixe est form de 2
clusters contenant chacun 1 noeud, le domaine mobile contient deux clusters
contenant respectivement 3 et 4 nuds. Reprendre les questions 1,2 (a et b) et 3.

3. Liens utiles

- The Network Simulator ns 2 : http://www.isi.edu/nsnam/ns/index.html


- Marc Greis's tutorial : http://www.isi.edu/nsnam/ns/tutorial/index.html
- ns by example http://nile.wpi.edu/NS/
- The ns documentation - http://www.isi.edu/nsnam/ns/ns-documentation.html
- ns users mailing list (ns-users@isi.edu)
- Tracegraph (www.geocities.com/tracegraph)
- The CMU Monarch Projects Wireless and Mobility Extensions to ns, http://www.monarch.cs.cmu.edu/

TP-Protocoles des rseaux mobiles -7-

Vous aimerez peut-être aussi