README
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:7k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #
  2. # Copyright (C) 2001 by USC/ISI
  3. # All rights reserved.
  4. #
  5. # Redistribution and use in source and binary forms are permitted
  6. # provided that the above copyright notice and this paragraph are
  7. # duplicated in all such forms and that any documentation, advertising
  8. # materials, and other materials related to such distribution and use
  9. # acknowledge that the software was developed by the University of
  10. # Southern California, Information Sciences Institute.  The name of the
  11. # University may not be used to endorse or promote products derived from
  12. # this software without specific prior written permission.
  13. #
  14. # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
  15. # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
  16. # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  17. #
  18. # This text is a simple document that serves to explain how to use 
  19. # SAMAN RAMP
  20. #
  21. # This work is supported by DARPA through SAMAN Project
  22. # (http://www.isi.edu/saman/), administered by the Space and Naval 
  23. # Warfare System Center San Diego under Contract No. N66001-00-C-8066
  24. #
  25.                   How to use RAMP (RApid Model Parameterization)
  26.          --------------------------------------
  27. Kun-chan Lan                 Version 1.0                               05/5/02
  28. 1. Introduction
  29. This is a quick description of how to use RAMP (RApid Model 
  30. Parameterization) to rapidly generate simulation model from raw trace.
  31. RAMP contains a set of C/Perl/Tcl programs. It 
  32. takes a tcpdump file as input and outputs a set of CDF 
  33. (Cumulative Distribution Function) files that model the application-level
  34. statistics and underlining topology information of targeted traffic.  
  35. For application traffic, currently RAMP supports Web and FTP traffic.
  36. For modeling network condition, we focus on modeling RTT and
  37. bottleneck bandwidth which are important parameters to drive simulation.
  38. For details, please read paper.pdf included in this package.
  39. 2. Usage
  40. First, type "make all" under Unix command line 
  41.     to make "http_connect" and "http_active"
  42. then type
  43.     RAMP [-f] [-c] <tcpdump file> <threshold for user think time> <netwrok prefix>
  44. It needs three arguments. First argument is the file name of trace.
  45. The default trace foramt is pcaplib-format (generated by tcpdump -w option).
  46. Addition of option "-c" will assume the trace file is in CoralReef format.
  47. With -f option, RAMP will filter traffic based on prefix specified in
  48. model.conf and generate seperate model for each prefix.
  49. The second argument is the threshold time value (in millisecond) 
  50. that distinguishes idle periods in Web traffic in order to infer
  51. user "think" times between requests for new top-level pages. 
  52. The last argument is the network prefix used to distinguish inbound 
  53. traffic from outbound traffic.
  54. 3. List of Files
  55. RAMP contains a set of programs, including
  56. (1) http_connect
  57. (2) http_active
  58. (3) delay.*
  59. (4) outputCDF
  60. (5) time-series.pl
  61. (6) BW*.pl
  62. (7) dat2cdf
  63. (8) flow.*
  64. (9) io.*
  65. (10) ftp.*
  66. (11) getFTPclient.pl
  67. (12) getFTP.pl
  68. (13) ks.pl
  69. (14) pair.tcl
  70. (15) win.awk
  71. (15) traffic-classify
  72. The files http_connect and http_active are 2 C programs  
  73. written and contributed by Don Smith <smithfd@cs.unc.edu> and
  74. Felix Hernandez Campos <fhernand@cs.unc.edu> from The University
  75. of North Carolina at Chapel Hill. These two programs were also used
  76. for their SIGMETRICS 2001 paper "What TCP/IP Protocol Headers Can Tell 
  77. Us About the Web". The program http_connect is used to performs an analysis
  78. of tcpdump output and produce a summary of the TCP connections used for
  79. HTTP. It assumes that tcpdump has been filtered for packets that are
  80. from TCP source port 80 and the result has been sorted so that packets 
  81. are in ascending time order within each TCP connection. The program 
  82. http_active is used to create an activity trace (summary form) of web
  83. browsing clients with respect to three types of activities: client
  84. sending request data, server sending responds data, client is idle.
  85. For more detailed description of these two programs, please see
  86. accompanying files trace_processing.pdf and output_format.pdf (also
  87. contributed by UNC)
  88. The file delay.tcl is a Tcl script that estimates the delay between
  89. each Web client and server pair. It takes a tcpdump trace as input
  90. and assumes that trace has been filtered for packets that only originates
  91. from or desinate to port 80. It looks at the beginning of each TCP
  92. connection and see how much time it takes for the SYN/SYN-ACK handshake
  93. to estimate the Round Trip time (RTT) delay for each
  94. connection. It finally outputs a summary form of averaged RTT for
  95. each source/destination pair (which might contain several connections
  96. within the entire trace)
  97. The file outputCDF is a Perl script that takes the output of
  98. http_active to infer a set of user-level statistics, including
  99. (a) user session inter-arrival time
  100. (b) number of pages per user session
  101. (c) page inter-arrival time
  102. (d) page size
  103. (e) object inter-arrival time
  104. (f) object size
  105. (g) client request size
  106. (h) ratio between persistent and non-persistent connection
  107. (i) server popularity
  108. The output will be a set of CDF files that describe the above statistics
  109. in 3-column format (take pagesize.dat.cdf for example)
  110. 1st column: page size (in KB)
  111. 2nd column: accumulated number of samples
  112. 3rd column: accumulated probability
  113. The file time-series.pl is a Perl script that takes the output
  114. of tcpdump trace (that ASCII print lines that tcpdump generates to
  115. stdout) and produce a time series of traffic volume (the unit block is 
  116. 1 millisecond) for use in further scaling analysis of traffic.
  117. the files BW*.pl are a set of perl scripts that compute the
  118. bottleneck bandwidth of the underlying topology of the trace
  119. dat2cdf converts a (one-column fomrat) data file into its corresponding CDF
  120. files flow.* compute the flow statistics of the traffic, including
  121. flow duration, flow size and flow inter-arrival time
  122. files io.* are used to separate inbound and outbound traffic 
  123. in the trace based on the prefix given in the input argument
  124. getFTPclient.pl and getFTP.pl are used to retrieve the data
  125. connections in the trace
  126. ks.pl is used to perform Kolmogorov-Smirnov goodness of fit test 
  127. on two CDF files to decide if they are statistically different
  128. win.awk is used to compute TCP window size
  129. traffic-classify is used to retrieve the protocol mix information
  130. from the trace
  131. 4. NS scripts
  132. The file isigen.tcl is a ns script that demonstrates how to use
  133. the output of RAMP (the set of CDF files) to simulate the
  134. traffic collected at ISI/USC gateway link. To execute it, 
  135. assuming you already have ns (snapshot after 10/10/01) installed 
  136. in your system, type "ns isigen.tcl" from the command line. It 
  137. takes ~1 hour on a Red Hat Linux 7.0 Pentium II Xeon 450 MHz PC 
  138. with 1GB physical memory. The complete example including the 
  139. CDF files that model ISI traffic can be found under 
  140. <your ns root>/tcl/ex/empweb/ of your ns distribution
  141. Contact person
  142.     Kun-chan Lan, USC/ISI
  143.     email: kclan@isi.edu
  144.     phone: 310-448-8260