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 utilizadas aqui. Comando:
- # $ man ns
- #Create a simulator object
- set ns [new Simulator]
- #Define different colors for data flows
- $ns color 1 Blue
- #Open the nam trace file
- set nf [open out-ex1b-f30-j40.nam w]
- $ns namtrace-all $nf
- #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
- }
- #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 $n1 10Mb 5ms DropTail
- $ns duplex-link $n1 $n2 1Mb 5ms DropTail
- $ns duplex-link $n2 $n3 10Mb 5ms DropTail
- #'op' define uma operacao para o link, que no caso é uma definição de
- #posicionamento dele.
- $ns duplex-link-op $n0 $n1 orient right
- $ns duplex-link-op $n1 $n2 orient right
- $ns duplex-link-op $n2 $n3 orient right
- $ns duplex-link-op $n1 $n2 queuePos 0.5
- $ns queue-limit $n1 $n2 30
- #Criacao do agente/transmissor TCP
- set tcpTrans [new Agent/TCP/FullTcp]
- #seta tamanho da janela do TCP
- $tcpTrans set fid_ 1
- $tcpTrans set window_ 40
- puts [$tcpTrans set window_]
- #Gera receptor (sink) para o fluxo tcp e acopla ele no nodo 3
- set tcpSink [new Agent/TCP/FullTcp]
- $ns attach-agent $n0 $tcpTrans
- $ns attach-agent $n3 $tcpSink
- #Conecta o transmissor com o receptor
- $ns connect $tcpTrans $tcpSink
- $tcpSink listen
- #cria aplicacao ftp para rodar sobre o transmissor TCP
- set ftpApp [new Application/FTP]
- $ftpApp attach-agent $tcpTrans
- #Escalona no tempo o inicio da aplicacao FTP
- $ns at 0.1 "$ftpApp start"
- $ns at 3.0 "$ftpApp stop"
- #Call the finish procedure after 4 seconds of simulation time
- $ns at 4.0 "finish"
- #Run the simulation
- $ns run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement