Chaosnet was two things: a type of network hardware (~4Mbps virtual
token bus), and a protocol stack that first ran on top of the
hardware. It provided similar functionality to TCP/IP and I think was
first developed and implemented at the time the TCP/IP suite was first
being designed (mid to late 70's). You'd have reliable streams and
unreliable datagrams. The host address space was smaller, 16 bits.
There were minor but notable differences between the way it did
reliable streams and the way TCP does (a Chaos open could include
arguments, data block boundaries were preserved and the close worked
slightly differently from the way TCP's does).
Internally, it didn't differentiate between the transport and network
layers as much as TCP/IP does (smush TCP, UDP and IP together into one
protocol and you get something similar to the layering of Chaosnet).
It didn't have end-to-end error checks on individual frames, which
gave many people a good source of experience leading to the belief
that end-to-end checks are necessary. Also, for reliable streams,
Chaosnet sequence numbers were for packets rather than bytes.
The hardware and the protocol stack were developed by the MIT
Artificial Intelligence lab, to provide a high speed local network for
the lisp machines they were building. Lisp machines would access files
from their fileservers (often PDP 10's running ITS, the Incompatible
Timesharing System) using the FILE application protocol. The lisp
machines had full page bitmapped displays with mice. This was ten to
fifteen years ago, remember.
A number of other groups around the MIT campus adopted both the
hardware and the protocols, and for a long time there was a sort-of
religious war between the TCP/IP and Chaosnet factions at MIT. I was
on the TCP side, but I liked a lot of things that the Chaosnet
protocol did (finally writing an implementation of it opened my eyes a
little), and I have a lot of respect for its design. Also, the
hardware was pretty neat.
Eventually, the AI Lab didn't want to have to support the hardware
anymore, and it moved to using the Chaosnet protocols over ethernet,
which became widely available in the early-to-mid 80's. Symbolics and
LMI both supported Chaosnet on their commercially available lisp
machines; I think TI might have on the Explorer, but I don't remember
for sure. Eventually LMI went boom and Symbolics brought up TCP. As
TCP became more and more available, more parts of MIT switched over to
using it. That's why I've been refering to Chaosnet in the past tense
throughout this note. I believe there are still a few systems around
MIT runing it, and probably some at Symbolics, but by and large, it's
There's a document called "Chaosnet" by David Moon (if I remember
correctly) available from the AI Lab, it's good reading and it will
introduce people to some slightly different ideas about how to do a
reliable stream protocol. It also has a description of some pretty
interesting network hardware in it. There's a number attached to it,
and if I were on the east coast, I'd go find out what it is, but my
copy is in a box in the garage somewhere, and the east to west coast
connectivity isn't doing so well these days, so you'll have to dig it
out of the AI lab yourself. The main information number for MIT is
(617) 253-1000, see if they can give you the number of documentation
in the AI Lab.
- john romkey
USENET/UUCP: rom...@asylum.sf.ca.us Internet: rom...@xx.lcs.mit.edu
"Can you find me soft asylum..." - The Doors
David Moon, "ChaosNet", AI Memo 628.
You can send a note to public...@wheaties.ai.mit.edu or mail to
Ms. Blythe Heepe,
MIT AILab, 545 Technology Square,
Cambridge, MA 02139
and see if copies are still available.
>> [...] The host address space was smaller, 16 bits.
This was in fact a conscious decision. The design of the protocols
was known to be biased towards campus sized networks and was
explicitly intended to be internetworked with gateways above the
network layer, rather than routers as the IP protocols are. Several
of these gateways exist, it's possible to transparently telnet from a
ChaosNet host to a host on the Internet, the reverse was never
implemented because TCP opens don't have arguments, someone later
proposed a way to do it with address mapping, but this was never
implemented to my knowledge.
>> Internally, it didn't differentiate between the transport and network
>> layers as much as TCP/IP does (smush TCP, UDP and IP together into one
>> protocol and you get something similar to the layering of Chaosnet).
One of the features that I liked about the protocol stack was the
ability to have one "connection" with a fully error-checked and
sequenced byte stream, with out-of-band packets. This allowed
terminal applications to send interrupt characters that would succeed
in interrupting type-ahead.
>> [...] Symbolics and LMI both supported Chaosnet [...] I think
>> TI might have on the Explorer.
Right, TI did have it, on both the Explorer and the Nu.
>> Eventually LMI went boom and Symbolics brought up TCP.
Actually all varieties of LispMachine I know of speak both Chaos and
TCP/IP. The code frequently is arranged to try one and then fall back
to the other for various services.
>> [...] I believe there are still a few systems around MIT running it,
>> and probably some at Symbolics, but by and large, it's faded away.
At this instant 28 Chaos subnets are reachable at MIT (vs 47 IP
subnets), with 441 hosts registered and over 300 on-line now. It
hasn't quite faded away yet it's just that TCP/IP has been growing so
much faster around here.
>> There's a document called "Chaosnet" by David Moon (if I remember
>> correctly) available from the AI Lab, [...]
Yes, I believe the latest version is AI Lab Memo #628, June 1981, it
is sometimes referred to as the "Amber" document (from "9 Princes in
Amber", also where the name Chaos comes from). I also recommend it
for people looking for a different perspective on how to do local area
networking. The AI Lab Publications office is at +1-(617)-253-6773
and by E-Mail at p...@Wheaties.AI.MIT.Edu (I think).
/| /| /| \ Mike Patton, Network Hacker
/ | / | /_|__/ Laboratory for Computer Science
/ |/ |/ |atton Massachusetts Institute of Technology
Disclaimer: The opinions expressed above are a figment of the phosphor
on your screen and do not represent the views of MIT, LCS, or MAP. :-)