BBN-Vax-TCP
BBN TCP Vax-Unix
By 1979 the basic TCP/IP specification had been finalized and in 1980
the US Department of Defence decided to make it its standard
inter-networking protocol; Arpanet users were directed to switch over
from NCP to TCP/IP on January 1st, 1983 ('flag day').
In January 1981 the design had been documented in
IEN168
and coding
proceeded in a number of places. In parallel, several loose ends in the
TCP/IP specifications were tied in (for example, ICMP replaced GGP as
the control message protocol) and these specification changes were back
integrated into the code base. In November 1981 a beta distribution
tape that overlaid on 4.1BSD was made available to the public and FTP-able from
the BBN site (this is sometimes called the 'Gurwitz' stack, after its
author Rob Gurwitz). The network API Rob used was very similar to that
of the earlier NCP Unix from Uni. of Ill, SRI and Rand Corporation
(see
SRI_NOSC)
as well as
MIT's ChaosNET. With DARPA
funding, the code was further developed and maintained into the early 90's.
Next to the networking extensions to the kernel, the beta distribution tape
contains several user programs such as clients and servers for Telnet
and FTP. It also contains a mail system based on a precursor to SMTP,
called
MTP.
MTP shows the transition of mail from a feature of FTP
to an independent protocol.
WRT to the UNIX implementations, in the late 1970s, DARPA had
contracted with BBN to write a reference implementation that could be
used in a number of different operating systems. Besides that
implementation a number of interoperable research implementations
already existed (for an example the
BBN 6th Edition UNIX and
Stanford WAITS IP/TCP
). The BBN reference implementation ran on a
number of systems that were popular to the ARPA contractors of the time
such as UNIX and such as ones from HP and DEC.
As mentioned in the
previous paragraph, in the summer of 1981, a tape that supported 4.1BSD
was made available on the BBN FTP site. While we are not 100% sure
of the contents of that tape at this time, much of it
survives in the CSRG archives and is offered here.
It should also be noted that UCB's CSRG group had a contract to enhance
UNIX for the DARPA contractors with guidance from the DARPA steering
committee; they were not responsible for the IP/TCP implementation for
UNIX as BBN had already been contracted to provide the same. These OS
enhancements from CSRG were to become BSD 4.2, with the first alpha
version released to the DARPA contractors as 4.1a, 4.1b and 4.1c
(See the
TUHS BSD archives).
In those releases, CSRG kept the BBN IP/TCP stack but created a new user
mode API for the networking code, a.k.a. the Berkeley socket's interface,
which differed from the UNIX file oriented API previously used by BBN et al.