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

通讯编程

开发平台:

Visual C++

  1. #
  2. # Support for example codes: data collection in TCP-Linux simulations
  3. #
  4. # TCP-Linux module for NS2 
  5. #
  6. # Nov 2007
  7. #
  8. # Author: Xiaoliang (David) Wei  (DavidWei@acm.org)
  9. #
  10. # NetLab, the California Institute of Technology 
  11. # http://netlab.caltech.edu
  12. #
  13. # See a mini-tutorial about TCP-Linux at: http://netlab.caltech.edu/projects/ns2tcplinux/
  14. #
  15. #
  16. # Module: tcl/ex/tcp-linux/sampling.tcl
  17. # This code is not supposed to be run individually. Other codes will call the functions in this code.
  18. # This code provides two functions which samples the TCP connection status and queue status.
  19. # tcp output format in a line: 
  20. #   time 
  21. #   cwnd 
  22. #   maxseq 
  23. #   data_packet_number 
  24. #   ack_packet_number 
  25. #   retransmited_packet_number 
  26. #   number_of_cwnd_cut_event 
  27. #
  28. # queue output format in a line:
  29. #   time
  30. #   queue length in packet number
  31. proc monitor_tcp {ns tcp filename} {
  32. set nowtime [$ns now]
  33. set outputfile [open $filename a]
  34. puts $outputfile "$nowtime [$tcp set cwnd_] [$tcp set maxseq_] [$tcp set ndatapack_] [$tcp set nackpack_] [$tcp set nrexmitpack_] [$tcp set ncwndcuts_]"
  35. close $outputfile
  36. }
  37. proc monitor_queue {ns qmon filename} {
  38.     set qmonfile [open $filename a]
  39.     puts $qmonfile "[$ns now] [$qmon set pkts_]"
  40.     close $qmonfile
  41. }