[ih] Installed base momentum (was Re: Design choices in SMTP)

Craig Partridge craig at tereschau.net
Mon Feb 13 13:07:11 PST 2023


Hi John:

Oh no, far more complicated than that.  As I recall (and my memory on this
is probably imperfect as I was young and learning and some things went over
my head):


   - Bill rewrote the BBN TCP to make it more efficient.  The BBN TCP used
   a function table that was indexed by connection state and TCP segment type
   (so you looked up the connection using the TCP/IP header, then grabbed the
   segment type, and called the indexed function along with the PCB and
   inbound segment).  It made for tight and simple routines... but, as I
   recall, the VAX (the primary platform at the time) made function calls
   expensive, so Bill wanted a minimal number of function calls and produced
   long routines as a result (cf. tcp_input in 4.2BSD).
   - Bill (or someone) at Berkeley came up with the idea of sockets and the
   socket/bind/listen/connect API as they did not like /dev/tcp and ioctls
   (which BBN TCP used and which Dennis Ritchie independently came up with for
   System V UNIX).  While ioctls and /dev/tcp may have fit the existing UNIX
   philosophy, having taught thousands of students in the 1990s sockets and
   had a few then encounter System V and say "ugh", Berkeley was probably
   right on this one.
   - Various innards of the BSD implementation were cribbed from the BBN
   TCP.  A good example is mbufs -- invented by Rob Gurwitz when he ported an
   early TCP (Jack Haverty's???) to BSD.  I seem to recall seeing a memo from
   Rob c. 1988 saying mbufs were a hack to solve an immediate porting problem
   and that he was surprised a better solution had not materialized.
   - The 4.1BSD BBN TCP was more stable than the 4.1c BSD (first socket)
   TCP and there was a period in which DARPA was (unhappily) funding both TCPs
   because many sites asked to have the BBN TCP so they could have reliable
   Internet connectivity.  This lasted a certain number of years into 4.2BSD,
   but eventually went Berkeley's way.

Craig

On Mon, Feb 13, 2023 at 1:35 PM John Day <jeanjour at comcast.net> wrote:

> So Berkeley’s position was that they were to port the BBN implementation
> bugs and all?
>
> And BBN is to blame for sockets?  What a lost opportunity.
>
> The first Unix on the Net in 1975 didn’t do that.  It used file_io.
>
>
> > On Feb 13, 2023, at 15:28, Craig Partridge via Internet-history <
> internet-history at elists.isoc.org> wrote:
> >
> > HI Scott:
> >
> > Small nit.
> >
> > DARPA funded Berkeley to port the BBN Unix to BSD -- and Bill Joy chose
> to
> > reimplement and develop sockets.  Much behind the scenes fighting ensued
> (I
> > was hired into that fight in 1983 when BBN concluded it needed to train
> > someone to understand the BSD implementation).  Led to various odd
> > conversations years later -- I remember Van Jacobson justifying a TCP bug
> > in the BSD implementation by saying it had been in the BBN implementation
> > that Bill used as a reference -- c. 1989, long after BBN BSD TCP was
> gone.
> >
> > Craig
> >
> > On Mon, Feb 13, 2023 at 12:50 PM Scott Bradner via Internet-history <
> > internet-history at elists.isoc.org> wrote:
> >
> >> for what its worth - here is my take on some of the reasons that the
> >> Internet (and specifically
> >> TCP/IP) took over the world
> >>
> >> Forks: Decisions that got us the Internet we have
> >> https://www.sobco.com/presentations/2020-06-25-forks.pdf
> >>
> >> Scott
> >> (I, along with Scott Shackelford, have a book on the subject that should
> >> be published at some
> >> point - the text is done & now in publisher wait)
> >> --
> >> Internet-history mailing list
> >> Internet-history at elists.isoc.org
> >> https://elists.isoc.org/mailman/listinfo/internet-history
> >>
> >
> >
> > --
> > *****
> > Craig Partridge's email account for professional society activities and
> > mailing lists.
> > --
> > Internet-history mailing list
> > Internet-history at elists.isoc.org
> > https://elists.isoc.org/mailman/listinfo/internet-history
>
>

-- 
*****
Craig Partridge's email account for professional society activities and
mailing lists.



More information about the Internet-history mailing list