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.
