On Wed, Jan 22, 2020 at 12:54 PM Paul Ruizendaal <pnr(a)planet.nl> wrote:
I can answer some of the below, as I was looking into
that a few years ago.
81. Q: What was the first Unix network?
A: spider
You thought it was Datakit, didn't you? But Sandy Fraser had an earlier
project.
When did Alexander G Fraser's spider cell network happen? For that
matter,
when did Datakit happen? I can't find
references to either start date on
line (nor anything on spider except for references to it in Dr Fraser's
bio). I can find references to Datakit in 1978 or so.
Spider was designed between 1969 and 1974 - the final lab report (#23)
dates from December 1974. It was based around a serial loop running at T1
signalling speed (~1.5Mhz). Here is a video recorded by Dr. Fraser about
it:
https://www.youtube.com/watch?v=ojRtJ1U6Qzw (first half is about
Spider, second half about Datakit).
Cool! I'll have to watch that.
It connected to its hosts via a (discrete TTL-based) microcontroller or
“TIU” and seems to have been connected almost
immediately to Unix systems:
the oldest driver I have been able to locate is in the V4 tree (
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V4/nsys/dmr/tdir/tiu.c) It
used a DMA-based parallel interface into the PDP11. As such, it seems to
have been much faster than the typical Datakit connection later - but I
know too little about Datakit to be sure.
Me too. I know even less about Spider. I've been looking for Bell Labs
Computing Science Technical Report #23. It's referenced in the visit report
below. So far, the closest I've come is
https://www.computerhistory.org/collections/catalog/102773566 which says
that CHM has it on paper. :/ From about 1990 or so, these reports are easy
to find.
There is an interesting visit report from 1975 that
discusses some of the
stuff that was done with Spider here:
https://stacks.stanford.edu/file/druid:rq704hx4375/rq704hx4375.pdf
Beyond those experiments I think Spider usage was limited to file serving
(’nfs’ and ‘ufs’) and printing (’npr’). It would seem logical that it was
used for remote login, but I have not found any traces of such usage. Same
for email usage.
Oh that's very interesting. The earliest Network Unix was all about remote
login and file transfer (not file servering). The earliest version were for
telnet/ftp clients. Later versions have the servers in them.
From what little I know, I think that Datakit became
operational in a test
network in 1979 and as a product in 1982.
OK. That's good to know. Are there good references for this?
I thought the
answer was "ARPANET" since we had a NCP on 4th edition
Unix
in late 1974 or early 1975 from the University of
Illinois dating from
that
time (the code in TUHS appears to be based on V6
+ a number of patches).
“Network Unix” (
https://www.rfc-editor.org/rfc/rfc681.html) was written
by Steve Holmgren, Gary Grossman and Steve Bunch in the last 3 months of
1974. To my best knowledge they used V5 and migrated to V6 as it came
along. I think they were getting regular update tapes, and they implemented
their system as a device driver (plus userland support) to be able to keep
up with the steady flow of updates. Greg Chesson was also involved with
this Arpanet Unix.
That makes sense. The version in our archive is very close to V6.
As far as I can tell, Arpanet Unix saw fairly wide
deployment within the
Arpanet research community, also as a front end processor for other systems.
My research matches that. Starting in about 1976 there was an explosion of
host names with -unix in their name. There's a number of ARPANET census
reports, or ARPANET resource reports that have lots of Unix systems. RFCs
show the explosion from 1977 onward. Google has these reports that can be
downloaded as a PDF, but are otherwise kinda hard to find :(.
A few years back I asked on this list why “Network
Unix” was not more
enthusiastically received by the core Unix development team and
(conceptually) integrated into the main code base. I understood the replies
as that (i) people were very satisfied with Spider; and (ii) being part of
Bell they wanted a networking system that was more compatible with the Bell
network, i.e. Datakit.
Yea. I never understood how Unix could be so leading edge in computing, yet
so backward (at least so poor at picking winners) at networking. But this
does make a certain amount of sense. We've also seen NIH in the children of
Unix as well (Linux, NetBSD, FreeBSD, OpenBSD and MacOS have all had this
issue, sometimes for good, sometimes for ill).
In my opinion both “Spider Unix” and “Arpanet Unix”
threw a very long
conceptual shadow. From Spider onwards, the Research systems viewed the
network as a device (Spider), that could be multiplexed (V8 streams) or
even mounted (Plan9). The Arpa lineage saw the network as a long distance
bidirectional pipe, with the actual I/O device hidden from view; this view
persists all the way to 4.2BSD and beyond.
Yes. It's difficult to match a connected socket to a network interface...
And sockets definitely take the view that it's not a device you are talking
to at all, but a special kind of thing that you can do normal I/O to (and a
few other special things too).
I often wonder if it was (is?) possible to come up
with a design with the
conceptual clarity of Plan9, but organised around the “network as a pipe”
view instead.
We'll never know.
Warner