Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. if {$argc == 1} {
  2. set protocol [lindex $argv 0]
  3. }
  4.  
  5. set ns [new Simulator]
  6.  
  7. set nf [open out.nam w]
  8. $ns namtrace-all $nf
  9.  
  10. proc fim {} {
  11. global ns nf
  12. $ns flush-trace
  13. close $nf
  14. exec nam out.nam
  15. exit 0
  16. }
  17.  
  18. #Emissores
  19. set n0 [$ns node]
  20. set n1 [$ns node]
  21. #Recetores
  22. set n2 [$ns node]
  23. set n3 [$ns node]
  24. #Routers
  25. set n4 [$ns node]
  26. set n5 [$ns node]
  27. set n6 [$ns node]
  28. set n7 [$ns node]
  29.  
  30. #Ligação A
  31. $ns duplex-link $n0 $n4 200Mb 0.000001 DropTail
  32. $ns duplex-link $n7 $n2 200Mb 0.000001 DropTail
  33. #Ligação B
  34. $ns duplex-link $n1 $n4 200Mb 0.000001 DropTail
  35. $ns duplex-link $n7 $n3 200Mb 0.000001 DropTail
  36. #Ligações Intermédias
  37. $ns duplex-link $n4 $n5 200Mb 0.000001 DropTail
  38. $ns duplex-link $n5 $n6 200Kb 0.00025 DropTail
  39. $ns duplex-link $n6 $n7 50Kb 0.0000005 DropTail
  40.  
  41. #Orientação
  42. $ns duplex-link-op $n0 $n4 orient right-down
  43. $ns duplex-link-op $n1 $n4 orient right-up
  44. $ns duplex-link-op $n4 $n5 orient right
  45. $ns duplex-link-op $n5 $n6 orient right
  46. $ns duplex-link-op $n6 $n7 orient right
  47. $ns duplex-link-op $n2 $n7 orient left-down
  48. $ns duplex-link-op $n3 $n7 orient left-up
  49.  
  50. #Cria o UDP
  51. set udp0 [new Agent/UDP]
  52. #Cria o TCP
  53. set tcp0 [new Agent/TCP]
  54. #Cria o CBR
  55. set cbr0 [new Application/Traffic/CBR]
  56. $cbr0 set packetSize_ 1000
  57. $cbr0 set interval_ 0.5
  58. $cbr0 set maxpkts_ 10
  59. #Cria o NULL
  60. set null0 [new Agent/Null]
  61.  
  62. if {$protocol == "tcp"} {
  63. #Faz attach do TCP ao nó de origem
  64. $ns attach-agent $n0 $tcp0
  65. #Faz attach do CBR ao TCP
  66. $cbr0 attach-agent $tcp0
  67. #Faz attach do NULL ao nó de destino
  68. $ns attach-agent $n2 $null0
  69. #Liga o TCP ao NULL
  70. $ns connect $tcp0 $null0
  71. } elseif {$protocol == "udp"} {
  72. #Faz attach do UDP ao nó de origem
  73. $ns attach-agent $n0 $udp0
  74. #Faz attach do CBR ao UDP
  75. $cbr0 attach-agent $udp0
  76. #Faz attach do NULL ao nó de destino
  77. $ns attach-agent $n2 $null0
  78. #Liga o UDP ao NULL
  79. $ns connect $udp0 $null0
  80. }
  81.  
  82. $ns at 0.5 "$cbr0 start"
  83. $ns at 4.5 "$cbr0 stop"
  84.  
  85. $ns at 5.0 fim
  86. $ns run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement