Hi Riz,

>1.     I am not sure about how to generate a scenario where all 
the
>nodes are contending as in my case of 10 nodes only 0 2 4 6 8 are
>contending and the other 1 3 5 7 9 are the sink or them so how can I
>come with a scenario where all nodes are coteding as in Bianchi's 
paper

attach one traffic source and one traffic sink to each node.

>2.     whether cbr interval 0.005 can meet the saturation requirement

you 
are in saturation conditions when each node generates
more traffic than 
it can send. Broadly, it depends on the bandwidth
you are using and one 
the number of contending nodes, but you
can choose a very high value, 
so that even a single source would
saturate the channel (e.g. if you 
are using 11Mbps as MAC datarate,
you can set the CBR rate to 11Mbps, 
and you're sure your nodes
are backlogged).

>3.     I cannot see any RTS 
and CTS in the trace file why?

because they are off. RTSthreshold_ 
controls the RTS/CTS
(frames smaller than this value go without 
RTS/CTS, frames
bigger require RTS/CTS, defualt is 3000 - i.e. never 
use it),
so the try adding the line
$val(mac) set RTSthreshold_ 0

bye,

Marco


>----Messaggio originale----
>Da: [EMAIL PROTECTED]
>Data: 11-apr-2007 10.27 AM
>A: "isi"<[EMAIL PROTECTED]>
>Ogg: [ns] Help 
in simulating Bianchi&#39;s results
>
>
>Hi,
> 
>I am new to Ns and am 
trying to simulate the results for the paper:
> 
>G. Bianchi, 
"Performance Analysis of the IEEE 802.11 Distributed
>Coordination 
Function,"IEEE JSAC, vol. 18, no. 3, March 2000 
> 
>My script is given 
below when I am running it with DumbAgent as the
>routing protocol I 
don't see any activity in the trace file and the
>throughput is zero 
but with a routing protocol I can get some throughput
>and I understand 
why this is happening but I don't get why my script
>with dumbagent is 
not working. I am using the parameters from Bainchi's
>paper
> 
>I have 
a few questions:
> 
>1.     I am not sure about how to generate a scenario 
where all the
>nodes are contending as in my case of 10 nodes only 0 2 
4 6 8 are
>contending and the other 1 3 5 7 9 are the sink or them so 
how can I
>come with a scenario where all nodes are coteding as in 
Bianchi's paper
>2.     whether cbr interval 0.005 can meet the saturation 
requirement
>3.     I cannot see any RTS and CTS in the trace file why?
> 
> 
># Script to reproduce the results of Bianchi's paper
># 
======================================================================
># Define options
># 
======================================================================
>set val(chan)           Channel/WirelessChannel    ;# channel type
>set val(prop)            Propagation/FreeSpace      ;# radio-
propagation
>model
>set val(netif)            
Phy/WirelessPhy            ;# network
>interface type
>set val
(mac)            Mac/802_11                 ;# MAC type
>set val
(ifq)              Queue/DropTail/PriQueue    ;# interface queue
>type
>set val(ll)                LL                         ;# link layer 
type
>set val(ant)             Antenna/OmniAntenna        ;# antenna 
model
>set val(ifqlen)          50                         ;# max 
packet in ifq
>set val(nn)              10                          ;# 
default number
>of mobilenodes
>set val(rp)               
DumbAgent                 ;# routing protocol
>DumbAgent
>set val
(x)                       100.0                               ;
>set val
(y)                       100.0                               ;
>set val
(simtime)      30.0                            ; #sim time 600
> 
># 
======================================================================
># Main Program
># 
======================================================================
>set ns_             [new Simulator]
>set tracefd     [open bianchi.tr 
w]
>$ns_ trace-all $tracefd
> 
>set namtrace [open bianchi.nam 
w]           ;# for nam tracing
>$ns_ namtrace-all-wireless $namtrace 
$val(x) $val(y)
>#$ns_ use-newtrace
> 
>#
># set up topography object
>#
> 
>set topo       [new Topography]
>$topo load_flatgrid $val(x) $val
(y)
> 
>#
># Create God
>#
> 
>set god_ [ create-god $val(nn) ]
> 
># 
Parameters for 802.11
>$val(mac) set SlotTime_ 0.000050
>$val(mac) set 
SIFS_ 0.000028
>$val(mac) set PreambleLength_ 0
>$val(mac) set 
PLCPHeaderLength_ 128
>$val(mac) set PLCPDataRate_ 1.0e6
>$val(mac) set 
DIFS_ 0.000128
>$val(mac) set dataRate_ 1.0e6
>$val(mac) set basicRate_ 
1.0e6
>$val(mac) set CWMin_ 31
>$val(mac) set CWMax_ 255
>#$val(mac) 
set RTShreshold_ 3000
> 
>set chan_1_ [new $val(chan)]
> 
>set rng [new 
RNG]
>        $rng seed 1
>        set rand1 [new 
RandomVariable/Uniform]
>        $rand1 use-rng $rng
>        $rand1 
set min_ -50.0
>        $rand1 set max_ 50.0
> 
>#
>#  Create the 
specified number of nodes 
>#  configure node
> 
> 
>        $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) \
>                                     -channel $chan_1_ \
>                                     -topoInstance $topo \
>                                     -agentTrace ON \
>                                     -routerTrace ON \
>                                     -macTrace ON \
>                                     -movementTrace OFF
> 
> 
>            for {set i 0} {$i < $val(nn) } {incr i} {
>                        set node_($i) [$ns_ node]
>                        $node_($i) random-motion 0                    ;
#
>disable random motion
>                        set x [expr 50+
[$rand1 value]]
>                        set y [expr 50+[$rand1 value]]
>                        $node_($i) set X_ $x
>                        
$node_($i) set Y_ $y
>                        $node_($i) set Z_ 0.0
>                        $ns_ initial_node_pos $node_($i) 20
>            }
> 
>#=================================================
>#                     Agents
>#=================================================
> 
>for {set i 0} 
{$i < $val(nn)} {incr i 2} {
>   set udp($i) [new Agent/UDP]
>   
Agent/UDP set packetSize_ 2000
>   $ns_ attach-agent $node_($i) $udp
($i)
> 
>   set sink($i) [new Agent/Null]
>   $ns_ attach-agent $node_
([expr $i +1]) $sink($i)
>   #$ns_ attach-agent $node_($i) $sink($i)
>   $ns_ connect $udp($i) $sink($i)
> 
>   set cbr($i) [new 
Application/Traffic/CBR]
>   $cbr($i) set packetSize_ 1024
>   $cbr($i) 
set interval_ 0.005  
>   $cbr($i) attach-agent $udp($i)
> 
>   $ns_ at 
0.0 "$cbr($i) start"
>   $ns_ at $val(simtime) "$cbr($i) stop"
>}
> 
>$ns_ at $val(simtime).1 "stop"
>$ns_ at $val(simtime).2 "puts \"NS 
EXITING...\" ; $ns_ halt"
> 
>proc stop {} {
>    global ns_ tracefd
>    $ns_ flush-trace
>    close $tracefd
>    puts "Finishing ns.."
>  
}
> 
>puts "Starting Simulation..."
>$ns_ run
> 
> 
>The awk script I 
am using is :
> 
>#------------------------------------------------------------------
> 
>#the awk script is simply: for throughput
>#-------------------------------------------------------------------
>BEGIN {num_cbr_recv=0; num_cbr_sent=0; sim_time=30; data_rate=1e6;
>num_rts_sent=0; num_cts_sent=0; num_col=0}  {
> 
>action=$1;
>hashar=$5
>type=$7;
>type2=$4
> 
>if (action == "r" && type == "cbr" 
&& type2 == "MAC")  {
>                        num_cbr_recv++;
>                        };
>    }
> 
>END{
>throughput= 
((num_cbr_recv*1024*8)/data_rate)/sim_time;
>print("throughput=", 
throughput);
> 
>}
> 
> 
>Thanking you in advance.
> 
>Riz
>


Reply via email to