[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ih] BBN C-series computers

Paul Ruizendaal <pnr at planet.nl> wrote:

> > On 24 Oct 2017, at 20:52, James J Dempsey <jjd at jjd.com> wrote:
> > 
> > The C/70 (as well as the C/60) definitely did have a TCP/IP stack.  One of
> > the first uses of the C/70 was to build and run the NU Network Monitoring
> > system.  When I arrived at BBN in the Summer of 1981, we were already on
> > track to transition ARPANET to TCP/IP, which as we know eventually happened
> > on 1 Jan 1983.
> Thanks for confirming that. Would you recall if the C/70 used the sockets API
> or the earlier arpanet API? (I would suspect the latter).
> If the former, it would be the only back port of sockets to V7 that I?m
> aware of (unless one thinks of 2.8BSD/2.9BSD as being V7).

If you check out RFC 801 (written Nov 1981), Rob Gurwitz (who wrote BBN's
UNIX TCP implementation) says of "BBN C70 UNIX":

      The C/70 processor is a BBN-designed system with a native
      instruction set oriented toward executing the C language.  It
      supports UNIX Version 7 and provides for user processes with a
      20-bit address space.  The TCP/IP implementation for the C/70 was
      ported from the BBN VAX TCP/IP, and shares all of its features.

      This version of TCP/IP is running experimentally at BBN, but is
      still under development.  Performance tuning is underway, to make
      it more compatible with the C/70's memory management system.

In the same RFC, Rob writes of the BBN VAX UNIX TCP implementation:

      The VAX TCP/IP implementation is written in C for Berkeley 4.1BSD
      UNIX, and runs in the UNIX kernel.  It has been run on VAX 11/780s
      and 750s at several sites, and is due to be generally available in
      early 1982.

      The implementation conforms to the TCP and IP specifications (RFC
      791, 793).  The implementation supports the new extended internet
      address formats, and both GGP and ICMP.  It also supports multiple
      network access protocols and device drivers.  Aside from ARPANET
      1822 and the ACC LH/DH-11 driver, experimental drivers have also
      been developed for ETHERNET.  There are user interfaces for
      accessing the IP and local network access layers independent of
      the TCP.

      Higher level protocol services include user and server TELNET,
      MTP, and FTP, implemented as user level programs.  There are also
      tools available for monitoring and recording network traffic for
      debugging purposes.

      Continuing development includes performance enhancements.  The
      implementation is described in IEN-168.

IEN-168 (available here https://www.rfc-editor.org/ien/ien168.txt ) does not
contain the word "socket", so I suspect that that means the BBN-UNIX
implementation of TCP didn't contains the socket interface, initially. 

In "Networking Implementation Notes 4.4BSD Edition" (
https://docs.freebsd.org/44doc/smm/18.net/paper.pdf ) Sam Leffler and Bill
Joy acknowledge the BBN TCP/IP implementation:

    Many of the ideas related to protocol modularity, memory management, and
    network interfaces are based on Rob Gurwitz?s TCP/IP implementation for the
    4.1BSD version of UNIX on the VAX [Gurwitz81].

[Gurwitz81] is IEN-168.

Finally, at http://www.xbbn.org/note-12.html there is this description of
sockets and BBN's TCP implementation:

	The BBN BSD TCP was the standard TCP for 4BSD and BSD UNIX 4.1. However, in
	BSD 4.2, the team at U.C. Berkeley created their own and very different
	implementation of TCP/IP (using the now familiar socket interface developed
	by Bill Joy and Sam Leffler of Berkeley along with Gurwitz).  BBN promptly
	revised its TCP implementation to use the socket interface, and for about a
	year there was a battle to determine whose networking code would take
	precedence.  Although the BBN code won some adherents, and was licensed to
	several computer vendors, the Berkeley code won the battle.

I hope this clears that up.

--Jim Dempsey--