NSÍøÂçÄ£ÄâºÍЭÒé·ÂÕæÔ´´úÂë

}

exit 0

#·ÂÕæ½áÊøÊ±µ÷ÓýáÊø½ø³Ì $ns at $val(stop) \

$ns at $val(stop) \

puts \

# run the simulation $ns run

Àý3

#ÓÐÏßÎÞÏßÍøÂç»ìºÏÄ£Äâ

#ÎÞÏß½Úµã²ÎÊý

set val(chan) Channel/WirelessChannel ;# channel type ÐŵÀÀàÐÍ£ºÎÞÏßÐŵÀ set val(prop) Propagation/TwoRayGround ;# radio-propagation model ÐŵÀÄ£ÐÍ£ºTwoRayGround

set val(netif) Phy/WirelessPhy ;# network interface type ÎÞÏßÎïÀí²ã set val(mac) Mac/802_11 ;# MAC type MAC²ãЭÒé 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(rp) DSDV ;#·ÓÉЭÒé set val(nn) 4 ;#½ÚµãÊýÄ¿ set val(x) 600 ; set val(y) 600 ; set val(stop) 10.0

# ½¨Á¢Ò»¸ösimulatorʵÀý set ns [new Simulator]

#É趨·Ö²ã·ÓɵØÖ·

$ns node-config -addressType hierarchical AddrParams set domain_num_ 2 lappend cluster_num 1 1

AddrParams set cluster_num_ $cluster_num

;# 2¸öÍøÂç ;# ÿ¸öÍøÂçÒ»¸ö×ÓÍø

;# time of simulation end

lappend eilastlevel 1 3 ;# 2¸ö×ÓÍøµÄ½ÚµãÊýĿΪ1ºÍ3 AddrParams set nodes_num_ $eilastlevel

puts \

#$ns use-newtrace

#ÉèÖÃtrace

set tracefd [open wired_wireless2.tr w] set namtrace [open wired_wireless2.nam w] $ns trace-all $tracefd

$ns namtrace-all-wireless $namtrace $val(x) $val(y)

#½¨Á¢topology¶ÔÏó

set topo [new Topography]

$topo load_flatgrid $val(x) $val(y)

#´´½¨god

create-god $val(nn)

set sinkNode [$ns node 0.0.0] $sinkNode set X_ 500 $sinkNode set Y_ 300 $sinkNode set Z_ 0

$ns initial_node_pos $sinkNode 60

set chan_1_ [new $val(chan)]

#ÎÞÏß½ÚµãÅäÖÃ

$ns node-config -wiredRouting ON \\ -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 #н¨BS½Úµã

set bs(0) [$ns node 1.0.0] $bs(0) random-motion 0 #½Úµã±êÇ©Óë³õʼλÖÃÉ趨 $bs(0) set X_ 200.0 $bs(0) set Y_ 300.0 $bs(0) set Z_ 0.0

$ns initial_node_pos $bs(0) 60

#¶¨Òå½Úµã¼äµÄÁ´Â·

$ns duplex-link $sinkNode $bs(0) 10Mb 1ms DropTail

$ns duplex-link-op $sinkNode $bs(0) orient left

#¶¨ÒåÁ´Â·µÄ¶ÓÁ㤶È

#$ns queue-limit $bs(0) $sinkNode 10

#¼àÊÓÁ´Â·µÄ¶ÓÁÐ

#$ns duplex-link-op $bs(0) $sinkNode queuePos 0.5

$ns node-config -wiredRouting OFF \\ -macType Mac/802_11

#н¨SS½Úµã

set ss(0) [$ns node 1.0.1]

$ss(0) base-station [AddrParams addr2id [$bs(0) node-addr]] $ss(0) set X_ 50.0 $ss(0) set Y_ 450.0 $ss(0) set Z_ 0.0

$ns initial_node_pos $ss(0) 60

set ss(1) [$ns node 1.0.2]

$ss(1) base-station [AddrParams addr2id [$bs(0) node-addr]] $ss(1) set X_ 50.0 $ss(1) set Y_ 150.0 $ss(1) set Z_ 0.0

$ns initial_node_pos $ss(1) 60

set udp0 [new Agent/UDP] $ns attach-agent $ss(0) $udp0

set null0 [new Agent/Null] $ns attach-agent $sinkNode $null0 $ns connect $udp0 $null0

set ugs0 [new Application/Traffic/UGS] $ugs0 attach-agent $udp0

set udp1 [new Agent/UDP]

$ns attach-agent $sinkNode $udp1 set null1 [new Agent/Null] $ns attach-agent $ss(1) $null1 $ns connect $udp1 $null1

set ugs1 [new Application/Traffic/UGS] $ugs1 attach-agent $udp1

$ns at 0.5 \$ns at 1.0 \$ns at 9.0 \$ns at 9.5 \

proc finish {} {

global ns tracefd namtrace $ns flush-trace close $tracefd close $namtrace }

#ʼþ°²ÅÅ

$ns at $val(stop) \

$ns at $val(stop) \

puts \

# run the simulation $ns run

exit 0

µÚ10ÕÂ

delay.awk

BEGIN { } { } END {

k=0;

total_delay=0; avg_delay=0; id=1; event = $1; time = $2; node = $3;

len = length(node); if(len == 3) { }

if(len==3) { }

if(highest_uid < uid)

highest_uid = uid;

if(event==\

start_time[uid] = time; node_ = substr(node,2,1); trace_type = $4; flag = $5; uid = $6; pkt_type = $7; pkt_size = $8; from_node = $3; to_node =$4; pkt_type = $5; pkt_size = $6; flag = $7; uid = $12; highest_uid=0;

} else {

} else {

if(event==\

end_time[uid] = time;

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@) ËÕICP±¸20003344ºÅ-4