Simulation d'un reseau mesh 802.11 sur ns2

Résolu/Fermé
ck12 - 15 mars 2009 à 23:04
fagno Messages postés 1 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 1 décembre 2014 - 1 déc. 2014 à 07:28
Bonjour,
est ce quelqu'un peut me donner le TCL script pour creer un reseau mesh 802.11 .
je veux tester les performances des protocoles de routage sur ce reseu mais j'en est besoin de taper le code
TCL j'en arrive pas.Si quelqu'un peut m'aider.Merci

8 réponses

Salut,
as tu trouvé le code pour simuler un WMN? Je dois également bosser sur un WMN pour étudier les attaques DoS...
0
salut ! j'ai besoin d'utiliser le code , j'ai le meme projet que vous .
vous pouver m'aider par envoyer le code sur mon addresse
merci beaucoup
0
salut ! j'ai besoin d'utiliser le code , j'ai le meme projet que vous .
vous pouver m'aider par envoyer le code sur mon addresse
merci beaucoup
0
Content de voir que je ne suis pas tout seul! En fait je n'ai pas fini de faire le code. Mais je suis d'accord pour partager... Mais je n'ai pas votre mail !
0
mhmd ! > UNLV
18 mai 2009 à 14:23
je sais pas comment je dois vous donner mon email ! mais tu peut me donner le code ici ! je le recu par mail !
je peut ainsi vous donner mon code aussi ! c'est un reseau de 50 node ! qui traivail comme < client mesh > et j'ai fait la comparaison de 3 protocoles de routage ( AODV , le DSR , DSDV ) aisni que j'ai fait un awk script pour calculer l'efficasite ou bien le nombre de message recu / le nombre tranmit )

je vous remercie de donner le code ici , ainsi que d'autre code pou tracer les graphes !!
c'est urgent !
et si tu veut je peut me donner mon code aussi !!
bonne chance
(exusez moi do mon francais , je parle l'anglais plus bon , ainsi que mon projet et en anglais )
merci beaucoup !
good luck :):)
0
nadadouaa > mhmd !
13 déc. 2009 à 20:03
slt mhmd moi aussi je travaille sur les wsns en ns2
svp pouvez vous me donnez votre code de ns2 (pour le modifier et comprendre comment implémenter une protocole) pour débuter car je suis débutante en ns2 et sur le net je trouve que des exempes simples
merci d'avance....
0
mohamadtawba > nadadouaa
13 déc. 2009 à 23:43
voila c est un partie du code que j'ai utilisé , avec un AODV + routing et un patch pour le voie sur IP..........ce code est uniquement pour l'adhoc , vous pouver l'utiliser pour grid topology ou multihop qvec passrelle avec fil vers un serveur

pour plus d'info TAWBA @ Telecom-paristech . FR


2. TCL SCRIPTS USED TO SIMULATE THE ARROW TOPOLOGY
"The following Tcl script is used for one single simulation. Number of flows and number of hops should be varied in order to make other simulations using the arrow topology."
"Also a lot of modifications should be done in order to simulate the Grid Topology."
=============================================================
# Define options
=============================================================
set opt(namfile) out.nam
set opt(tracefile) out.tr
set opt(x) 500; #x dimension of the topography
set opt(y) 500; #y dimension of the topography
set opt(wirelessNodes) 4; #mobile nodes
set opt(wiredNodes) 2; #hosts and routers
set opt(gatewayNodes) 1; #gateways

set val(stop) 80.0; #simulation time
set opt(aggregate) 8
set opt(codec) "G.729" ;# G.711, G.723.1, G.729A, GSM.EFR, GSM.AMR,
set opt(initialDelay) 0.060

#============================================================
MAC and PHYSICAL LAYER PARAMETERS
#============================================================

Mac/802_11 set dataRate_ 11Mb
Mac/802_11 set dataRate_ 1Mb
Mac/802_11 set SlotTime_ 0.000020
Mac/802_11 set SIFS_ 0.000010
Mac/802_11 set CWMax_ 1023
Mac/802_11 set RTSThreshold_ 0

Phy/WirelessPhy set Pt_ 0.03
Phy/WirelessPhy set CPThresh_ 10.0
Phy/WirelessPhy set CSThresh_ 8.29214e-13
Phy/WirelessPhy set RXThresh_ 4.496e-12

Phy/WirelessPhy set freq_ 2.472e+9
Phy/WirelessPhy set L_ 1.0
Phy/WirelessPhy set bandwidth_ 11Mb


#---------------------------
#Initialize Global Variables
#---------------------------
#create a simulator object
set ns [new Simulator]
$ns use-newtrace


#----------------------------------------
#Define The Hierachial Topology Structure
#----------------------------------------
$ns node-config -addressType hierarchical
#Nbr of domains
AddrParams set domain_num_ 2
#Nbr of clusters (=subdomains) in each domain
lappend clusterNbr 2 1
AddrParams set cluster_num_ $clusterNbr
#Nbr of nodes in each cluster
lappend eilastlevel 1 1 6
AddrParams set nodes_num_ $eilastlevel


#create trace objects for ns and nam
set nstrace [open $opt(tracefile) w]
$ns trace-all $nstrace

set namtrace [open $opt(namfile) w]
$ns namtrace-all-wireless $namtrace $opt(x) $opt(y)


#create a topology object and define topology (500mx500m)
set topo [new Topography]
$topo load_flatgrid $opt(x) $opt(y)


#create God (General Operations Director)
create-god [expr $opt(wirelessNodes)+$opt(gatewayNodes)]]

#create wired nodes
set temp {0.0.0 0.1.0}
for {set i 0} {$i < $opt(wiredNodes)} {incr i} {
set host($i) [$ns node [lindex $temp $i]]
}

#--------------------------------------
#Configure for Gateway and Mobile Nodes
#--------------------------------------
#Use hierarchical addresses for GWs and MNs

#configure for mobile nodes and gateways
$ns node-config -adhocRouting AODV
$ns node-config -llType LL
$ns node-config -macType Mac/802_11
$ns node-config -ifqType Queue/DropTail/PriQueue
$ns node-config -ifqLen 50
$ns node-config -antType Antenna/OmniAntenna
$ns node-config -propType Propagation/TwoRayGround
$ns node-config -phyType Phy/WirelessPhy
$ns node-config -topoInstance $topo
$ns node-config -channel [new Channel/WirelessChannel]
$ns node-config -agentTrace ON
$ns node-config -routerTrace ON
$ns node-config -macTrace ON
$ns node-config -movementTrace OFF

#configure for gateways
$ns node-config -wiredRouting ON
#create gateway
set gw(0) [$ns node 1.0.0]
#set initial coordinates
$gw(0) set X_ 300.0
$gw(0) set Y_ 100.0
$gw(0) set Z_ 0.0


#configure for mobile nodes
$ns node-config -wiredRouting OFF
#create mobile nodes in the same domain as gw(0)
set temp {1.0.1 1.0.2 1.0.3 1.0.4 1.0.5}
for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
set mobile($i) [$ns node [lindex $temp [expr $i-3]
$mobile($i) base-station [AddrParams addr2id [$gw(0) node-addr]]
}

$mobile(3) set X_ 50
$mobile(3) set Y_ 100
$mobile(3) set Z_ 0.0

$mobile(6) set X_ 125
$mobile(6) set Y_ 100
$mobile(6) set Z_ 0.0

$mobile(5) set X_ 50
$mobile(5) set Y_ 75
$mobile(5) set Z_ 0.0

$mobile(4) set X_ 50
$mobile(4) set Y_ 175
$mobile(4) set Z_ 0.0

#create links between wired nodes and basestation node
$ns duplex-link $host(0) $host(1) 5Mb 2ms DropTail
$ns duplex-link $host(1) $gw(0) 5Mb 2ms DropTail

$ns duplex-link-op $host(0) $host(1) orient left
$ns duplex-link-op $host(1) $gw(0) orient left
#---------------------
#Setup Traffic
#---------------------
for { set j 3 } { $j < 6 } { incr j } {
for { set i 0 } { $i < 9 } { incr i } {
set source($i) [new VoipSource]
$source($i) model one-to-one
$ns at 0.0 "$source($i) start"


set encoder($i) [new Application/VoipEncoder]
$encoder($i) codec $opt(codec)
$source($i) encoder $encoder($i)

set decoder($i) [new Application/VoipDecoder]
set decoder($i) [new Application/VoipDecoderStatic]
set decoder($i) [new Application/VoipDecoderOptimal]
$decoder($i) id $i
$decoder($i) cell-id 0
$decoder($i) emodel $opt(codec)


#Only for static decoder
#$decoder($i) buffer-size 20
#$decoder($i) initial-delay $opt(initialDelay);

set agtsrc($i) [new Agent/UDP]
set agtdst($i) [new Agent/UDP]
$agtsrc($i) set fid_ 1
$ns attach-agent $mobile($j) $agtsrc($i)
$ns attach-agent $host(0) $agtdst($i)
$ns connect $agtsrc($i) $agtdst($i)
$encoder($i) attach-agent $agtsrc($i)
$decoder($i) attach-agent $agtdst($i)

set aggregate($i) [new Application/VoipAggregate]
$aggregate($i) nframes $opt(aggregate)
$aggregate($i) attach-agent $agtsrc($i)
$encoder($i) aggregate $aggregate($i)

set header($i) [new Application/VoipHeader]
$header($i) compression
$header($i) attach-agent $agtsrc($i)
$encoder($i) header $header($i)
$aggregate($i) header $header($i)
}
}


#-----------------------------------
#Define Node Initial Position In Nam
#-----------------------------------
#20 defines the node size in nam, must adjust it according to your scenario
#The function must be called after mobility model is defined
for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
$ns initial_node_pos $mobile($i) 20
}

#-----------------------------------
#Tell Nodes When The Simulation Ends
#-----------------------------------
for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
$ns at $val(stop).0 "$mobile($i) reset";
}
$ns at $val(stop).0 "$gw(0) reset";
$ns at $val(stop).0001 "stop"
$ns at $val(stop).0002 "puts \"NS EXITING...\" ; $ns halt"

proc stop {} {
global ns nstrace namtrace opt
$ns flush-trace
close $nstrace
close $namtrace
exec nam $opt(namfile) &
exit 0
}

puts "Starting simulation..."
$ns at 0.0 "$ns set-animation-rate 5ms"

$ns run
#============================================================
0
nadadouaa Messages postés 34 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 6 août 2010 7 > mohamadtawba
14 déc. 2009 à 20:01
merci mr mohamad tawba je vais essayer avec ce code
merci boucoup......
0
Bonjour,

Je travaile sur même sujet, si vous pouvez partagez le code avec moi aussi ?

merci bcp mon addresse email est malik.mubashir_at_gmail(point)com


cordialement,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
voici le mien ça sera plus facile !
xple65 at hotmail com
0
bonjour
je travaille sur les WMNs et j utilise NS-2
j ai pas réussi a ecrire le code TCL de la topologie exacte des WMNs
y a t il qq1 qui a réussi à le faire et qui est prêt à le partager avec moi
mon mail zizou_inf at hotmail dot com
merci d avance
0
mohamadtawba
13 déc. 2009 à 23:37
voila c est un partie du code que j'ai utilisé , avec un AODV + routing et un patch pour le voie sur IP..........ce code est uniquement pour l'adhoc , vous pouver l'utiliser pour grid topology ou multihop qvec passrelle avec fil vers un serveur




2. TCL SCRIPTS USED TO SIMULATE THE ARROW TOPOLOGY
"The following Tcl script is used for one single simulation. Number of flows and number of hops should be varied in order to make other simulations using the arrow topology."
"Also a lot of modifications should be done in order to simulate the Grid Topology."
=============================================================
# Define options
=============================================================
set opt(namfile) out.nam
set opt(tracefile) out.tr
set opt(x) 500; #x dimension of the topography
set opt(y) 500; #y dimension of the topography
set opt(wirelessNodes) 4; #mobile nodes
set opt(wiredNodes) 2; #hosts and routers
set opt(gatewayNodes) 1; #gateways

set val(stop) 80.0; #simulation time
set opt(aggregate) 8
set opt(codec) "G.729" ;# G.711, G.723.1, G.729A, GSM.EFR, GSM.AMR,
set opt(initialDelay) 0.060

#============================================================
MAC and PHYSICAL LAYER PARAMETERS
#============================================================

Mac/802_11 set dataRate_ 11Mb
Mac/802_11 set dataRate_ 1Mb
Mac/802_11 set SlotTime_ 0.000020
Mac/802_11 set SIFS_ 0.000010
Mac/802_11 set CWMax_ 1023
Mac/802_11 set RTSThreshold_ 0

Phy/WirelessPhy set Pt_ 0.03
Phy/WirelessPhy set CPThresh_ 10.0
Phy/WirelessPhy set CSThresh_ 8.29214e-13
Phy/WirelessPhy set RXThresh_ 4.496e-12

Phy/WirelessPhy set freq_ 2.472e+9
Phy/WirelessPhy set L_ 1.0
Phy/WirelessPhy set bandwidth_ 11Mb


#---------------------------
#Initialize Global Variables
#---------------------------
#create a simulator object
set ns [new Simulator]
$ns use-newtrace


#----------------------------------------
#Define The Hierachial Topology Structure
#----------------------------------------
$ns node-config -addressType hierarchical
#Nbr of domains
AddrParams set domain_num_ 2
#Nbr of clusters (=subdomains) in each domain
lappend clusterNbr 2 1
AddrParams set cluster_num_ $clusterNbr
#Nbr of nodes in each cluster
lappend eilastlevel 1 1 6
AddrParams set nodes_num_ $eilastlevel


#create trace objects for ns and nam
set nstrace [open $opt(tracefile) w]
$ns trace-all $nstrace

set namtrace [open $opt(namfile) w]
$ns namtrace-all-wireless $namtrace $opt(x) $opt(y)


#create a topology object and define topology (500mx500m)
set topo [new Topography]
$topo load_flatgrid $opt(x) $opt(y)


#create God (General Operations Director)
create-god [expr $opt(wirelessNodes)+$opt(gatewayNodes)]]

#create wired nodes
set temp {0.0.0 0.1.0}
for {set i 0} {$i < $opt(wiredNodes)} {incr i} {
set host($i) [$ns node [lindex $temp $i]]
}

#--------------------------------------
#Configure for Gateway and Mobile Nodes
#--------------------------------------
#Use hierarchical addresses for GWs and MNs

#configure for mobile nodes and gateways
$ns node-config -adhocRouting AODV
$ns node-config -llType LL
$ns node-config -macType Mac/802_11
$ns node-config -ifqType Queue/DropTail/PriQueue
$ns node-config -ifqLen 50
$ns node-config -antType Antenna/OmniAntenna
$ns node-config -propType Propagation/TwoRayGround
$ns node-config -phyType Phy/WirelessPhy
$ns node-config -topoInstance $topo
$ns node-config -channel [new Channel/WirelessChannel]
$ns node-config -agentTrace ON
$ns node-config -routerTrace ON
$ns node-config -macTrace ON
$ns node-config -movementTrace OFF

#configure for gateways
$ns node-config -wiredRouting ON
#create gateway
set gw(0) [$ns node 1.0.0]
#set initial coordinates
$gw(0) set X_ 300.0
$gw(0) set Y_ 100.0
$gw(0) set Z_ 0.0


