ITS wiki

The Incompatible Timesharing System

User Tools

Site Tools


chaosnet

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
chaosnet [2017-08-17 18:23] – [Chaosnet link implementations] victorchaosnet [2017-08-29 12:42] (current) – [Conclusion] victor
Line 2: Line 2:
 This page is about Chaosnet, the network protocol developed at MIT about 1975 for Lisp Machines. It was also implemented for TOPS-20, VAX/VMS, Unix, and of course ITS. This page is about Chaosnet, the network protocol developed at MIT about 1975 for Lisp Machines. It was also implemented for TOPS-20, VAX/VMS, Unix, and of course ITS.
  
-Read the MIT AI Memo 628: [[https://dspace.mit.edu/handle/1721.1/6353|Chaosnet]] by David A. Moon for most of the gory details.+Read the MIT AI Memo 628: [[https://dspace.mit.edu/handle/1721.1/6353|Chaosnet]] by David A. Moon for most of the gory details. See also [[https://groups.google.com/d/topic/comp.protocols.tcp-ip/AeJA1K7uA-o/discussion|comp.protocols.tcp-ip]].
  
 +Have a look at [[chaos-dns|how to add Chaosnet info to your DNS]].
 +
 +Feel free to add and correct stuff on this page!
 ===== Chaosnet link implementations ===== ===== Chaosnet link implementations =====
 **A.** The original Chaosnet was developed in 1975 at MIT, running over a coaxial cable allowing 2 (or 4?) Mb/s [source needed]. It was implemented at least on CADR Lisp Machines [first-hand experience], TOPS-20 [first-hand experience], VAX/VMS, Unix, and ITS. **A.** The original Chaosnet was developed in 1975 at MIT, running over a coaxial cable allowing 2 (or 4?) Mb/s [source needed]. It was implemented at least on CADR Lisp Machines [first-hand experience], TOPS-20 [first-hand experience], VAX/VMS, Unix, and ITS.
-The main sources would be the original MIT AIM 628, section 2. See also [[https://groups.google.com/d/topic/comp.protocols.tcp-ip/AeJA1K7uA-o/discussion|comp.protocols.tcp-ip]].+The main sources would be the original MIT AIM 628, section 2. 
  
 **B.** Later, Chaosnet was running on standard Ethernet (at 10 Mb/s and more). It was implemented at least on later Lisp Machines [LMI Lambda, Symbolics 36xx, TI Explorer, first-hand experience]. **B.** Later, Chaosnet was running on standard Ethernet (at 10 Mb/s and more). It was implemented at least on later Lisp Machines [LMI Lambda, Symbolics 36xx, TI Explorer, first-hand experience].
Line 18: Line 21:
 **E.** For the [[http://www.unlambda.com/cadr/|usim CADR emulator]] an implementation of Chaosnet over Unix named sockets was done, e.g. allowing the CADR emulator to contact Chaosnet servers on the unix host running the emulator. A server process ("chaosd") opens a socket which forwards between client sockets in a broadcast manner. The packets are prepended by a four-byte header (MSB of length, LSB of length, 1, 0). **E.** For the [[http://www.unlambda.com/cadr/|usim CADR emulator]] an implementation of Chaosnet over Unix named sockets was done, e.g. allowing the CADR emulator to contact Chaosnet servers on the unix host running the emulator. A server process ("chaosd") opens a socket which forwards between client sockets in a broadcast manner. The packets are prepended by a four-byte header (MSB of length, LSB of length, 1, 0).
  
-Programs to "bridge" between implementations of (B) and (D) and (D) and (E) were implemented [by BV] to interconnect a Symbolics 3640 (type B) with an ITS under klh10 (type D) and a usim CADR (type E). (That has now been refined into a single bridge program between (B), (D) and (E).)+Programs to "bridge" between implementations of (B) and (D) and (D) and (E) were implemented [by BV] to interconnect a Symbolics 3640 (type B) with an ITS under klh10 (type D) and a usim CADR (type E). That has now been refined into a single bridge program between (B), (D) and (E), see the end of this page.
  
-See also http://josephoswald.nfshost.com/chaos-python/summary.html, http://josephoswald.nfshost.com/chaos-lisp/summary.html for implementations of (E) in Python and CommonLisp.+See also Joseph Oswald's [[http://josephoswald.nfshost.com/chaos-python/summary.html|implementation of (E) and routing with (D) in Python]]and [[http://josephoswald.nfshost.com/chaos-lisp/summary.html|implementation of (D) in CommonLisp]].
 ==== Analysis ==== ==== Analysis ====
 (A) is obsolete. (A) is obsolete.
Line 47: Line 50:
 none of the standards seem widely implemented? none of the standards seem widely implemented?
  
-===== Conclusion ===== 
-To interconnect Chaosnets, the "cbridge" program was developed, building on "echaos" (bridge (B) and (D)) and "chudprt" (bridging (B) and (E)). See the source {{ :cbridge.tar.gz |here}}. 
  
 One idea could be to rewrite klh10/ch11 to use real Chaosnet-over-ethernet, but klh10 often runs behind a tun interface (with only IP), so there is no direct Ethernet access. One idea could be to rewrite klh10/ch11 to use real Chaosnet-over-ethernet, but klh10 often runs behind a tun interface (with only IP), so there is no direct Ethernet access.
Line 57: Line 58:
 Another, more interesting, idea would be to hack Open Genera to use tap (so Chaos can be used). Another, more interesting, idea would be to hack Open Genera to use tap (so Chaos can be used).
  
 +===== Conclusion =====
 +To interconnect Chaosnets, the "cbridge" program was developed, building on "echaos" (bridge (B) and (D)) and "chudprt" (bridging (B) and (E)). See the source [[https://github.com/bictorv/chaosnet-bridge|here]].
 +
 +You can configure the bridge to connect subnets and/or individual hosts. 
 +Use cases could be
 +  * connecting remote Chaosnet-over-Ethernets, e.g. to communicate with  others using [[https://github.com/dseagrav/ld|LambdaDelta]] (use a Chaos-over-udp link between them).
 +  * connecting remote Chaosnet-over-unix-sockets, e.g. to communicate  with others using usim (use a Chaos-over-udp link between them).
 +  * connecting ITSes running on klh10 - rather than configuring your  klh10 to handle all other chudp hosts and iptables to forward chudp  pkts over the tun interface, keep chudp routing in the bridge  program. Adding new chudp hosts now doesn't require klh10  configuration. 
 +  * and interconnecting these three, of course!
 +
 +See also ''-READ-ME-.text'' in the source archive.
chaosnet.1502986994.txt.gz · Last modified: by victor