1 / 13

Multicast in ns-2

Multicast in ns-2. 報告者 : 陳沐恩. Multicast 簡介. Multicast Routing. set ns [new Simulator] $ns multicast Or set ns [new Simulator – multicast on] set mproto <type> <type>: CtrMcast, DM, ST, BST. Multicast Routing. all nodes will contain multicast protocol agents

senta
Download Presentation

Multicast in ns-2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multicast in ns-2 報告者:陳沐恩

  2. Multicast 簡介

  3. Multicast Routing • set ns [new Simulator] $ns multicast Or set ns [new Simulator –multicast on] • set mproto <type> <type>:CtrMcast, DM, ST, BST

  4. Multicast Routing • all nodes will contain multicast protocol agents • set mrthandle [$ns mrtproto $mproto] • allocating a multicast address • set group [Node allocaddr] • define an agent and as a multicast source for the group • $udp1 set dst_addr_ $group • $udp1 set dst_port_ 0

  5. Multicast Routing • create a receiver agent • set rcvr [new Agent/LossMonitor] • specify which nodes join the group and when they want to join the group • $ns at 0.0 "$n1 join-group $rcvr $group" • make a node leave the group at a time • $ns at 1.6 "$n2 leave-group $rcvr $group"

  6. Multicast:Step1 • Scheduler , tracing , and topology # Create scheduler set ns [new Simulator] # Turn on multicast $ns multicast # Turn on Tracing set fd [new “mcast.nam” w] $ns namtrace-all $fd

  7. Multicast:Step2 • Topology # Create nodes set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] # Create links $ns duplex-link $n0 $n1 1.5Mb 10ms DropTail $ns duplex-link $n0 $n2 1.5Mb 10ms DropTail $ns duplex-link $n0 $n3 1.5Mb 10ms DropTail

  8. Multicast:Step3 • Routing and group setup # Routing protocol: let’s run distance vector set mproto DM # Allocate group addresses set group1 [Node allocaddr] set group2 [Node allocaddr]

  9. Multicast:Step4 • Sender0 # Transport agent for the traffic source set udp0 [new Agent/UDP] $ns attach-agent $n1 $udp0 $udp0 set dst_addr_ $group1 $udp0 set dst_port_ 0 # Constant Bit Rate source #0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 # Start at time 1.0 second $ns at 1.0 "$cbr0 start"

  10. Multicast:Step5 • Sender1 # Transport agent for the traffic source set udp1 [new Agent/UDP] $ns attach-agent $n3 $udp1 $udp1 set dst_addr_ $group2 $udp1 set dst_port_ 0 # Constant Bit Rate source #0 set cbr1 [new Application/Traffic/CBR] $cbr1 attach-agent $udp1 # Start at time 1.1 second $ns at 1.1 "$cbr1 start"

  11. Multicast:Step6 • Receiver with dynamic membership # Can also be Agent/Null set rcvr [new Agent/LossMonitor] # Assign it to node $n2 $ns at 1.2 "$n2 join-group $rcvr $group2" $ns at 1.25 "$n2 leave-group $rcvr $group2" $ns at 1.3 "$n2 join-group $rcvr $group2" $ns at 1.35 "$n2 join-group $rcvr $group1"

  12. Multicast:Step7 • End-of-simulation wrapper (as usual) $ns at 2.0 "finish" proc finish {} { global ns fd close $fd $ns flush-trace puts "running nam..." exec nam out.nam & exit 0 } $ns run

  13. 抽考題目 • 使用DM這個multicast protocol,讓所有node包含multicast protocol agent,並建立一個multicast的group,定義一個udp的agent給group當作multicast的來源端。 • 提供tcl,請依要求補上缺少的code(5行)

More Related