#configure for mobile nodes
$ns node-config -wiredRouting OFF
#create mobile nodes in the same domain as gw(0)
set temp {1.0.1 1.0.2 1.0.3 1.0.4 1.0.5}
for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
set mobile($i) [$ns node [lindex $temp [expr $i-3]
$mobile($i) base-station [AddrParams addr2id [$gw(0) node-addr]]
}

$mobile(3) set X_ 50
$mobile(3) set Y_ 100
$mobile(3) set Z_ 0.0

$mobile(6) set X_ 125
$mobile(6) set Y_ 100
$mobile(6) set Z_ 0.0

$mobile(5) set X_ 50
$mobile(5) set Y_ 75
$mobile(5) set Z_ 0.0

$mobile(4) set X_ 50
$mobile(4) set Y_ 175
$mobile(4) set Z_ 0.0

#create links between wired nodes and basestation node
$ns duplex-link $host(0) $host(1) 5Mb 2ms DropTail
$ns duplex-link $host(1) $gw(0) 5Mb 2ms DropTail

$ns duplex-link-op $host(0) $host(1) orient left
$ns duplex-link-op $host(1) $gw(0) orient left
#---------------------
#Setup Traffic
#---------------------
for { set j 3 } { $j < 6 } { incr j } {
for { set i 0 } { $i < 9 } { incr i } {
set source($i) [new VoipSource]
$source($i) model one-to-one
$ns at 0.0 "$source($i) start"


set encoder($i) [new Application/VoipEncoder]
$encoder($i) codec $opt(codec)
$source($i) encoder $encoder($i)

set decoder($i) [new Application/VoipDecoder]
set decoder($i) [new Application/VoipDecoderStatic]
set decoder($i) [new Application/VoipDecoderOptimal]
$decoder($i) id $i
$decoder($i) cell-id 0
$decoder($i) emodel $opt(codec)


#Only for static decoder
#$decoder($i) buffer-size 20
#$decoder($i) initial-delay $opt(initialDelay);

set agtsrc($i) [new Agent/UDP]
set agtdst($i) [new Agent/UDP]
$agtsrc($i) set fid_ 1
$ns attach-agent $mobile($j) $agtsrc($i)
$ns attach-agent $host(0) $agtdst($i)
$ns connect $agtsrc($i) $agtdst($i)
$encoder($i) attach-agent $agtsrc($i)
$decoder($i) attach-agent $agtdst($i)

set aggregate($i) [new Application/VoipAggregate]
$aggregate($i) nframes $opt(aggregate)
$aggregate($i) attach-agent $agtsrc($i)
$encoder($i) aggregate $aggregate($i)

set header($i) [new Application/VoipHeader]
$header($i) compression
$header($i) attach-agent $agtsrc($i)
$encoder($i) header $header($i)
$aggregate($i) header $header($i)
}
}


#-----------------------------------
#Define Node Initial Position In Nam
#-----------------------------------
#20 defines the node size in nam, must adjust it according to your scenario
#The function must be called after mobility model is defined
for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
$ns initial_node_pos $mobile($i) 20
}

#-----------------------------------
#Tell Nodes When The Simulation Ends
#-----------------------------------
for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
$ns at $val(stop).0 "$mobile($i) reset";
}
$ns at $val(stop).0 "$gw(0) reset";
$ns at $val(stop).0001 "stop"
$ns at $val(stop).0002 "puts \"NS EXITING...\" ; $ns halt"

proc stop {} {
global ns nstrace namtrace opt
$ns flush-trace
close $nstrace
close $namtrace
exec nam $opt(namfile) &
exit 0
}

puts "Starting simulation..."
$ns at 0.0 "$ns set-animation-rate 5ms"

$ns run
#============================================================
0
chemstelecom Messages postés 42 Date d'inscription lundi 3 novembre 2008 Statut Membre Dernière intervention 9 juillet 2012 5
7 févr. 2011 à 09:57
salut,
Est ce que l'un entre vous a un script WMN svp ? c'est urgent !
merci
0
fagno Messages postés 1 Date d'inscription lundi 1 décembre 2014 Statut Membre Dernière intervention 1 décembre 2014
1 déc. 2014 à 07:28
Bjr,

Je dois simuler le protocole AODV et OLSR sous ns2 pour un réseau maillés sans fil avec: 5 Mesh Router et 20 mesh client (paramètre à evaluer: Le délai moyen point -à-point, Délai d'établissement d'une route,
Taux de paquets livrés avec succès, Trafic de contrôle), aider moi SVP, je dois rendre mon rapport cette semaine.


Merci d'avance.
0