ITS wiki

The Incompatible Timesharing System

User Tools

Site Tools


ch11

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
ch11 [2020-12-22 09:22] victorch11 [2021-02-22 16:56] (current) – [Ideas for future work:] victor
Line 53: Line 53:
  
  
-  ?? 2005-04-23 +  2005-04-23: Fixed a long-standing bug in dynamic CHUDP handling. Chapter 7 in AIM 628 doesn't give much (and doesn't always match the code in SYSTEM;CHAOS). 
-  ::  Fixed a long-standing bug in dynamic CHUDP handling. Chapter 7 in AIM 628 doesn't give much (and doesn't always match the code in SYSTEM;CHAOS). !! +  2005-03-08: Found my old copy of MIT A.I. Memo 628: Chaosnet by David Moon. At some point I'll go through the code and clean things up, add missing functionality, etc. 
-  ?? 2005-03-08 +  2005-02-09: Fixed silly typo in lost count handling. 
-  ::  Found my old copy of MIT A.I. Memo 628: Chaosnet by David Moon. At some point I'll go through the code and clean things up, add missing functionality, etc. !! +  2005-01-31: Finally got the interrupt handling and synchronization right. Along the way,
-  ?? 2005-02-09 +
-  ::  Fixed silly typo in lost count handling. !! +
-  ?? 2005-01-31 +
-  ::  Finally got the interrupt handling and synchronization right. Along the way,+
           implemented "lost count" in CSR           implemented "lost count" in CSR
           added basic routing support (if DPCHUDP_DO_ROUTING is non-zero): if a packet is sent to DEFAULT_CHAOS_ROUTER (default 03040) or to another subnet, look up header destination in CHIP table, and if found, send it there (after updating forwarding count, trailer destination, and checksum). If the destination is not found, but a host on the same subnet is found, send it there and hope for the best (currently it will be dropped). Anyway, it now works to have ITSes on different subnets, as long as the CH11 knows about it.            added basic routing support (if DPCHUDP_DO_ROUTING is non-zero): if a packet is sent to DEFAULT_CHAOS_ROUTER (default 03040) or to another subnet, look up header destination in CHIP table, and if found, send it there (after updating forwarding count, trailer destination, and checksum). If the destination is not found, but a host on the same subnet is found, send it there and hope for the best (currently it will be dropped). Anyway, it now works to have ITSes on different subnets, as long as the CH11 knows about it. 
-     !! +  * 2005-01-29: Avoid race condition, handle CSR bits better. dpchudp is still receiving short packets from dvch11 which dvch11 doesn't detect sending - reason unknown, the packets are ignored, and the device "works", but I'd like to fix it anyway. 
-  ?? 2005-01-29 +  2005-01-25: Enable interrupts correctly (handle %CAREN/%CATEN in the right order). 
-  ::  Avoid race condition, handle CSR bits better. dpchudp is still receiving short packets from dvch11 which dvch11 doesn't detect sending - reason unknown, the packets are ignored, and the device "works", but I'd like to fix it anyway. !! +  2005-01-24: Avoid auto-retransmissions (check ch_outactf before sending anything). 
-  ?? 2005-01-25 +  2005-01-23: 
-  ::  Enable interrupts correctly (handle %CAREN/%CATEN in the right order). !! +
-  ?? 2005-01-24 +
-  ::  Avoid auto-retransmissions (check ch_outactf before sending anything). !! +
-  ?? 2005-01-23 +
-  ::+
     *      Minor portability fixes (after porting to Solaris/Sparc).     *      Minor portability fixes (after porting to Solaris/Sparc).
     *      Checksum now checked in dpimp.     *      Checksum now checked in dpimp.
     *      Dynamic entries in CHIP table are refreshed if it's more than 5 minutes since last reception from that address.     *      Dynamic entries in CHIP table are refreshed if it's more than 5 minutes since last reception from that address.
     *      Front-end command: dev chaos chiptable to show current contents of CHIP table.      *      Front-end command: dev chaos chiptable to show current contents of CHIP table. 
-    !! +  * 2005-01-19: First release.
-  ?? 2005-01-19 +
-  ::  First release. !!+
  
 ===== Ideas for future work: ===== ===== Ideas for future work: =====
Line 85: Line 74:
   *  Setting to only accept dynamic ip/port for specific chaos addresses. (Allow for future authentication extension?)   *  Setting to only accept dynamic ip/port for specific chaos addresses. (Allow for future authentication extension?)
   *  Dynamic setting for chip table ttl.   *  Dynamic setting for chip table ttl.
-  *  Better routing support (see [[https://github.com/bictorv/chaosnet-bridge|the Chaosnet bridge program]])+  *  Better routing support (fixed by [[https://github.com/bictorv/chaosnet-bridge|the Chaosnet bridge program]])
   *  Implement loopback (not LUP, but Chaos pkts to self). Currently they are in practice dropped. I'm not sure ITS handles this very well anyway.   *  Implement loopback (not LUP, but Chaos pkts to self). Currently they are in practice dropped. I'm not sure ITS handles this very well anyway.
   *  Use DNS to find Chaos addresses - see [[https://chaosnet.net/|more info here]].   *  Use DNS to find Chaos addresses - see [[https://chaosnet.net/|more info here]].
   *  More CHUDP protocol functions?   *  More CHUDP protocol functions?
   *  Security: while ITS with PANDA/PWORD may keep malicious people out, there are gaping holes once you have Chaosnet access. If dynamic CHIP entries are allowed, anyone can come up with a random Chaos address and read/write your system over MLDEV. Possible improvements:   *  Security: while ITS with PANDA/PWORD may keep malicious people out, there are gaping holes once you have Chaosnet access. If dynamic CHIP entries are allowed, anyone can come up with a random Chaos address and read/write your system over MLDEV. Possible improvements:
-    * Use DTLS - or use the TLS link type in [[https://github.com/bictorv/chaosnet-bridge|the Chaosnet bridge program]] +    * Use the TLS link type in [[https://github.com/bictorv/chaosnet-bridge|the Chaosnet bridge program]] 
-    *    Let MLSLV check that the chaos address translates to an ITS name in the ITSNMS table.+    *    Let MLSLV check that the chaos address translates to an ITS name in the ITSNMS table (or implement a cbridge-based firewall)
     *  Verify CHIP enties by checking that DNS entries for CH and IN classes match. This doesn't work for Chaos nodes with dynamic IP addresses (which is what it's supposed to support).     *  Verify CHIP enties by checking that DNS entries for CH and IN classes match. This doesn't work for Chaos nodes with dynamic IP addresses (which is what it's supposed to support).
  
 See [[https://github.com/bictorv/chaosnet-bridge|the Chaosnet bridge program]] if you want to use Chaosnet in Linux/Unix See [[https://github.com/bictorv/chaosnet-bridge|the Chaosnet bridge program]] if you want to use Chaosnet in Linux/Unix
ch11.1608625332.txt.gz · Last modified: by victor