Advertisement
fongoses

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

Jan 8th, 2013
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 1.82 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. #Open the nam trace file
  13. set nf [open out-ex1b-f30-j40.nam w]
  14. $ns namtrace-all $nf
  15.  
  16. #Define a ’finish’ procedure
  17. proc finish {} {
  18.     global ns nf
  19.     $ns flush-trace
  20.     #Close the trace file
  21.     close $nf
  22.     #Execute nam on the trace file
  23.     exit 0
  24. }
  25. #Create four nodes
  26. set n0 [$ns node]
  27. set n1 [$ns node]
  28. set n2 [$ns node]
  29. set n3 [$ns node]
  30.  
  31. #Create links between the nodes
  32. $ns duplex-link $n0 $n1 10Mb 5ms DropTail
  33. $ns duplex-link $n1 $n2 1Mb 5ms DropTail
  34. $ns duplex-link $n2 $n3 10Mb 5ms DropTail
  35. #'op' define uma operacao para o link, que no caso é uma definição de
  36. #posicionamento dele.
  37. $ns duplex-link-op $n0 $n1 orient right
  38. $ns duplex-link-op $n1 $n2 orient right
  39. $ns duplex-link-op $n2 $n3 orient right
  40. $ns duplex-link-op $n1 $n2  queuePos 0.5
  41. $ns queue-limit $n1 $n2 30
  42.  
  43. #Criacao do agente/transmissor TCP
  44. set tcpTrans [new Agent/TCP/FullTcp]
  45. #seta tamanho da janela do TCP
  46. $tcpTrans set fid_ 1
  47. $tcpTrans set window_ 40
  48. puts [$tcpTrans set window_]
  49. #Gera receptor (sink) para o fluxo tcp e acopla ele no nodo 3
  50. set tcpSink [new Agent/TCP/FullTcp]
  51. $ns attach-agent $n0 $tcpTrans
  52. $ns attach-agent $n3 $tcpSink
  53. #Conecta o transmissor com o receptor
  54. $ns connect $tcpTrans $tcpSink
  55. $tcpSink listen
  56.  
  57. #cria aplicacao ftp para rodar sobre o transmissor TCP  
  58. set ftpApp [new Application/FTP]
  59. $ftpApp attach-agent $tcpTrans
  60.  
  61. #Escalona no tempo o inicio da aplicacao FTP
  62. $ns at 0.1 "$ftpApp start"
  63. $ns at 3.0 "$ftpApp stop"
  64. #Call the finish procedure after 4 seconds of simulation time
  65. $ns at 4.0 "finish"
  66. #Run the simulation
  67. $ns run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement