set ns [new Simulator]
$ns color 1 Blue
$ns color 2 Green
$ns color 3 Red
$ns color 4 Yellow
set f0 [open out0.tr w]
set f2 [open out2.tr w]
set f3 [open out3.tr w]
set nf [open out. nam w]
$ns namtrace-all $nf
set f [open out. tr w]
$ns trace-all $f
proc record {} {
global sink0 sink2 sink3 f0 f2 f3
set ns [Simulator instance]
set time 0.2
set bw0 [$sink0 set nlost_]
set bw2 [$sink2 set nlost_]
set bw3 [$sink3 set nlost_]
set now [$ns now]
puts $f0 "$now $bw0"
puts $f2 "$now $bw2"
puts $f3 "$now $bw3"
$sink0 set nlost_ 0
$sink2 set nlost_ 0
$sink3 set nlost_ 0
$ns at [expr $now+$time] "record"
}
proc finish {} {
global ns f0 f2 f3 nf
$ns flush-trace
close $f0
close $f2
close $f3
close $nf
exec xgraph out0.tr out2.tr out3.tr - geometry 800x400 - lw 3 - t "Loss packet" - x "Time" - y "Loss"
exit 0
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
set n6 [$ns node]
set n7 [$ns node]
set n8 [$ns node]
set n9 [$ns node]
set n10 [$ns node]
set n11 [$ns node]
set n12 [$ns node]
set n13 [$ns node]
set n14 [$ns node]
set n15 [$ns node]
set n16 [$ns node]
set n17 [$ns node]
set n18 [$ns node]
$ns duplex-link $n0 $n1 2Mb 10ms DropTail
$ns duplex-link $n1 $n2 2Mb 10ms DropTail
$ns duplex-link $n2 $n3 2Mb 10ms DropTail
$ns duplex-link $n3 $n0 2Mb 10ms DropTail
$ns duplex-link $n0 $n4 2Mb 10ms DropTail
$ns duplex-link $n0 $n5 2Mb 10ms DropTail
$ns duplex-link $n0 $n6 2Mb 10ms DropTail
$ns duplex-link $n0 $n7 2Mb 10ms DropTail
$ns duplex-link $n1 $n8 2Mb 10ms DropTail
$ns duplex-link $n1 $n9 2Mb 10ms DropTail
$ns duplex-link $n1 $n10 2Mb 10ms DropTail
$ns duplex-link $n2 $n11 2Mb 10ms DropTail
$ns duplex-link $n2 $n12 2Mb 10ms DropTail
$ns duplex-link $n2 $n13 2Mb 10ms DropTail
$ns duplex-link $n3 $n14 2Mb 10ms DropTail
$ns duplex-link $n3 $n15 2Mb 10ms DropTail
$ns duplex-link $n3 $n16 2Mb 10ms DropTail
$ns duplex-link $n3 $n17 2Mb 10ms DropTail
$ns duplex-link $n3 $n18 2Mb 10ms DropTail
$ns queue-limit $n0 $n1 10
$ns queue-limit $n1 $n2 10
$ns queue-limit $n2 $n3 10
$ns queue-limit $n3 $n0 10
$ns queue-limit $n0 $n4 10
$ns queue-limit $n0 $n5 10
$ns queue-limit $n0 $n6 10
$ns queue-limit $n0 $n7 10
$ns queue-limit $n1 $n8 10
$ns queue-limit $n1 $n9 10
$ns queue-limit $n1 $n10 10
$ns queue-limit $n2 $n11 10
$ns queue-limit $n2 $n12 10
$ns queue-limit $n2 $n13 10
$ns queue-limit $n3 $n14 10
$ns queue-limit $n3 $n15 10
$ns queue-limit $n3 $n16 10
$ns queue-limit $n3 $n17 10
$ns queue-limit $n3 $n18 10
$ns duplex-link-op $n0 $n1 orient right
$ns duplex-link-op $n1 $n2 orient down
$ns duplex-link-op $n2 $n3 orient left
$ns duplex-link-op $n3 $n0 orient up
$ns duplex-link-op $n0 $n4 orient left
$ns duplex-link-op $n0 $n5 orient left-up
$ns duplex-link-op $n0 $n6 orient up
$ns duplex-link-op $n0 $n7 orient right-up
$ns duplex-link-op $n1 $n8 orient up
$ns duplex-link-op $n1 $n9 orient right-up
$ns duplex-link-op $n1 $n10 orient right
$ns duplex-link-op $n2 $n11 orient right
$ns duplex-link-op $n2 $n12 orient right-down
$ns duplex-link-op $n2 $n13 orient down
$ns duplex-link-op $n3 $n14 orient right-down
$ns duplex-link-op $n3 $n15 orient down
$ns duplex-link-op $n3 $n16 orient left-down
$ns duplex-link-op $n3 $n17 orient left
$ns duplex-link-op $n3 $n18 orient left-up
$ns duplex-link-op $n0 $n1 queuePos 0.5
$ns duplex-link-op $n1 $n2 queuePos 0.5
$ns duplex-link-op $n2 $n3 queuePos 0.5
$ns duplex-link-op $n3 $n0 queuePos 0.5
$ns duplex-link-op $n0 $n4 queuePos 0.5
$ns duplex-link-op $n0 $n5 queuePos 0.5
$ns duplex-link-op $n0 $n6 queuePos 0.5
$ns duplex-link-op $n0 $n7 queuePos 0.5
$ns duplex-link-op $n1 $n8 queuePos 0.5
$ns duplex-link-op $n1 $n9 queuePos 0.5
$ns duplex-link-op $n1 $n10 queuePos 0.5
$ns duplex-link-op $n2 $n11 queuePos 0.5
$ns duplex-link-op $n2 $n12 queuePos 0.5
$ns duplex-link-op $n2 $n13 queuePos 0.5
$ns duplex-link-op $n3 $n14 queuePos 0.5
$ns duplex-link-op $n3 $n15 queuePos 0.5
$ns duplex-link-op $n3 $n16 queuePos 0.5
$ns duplex-link-op $n3 $n17 queuePos 0.5
$ns duplex-link-op $n3 $n18 queuePos 0.5
set udp01 [new Agent/UDP]
$ns attach-agent $n0 $udp01
set null01 [new Agent/Null]
$ns attach-agent $n0 $null01
set udp10 [new Agent/UDP]
$ns attach-agent $n1 $udp10
set null10 [new Agent/Null]
$ns attach-agent $n1 $null10
set udp12 [new Agent/UDP]
$ns attach-agent $n1 $udp12
set null12 [new Agent/Null]
$ns attach-agent $n1 $null12
set udp21 [new Agent/UDP]
$ns attach-agent $n2 $udp21
set null21 [new Agent/Null]
$ns attach-agent $n2 $null21
set udp23 [new Agent/UDP]
$ns attach-agent $n2 $udp23
set null23 [new Agent/Null]
$ns attach-agent $n2 $null23
set udp32 [new Agent/UDP]
$ns attach-agent $n3 $udp32
set null32 [new Agent/Null]
$ns attach-agent $n3 $null32
set udp30 [new Agent/UDP]
$ns attach-agent $n3 $udp30
set null30 [new Agent/Null]
$ns attach-agent $n3 $null30
set udp03 [new Agent/UDP]
$ns attach-agent $n0 $udp03
set null03 [new Agent/Null]
$ns attach-agent $n0 $null03
set udp04 [new Agent/UDP]
$ns attach-agent $n0 $udp04
set null04 [new Agent/Null]
$ns attach-agent $n0 $null04
set udp40 [new Agent/UDP]
$ns attach-agent $n4 $udp40
set null40 [new Agent/Null]
$ns attach-agent $n4 $null40
set udp05 [new Agent/UDP]
$ns attach-agent $n0 $udp05
set null05 [new Agent/Null]
$ns attach-agent $n0 $null05
set udp50 [new Agent/UDP]
$ns attach-agent $n5 $udp50
set null50 [new Agent/Null]
$ns attach-agent $n5 $null50
set udp06 [new Agent/UDP]
$ns attach-agent $n0 $udp06
set null06 [new Agent/Null]
$ns attach-agent $n0 $null06
set udp60 [new Agent/UDP]
$ns attach-agent $n6 $udp60
set null60 [new Agent/Null]
$ns attach-agent $n6 $null60
set udp07 [new Agent/UDP]
$ns attach-agent $n0 $udp07
set null07 [new Agent/Null]
$ns attach-agent $n0 $null07
set udp70 [new Agent/UDP]
$ns attach-agent $n7 $udp70
set null70 [new Agent/Null]
$ns attach-agent $n7 $null70
set udp18 [new Agent/UDP]
$ns attach-agent $n1 $udp18
set null18 [new Agent/Null]
$ns attach-agent $n1 $null18
set udp81 [new Agent/UDP]
$ns attach-agent $n8 $udp81
set null81 [new Agent/Null]
$ns attach-agent $n8 $null81
set udp19 [new Agent/UDP]
$ns attach-agent $n1 $udp19
set null19 [new Agent/Null]
$ns attach-agent $n1 $null19
set udp91 [new Agent/UDP]
$ns attach-agent $n9 $udp91
set null91 [new Agent/Null]
$ns attach-agent $n9 $null91
set udp110 [new Agent/UDP]
$ns attach-agent $n1 $udp110
set null110 [new Agent/Null]
$ns attach-agent $n1 $null110
set udp101 [new Agent/UDP]
$ns attach-agent $n10 $udp101
set null101 [new Agent/Null]
$ns attach-agent $n10 $null101
set udp211 [new Agent/UDP]
$ns attach-agent $n2 $udp211
set null211 [new Agent/Null]
$ns attach-agent $n2 $null211
set udp112 [new Agent/UDP]
$ns attach-agent $n11 $udp112
set null112 [new Agent/Null]
$ns attach-agent $n11 $null112
set udp212 [new Agent/UDP]
$ns attach-agent $n2 $udp212
set null212 [new Agent/Null]
$ns attach-agent $n2 $null212
set udp122 [new Agent/UDP]
$ns attach-agent $n12 $udp122
set null122 [new Agent/Null]
$ns attach-agent $n12 $null122
set udp213 [new Agent/UDP]
$ns attach-agent $n2 $udp213
set null213 [new Agent/Null]
$ns attach-agent $n2 $null213
set udp132 [new Agent/UDP]
$ns attach-agent $n13 $udp132
set null132 [new Agent/Null]
$ns attach-agent $n13 $null132
set udp314 [new Agent/UDP]
$ns attach-agent $n3 $udp314
set null314 [new Agent/Null]
$ns attach-agent $n3 $null314
set udp143 [new Agent/UDP]
$ns attach-agent $n14 $udp143
set null143 [new Agent/Null]
$ns attach-agent $n14 $null143
set udp315 [new Agent/UDP]
$ns attach-agent $n3 $udp315
set null315 [new Agent/Null]
$ns attach-agent $n3 $null315
set udp153 [new Agent/UDP]
$ns attach-agent $n15 $udp153
set null153 [new Agent/Null]
$ns attach-agent $n15 $null153
set udp316 [new Agent/UDP]
$ns attach-agent $n3 $udp316
set null316 [new Agent/Null]
$ns attach-agent $n3 $null316
set udp163 [new Agent/UDP]
$ns attach-agent $n16 $udp163
set null163 [new Agent/Null]
$ns attach-agent $n16 $null163
set udp317 [new Agent/UDP]
$ns attach-agent $n3 $udp317
set null317 [new Agent/Null]
$ns attach-agent $n3 $null317
set udp1733 [new Agent/UDP]
$ns attach-agent $n17 $udp173
set null173 [new Agent/Null]
$ns attach-agent $n17 $null173
set udp318 [new Agent/UDP]
$ns attach-agent $n3 $udp318
set null318 [new Agent/Null]
$ns attach-agent $n3 $null318
set udp183 [new Agent/UDP]
$ns attach-agent $n18 $udp183
set null183 [new Agent/Null]
$ns attach-agent $n18 $null183
$ns connect $udp01 $null10
$udp01 set fid_ 2
$ns connect $udp10 $null01
$udp01 set fid_ 2
$ns connect $udp12 $null21
$udp01 set fid_ 2
$ns connect $udp21 $null12
$udp01 set fid_ 2
$ns connect $udp23 $null32
$udp01 set fid_ 2
$ns connect $udp32 $null23
$udp01 set fid_ 2
$ns connect $udp30 $null03
$udp01 set fid_ 2
$ns connect $udp03 $null30
$udp01 set fid_ 2
$ns connect $udp04 $null40
$udp01 set fid_ 2
$ns connect $udp40 $null04
$udp01 set fid_ 2
$ns connect $udp05 $null50
$udp01 set fid_ 2
$ns connect $udp50 $null05
$udp01 set fid_ 2
$ns connect $udp06 $null60
$udp01 set fid_ 2
$ns connect $udp60 $null06
$udp01 set fid_ 2
$ns connect $udp07 $null70
$udp01 set fid_ 2
$ns connect $udp70 $null07
$udp01 set fid_ 2
$ns connect $udp18 $null81
$udp01 set fid_ 2
$ns connect $udp81 $null18
$udp01 set fid_ 2
$ns connect $udp19 $null91
$udp01 set fid_ 2
$ns connect $udp91 $null19
$udp01 set fid_ 2
$ns connect $udp110 $null101
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 |


