[ih] What is the origin of the root account?

Craig Partridge craig at aland.bbn.com
Fri Apr 12 04:14:30 PDT 2013


> However, none of that first Unix TCP code could possibly be in BSD
> today, unless BSD is somehow running PDP-11 assembly code.   Al Nemeth
> and Mike Wingfield were involved in subsequently writing TCP for the
> 11/70 Unix environment, and Rob Gurwitz for the Vax.   Rob's code
> might have survived in some form in BSD, but you'd probably need some
> fancy digital DNA testing to determine that.

I can add a tiny bit of information here (I managed the DARPA BBN TCP
support project after Rob Gurwitz left BBN -- it ran in various forms
through about 1989 and several people were trained in how to write
TCP code by that project).

Rob Gurwitz's VAX implementation of BBN TCP, which I understand was a
port and reworking of Jack's code [Jack, correct me if wrong], was the
TCP in 4.1BSD.  It was used by Bill Joy as the reference implementation for
the 4.1cBSD TCP using sockets.

While I say "reference implementation" it has been unclear to me how much
code Joy wrote and how much Joy took BBN code and reworked/repackaged it.
The BSD TCP used a state matrix, where the inbound segment type was cross
referenced with the current connection state, to call little sub-routines to
handle the inbound TCP segment.  Joy's TCP used long flat routines with few
sub-routine calls (cf. tcp_input()).   There's some reason to believe that
Joy started by simply stuffing code from the BBN sub-routines into the right
spots in his larger routines.  I say this because, in the late 1980s, the
Berkeley TCP team would periodically partially disclaim responsibility for a
bug in TCP by saying "that's from the original BBN TCP" -- which suggested
they still understood the genealogy of code from the BBN TCP to the Berkeley
TCP implementation.

Thanks!

Craig



More information about the Internet-history mailing list