Chaosnet wiki

The global Chaosnet site

User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start [2020-09-16 15:16] – [3. Who now uses Chaosnet?] victorstart [2023-11-27 12:14] (current) – [Chaosnet] victor
Line 1: Line 1:
 ====== Chaosnet ====== ====== Chaosnet ======
- +{{ Chaos transceiver cropped small.png?180|Chaosnet transceiver}} 
-This site is about the communication protocol Chaosnet. This page gives some background information.+This site is about the computer communications protocol Chaosnet. This page gives some **background information**.
  
 See also other pages for See also other pages for
Line 7: Line 7:
   * some notes about [[chaos-dns|Chaosnet DNS]],    * some notes about [[chaos-dns|Chaosnet DNS]], 
   * info about the [[global|Global Chaosnet]],    * info about the [[global|Global Chaosnet]], 
 +  * how to set up a [[local|local Chaosnet]],
   * [[protocol|Chaosnet protocol details]], and    * [[protocol|Chaosnet protocol details]], and 
   * more [[resources|Chaosnet resources]].   * more [[resources|Chaosnet resources]].
Line 12: Line 13:
 ===== - What is Chaosnet? ===== ===== - What is Chaosnet? =====
 {{ cadr.jpg?180|A CADR Lisp Machine}} {{ cadr.jpg?180|A CADR Lisp Machine}}
-[[wp>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"). It was developed around the same time as Ethernet and TCP (or just before).+[[wp>Chaosnet]] was developed at MIT around 1973-1975, for [[wp>Lisp machine|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"). It was developed around the same time as Ethernet and TCP (or just before).
  
-It was a full protocol stack, and consisted of a physical+link layer protocol similar to Ethernet (broadcast bus, coax cable, CSMA/CD+CA), a network-layer protocol (corresponding to IP), transport layer protocols (corresponding to UDP and TCP), and application layer protocols. ((See [[https://dspace.mit.edu/handle/1721.1/6353|MIT AI Memo 628]]: //Chaosnet//, by David A. Moon (webified [[https://tumbleweed.nu/r/lm-3/uv/amber.html|here]]) for more (historical) details.))+It was a full protocol stack, and consisted of a physical+link layer protocol similar to Ethernet (broadcast bus, coax cable, CSMA/CD+CA), a network-layer protocol (corresponding to IP), transport layer protocols (corresponding to UDP and TCP), and application layer protocols. ((See [[https://dspace.mit.edu/handle/1721.1/6353|MIT AI Memo 628]]: //Chaosnet//, by David A. Moon (webified [[https://chaosnet.net/amber.html|here]]) for more (historical) details.))
  
 The physical+link layer was later replaced by Ethernet (see below). The physical+link layer was later replaced by Ethernet (see below).
Line 20: Line 21:
 ===== - Who used Chaosnet? ===== ===== - Who used Chaosnet? =====
  
-Chaosnet was developed at MIT, where it was initially implemented for LISP machines and ITS, then also for TOPS-20, VMS, Unix, and MINITS. At MIT, there were approximately computers and subnets in use in YYYY.+Chaosnet was developed at MIT, where it was initially implemented for [[wp>Lisp machine|LISP machines]] and [[wp>Incompatible Timesharing System|ITS]], then also for [[wp>TOPS-20]], VMS, Unix, and MINITS. At MIT, there were approximately 447 computers and 17 subnets in use in 1989 (according to ''SYSHST;HSTMIT 1115'').
  
-The main spread in the rest of the world was through LISP machines: the original MIT machines, the LMI and Symbolics machines, and the Texas Instruments machines. Only a few other types of computers ran Chaosnet, but it was apparently popular enough that [[https://docstore.mik.ua/univercd/cc/td/doc/product/software/ssr83/rpc_r/48381.htm|Cisco implemented it in their routers]].+The main spread in the rest of the world was through LISP machines: the original MIT machines, the [[wp>Lisp Machines|LMI]] and [[wp>Symbolics]] machines, and the [[wp>TI Explorer|Texas Instruments]] machines. Only a few other types of computers ran Chaosnet, but it was apparently popular enough that [[https://docstore.mik.ua/univercd/cc/td/doc/product/software/ssr83/rpc_r/48381.htm|Cisco implemented it in their routers]].
  
 ===== - Who now uses Chaosnet? ===== ===== - Who now uses Chaosnet? =====
  
-Very few of the machines that originally supported Chaosnet have survived to this day, but some remain; also the Symbolics Open Genera (a port of the Symbolics LISP machine system to modern hardware) supports Chaosnet over Ethernet.+Very few of the machines that originally supported Chaosnet have survived to this day, but some remain; also the  [[wp>Genera (operating system)|Symbolics Open Genera]] (a port of the Symbolics LISP machine system to modern hardware) supports Chaosnet over Ethernet. 
 + 
 +Today, Chaosnet can be used on (at least) the following systems (see below for more details): 
 + 
 +  * [[wp>ITS]] under the [[https://github.com/PDP-10/klh10|klh10]] or [[https://github.com/simh/simh|SIMH]] emulators 
 +  * the CADR [[wp>Lisp Machine]] with the [[https://tumbleweed.nu/r/usim/doc/trunk/README.md|usim]] emulator 
 +  * The [[https://github.com/dseagrav/ld|LambdaDelta]] Lisp Machine emulator 
 +  * [[https://github.com/Chaosnet/Chaosnet-for-4.1BSD|4.1BSD]] Unix under the simh emulator 
 +  * The [[https://github.com/Chaosnet/minits|MINITS]] operating system under the simh emulator 
 +  * [[wp>TOPS-20]] (work in progress) 
 +  * [[wp>Multics]] (work in progress) under the [[https://gitlab.com/dps8m/dps8m/|DPS8M]] emulator 
 +  * most linux-like operating systems (Linux, OpenBSD, macOS) using the NCP interface of the [[https://github.com/bictorv/chaosnet-bridge|Chaosnet bridge]] program. 
 + 
 +==== - Historical developments ====
  
-However, around 2004-2005,  Chaosnet support was developed for hardware emulators used in ITS and LISP machines. Motivating factors included historical accuracy and functionality. Also in 2005, [[https://gitlab.isc.org/isc-projects/bind9|bind9]], the popular DNS server, was [[its>chaos-dns|patched to support Chaosnet data]] (it was described in [[rfc>1024|the original RFC]], and bind9 now supports it out-of-the-box).+Around 2004-2005,  Chaosnet support was developed for hardware emulators used in ITS and LISP machines. Motivating factors included historical accuracy and functionality. Also in 2005, [[https://gitlab.isc.org/isc-projects/bind9|bind9]], the popular DNS server, was [[its>chaos-dns|patched to support Chaosnet data]] (it was described in [[rfc>1024|the original RFC]], and bind9 now supports it out-of-the-box).
  
 {{ ch11-front.png?100|CH11 interface - picture by Angelo Papenhoff}} {{ ch11-front.png?100|CH11 interface - picture by Angelo Papenhoff}}
-For the [[https://github.com/PDP-10/klh10|klh10 emulator]], an implementation of the [[its>ch11|CH11 hardware interface]] was done (around 2004) which transports Chaosnet packets in UDP datagrams, and where mappings could be defined between Chaosnet host addresses and IP addresses (and UDP ports). For the CADR emulator [[http://www.unlambda.com/cadr/|usim]] by Brad Parker, an implementation over "unix" sockets was included, including a file server, but which only allowed local communication on the host system.+For the [[https://github.com/PDP-10/klh10|klh10 emulator]], an implementation of the [[its>ch11|CH11 hardware interface]] was done (around 2004) which transports Chaosnet packets in UDP datagrams, and where mappings could be defined between Chaosnet host addresses and IP addresses (and UDP ports). For the CADR emulator [[http://www.unlambda.com/cadr/|usim]] by Brad Parker, an implementation over "unix" sockets was included, including a file server, but which only allowed local communication on the host system. (For the latest version of the CADR emulator, see [[https://tumbleweed.nu/r/usim/doc/trunk/README.md|here]]!)
  
 {{ symbolics3640.gif?100|A Symbolics 3640 Lisp machine}} {{ symbolics3640.gif?100|A Symbolics 3640 Lisp machine}}
 Around 2004-2005, a simple program was written to bridge between the UDP encapsulation and Chaosnet over Ethernet (to communicate with a real Symbolics 3640 LISP machine without TCP/IP) and another to bridge between the UDP encapsulation and the unix sockets. Around 2004-2005, a simple program was written to bridge between the UDP encapsulation and Chaosnet over Ethernet (to communicate with a real Symbolics 3640 LISP machine without TCP/IP) and another to bridge between the UDP encapsulation and the unix sockets.
  
-In 2016, Lars Brinkhoff started [[https://github.com/PDP-10/its|the ITS resurrection project]] which made ITS more wide-spread, and in 2017, Daniel Seagraves released [[https://github.com/dseagrav/ld|ld]], an emulator of the LMI Lambda lisp machine, which supports Chaosnet over Ethernet.  +In 2016, Lars Brinkhoff started [[https://github.com/PDP-10/its|the ITS resurrection project]] which made ITS more wide-spread, and in 2017, Daniel Seagraves released [[https://github.com/dseagrav/ld|LambdaDelta]], an emulator of the LMI Lambda lisp machine, which supports Chaosnet over Ethernet.  
-(There is also Chaosnet support for [[https://github.com/Chaosnet/Chaosnet-for-4.1BSD|4.1BSD]] and [[https://github.com/Chaosnet/minits|MINITS]].)+There is also Chaosnet support for [[https://github.com/Chaosnet/Chaosnet-for-4.1BSD|4.1BSD]] and [[https://github.com/Chaosnet/minits|MINITS]], e.g. under the [[https://github.com/simh/simh|SIMH]] emulator. Work is in progress on restoring Chaos also to [[wp>TOPS-20]] and [[wp>Multics]].
 {{ Lambda.png?100|An LMI Lambda}} {{ Lambda.png?100|An LMI Lambda}}
  
 With more systems in more places, the need for a more complex [[https://github.com/bictorv/chaosnet-bridge|Chaosnet bridge]] program arose, which integrated the previous functionalitites, with routing between them, and also gradually added support for more link layers (encapsulation in TLS and in IPv4/IPv6). By encapsulating Chaosnet packets in modern protocols, the scope was extended from the very local network (a single host in the case of unix sockets, or a local network in the case of Ethernet) to a **//[[global|global Chaosnet]]//**. With more systems in more places, the need for a more complex [[https://github.com/bictorv/chaosnet-bridge|Chaosnet bridge]] program arose, which integrated the previous functionalitites, with routing between them, and also gradually added support for more link layers (encapsulation in TLS and in IPv4/IPv6). By encapsulating Chaosnet packets in modern protocols, the scope was extended from the very local network (a single host in the case of unix sockets, or a local network in the case of Ethernet) to a **//[[global|global Chaosnet]]//**.
  
-In 2020, the Chaosnet transport layer (a Network Control Program or [[https://github.com/bictorv/chaosnet-bridge/NCP.md|NCP]]) was added to the bridge program. This makes it reasonably easy to adapt existing programs to use Chaosnet, and also to write application and servers using Chaosnet. Now also modern Linux/Unix/macOS-based computers can be Chaosnet nodes, and you can log in to your ITS system using [[rfc>734|Supdup]] [[https://github.com/Chaosnet/supdup|over Chaosnet]].+In 2020, the Chaosnet transport layer (a Network Control Program or [[https://github.com/bictorv/chaosnet-bridge/blob/master/NCP.md|NCP]]) was added to the bridge program. This makes it reasonably easy to adapt existing programs to use Chaosnet, and also to write application and servers using Chaosnet. Now also modern Linux/Unix/macOS-based computers can be Chaosnet nodes, and you can log in to your ITS system using [[rfc>734|Supdup]] [[https://github.com/PDP-10/supdup|over Chaosnet]].
  
  
start.1600262187.txt.gz · Last modified: 2020-09-16 15:16 by victor

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki