Hello everybody

I've got strange values of Throughput in 802.11:
dataRate_ =1Mbps => Thr = 761.99 Kbps
dataRate_ =2Mbps => Thr = 1382.65 Kbps
dataRate_ =11Mbps => Thr = 3458.02 Kbps

I'm simulating 2 nodes wireless network with cbr traffic.
I found that there are could be 2 problems:
(1) not use PriQueue, so routing message not get priority.
(2) ifqlen is set too small, so routing message can be always dropped.
http://www.nabble.com/Re%3A-lower-than-expected-throughput-for-802.11-CBR-td7941019.html#a7941019
I changed queue type and queue size but it didn't effect. I still have the
same values.
The script:
global defaultRNG
$defaultRNG seed 1111
set tracename 1.tr
set val(nn) 2                          ;# number of mobilenodes
set val(rate) 11.0e6
Application/Traffic/CBR set rate_ [expr $val(rate)*2]    ;# corresponds to
interval of 3.75ms
Application/Traffic/CBR set packetSize_ 536
#Agent/UDP set packetSize_    1460

#Phy/WirelessPhy set CPThresh_ 10.0
Phy/WirelessPhy set CPThresh_ 1000000.0
Phy/WirelessPhy set CSThresh_ 1.559e-11
Phy/WirelessPhy set RXThresh_ 3.652e-10
Phy/WirelessPhy set Rb_ 2*1e6
Phy/WirelessPhy set Pt_ 0.2818
Phy/WirelessPhy set freq_ 914e+6
Phy/WirelessPhy set L_ 1.0

# Phy/WirelessPhy set bandwidth_ $val(rate)
 Mac/802_11 set dataRate_ $val(rate)
 Mac/802_11 set basicRate_ 1.0e6           ;# 1Mbps

 Mac/802_11 set MaxSDUSize_    2132

 Mac/802_11 set CWMin_         31
 Mac/802_11 set CWMax_         1023
 Mac/802_11 set SlotTime_      0.000020         ;# dataRate_ 11Mbps, 2Mbps
20us
 Mac/802_11 set SIFS_          0.000010         ;# dataRate_ 11Mbps, 2Mbps
10us
 Mac/802_11 set PreambleLength_        144      ;# dataRate_ 11Mbps, 2Mbps
144 bit
 Mac/802_11 set PLCPHeaderLength_      48       ;# dataRate_ 11Mbps, 2Mbps
48 bits

# Mac/802_11 set SlotTime_      0.000050         ;# dataRate_ 1Mbps
# Mac/802_11 set SIFS_          0.000028         ;# dataRate_ 1Mbps
# Mac/802_11 set PreambleLength_ 0               ;# dataRate_ 1Mbps
# Mac/802_11 set PLCPHeaderLength_      128      ;# dataRate_ 1Mbps

 Mac/802_11 set PLCPHeaderLength_      48       ;# 48 bits
 Mac/802_11 set PLCPDataRate_  1.0e6           ;# 1Mbps
# Mac/802_11 set RTSThreshold_  0                ;# bytes
 Mac/802_11 set RTSThreshold_  4096                ;# bytes
 Mac/802_11 set ShortRetryLimit_       7        ;# retransmittions
 Mac/802_11 set LongRetryLimit_        4        ;# retransmissions
 Mac/802_11 set bugFix_timer_ true;              # fix for when RTS/CTS not
used
 Mac/802_11 set BeaconInterval_           0.1    ;# 100ms   
 Mac/802_11 set ScanType_    PASSIVE
 Mac/802_11 set ProbeDelay_    0.0001        ;# 0.1 ms
 Mac/802_11 set MaxChannelTime_ 0.011        ;# 11 ms
 Mac/802_11 set MinChannelTime_ 0.005        ;# 5 ms
 Mac/802_11 set ChannelTime_ 0.12        ;# 120 ms

set val(chan)           Channel/WirelessChannel    ;# channel type
set val(prop)           Propagation/TwoRayGround   ;# radio-propagation
model
set val(netif)          Phy/WirelessPhy            ;# network interface type
set val(mac)            Mac/802_11                ;# MAC type
set val(ifq)            Queue/DropTail    ;# interface queue type
set val(ll)             LL                         ;# link layer type
set val(ant)            Antenna/OmniAntenna        ;# antenna model
set val(ifqlen)         500000                         ;# max packet in ifq
set val(rp)        NOAH
#set val(rp)        DSDV
 
set ns_        [new Simulator]
set tracefd     [open $tracename w]
$ns_ trace-all $tracefd
 
set topo       [new Topography]
$topo load_flatgrid 500 500
 
create-god $val(nn)

$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 OFF             
             
for {set i 0} {$i < $val(nn) } {incr i} {
    set node_($i) [$ns_ node]     
    $node_($i) random-motion 0        ;# disable random motion
}

#make a grid topology
for {set i 0} {$i < $val(nn) } {incr i} {
    $node_($i) set X_ 0.0
    $node_($i) set Y_ [expr 50.0*$i]
    $node_($i) set Z_ 0.0
    set i [expr $i + 1]
}
for {set i 1} {$i < $val(nn) } {incr i} {
    $node_($i) set X_ 200.0
    $node_($i) set Y_ [expr 50.0*[expr $i-1]]
    $node_($i) set Z_ 0.0
    set i [expr $i + 1]
}

# setup static routing for line of nodes
for {set i 0} {$i < $val(nn) } {incr i} {
    set cmd "[$node_($i) set ragent_] routing $val(nn)"
    for {set to 0} {$to < $val(nn) } {incr to} {
    if {$to < $i} {
        set hop [expr $i - 1]
    } elseif {$to > $i} {
        set hop [expr $i + 1]
    } else {
        set hop $i
    }
    set cmd "$cmd $to $hop"
    }
    eval $cmd
}

#$udp set class_ 2
set j 0
for {set i 0} {$i < [expr $val(nn)/2] } {incr i} {
    set udp($i) [new Agent/UDP]
    $ns_ attach-agent $node_($j) $udp($i)
    set cbr($i) [new Application/Traffic/CBR]
    $cbr($i) attach-agent $udp($i)
    set j [expr $j + 2]
}

set k 1
for {set i 0} {$i < [expr $val(nn)/2] } {incr i} {
    set sink($i) [new Agent/Null]
    $ns_ attach-agent $node_($k) $sink($i)
    $ns_ connect $udp($i) $sink($i)
    set k [expr $k + 2]
}

for {set i 0} {$i < [expr $val(nn)/2] } {incr i} {
    $ns_ at 1.0 "$cbr($i) start"
}
 
for {set i 0} {$i < $val(nn) } {incr i} {
    $ns_ at 100.0 "$node_($i) reset";
}
$ns_ at 100.0 "stop"
$ns_ at 100.01 "puts \"NS EXITING...\" ; $ns_ halt"
proc stop {} {
    global ns_ tracefd
    $ns_ flush-trace
    close $tracefd
}
 
puts "Starting Simulation..."
$ns_ run

-- 
View this message in context: 
http://www.nabble.com/Strange-values-of-Throughput-in-802.11-tp21952464p21952464.html
Sent from the ns-users mailing list archive at Nabble.com.

Reply via email to