Difference between revisions of "Chaosnet"

From Computer History Wiki
Jump to: navigation, search
(Implementations: Add NSWIT.)
(Added references for Ethernet and IP (and clarified those parts a little, e.g. implementations of the IP encapsulations); added a little history (and links to the Amber document); added a little about the Chaosnet bridge.)
Line 1: Line 1:
'''Chaosnet''' was the name for both an [[internetworking]] [[protocol suite|protocol family]], and an early [[Local area network|LAN]] technology, both invented at the [[MIT AI Laboratory]]; the latter was the LAN on which the protocol first ran.
+
'''Chaosnet''' is the name for both an [[internetworking]] [[protocol suite|protocol family]], and an early [[Local area network|LAN]] technology, both invented at the [[MIT AI Laboratory]]; the latter was the LAN on which the protocol first ran.
  
 
The LAN was a [[Carrier-Sense Multiple Access with Collision Detection|CSMA-CD]] system modeled on the [[Xerox PARC]] 3 megabit/second Experimental [[Ethernet]], running over [[cable TV]] [[coaxial cable]] (using standard CATV connectors to connect the [[transceiver]]s; not vampire taps, as on the Experimental Ethernet).
 
The LAN was a [[Carrier-Sense Multiple Access with Collision Detection|CSMA-CD]] system modeled on the [[Xerox PARC]] 3 megabit/second Experimental [[Ethernet]], running over [[cable TV]] [[coaxial cable]] (using standard CATV connectors to connect the [[transceiver]]s; not vampire taps, as on the Experimental Ethernet).
  
The protocol was later made to run over standard 10 megabit/second Ethernet, which largely supplanted the Chaosnet hardware. (On Ethernet, the [[Address Resolution Protocol]] is required to provide [[mapping]]s from 16-[[bit]] Chaos [[address]]es to the [[Media Access Control Address‎|48-bit addresses]] used by Ethernet.)
+
The protocol was later made to run over standard 10 megabit/second Ethernet (using protocol 0x0804 [https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml]), which largely supplanted the Chaosnet hardware. (On Ethernet, the [[Address Resolution Protocol]] is required to provide [[mapping]]s from 16-[[bit]] Chaos [[address]]es to the [[Media Access Control Address‎|48-bit addresses]] used by Ethernet, see [https://www.rfc-editor.org/rfc/rfc826].)
  
 
The protocol provided a [[reliable byte stream]] service, but also had a [[datagram]] mode.
 
The protocol provided a [[reliable byte stream]] service, but also had a [[datagram]] mode.
  
 
== History ==
 
== History ==
 +
 +
Chaosnet was developed at MIT around 1973-1975, for [[LISP machine]]s (personal workstations developed to run LISP). It was a local network protocol (about 1-2 km cable lengths), without central control (thus “chaos”). It was “cheap, efficient and fast”: ca 10 times the speed of ARPAnet, or 30000 characters per second (or “double this in some favorable cases”) [https://chaosnet.net/amber.html].
  
 
Chaosnet was initially called CAIOSnet.
 
Chaosnet was initially called CAIOSnet.
Line 13: Line 15:
 
== Encapsulation ==
 
== Encapsulation ==
  
Historically, the protocol ran only directly on LANs, with no encapsulation on hardware Chaosnet; on Ethernet, EtherType 0x0804 was used. Protocol 16. was allocated for carrying CHAOS packets in [[Internet Protocol]], but it is not clear if this was ever actually used then.
+
In addition to the (experimental) Ethernet implementations described above, several encapsulations have been developed. The standard one is using protocol 16 (decimal) on the [[Internet Protocol]] - this was implemented e.g in TOPS-20 and in Cisco routers.
  
 
Currently, emulated Chaosnet also uses:
 
Currently, emulated Chaosnet also uses:
  
* Unix domain socket
+
* Unix domain sockets (e.g. for the [CADR] emulator)
* [[User Datagram Protocol|UDP]]
+
* [[User Datagram Protocol|UDP]] (originally developed for [KLH10])
 
* [[TLS]] over [[TCP/IP]] (preferred encapsulation across the [[Internet]])
 
* [[TLS]] over [[TCP/IP]] (preferred encapsulation across the [[Internet]])
  
There is a [[bridge]]/[[router]] that understands all these, written by Bjorn Victor.  
+
There is a [[bridge]]/[[router]] that understands all these, including Ethernet and IP, written by Bjorn Victor. It also has an API (a "Network Control Program") providing Chaosnet for modern computers.
  
 
== Implementations ==
 
== Implementations ==
Line 52: Line 54:
 
== External links ==
 
== External links ==
  
* [http://bitsavers.trailing-edge.com/pdf/mit/ai/AIM-628_chaosnet.pdf AI memo 628] - Includes chapters on ITS, TOPS-20, Lisp Machine, and Unix implementations.
+
* [http://bitsavers.trailing-edge.com/pdf/mit/ai/AIM-628_chaosnet.pdf AI memo 628] - Includes chapters on ITS, TOPS-20, Lisp Machine, and Unix implementations. See [https://chaosnet.net/amber.html] for a HTML version of the memo.
 
* [https://github.com/PDP-10/its-vault/blob/master/files/sysdoc/chaord.57 SYSDOC;CHAORD >] - Initial design
 
* [https://github.com/PDP-10/its-vault/blob/master/files/sysdoc/chaord.57 SYSDOC;CHAORD >] - Initial design
* [https://github.com/PDP-10/its-vault/blob/master/files/moon/amber.66 MOON;AMBER >] - Another Moon document
+
* [https://github.com/PDP-10/its-vault/blob/master/files/moon/amber.66 MOON;AMBER >] - Another Moon document, early version of AI Memo 628.
 
* [https://tumbleweed.nu/r/lm-3/uv/amber.html Chaosnet] - Detailed descriptions of both the hardware system, and the protociol(s)
 
* [https://tumbleweed.nu/r/lm-3/uv/amber.html Chaosnet] - Detailed descriptions of both the hardware system, and the protociol(s)
 
* [https://github.com/PDP-10/its-vault/tree/master/files/chaos CHAOS;] - hardware interface designs, etc.
 
* [https://github.com/PDP-10/its-vault/tree/master/files/chaos CHAOS;] - hardware interface designs, etc.
 
** [https://github.com/PDP-10/its-vault/blob/master/files/chaos/chaos.plans CHAOS;CHAOS PLANS] - interesting details of the physical installation at MIT
 
** [https://github.com/PDP-10/its-vault/blob/master/files/chaos/chaos.plans CHAOS;CHAOS PLANS] - interesting details of the physical installation at MIT
* [https://chaosnet.net/ Chaosnet wiki] - central sire for a global emulated Chaosnet
+
* [https://chaosnet.net/ Chaosnet wiki] - central site for a global emulated Chaosnet
  
 
{{semi-stub}}
 
{{semi-stub}}
  
 
[[Category: Networking]]
 
[[Category: Networking]]

Revision as of 19:55, 30 December 2022

Chaosnet is the name for both an internetworking protocol family, and an early LAN technology, both invented at the MIT AI Laboratory; the latter was the LAN on which the protocol first ran.

The LAN was a CSMA-CD system modeled on the Xerox PARC 3 megabit/second Experimental Ethernet, running over cable TV coaxial cable (using standard CATV connectors to connect the transceivers; not vampire taps, as on the Experimental Ethernet).

The protocol was later made to run over standard 10 megabit/second Ethernet (using protocol 0x0804 [1]), which largely supplanted the Chaosnet hardware. (On Ethernet, the Address Resolution Protocol is required to provide mappings from 16-bit Chaos addresses to the 48-bit addresses used by Ethernet, see [2].)

The protocol provided a reliable byte stream service, but also had a datagram mode.

History

Chaosnet was developed at MIT around 1973-1975, for LISP machines (personal workstations developed to run LISP). It was a local network protocol (about 1-2 km cable lengths), without central control (thus “chaos”). It was “cheap, efficient and fast”: ca 10 times the speed of ARPAnet, or 30000 characters per second (or “double this in some favorable cases”) [3].

Chaosnet was initially called CAIOSnet.

Encapsulation

In addition to the (experimental) Ethernet implementations described above, several encapsulations have been developed. The standard one is using protocol 16 (decimal) on the Internet Protocol - this was implemented e.g in TOPS-20 and in Cisco routers.

Currently, emulated Chaosnet also uses:

  • Unix domain sockets (e.g. for the [CADR] emulator)
  • UDP (originally developed for [KLH10])
  • TLS over TCP/IP (preferred encapsulation across the Internet)

There is a bridge/router that understands all these, including Ethernet and IP, written by Bjorn Victor. It also has an API (a "Network Control Program") providing Chaosnet for modern computers.

Implementations

Hardware, and simulations

External links

  • AI memo 628 - Includes chapters on ITS, TOPS-20, Lisp Machine, and Unix implementations. See [4] for a HTML version of the memo.
  • SYSDOC;CHAORD > - Initial design
  • MOON;AMBER > - Another Moon document, early version of AI Memo 628.
  • Chaosnet - Detailed descriptions of both the hardware system, and the protociol(s)
  • CHAOS; - hardware interface designs, etc.
  • Chaosnet wiki - central site for a global emulated Chaosnet