Both sides previous revisionPrevious revisionNext revision | Previous revision |
chaosnet [2017-08-17 18:29] – [Future] victor | chaosnet [2017-08-29 12:42] (current) – [Conclusion] victor |
---|
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]. |
**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 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]]. | 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]]. |
| |
===== Conclusion ===== | ===== 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}}. | 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. | You can configure the bridge to connect subnets and/or individual hosts. |
* and interconnecting these three, of course! | * and interconnecting these three, of course! |
| |
See -READ-ME-.text in the source archive. | See also ''-READ-ME-.text'' in the source archive. |