⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example_ssm.tcl

📁 ssm multicast extension for ns-2
💻 TCL
字号:
set ns [new Simulator]$ns multicastset f [open outssm.txt w]$ns trace-all $f$ns namtrace-all [open out.nam w]$ns color 1 red# the nam colors for the prune packets$ns color 30 purple# the nam colors for the graft packets$ns color 31 green# allocate a multicast address;set group [Node allocaddr]# nod is the number of nodesset nod 6# create multicast capable nodes;for {set i 1} {$i <= $nod} {incr i} {   set n($i) [$ns node]}#Create links between the nodes$ns duplex-link $n(1) $n(2) 0.5Mb 10ms DropTail$ns duplex-link $n(2) $n(3) 0.5Mb 10ms DropTail$ns duplex-link $n(2) $n(4) 0.5Mb 10ms DropTail$ns duplex-link $n(4) $n(5) 0.5Mb 10ms DropTail$ns duplex-link $n(5) $n(6) 0.5Mb 10ms DropTail# configure multicast protocol;set mproto SSMMcast# all nodes will contain multicast protocol agents;set mrthandle [$ns mrtproto $mproto]set udp1 [new Agent/UDP]set udp2 [new Agent/UDP]$ns attach-agent $n(1) $udp1$ns attach-agent $n(2) $udp2set src1 [new Application/Traffic/CBR]set ra 1024Kb$udp1 set dst_addr_ $group$src1 set packetSize_ 48$src1 set rate_ $ra$src1 set random_ false$src1 attach-agent $udp1set src2 [new Application/Traffic/CBR]$udp2 set dst_addr_ $group$src2 set packetSize_ 48$src2 set rate_ $ra$src2 set random_ false$src2 attach-agent $udp2# create receiver agentsset rcvr [new Agent/LossMonitor]#$ns at 0.0 "record"# joining and leaving the group;$ns at 1.0 "$n(4) join-group $rcvr $group $n(1)"$ns at 1.0 "$n(4) join-group $rcvr $group $n(2)"$ns at 1.1 "$n(5) join-group $rcvr $group $n(1)"$ns at 1.1 "$n(5) join-group $rcvr $group $n(2)"$ns at 1.2 "$n(6) join-group $rcvr $group $n(1)"$ns at 1.2 "$n(6) join-group $rcvr $group $n(2)"$ns at 4.0 "$n(4) leave-group $rcvr $group $n(1)"$ns at 4.0 "$n(4) leave-group $rcvr $group $n(2)"$ns at 4.0 "$n(5) leave-group $rcvr $group $n(1)"$ns at 4.0 "$n(5) leave-group $rcvr $group $n(2)"$ns at 4.0 "$n(6) leave-group $rcvr $group $n(1)"$ns at 4.0 "$n(6) leave-group $rcvr $group $n(2)"$ns at 0.1 "$src1 start"$ns at 0.1 "$src2 start"puts [$src2 set packetSize_]$ns at 4.5 "finish"proc finish {} {        global ns        $ns flush-trace        exec nam out.nam &        exit 0}$ns run

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -