I went looking for the three IPC reports:
For more information about this system, see:
- "Interprocess Communication Extensions for the UNIX Operating System: I -
Design Considerations", Rand Corporation, Report R-2064/1-AF, June 1977.
- "Interprocess Communication Extensions for the UNIX Operating System: II
- Implementation", Rand Corporation, Report R-2064/2-PR, April 1977.
- "UNIX TCP User's Guide", Bolt Beranek and Newman Inc., Report No. 3724
And could only find the first one online at
Do we have the other two anywhere?
Yes we do.
The first two are about Rand ports. You’ve found the overview by Carl Sunshine, the
implementation by Steve Zucker is the next report up on DTIC:
The TCP User guide report you refer to is about a TCP implementation done by Jack Haverty,
which took an implementation in PDP-11 assembler and wrapped it in a NCP Unix shell. Jack
has a listing in his attic, but it is not scanned. The problem with this implementation
was that it is was all very cramped in the kernel, so he had to reduce disk buffers
substantially. As pipes (and Rand ports) use disk buffers to hold pipe data, which get
swapped out to disk as needed, he found that his system trashed a lot and effective TCP
speeds in his first trials were barely above few dozen byte per second.
The report is actually on the TUHS tree:
(there is also nroff source for Steven Zucker’s report, and other interesting material in
that directory - such as a report on pipe performance).
The actual V6 implementation that is on that THUS page is not Jack Haverty’s version, but
a version done from scratch by Mike Wingfield, using the learning’s of Jack’s work. Mike’s
implementation worked quite well and won first prize in a March 1979 tongue-in-cheek TCP4
conformance & interop competition. The BBN report for that version is 4295. Craig
Partridge was kind enough to dig it up from the BBN library - I can send you a copy if you
like (it was cleared for public release).
Although the implementation was done for research purposes (mainly Autodin II security
features and simulation), it seems to have had a long life as a stop-gap to keep aging
PDP-11’s connected after the switch from NCP to TCP in 1983.