What´s the version of your ns-2?

Regards,

Luís Barreto

On Sat, Nov 15, 2008 at 3:02 PM, Massimo Reineri <[EMAIL PROTECTED]>wrote:

>   Hello to everybody!
> I would know your opinion about my solution.
> I'm working in MANET routing context and I'm simulating a simple network
> made up
> by 4 fixed wireless nodes (A,B,C,D) with mac layer 802_11 (dataRate_ set to
> 11Mb)
> and a mobile node (E) with mac layer 802_11 but dataRate_ set to 1Mb that
> moves from the
> left side to the right side of the network as shown in the next picture:
>
> | A |             | B |            | C |              | D |
>
> ----->>----| E |--->>------------->>-----------------
>
> Now I want to check the data throughput for the communication among node A
> and node E and viceversa.
> The simulator seams to run correctly but I'm not sure that the current
> implementation
> of the mac layer mac-802_11.{h,cc} allows me to deal with this scenario,
> i.e. it allows me to
> use different channel capacities in the same wireless network.
>
> The used simulation script is the following one:
>
> # ======================================================================
> # Define options
> # ======================================================================
> # following options are to define a network feature: default values
> set opt(chan) Channel/WirelessChannel ;# channel type
> set opt(prop) Propagation/TwoRayGround ;# radio-propagation model
> set opt(netif) Phy/WirelessPhy ;# network interface type
> set opt(mac) Mac/802_11 ;# MAC type
> set opt(ifq) Queue/DropTail/PriQueue ;# interface queue type
> set opt(ll) LL ;# link layer type
> set opt(ant) Antenna/OmniAntenna ;# antenna model
> set opt(ifqlen) 50 ;# max packet in ifq
> set opt(nn) 5 ;# number of mobilenodes
> set opt(rp) OLSR ;# routing protocol
> set opt(x) 500 ;# X-dimention for the topology
> set opt(y) 550 ;# Y-dimention for the topology
> set opt(packetSize) 400 ;# packet size for CBR traffic in Bytes
> set opt(rate) 80Kb ;# CBR traffic bit rate
> set opt(speed) 3.0 ;# mobile node linear speed in m/sec
> set opt(startCBR) 100 ;# CBR flow start time in seconds
> set opt(stopCBR) 600 ;# CBR flow end time in seconds
> set opt(stopSimulation) 650 ;# Simulation end time in seconds
> proc usage {} {
>     puts {manet_net.tcl: Usage> ns manet_net.tcl }
>     puts {PARAMETERS NEED NOT BE SPECIFIED... DEFAULTS WILL BE USED}
>     exit
> }
>
> if {[string compare $opt(rp) "OLSR"] == 0} {
>                                                                 Agent/OLSR
> set use_mac_ true
> }
> puts "This is a basic manet network"
> # =====================================================================
> # Main Program
> # ======================================================================
>
> # Initialize a network simulator
> set ns_ [new Simulator]
> set tracefd [open manet_net.tr w]
> $ns_ trace-all $tracefd
>
> # Initialize nam trace for netwrok visualization
> set namtrace [open manet_net.nam w]
> $ns_ namtrace-all-wireless $namtrace $opt(x) $opt(y)
>
> # Set up topography object
> set topo [new Topography]
> $topo load_flatgrid $opt(x) $opt(y)
>
> # Create God
> set god_ [create-god $opt(nn)]
> set chan_1_ [new $opt(chan)]
>
> # Create the specified number of mobilenodes [$opt(nn)] and "attach" them
> # to the channel.
>
> # Configure the node features
> Mac/802_11 set dataRate_ 11Mb
> Mac/802_11 set PLCPdataRate_ 11Mb
> $ns_ node-config -adhocRouting $opt(rp) \
>                          -llType $opt(ll) \
>                          -macType $opt(mac) \
>                          -ifqType $opt(ifq) \
>                          -ifqLen $opt(ifqlen) \
>                          -antType $opt(ant) \
>                          -propType $opt(prop) \
>                          -phyType $opt(netif) \
>                          -channel $chan_1_ \
>                          -topoInstance $topo \
>                          -agentTrace ON \
>                          -routerTrace ON \
>                          -macTrace OFF \
>                          -movementTrace ON
>
> #in order to compute this threshold run the program in
> indeep-utils/propagation/threshold
> #command ./threshold -m TwoRayGround 200
>
> Phy/WirelessPhy set RXThresh_ 1.42681e-08 ;# 100 m
> set node_(0) [$ns_ node]
> $node_(0) random-motion 0
>
> Phy/WirelessPhy set RXThresh_ 1.42681e-08 ;# 100 m
> set node_(1) [$ns_ node]
> $node_(1) random-motion 0
>
> Phy/WirelessPhy set RXThresh_ 1.42681e-08 ;# 100 m
> set node_(2) [$ns_ node]
> $node_(2) random-motion 0
>
> Phy/WirelessPhy set RXThresh_ 1.42681e-08 ;# 100 m
> set node_(3) [$ns_ node]
> $node_(3) random-motion 0
>
> Phy/WirelessPhy set RXThresh_ 1.42681e-08 ;# 100 m
> Mac/802_11 set dataRate_ 1Mb
> Mac/802_11 set PLCPdataRate_ 1Mb
> $ns_ node-config -adhocRouting $opt(rp) \
>                           -llType $opt(ll) \
>                           -macType $opt(mac) \
>                           -ifqType $opt(ifq) \
>                           -ifqLen $opt(ifqlen) \
>                           -antType $opt(ant) \
>                           -propType $opt(prop) \
>                           -phyType $opt(netif) \
>                           -channel $chan_1_ \
>                           -topoInstance $topo \
>                           -agentTrace ON \
>                           -routerTrace ON \
>                           -macTrace OFF \
>                           -movementTrace ON
> set node_(4) [$ns_ node]
> $node_(4) random-motion 0
>
> # Provide initial (X,Y, for now Z=0) co-ordinates for mobilenodes
> # Set of linear x-axis placed nodes
> $node_(0) set X_ 5.0 ; $node_(0) set Y_ 495.0
> $node_(1) set X_ 103.0 ; $node_(1) set Y_ 495.0
> $node_(2) set X_ 201.0 ; $node_(2) set Y_ 495.0
> $node_(3) set X_ 299.0 ; $node_(3) set Y_ 495.0
> $node_(4) set X_ 5.0 ; $node_(4) set Y_ 460.0
>
> # Apply the initial-position to every nodes in the topology
> for {set i 0} {$i < $opt(nn) } {incr i} {
>                                                     $node_($i)
> random-motion 0 ;# disable random motion
>                                                     $ns_ initial_node_pos
> $node_($i) 20 ;# set size of nodes (Only graphical info for nam)
> }
>
> # Now produce some simple linear movements for node 11 toward the x-axis
> # All the other nodes still to be fixed in place
> $ns_ at 200.1 "$node_(4) setdest 389.0 460.0 $opt(speed)"
> $ns_ at 400.1 "$node_(4) setdest 5.0 460.0 $opt(speed)"
>
> #Set UDP agent and cbr agent for traffic generation
> set udp4 [new Agent/UDP]
> $ns_ attach-agent $node_(4) $udp4
> $udp4 set class_ 0
> set cbr4 [new Application/Traffic/CBR]
> $cbr4 attach-agent $udp4
> $cbr4 set packetSize_ $opt(packetSize)
> $cbr4 set rate_ $opt(rate)
>
> #Set null agent for packet reception
> set null4 [new Agent/Null]
> $ns_ attach-agent $node_(0) $null4
>
> # Make a connection between UDP and CBR agents
> $ns_ connect $udp4 $null4
> $ns_ at $opt(startCBR) "$cbr4 start"
>
> # End the scenario
> $ns_ at $opt(stopCBR) "$cbr4 stop"
> $ns_ at $opt(stopSimulation).0 "puts \"NS EXITING...\" ; $ns_ halt"
> $ns_ at $opt(stopSimulation).1 "stop"
> proc stop {} {
>                     global ns_ tracefd namtrace
>                     $ns_ flush-trace
>                     close $tracefd
>                     close $namtrace
>                     # execute NAM using a trace file
>                     exec nam manet_net.nam &
> }
>
> puts "Starting Simulation..."
> $ns_ run
>
> In other words, I would that the fixed nodes communicate among themself
> using a 11Mbps channel and that the communication among
> a fixed node and a moving one takes place using a 1Mbps channel.
> Any help can be very useful and so thank you in advance for your attention!
>
> Best regards,
>  Massimo
>

Reply via email to