Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Exemplo dado em aula pelo professor.
- #A documentação do ns2 possui uma boa explicação sobre cada uma das funções utiliza
- #das aqui. Comando:
- # $ man ns
- # Inicializa Flags
- set run_nam 0
- #Create a simulator object
- set ns [new Simulator]
- #Define different colors for data flows
- $ns color 1 Blue
- $ns color 2 Red
- # ALTERADO #1
- #Open the nam trace file
- #set nf [open out-ex2.nam w]
- #$ns namtrace-all $nf
- # PARA #1
- #Cria arquivos de saida
- set f [open out.tr w]
- $ns trace-all $f
- set nf [open out.nam w]
- $ns namtrace-all $nf
- # END #1
- # ALTERADO #2
- #Define a ’finish’ procedure
- #proc finish {} {
- # global ns nf
- # $ns flush-trace
- # #Close the trace file
- # close $nf
- # #Execute nam on the trace file
- # exit 0
- #}
- # PARA #2
- #Procedimento de finalizacao
- proc finish {} {
- global ns nf f run_nam
- $ns flush-trace
- close $nf
- close $f
- if {$run_nam} {
- puts "running nam..."
- exec nam out.nam
- }
- exit 0
- }
- # END #2
- #Create four nodes
- set n0 [$ns node]
- set n1 [$ns node]
- set n2 [$ns node]
- set n3 [$ns node]
- #Create links between the nodes
- $ns duplex-link $n0 $n2 1Mb 10ms DropTail
- $ns duplex-link $n1 $n2 1Mb 10ms DropTail
- $ns duplex-link $n3 $n2 1Mb 10ms SFQ
- #'op' define uma operacao para o link, que no caso é uma definição de
- #posicionamento dele.
- $ns duplex-link-op $n0 $n2 orient right-down
- $ns duplex-link-op $n1 $n2 orient right-up
- $ns duplex-link-op $n2 $n3 orient right
- #Monitor the queue for the link between node 2 and node 3
- $ns duplex-link-op $n2 $n3 queuePos 0.5
- #Create a CBR agent and attach it to node n0
- set cbr0 [new Agent/CBR]
- $ns attach-agent $n0 $cbr0
- $cbr0 set packetSize_ 500
- $cbr0 set interval_ 0.005
- $cbr0 set fid_ 1
- #Create a CBR agent and attach it to node n1
- set cbr1 [new Agent/CBR]
- $ns attach-agent $n1 $cbr1
- $cbr1 set packetSize_ 500
- $cbr1 set interval_ 0.005
- $cbr1 set fid_ 2
- #Create a Null agent (a traffic sink) and attach it to node n3
- set null0 [new Agent/Null]
- $ns attach-agent $n3 $null0
- #Connect the traffic sources with the traffic sink
- $ns connect $cbr0 $null0
- $ns connect $cbr1 $null0
- #Schedule events for the CBR agents
- $ns at 0.5 "$cbr0 start"
- $ns at 1.0 "$cbr1 start"
- $ns at 4.0 "$cbr1 stop"
- $ns at 4.5 "$cbr0 stop"
- #Call the finish procedure after 5 seconds of simulation time
- $ns at 5.0 "finish"
- #Run the simulation
- $ns run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement