[ns] Help to understanding results (ad hoc network)
Claudia Medeiros
cldmedeiros at yahoo.com.br
Wed Jun 11 04:36:53 PDT 2008
Hello,
I need help to understanding the following situation:
An ad hoc network with 60 nodes, where nodes 58 and 59 are static and opposite, in the extreme of scenario (right and left). 58 establich a TCP connection with node 59, while the other nodes are moving between them with a speed near 0m/s (almost static too). Time of simulation is 900s and I used 802.11b, 11Mbps bandwidth and range 160m. My objective is calculate throughput and goodput for this TCP connection, including other similar scenarios.
My problem is I have obtained ridiculous 9.8 kbps throughput.... I don't know what is happening, where I made a mistake.... when a execute NAM, I almost can't see any transmission of packets... could someone help me? Thanks!
This is my tcl script:
#
# Scenario: DSR / TCP Vegas / Speed~0m/s
# ======================================================================
# Define options
======================================================================
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) CMUPriQueue ;# 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) 60 ; # number of mobilenodes
set val(rp) DSR ;# routing protocol
set val(x) 1200 ;# X dimension of topography
set val(y) 600 ;# Y dimension of topography
set val(stop) 900 ;# time of simulation end
set val(start) 90.0 ;# Warm-Up
set val(sizePacket) 512 ;# Size of TCP packet
# ======================================================================
#Configuration for Orinoco 802.11b 11Mbps PC card with ->160m range
======================================================================
Phy/WirelessPhy set Pt_ 0.031622777
Phy/WirelessPhy set bandwidth_ 11Mb
Mac/802_11 set dataRate_ 11Mb
Mac/802_11 set basicRate_ 1Mb
Phy/WirelessPhy set freq_ 2.472e9
Phy/WirelessPhy set CPThresh_ 10.0
Phy/WirelessPhy set CSThresh_ 5.011872e-12
Phy/WirelessPhy set L_ 1.0
Phy/WirelessPhy set RXThresh_ 1.15126e-10 ;# 160m range
# ======================================================================
# Main Program
======================================================================
# Initialize Global Variables
#
set ns_ [new Simulator]
set tracefile [open out.tr w]
set namtrace [open out.nam w]
#
$ns_ trace-all $tracefile
$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)
#
# Set up topography object
#
set topo [new Topography]
$topo load_flatgrid $val(x) $val(y)
#
# Create God
#
create-god $val(nn)
#
# 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) \
-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
}
#
# Definicao das coordenadas dos nos estaticos node_(58) e node_(59)
#
$node_(58) set X_ 0.0
$node_(58) set Y_ 300.0
$node_(58) set Z_ 0.0
#
$node_(59) set X_ 1200.0
$node_(59) set Y_ 300.0
$node_(59) set Z_ 0.0
#
# Determinacao das coordenadas iniciais e geracao de movimentos para os mobilenodes;
# Movimentos gerados pelo arquivo "cenario01.ns_movements" do BonnMotion
#
$node_(0) set X_ 645.4216080191918
$node_(0) set Y_ 428.070689547934
$ns_ at 0.0 "$node_(0) setdest 603.9257922320309 463.19848807920835 0.06040874106375987"
$node_(1) set X_ 461.61299382785234
$node_(1) set Y_ 87.60961234119736
$ns_ at 0.0 "$node_(1) setdest 630.2454004729171 83.43237452534665 0.1874268182672204"
$node_(2) set X_ 938.3827292679125
$node_(2) set Y_ 351.56251087879707
$ns_ at 0.0 "$node_(2) setdest 1049.2935339150274 324.38785636363116 0.1268792973388347"
$node_(3) set X_ 982.9292505800605
$node_(3) set Y_ 338.39785979170153
$ns_ at 0.0 "$node_(3) setdest 999.8906130554816 315.4856720708224 0.050332494194253306"
# $ns_ at 566.3761598863803 "$node_(3) setdest 999.8906130554816 315.4856720708224 0.0"
$ns_ at 574.4125503215937 "$node_(3) setdest 956.5256964217511 328.2289095656957 0.13882144040557554"
$node_(4) set X_ 544.5347655908192
$node_(4) set Y_ 52.37626283945815
$ns_ at 0.0 "$node_(4) setdest 540.9057439718757 64.65506185966626 0.01422650557414363"
$node_(5) set X_ 779.536190389103
$node_(5) set Y_ 294.0400543851865
$ns_ at 0.0 "$node_(5) setdest 716.5252033232374 276.22580779855224 0.07275641647885471"
$node_(6) set X_ 1094.6182690985042
$node_(6) set Y_ 79.16706266869028
$ns_ at 0.0 "$node_(6) setdest 1125.493221972362 18.257085960127405 0.3028982236113346"
# $ns_ at 225.44955973245123 "$node_(6) setdest 1125.493221972362 18.257085960127405 0.0"
$ns_ at 276.6770062509354 "$node_(6) setdest 1114.0467896342327 52.84406767981954 0.0584477970092605"
$node_(7) set X_ 552.3094463007853
$node_(7) set Y_ 481.76905560482123
$ns_ at 0.0 "$node_(7) setdest 637.650806452909 460.2113263659335 0.09780229138768215"
$node_(8) set X_ 545.3699032913504
$node_(8) set Y_ 278.69896013317066
$ns_ at 0.0 "$node_(8) setdest 548.9914808798294 278.8709415749941 0.00402850979489154"
$node_(9) set X_ 202.13296606477547
$node_(9) set Y_ 118.04452860135585
$ns_ at 0.0 "$node_(9) setdest 296.19380210268855 163.9182918265926 0.11627894849225508"
$node_(10) set X_ 399.0346945276343
$node_(10) set Y_ 299.09357669118265
$ns_ at 0.0 "$node_(10) setdest 407.02095511369953 232.208864383352 0.07484424236784719"
$node_(11) set X_ 583.8091132037928
$node_(11) set Y_ 366.7144829467578
$ns_ at 0.0 "$node_(11) setdest 573.6115558731672 418.30242909872806 0.3386161008783892"
# $ns_ at 155.29734177588261 "$node_(11) setdest 573.6115558731672 418.30242909872806 0.0"
$ns_ at 155.99663207247568 "$node_(11) setdest 719.0991727953689 431.54915367032277 0.19635587571869115"
$node_(12) set X_ 794.098442447148
$node_(12) set Y_ 197.7608490113242
$ns_ at 0.0 "$node_(12) setdest 646.623417840291 206.06511383267082 0.16412071625023164"
$node_(13) set X_ 945.1814845456936
$node_(13) set Y_ 428.2964232872081
$ns_ at 0.0 "$node_(13) setdest 833.3780468694882 461.02993380363563 0.12944082678276278"
$node_(14) set X_ 437.6781752534898
$node_(14) set Y_ 341.071644877658
$ns_ at 0.0 "$node_(14) setdest 165.07884742955383 402.0555553400628 0.3103749840079914"
$node_(15) set X_ 477.4276584202836
$node_(15) set Y_ 428.4317807944167
$ns_ at 0.0 "$node_(15) setdest 882.0179061767956 353.5528777808003 0.4571788405181596"
$node_(16) set X_ 697.6750935585162
$node_(16) set Y_ 356.280385025563
$ns_ at 0.0 "$node_(16) setdest 733.7514411683766 337.69944926411966 0.04508913025835348"
$node_(17) set X_ 544.621698877487
$node_(17) set Y_ 251.69462644616348
$ns_ at 0.0 "$node_(17) setdest 427.06863509899745 286.2030567188372 0.13612609696910252"
$node_(18) set X_ 527.6213604774135
$node_(18) set Y_ 407.06146815002955
$ns_ at 0.0 "$node_(18) setdest 541.0799806949101 209.84525417988436 0.3653026107049385"
# $ns_ at 541.1264602552355 "$node_(18) setdest 541.0799806949101 209.84525417988436 0.0"
$ns_ at 585.8352903279274 "$node_(18) setdest 529.4387218640975 205.26986425200403 0.03981389692405665"
$node_(19) set X_ 150.98910360792246
$node_(19) set Y_ 177.132984566346
$ns_ at 0.0 "$node_(19) setdest 51.77983193063104 123.19149789253183 0.2119967058048128"
# $ns_ at 532.6756259069934 "$node_(19) setdest 51.77983193063104 123.19149789253183 0.0"
$ns_ at 590.5747107291672 "$node_(19) setdest 190.81948334134398 110.05458197387624 0.45134928040637573"
$node_(20) set X_ 678.9044071809652
$node_(20) set Y_ 327.27166110434797
$ns_ at 0.0 "$node_(20) setdest 604.3209083114127 309.4509427629033 0.08520328853728275"
$node_(21) set X_ 930.61245067235
$node_(21) set Y_ 423.2182177459783
$ns_ at 0.0 "$node_(21) setdest 911.4044925893019 419.02125344339873 0.021845703679011674"
$node_(22) set X_ 539.267052249003
$node_(22) set Y_ 104.62554718655313
$ns_ at 0.0 "$node_(22) setdest 489.566434042867 117.57306453720363 0.35324577624055653"
# $ns_ at 145.39286774375296 "$node_(22) setdest 489.566434042867 117.57306453720363 0.0"
$ns_ at 179.93778364355603 "$node_(22) setdest 232.39567717994578 216.5234565280438 0.3826757086644106"
$node_(23) set X_ 467.10190723290333
$node_(23) set Y_ 498.43702790073644
$ns_ at 0.0 "$node_(23) setdest 533.6723480213192 500.4169577184463 0.07399986410437169"
$node_(24) set X_ 418.44027374179035
$node_(24) set Y_ 153.87805870259103
$ns_ at 0.0 "$node_(24) setdest 703.9946268336414 324.27775491675305 0.3694796892788698"
$node_(25) set X_ 491.74551972531106
$node_(25) set Y_ 505.22052526259
$ns_ at 0.0 "$node_(25) setdest 318.3845432891315 497.21221717265206 0.2857151542160093"
# $ns_ at 607.4086195217988 "$node_(25) setdest 318.3845432891315 497.21221717265206 0.0"
$ns_ at 651.8795137409425 "$node_(25) setdest 320.29803322847783 496.37512400332696 0.008417606234253734"
$node_(26) set X_ 242.70203656129314
$node_(26) set Y_ 266.1356832127853
$ns_ at 0.0 "$node_(26) setdest 568.8755604765352 407.75548381472294 0.3951016990908398"
$node_(27) set X_ 182.79997077627974
$node_(27) set Y_ 503.9006201715908
$ns_ at 0.0 "$node_(27) setdest 181.370967349103 504.2775943889068 0.3734968511502789"
# $ns_ at 3.9569021908655486 "$node_(27) setdest 181.370967349103 504.2775943889068 0.0"
$ns_ at 17.073843220300205 "$node_(27) setdest 177.50042555745546 480.4288556578515 0.34186513899623255"
# $ns_ at 87.74727609007414 "$node_(27) setdest 177.50042555745546 480.4288556578515 0.0"
$ns_ at 120.02652632227591 "$node_(27) setdest 410.23494547773794 399.6539354562001 0.3158482952921938"
$node_(28) set X_ 756.3624567152325
$node_(28) set Y_ 315.88919682071685
$ns_ at 0.0 "$node_(28) setdest 779.9975599696439 298.4236830911482 0.2913883371454339"
# $ns_ at 100.85555184716122 "$node_(28) setdest 779.9975599696439 298.4236830911482 0.0"
$ns_ at 140.93630616656355 "$node_(28) setdest 685.5723289892918 274.1984649493415 0.12842566179832973"
$node_(29) set X_ 1106.7769340602767
$node_(29) set Y_ 19.9463101088013
$ns_ at 0.0 "$node_(29) setdest 1004.5051626607649 22.051414631516305 0.11365937138664314"
$node_(30) set X_ 559.3220177051335
$node_(30) set Y_ 336.7889553686389
$ns_ at 0.0 "$node_(30) setdest 596.5296343598616 318.08197451668843 0.14890927632516018"
# $ns_ at 279.6711090364506 "$node_(30) setdest 596.5296343598616 318.08197451668843 0.0"
$ns_ at 315.2386495396381 "$node_(30) setdest 867.7209159110513 270.20725794761483 0.4709350905106401"
$node_(31) set X_ 318.16021843494417
$node_(31) set Y_ 280.08346138090286
$ns_ at 0.0 "$node_(31) setdest 342.9879183243711 287.7949942983694 0.02888637642357925"
$node_(32) set X_ 890.7516788002438
$node_(32) set Y_ 378.8592572941734
$ns_ at 0.0 "$node_(32) setdest 732.0612204520406 331.86604760256995 0.18389148480168988"
$node_(33) set X_ 638.5887039724527
$node_(33) set Y_ 270.69819357375314
$ns_ at 0.0 "$node_(33) setdest 564.678416134889 283.4747514530093 0.08334052620419419"
$node_(34) set X_ 663.339760475371
$node_(34) set Y_ 280.47344355774396
$ns_ at 0.0 "$node_(34) setdest 680.207666643552 217.58694741254146 0.0723438092424129"
$node_(35) set X_ 910.3619945160527
$node_(35) set Y_ 215.84911252748964
$ns_ at 0.0 "$node_(35) setdest 895.0332690139097 224.92223287815176 0.019791859481872433"
$node_(36) set X_ 897.884790390415
$node_(36) set Y_ 95.57814965046023
$ns_ at 0.0 "$node_(36) setdest 1158.0569486517513 187.19404817779207 0.38967169287095493"
# $ns_ at 707.8561781167018 "$node_(36) setdest 1158.0569486517513 187.19404817779207 0.0"
$ns_ at 757.9513966257064 "$node_(36) setdest 1095.8057616876495 218.72522777723418 0.4912492470006498"
$node_(37) set X_ 238.52061827731765
$node_(37) set Y_ 564.4308589931923
$ns_ at 0.0 "$node_(37) setdest 235.5797364878527 576.3043038508436 0.30164378132142244"
# $ns_ at 40.55190887495428 "$node_(37) setdest 235.5797364878527 576.3043038508436 0.0"
$ns_ at 45.29802709156729 "$node_(37) setdest 146.30978968875422 332.8298131679835 0.3034087147191302"
$node_(38) set X_ 168.96127661217153
$node_(38) set Y_ 269.2066925255733
$ns_ at 0.0 "$node_(38) setdest 181.92201003104773 266.1124793221639 0.01480551974576981"
$node_(39) set X_ 554.9943602998521
$node_(39) set Y_ 292.231165943631
$ns_ at 0.0 "$node_(39) setdest 350.83829607625773 407.11029911744384 0.26028691149166605"
$node_(40) set X_ 605.0608598207849
$node_(40) set Y_ 347.72968724563896
$ns_ at 0.0 "$node_(40) setdest 596.3748880603557 347.81719802184153 0.009651569536463562"
$node_(41) set X_ 1156.738136635017
$node_(41) set Y_ 147.09750360770795
$ns_ at 0.0 "$node_(41) setdest 1155.7397469962757 154.1839455940549 0.09554833550039162"
# $ns_ at 74.89849590337917 "$node_(41) setdest 1155.7397469962757 154.1839455940549 0.0"
$ns_ at 93.75284762214551 "$node_(41) setdest 868.2481023269022 135.04101514336097 0.35736965387033987"
$node_(42) set X_ 329.7685058944405
$node_(42) set Y_ 528.5960714633962
$ns_ at 0.0 "$node_(42) setdest 743.8864509463716 512.7604774110862 0.46046733969920056"
$node_(43) set X_ 194.15006870758816
$node_(43) set Y_ 27.563894053761967
$ns_ at 0.0 "$node_(43) setdest 218.31313699417692 28.94617807924452 0.026891748657599884"
$node_(44) set X_ 611.2409629605431
$node_(44) set Y_ 295.11640317106344
$ns_ at 0.0 "$node_(44) setdest 682.7583562152851 298.4119390168905 0.07954809163050353"
$node_(45) set X_ 380.04975473439436
$node_(45) set Y_ 168.54909310965087
$ns_ at 0.0 "$node_(45) setdest 588.7609279066537 193.04054101624553 0.23349249816775716"
$node_(46) set X_ 603.8384862064709
$node_(46) set Y_ 440.7082094015312
$ns_ at 0.0 "$node_(46) setdest 621.5499089328548 461.526689463928 0.2753061211353528"
# $ns_ at 99.28292168656253 "$node_(46) setdest 621.5499089328548 461.526689463928 0.0"
$ns_ at 105.63029691223755 "$node_(46) setdest 577.1760357620773 419.1750250939691 0.07721956682113855"
$node_(47) set X_ 593.0756901329638
$node_(47) set Y_ 424.504609748254
$ns_ at 0.0 "$node_(47) setdest 421.55847703413343 338.3182490200422 0.21328194741304302"
$node_(48) set X_ 236.7725646235824
$node_(48) set Y_ 168.64714400583085
$ns_ at 0.0 "$node_(48) setdest 181.28482784648946 104.97756834358464 0.09383926234576914"
$node_(49) set X_ 585.7703241660834
$node_(49) set Y_ 272.59230534187157
$ns_ at 0.0 "$node_(49) setdest 593.1518299880695 297.25484404370764 0.028603881360980687"
$node_(50) set X_ 700.3947760377423
$node_(50) set Y_ 439.0152553100095
$ns_ at 0.0 "$node_(50) setdest 289.97384322997675 438.1445687110236 0.456024284849807"
$node_(51) set X_ 663.0280937264271
$node_(51) set Y_ 353.4029268270755
$ns_ at 0.0 "$node_(51) setdest 390.2443688801 491.2929042660933 0.3396159894212574"
$node_(52) set X_ 493.11167307989456
$node_(52) set Y_ 370.23907619881066
$ns_ at 0.0 "$node_(52) setdest 619.4793836487036 255.0729164639667 0.18997089647950555"
$node_(53) set X_ 307.7239566304195
$node_(53) set Y_ 574.6720432531907
$ns_ at 0.0 "$node_(53) setdest 166.40525574612508 583.4872831326035 0.1797912290070338"
# $ns_ at 787.5432810667062 "$node_(53) setdest 166.40525574612508 583.4872831326035 0.0"
$ns_ at 804.8596387598891 "$node_(53) setdest 175.4186237586867 578.4350338936746 0.10860548052188745"
$node_(54) set X_ 620.1387658622803
$node_(54) set Y_ 293.8847665939119
$ns_ at 0.0 "$node_(54) setdest 546.1672993490826 301.3805465205574 0.13285423321720052"
# $ns_ at 559.6380420107698 "$node_(54) setdest 546.1672993490826 301.3805465205574 0.0"
$ns_ at 577.6698167420818 "$node_(54) setdest 439.3745669985451 326.9454652288399 0.34067574655736854"
$node_(55) set X_ 862.5217087427163
$node_(55) set Y_ 188.56563901648013
$ns_ at 0.0 "$node_(55) setdest 516.6643258220539 229.458687842947 0.3869628028875445"
$node_(56) set X_ 372.0708651434834
$node_(56) set Y_ 109.07121910774575
$ns_ at 0.0 "$node_(56) setdest 357.4720475917704 89.32283355594605 0.1306463933036725"
# $ns_ at 187.9775368473356 "$node_(56) setdest 357.4720475917704 89.32283355594605 0.0"
$ns_ at 242.34565011253835 "$node_(56) setdest 256.40880108531996 90.65692263443222 0.1536856731594678"
$node_(57) set X_ 781.2605065329316
$node_(57) set Y_ 288.67163263053635
$ns_ at 0.0 "$node_(57) setdest 797.3622960573798 266.38095562006447 0.030553371790142572"
#
# Establishing TCP connection between node_(58) and node_(59)
#
set tcp [new Agent/TCP/Vegas]
set sink [new Agent/TCPSink]
$ns_ attach-agent $node_(58) $tcp
$ns_ attach-agent $node_(59) $sink
$ns_ connect $tcp $sink
$tcp set packetSize_ $val(sizePacket)
#
set ftp [new Application/FTP]
$ftp attach-agent $tcp
#
$ns_ at $val(start) "$ftp start"
#
# Define node initial position in NAM
#
for {set i 0} {$i < $val(nn)} {incr i} {
$ns_ initial_node_pos $node_($i) 30
}
#
# Telling nodes when the simulation ends
#
for {set i 0} {$i < $val(nn) } {incr i} {
$ns_ at $val(stop) "$node_($i) reset";
}
#
# Ending NAM and the Simulation
#
$ns_ at $val(stop) "$ns_ nam-end-wireless $val(stop)"
$ns_ at $val(stop) "stop"
$ns_ at 900.01 "puts \"End Simulation\"; $ns_ halt";
#
proc stop {} {
global ns_ tracefile namtrace tcp
$ns_ flush-trace
close $tracefile
close $namtrace
#Calculate throughput e goodput:
set f0 [$tcp set ndatapack_ ] ;# number of data packets sent
set f1 [$tcp set nrexmitpack_ ] ;# retransmited packets
set totalThrou [expr $f0*512*8/(900-90)]
set totalGood [expr ($f0-$f1)*512*8/(900-90)]
puts "\"Throughput:\" $totalThrou \"bps\""
puts "\"Goodput:\" $totalGood \"bps\""
exit 0
}
$ns_ run
---------------------------------
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!
More information about the Ns-users
mailing list