                           11-April-1995 (and occasionally updated since then)


 From: Tim Shepard <shep@lcs.mit.edu>
 To: All who would like to make TCP plots

My method for making TCP plots is described in my 1990 S.M. thesis
"TCP Packet Trace Analysis" and the thesis is available in
postscript form (with the pages unfortunately in reverse order) via
anonymous FTP from ftp.lcs.mit.edu in the pathname

	/pub/lcs-pubs/tr.outbox/MIT-LCS-TR-494.ps.gz 

or URL:

	ftp://ftp.lcs.mit.edu/pub/lcs-pubs/tr.outbox/MIT-LCS-TR-494.ps.gz

It can also be ordered (in bound soft-cover book form) from
pubs@lcs.mit.edu as MIT/LCS/TR-494.

To make your own plots, you need three things:

(1) something to collect packet traces with good hi-res timestamps

(2) a program to transform a trace into plotting commands

(3) a plotting program (preferably one which supports zooming in
    and popping back out)

I cannot give you what I used for part (1) because it involved a lot
of kernel hacking on an old version of BSD unix that ran on a vax,
but that had Sun's networking code spliced into it.  It was very hairy.

Good timestamp resolultion in the traces is important.  Preferably,
hardware which can provide timestamps with microsecond resolution
should be used to collect traces.  10ms resolution is not good enough.

Part (2) depends on what you do for part (1) and depends on the
plotting program.  It can be easily reimplemented by using the
psuedo code I include with the xplot program (in the file
README.tcp_plots).

For part (3) you can use my program, or your favorite plotting program.
The plotting program that I wrote, along with some pseudo-code
which should help you turn your own packet traces into plots, is
available via anonymous ftp from mercury.lcs.mit.edu in the pathname
/pub/shep/xplot.tar.gz or URL:

	ftp://mercury.lcs.mit.edu/pub/shep/xplot.tar.gz

Included are some sample plot files including one tcp plot.

I hope you find this useful.

		-Tim
