📄 rmcc-2.tcl
字号:
# rmcc-2.tcl# Competing with TCP scenario # RM sender # topology: 2 o o 5 RM recv1# \ 0 1 /# TCP send1 3 o--o-------o--o 6 RM rec 2# / |\# TCP send2 4 o | o 7 TCP recv 1# o 8 TCP recv 2# TCP sender 1 starts to send at t=0sec# SRM sender starts to send at t=10s# tcp sender 2 starts to send at t=20s# BW of link 0-1 = 1 Mbps and delay is 20ms . For rest of the # topology BW = 10Mbps and delay of 5ms.# flowmonitors compare thruput of TCP and rm flows in links 1-5, 1-6,# 1-7 and 1-8.## usage: ns rmcc-2.tcl#source rmcc.tclScenLib/RM instproc make_topo2 { time } { global ns n t opts $self make_nodes 9 #color them $n(0) color "red" $n(1) color "red" $n(2) color "orchid" $n(5) color "orchid" $n(6) color "orchid" $n(3) color "green" $n(4) color "green" $n(7) color "green" $n(8) color "green" #now setup topology # First the bottle-neck link $ns duplex-link $n(0) $n(1) $opts(bottleneckBW) \ $opts(bottleneckDelay) DropTail $ns duplex-link-op $n(0) $n(1) queuePos 0.5 $ns duplex-link $n(0) $n(2) 10Mb 10ms DropTail $ns duplex-link $n(0) $n(3) 10Mb 10ms DropTail $ns duplex-link $n(0) $n(4) 10Mb 10ms DropTail $ns duplex-link $n(1) $n(5) 10Mb 10ms DropTail $ns duplex-link $n(1) $n(6) 10Mb 10ms DropTail $ns duplex-link $n(1) $n(7) 10Mb 10ms DropTail $ns duplex-link $n(1) $n(8) 10Mb 10ms DropTail $ns duplex-link-op $n(0) $n(1) orient right $ns duplex-link-op $n(0) $n(2) orient left-up $ns duplex-link-op $n(0) $n(3) orient left $ns duplex-link-op $n(0) $n(4) orient left-down $ns duplex-link-op $n(1) $n(5) orient rightup $ns duplex-link-op $n(1) $n(6) orient right $ns duplex-link-op $n(1) $n(7) orient right-down $ns duplex-link-op $n(1) $n(8) orient down $ns queue-limit $n(0) $n(1) $opts(bottleneckQSize) $ns queue-limit $n(1) $n(0) $opts(bottleneckQSize) $self make_flowmon $time $n(1) $n(5) flowStats_1_5.$t \ $n(1) $n(6) flowStats_1_6.$t \ $n(1) $n(7) flowStats_1_7.$t \ $n(1) $n(8) flowStats_1_8.$t}proc main {} { global ns n set test_scen [new ScenLib/RM] $test_scen make_topo2 1.0 $test_scen create_mcast 2 8.3 9.0 10.0 5 6 $test_scen create_tcp 3 7 0.0 $test_scen create_tcp 4 8 20.0 $test_scen dump_flowmon $n(1) $n(7) 10.0 $test_scen dump_flowmon $n(1) $n(5) 20.0 $test_scen dump_flowmon $n(1) $n(7) 20.0 $test_scen dump_flowmon $n(1) $n(5) 30.0 $test_scen dump_flowmon $n(1) $n(6) 30.0 $test_scen dump_flowmon $n(1) $n(7) 30.0 $test_scen dump_flowmon $n(1) $n(8) 30.0 $ns at 30.0 "finish" $ns run}global argv prog opts t mflagset mflag 0if [string match {*.tcl} $argv0] { set prog [string range $argv0 0 [expr [string length $argv0] - 5]]} else { set prog $argv0}process_args $argvset t $progmain
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -