Be careful talking about "spider" in UNIX contexts, thats a UK
(Scottish?) UNIX consultancy, which did JANET X.25 related work.
Different Spider. Spider Systems maybe.
-G
On Thu, Jan 23, 2020 at 11:01 AM Warner Losh <imp(a)bsdimp.com> wrote:
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