Advertisement
fongoses

Caso 2 - Exercício 2 - Relatório 6

Jan 8th, 2013
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 1.95 KB | None | 0 0
  1. #Exemplo dado em aula pelo professor.
  2. #A documentação do ns2 possui uma boa explicação sobre cada
  3. #uma das funções utilizadas aqui. Comando:
  4. #   $ man ns
  5.  
  6. #Create a simulator object
  7. set ns [new Simulator]
  8.  
  9. #Define different colors for data flows
  10. $ns color 1 Blue
  11.  
  12. #Cria arquivos de saida
  13. set run_nam 0
  14. #utilizamos o nome out.tr para utilizacao no gbandafluxo.pl
  15. set f [open out.tr w]
  16. $ns trace-all $f
  17. set nf [open out-ex1ci.nam w]
  18. $ns namtrace-all $nf
  19.  
  20. #Define a ’finish’ procedure
  21. proc finish {} {
  22.         global ns nf f run_nam
  23.  
  24.  
  25.     $ns flush-trace
  26.     #Close the trace file
  27.     close $nf
  28.     #Execute nam on the trace file
  29.     exit 0
  30. }
  31. #Create four nodes
  32. set n0 [$ns node]
  33. set n1 [$ns node]
  34. set n2 [$ns node]
  35. set n3 [$ns node]
  36.  
  37. #Create links between the nodes
  38. $ns duplex-link $n0 $n1 10Mb 5ms DropTail
  39. $ns duplex-link $n1 $n2 1Mb 5ms DropTail
  40. $ns duplex-link $n2 $n3 10Mb 5ms DropTail
  41. #'op' define uma operacao para o link, que no caso é uma definição de
  42. #posicionamento dele.
  43. $ns duplex-link-op $n0 $n1 orient right
  44. $ns duplex-link-op $n1 $n2 orient right
  45. $ns duplex-link-op $n2 $n3 orient right
  46. $ns duplex-link-op $n1 $n2  queuePos 0.5
  47. $ns queue-limit $n1 $n2 10
  48.  
  49. #Criacao do agente/transmissor TCP
  50. set tcpTrans [new Agent/TCP/FullTcp]
  51. #seta tamanho da janela do TCP
  52. $tcpTrans set fid_ 1
  53. $tcpTrans set window_ 40
  54. puts [$tcpTrans set window_]
  55. #Gera receptor (sink) para o fluxo tcp e acopla ele no nodo 3
  56. set tcpSink [new Agent/TCP/FullTcp]
  57. $ns attach-agent $n0 $tcpTrans
  58. $ns attach-agent $n3 $tcpSink
  59. #Conecta o transmissor com o receptor
  60. $ns connect $tcpTrans $tcpSink
  61. $tcpSink listen
  62.  
  63. #cria aplicacao ftp para rodar sobre o transmissor TCP  
  64. set ftpApp [new Application/FTP]
  65. $ftpApp attach-agent $tcpTrans
  66.  
  67. #Escalona no tempo o inicio da aplicacao FTP
  68. $ns at 0.1 "$ftpApp start"
  69. $ns at 3.0 "$ftpApp stop"
  70. #Call the finish procedure after 4 seconds of simulation time
  71. $ns at 4.0 "finish"
  72. #Run the simulation
  73. $ns run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement