tcp-int.tcl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:2k
源码类别:

通讯编程

开发平台:

Visual C++

  1. source asym/util.tcl
  2. set ns [new Simulator]
  3. $ns color 0 blue
  4. $ns color 1 red
  5. $ns color 2 white
  6. set n0 [$ns node]
  7. set n1 [$ns node]
  8. set n2 [$ns node]
  9. set n3 [$ns node]
  10. puts n0=[$n0 id]
  11. puts n1=[$n1 id]
  12. puts n2=[$n2 id]
  13. puts n3=[$n3 id]
  14. set f [open out.tr w]
  15. $ns trace-all $f
  16. set nf [open out.nam w]
  17. $ns namtrace-all $nf
  18. Queue set limit_ 5
  19. #$ns duplex-link $n0 $n1 1.5Mb 10ms DropTail
  20. $ns duplex-link $n0 $n2 10Mb 2ms DropTail
  21. $ns duplex-link $n1 $n2 10Mb 2ms DropTail
  22. $ns duplex-link $n2 $n3 1.5Mb 10ms DropTail
  23. $ns duplex-link-op $n0 $n2 orient right-up
  24. $ns duplex-link-op $n1 $n2 orient right-down
  25. $ns duplex-link-op $n2 $n3 orient right
  26. $ns duplex-link-op $n2 $n3 queuePos 0.5
  27. set udp0 [new Agent/UDP]
  28. $ns attach-agent $n0 $udp0
  29. set cbr0 [new Application/Traffic/CBR]
  30. $cbr0 attach-agent $udp0
  31. set udp1 [new Agent/UDP]
  32. $ns attach-agent $n3 $udp1
  33. $udp1 set class_ 1
  34. set cbr1 [new Application/Traffic/CBR]
  35. $cbr1 attach-agent $udp1
  36. set null0 [new Agent/Null]
  37. $ns attach-agent $n3 $null0
  38. set null1 [new Agent/Null]
  39. $ns attach-agent $n1 $null1
  40. $ns connect $udp0 $null0
  41. $ns connect $udp1 $null1
  42. $ns at 0.0 "$cbr0 start"
  43. $ns at 0.1 "$cbr1 start"
  44. for {set i 0} {$i < 2} {incr i} {
  45. set tcp($i) [new Agent/TCP/Int]
  46. # set tcp($i) [new Agent/TCP]
  47. $tcp($i) set cls [expr $i+1]
  48. $tcp($i) set rightEdge 0
  49. $tcp($i) set shift_ 8
  50. $tcp($i) set mask_ 0x000000ff
  51. $tcp($i) set uniqTS_ 1
  52. $tcp($i) set winMult_ 0.5
  53. $tcp($i) set winInc_ 1
  54. set sink [new Agent/TCPSink]
  55. $ns attach-agent $n0 $tcp($i)
  56. $ns attach-agent $n3 $sink
  57. $ns connect $tcp($i) $sink
  58. set ftp($i) [new Application/FTP]
  59. $ftp($i) attach-agent $tcp($i)
  60. $ns at 0.$i "$ftp($i) start"
  61. }
  62. for {set i 2} {$i < 4} {incr i} {
  63. set tcp($i) [new Agent/TCP/Int]
  64. # set tcp($i) [new Agent/TCP]
  65. $tcp($i) set cls [expr $i+1]
  66. $tcp($i) set rightEdge 0
  67. $tcp($i) set shift_ 8
  68. $tcp($i) set mask_ 0xffffffff
  69. $tcp($i) set uniqTS_ 1
  70. $tcp($i) set winMult_ 0.5
  71. $tcp($i) set winInc_ 1
  72. set sink [new Agent/TCPSink]
  73. $ns attach-agent $n0 $tcp($i)
  74. $ns attach-agent $n2 $sink
  75. $ns connect $tcp($i) $sink
  76. set ftp($i) [new Application/FTP]
  77. $ftp($i) attach-agent $tcp($i)
  78. $ns at 0.$i "$ftp($i) start"
  79. }
  80. #puts [$cbr0 set packetSize_]
  81. #puts [$cbr0 set interval_]
  82. $ns at 5.0 "finish"
  83. proc finish {} {
  84. puts "running nam..."
  85. exec nam out.nam &
  86. puts "done"
  87. exit 0
  88. }
  89. $ns run