📄 antnet.tcl
字号:
# tcl script for AntNet algorithm on an arbitrary topology of 12 nodes#number of nodesset sz 12#Create event Schedularset ns [ new Simulator ]#Open the Trace fileset tf [open antnet_trace.out w]$ns trace-all $tf#Create 12 nodesfor {set i 0} {$i < $sz} {incr i} { set n($i) [$ns node]}#Create links between the nodes$ns duplex-link $n(0) $n(5) 512Mb 155ms DropTail$ns duplex-link $n(1) $n(2) 512Mb 155ms DropTail$ns duplex-link $n(2) $n(3) 512Mb 155ms DropTail$ns duplex-link $n(2) $n(5) 512Mb 155ms DropTail$ns duplex-link $n(2) $n(7) 512Mb 155ms DropTail$ns duplex-link $n(3) $n(6) 512Mb 155ms DropTail$ns duplex-link $n(3) $n(7) 512Mb 155ms DropTail$ns duplex-link $n(4) $n(5) 512Mb 155ms DropTail$ns duplex-link $n(5) $n(6) 512Mb 155ms DropTail$ns duplex-link $n(5) $n(8) 512Mb 155ms DropTail$ns duplex-link $n(5) $n(9) 512Mb 155ms DropTail$ns duplex-link $n(6) $n(7) 512Mb 155ms DropTail$ns duplex-link $n(6) $n(9) 512Mb 155ms DropTail$ns duplex-link $n(6) $n(10) 512Mb 155ms DropTail$ns duplex-link $n(7) $n(11) 512Mb 155ms DropTail$ns duplex-link $n(9) $n(10) 512Mb 155ms DropTail$ns duplex-link $n(10) $n(11) 512Mb 155ms DropTail#Create Antnet agentsfor {set i 0} {$i < $sz} {incr i} { set nn($i) [ new Agent/Antnet $i]}#Attach each node with Antnet agentfor {set i 0} {$i < $sz} {incr i} { $ns attach-agent $n($i) $nn($i)}#Create connection between the nodes$ns connect $nn(0) $nn(5)$ns connect $nn(5) $nn(0)$ns connect $nn(1) $nn(2)$ns connect $nn(2) $nn(1)$ns connect $nn(2) $nn(3)$ns connect $nn(3) $nn(2)$ns connect $nn(2) $nn(5)$ns connect $nn(5) $nn(2)$ns connect $nn(2) $nn(7)$ns connect $nn(7) $nn(2)$ns connect $nn(3) $nn(6)$ns connect $nn(6) $nn(3)$ns connect $nn(3) $nn(7)$ns connect $nn(7) $nn(3)$ns connect $nn(4) $nn(5)$ns connect $nn(5) $nn(4)$ns connect $nn(5) $nn(6)$ns connect $nn(6) $nn(5)$ns connect $nn(5) $nn(8)$ns connect $nn(8) $nn(5)$ns connect $nn(5) $nn(9)$ns connect $nn(9) $nn(5)$ns connect $nn(6) $nn(7)$ns connect $nn(7) $nn(6)$ns connect $nn(6) $nn(9)$ns connect $nn(9) $nn(6)$ns connect $nn(6) $nn(10)$ns connect $nn(10) $nn(6)$ns connect $nn(7) $nn(11)$ns connect $nn(11) $nn(7)$ns connect $nn(9) $nn(10)$ns connect $nn(10) $nn(9)$ns connect $nn(10) $nn(11)$ns connect $nn(11) $nn(10)#Add neighbors$ns at now "$nn(0) add-neighbor $n(0) $n(5)"$ns at now "$nn(0) add-neighbor $n(1) $n(2)"$ns at now "$nn(0) add-neighbor $n(2) $n(3)"$ns at now "$nn(0) add-neighbor $n(2) $n(5)"$ns at now "$nn(0) add-neighbor $n(2) $n(7)"$ns at now "$nn(0) add-neighbor $n(3) $n(6)"$ns at now "$nn(0) add-neighbor $n(3) $n(7)"$ns at now "$nn(0) add-neighbor $n(4) $n(5)"$ns at now "$nn(0) add-neighbor $n(5) $n(6)"$ns at now "$nn(0) add-neighbor $n(5) $n(8)"$ns at now "$nn(0) add-neighbor $n(5) $n(9)"$ns at now "$nn(0) add-neighbor $n(6) $n(7)"$ns at now "$nn(0) add-neighbor $n(6) $n(9)"$ns at now "$nn(0) add-neighbor $n(6) $n(10)"$ns at now "$nn(0) add-neighbor $n(7) $n(11)"$ns at now "$nn(0) add-neighbor $n(9) $n(10)"$ns at now "$nn(0) add-neighbor $n(10) $n(11)"# Set parameters and start timefor {set i 0} {$i < $sz} {incr i} { $nn($i) set num_nodes_ $sz $nn($i) set timer_ant_ 0.03 $nn($i) set r_factor_ 0.05 $ns at 1.0 "$nn($i) start"}#Set stop time for AntNet algorithmfor {set i 0} {$i < $sz} {incr i} { $ns at 10.8 "$nn($i) stop"}#Print routing tables generated by AntNetfor {set i 0} {$i < $sz} {incr i} { $ns at 12.0 "$nn($i) print_rtable"}# Final Wrap upproc Finish {} { global ns tf $ns flush-trace #Close the Trace file close $tf}$ns at 14.0 "Finish"# Start the simulator$ns run
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -