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

通讯编程

开发平台:

Visual C++

  1. # tem.tcl - test emulation
  2. # be careful here, as the tap agents will
  3. # send out whatever they are given
  4. #
  5. set dotrace 1
  6. set stoptime 20.0
  7. set me [exec hostname]
  8. set ns [new Simulator]
  9. if { $dotrace } {
  10. set allchan [open em-all.tr w]
  11. $ns trace-all $allchan
  12. set namchan [open em.nam w]
  13. $ns namtrace-all $namchan
  14. }
  15. $ns use-scheduler RealTime
  16. set livenet1 [new Network/Pcap/Live]
  17. $livenet1 set promisc_ true
  18. set livenet2 [new Network/Pcap/Live]
  19. $livenet2 set promisc_ true
  20. set nd1 [$livenet1 open] ;# open some appropriate device (devname is optional)
  21. set nd2 [$livenet2 open] ;# open some appropriate device (devname is optional)
  22. puts "ok, got network devices $nd1 and $nd2"
  23. set f1len [$livenet1 filter "icmp and src $me"]
  24. set f2len [$livenet2 filter "icmp and dst $me"]
  25. puts "filter 1 len: $f1len, filter 2 len: $f2len"
  26. puts "link1 address: [$livenet1 linkaddr]"
  27. puts "link2 address: [$livenet2 linkaddr]"
  28. set a1 [new Agent/Tap]
  29. set a2 [new Agent/Tap]
  30. puts "install nets into taps..."
  31. $a1 network $livenet1
  32. #############$a2 network $livenet2
  33. set node0 [$ns node]
  34. set node1 [$ns node]
  35. $ns duplex-link $node0 $node1 8Mb 5ms DropTail
  36. #
  37. # attach-agent sets "target" of the agents to the node entrypoint
  38. $ns attach-agent $node0 $a1
  39. $ns attach-agent $node1 $a2
  40. # let's detach the things
  41. set null [$ns set nullAgent_]
  42. ###$a1 target $null
  43. ###$a2 target $null
  44. $ns connect $a1 $a2
  45. puts "scheduling termination at t=$stoptime"
  46. $ns at $stoptime "exit 0"
  47. puts "let's rock"
  48. $ns run