Vous êtes sur la page 1sur 6

TP Introduction au Simulateur rseaux NS2

Ce TP a pour but de prendre en main lutilisation de NS2 en particulier la dfinition du scnario de simulation avec le script TCL ainsi que linterprtation des rsultats de simulation avec lanalyse des fichiers traces. Il est divis en deux parties, une partie ddie au rseau filaire et la deuxime partie ddie au rseau mobile sans fil ad hoc.

I- Simulation dun rseau filaire (Ethernet)


Dans cette partie, nous souhaitons simuler la topologie rseau suivante :

- Dclaration du scnario de simulation et les fichiers traces


#Dclaration d'une nouvelle simulation set ns [new Simulator] #Dclaration des fichiers contenant les rsultats set ftrace [open trace1.tr w] set nf [open tp1.nam w] $ns namtrace-all $nf #Procdure qui termine la simulation proc finish {}_ { global ns ftrace nf $ns flush-trace close $nf close $ftrace exec nam tp1.nam & exec xgraph ftp1.tr -geometry 800x400 & exit 0 }

- Dfinir la dure de simulation


Pour terminer la simulation, il suffit dajouter la dure de simulation (par exemple 110 secondes) souhaite comme suit : A. RACHEDI TP-NS2 1

$ns at 110.0 finish

- Dfinition des nuds et des liens


Les lignes suivantes permettent de dfinir six nuds de n0 jusqu n5
set set set set set set n0 n1 n2 n3 n4 n5 [$ns [$ns [$ns [$ns [$ns [$ns node] node] node] node] node] node]

- Dfinition dun lien de communication bidirectionnel


$ns duplex-link $n0 $n2 10Mb 10ms DropTail

O duplex-link indique que le lien est bidirectionnel et pour utiliser un lien directionnel il suffit de remplacer cette option par simplex-link . De plus, 10 ms reprsente le dlai de propagation et 10 Mb la capacit du lien de communication. Dans NS2, la sortie de la file dattente du nud est conue comme partie intgrante du lien de communication. Par consquent, la dclaration du lien, ncessite de dfinir la mthode utilise pour la gestion de la file dattente. Dans cet exemple, nous avons utilis loption DropTail qui consiste supprimer tous les paquets en cas de dbordement de la file. Il existe dautres mcanismes de gestion de la file sur NS2 comme : RED (Random Early Discard), FQ (Fair Queuing), DRR (Deficit Round Robin), SFQ (Stochastic Fair Queuing), etc. La taille du buffer de la file est par dfaut fixe 50. Cependant, nous pouvons attribuer une autre valeur comme suit :
$ns set queue-limit $n0 $n2 20

Remarque : Toutes les valeurs par dfaut sous NS2 sont dclares dans le fichier nomm ns-default.tcl La dclaration de tous les liens de la topologie rseau dfinis dans la figure prcdente est comme suit :
$ns $ns $ns $ns $ns $ns duplex-link $n0 $n2 10Mb 10ms DropTail duplex-link $n1 $n2 10Mb 10ms DropTail simplex-link $n2 $n3 0.3Mb 100ms DropTail simplex-link $n3 $n2 0.3Mb 100ms DropTail duplex-link $n3 $n4 0.5Mb 30ms DropTail duplex-link $n3 $n5 0.5Mb 40ms DropTail

- Dfinition des agents et des applications


Une fois que nous avons dfini la topologie du rseau, nous allons dfinir le type du trafic rseau et les applications rseau associes. Nous utilisons deux applications : FTP (File Transfert Protocol) entre les nuds n0 et n4, CBR (Constant Bit Rate) entre les nuds n1 et n5. Le

A. RACHEDI

TP-NS2

protocole utilis par lapplication FTP est le protocole TCP, mais celui qui est utilis par lapplication CBR est UDP.

Tout dabord, il faut crer un agent pour chaque protocole TCP et UDP. Ensuite, il faut associer les applications aux agents appropris.
# Setup TCP connection set tcp [new Agent/TCP] $ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n4 $sink $ns connect $tcp $sink $tcp set fid_ 1 $tcp set packetSize 512 # Setup FTP over TCP connection set ftp [new Application/FTP] $ftp attach-agent $tcp # Setup UDP connection set udp [new Agent/UDP] $ns attach-agent $n1 $udp set null [new Agent/Null] $ns attach-agent $n5 $null $ns connect $udp $null $udp set fid_ 2 # Setup CBR over UDP connection set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp $cbr set packetSize_ 1000 $cbr set rate_ 0.01Mb $cbr set random_ false

- Programmer le lancement des applications


Dans la dfinition du scnario, nous allons dfinir quand les vnements se dclenchent. Dans notre exemple, il faut indiquer quand les applications FTP et CBR se lancent et se terminent.
$ns $ns $ns $ns at at at at 0.1 $cbr start 1.0 $ftp start 100.0 $cbr stop 101.0 $ftp stop

A. RACHEDI

TP-NS2

Une fois que nous avons termin la dfinition du scnario de simulation, nous excutons la simulation laide de la commande ns nomscenario.tcl . Vous pouvez rcuprer le fichier tcl qui dcrit ce scnario nomm scen-1.tcl sur ma page web. Analyse des rsultats de simulation 1- Tracer le dbit moyen au niveau des nuds n4 et n5 en fonction du temps de simulation. 2- Analyser les rsultats obtenus. Vous pouvez utiliser le script perl nomm throughput qui permet d'analyser le fichier trace et d'extraire le dbit chez un nud donn. La syntaxe respecter est la suivante : $perl throughput nomFichierTrace numroNoeud Granularit

II- Simulation dun rseau mobile sans fil Ad hoc


Dans cette partie, nous allons simuler un scnario de trois nuds mobiles distribus dans une surface de 500x400 m2, comme sur la figure suivante :

Initialement, la position des nuds 0, 1 et 2 est (5, 5, 0), (490, 285, 0) et (150, 240, 0) respectivement. Cependant, 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. Les paramtres de base de la simulation dans les diffrents niveaux sont les suivants :
# Define options set val(chan) set val(prop) set val(netif) set val(mac) set val(ifq) set val(ll) set val(ant) set val(ifqlen) set val(nn) set val(rp) set val(x) set val(y) A. RACHEDI set val(stop)

Channel/WirelessChannel ;# channel type Propagation/TwoRayGround ;# radio-propagation model Phy/WirelessPhy ;# network interface type Mac/802_11 ;# MAC type Queue/DropTail/PriQueue ;# interface queue type LL ;# link layer type Antenna/OmniAntenna ;# antenna model 50 ;# max packet in ifq 3 ;# number of mobilenodes AODV ;# routing protocol 500 ;# X dimension of topography 400 ;# Y dimension of topography TP-NS2 time of simulation end 150 ;#

La configuration des nuds mobiles avec les diffrents paramtres est comme suit :
# configure the nodes $ns node-config -adhocRouting $val(rp) \ -llType $val(ll) \ -macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(ant) \ -propType $val(prop) \ -phyType $val(netif) \ -channelType $val(chan) \ -topoInstance $topo \ -agentTrace ON \ -routerTrace ON \ -macTrace OFF \ -movementTrace ON for {set i 0} {$i < $val(nn) } { incr i } { set node_($i) [$ns node] }

Les quatre derniers paramtres de node-config concernent lactivation ou la dsactivation des agents de trace au niveau routage, MAC et mobilit des nuds. Pour positionner les nuds initialement, il faut donner les cordonnes X, Y, Z comme suit :
# Provide $node_(0) $node_(0) $node_(0) initial location of mobile nodes set X_ 5.0 set Y_ 5.0 set Z_ 0.0

Le dplacement dun nud de sa position actuelle une autre position est effectu comme suit :
# Generation of movements $ns at 10.0 "$node_(0) setdest 250.0 250.0 5.0" $ns at 15.0 "$node_(1) setdest 45.0 285.0 5.0" $ns at 110.0 "$node_(0) setdest 480.0 300.0 5.0"

O setdest X2 Y2 V, X2 et Y2 dsigne la prochaine position du nud et V reprsente la vitesse de dplacement du nud. Le format des fichiers traces dans le cas des rseaux mobiles Ad hoc nest pas le mme que celui du rseau local que nous avons vu dans la premire partie.

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 A. RACHEDI TP-NS2 5

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

Analyse des rsultats de simulation (rapport rendre avant le 1er mars)


Rcuprer le fichier du scnario nomm scen-2.tcl et lancer la simulation. Aprs avoir analys les fichiers traces, rpondez aux questions suivantes : 1- Tracer le dbit moyen en fonction du temps de simulation. Analyser le rsultat obtenu. 2- Tracer le taux de perte des paquets en fonction du temps de simulation. 3- Tracer le dbit en fonction de la taille de fentre du protocole TCP (20 et 140 octets). Interprter les rsultats obtenus.

A. RACHEDI

TP-NS2