[ih] BBN C-series computers
James J Dempsey
jjd at jjd.com
Wed Oct 25 08:27:43 PDT 2017
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--
More information about the Internet-history
mailing list