Chaosnet wiki

The global Chaosnet site

User Tools

Site Tools


protocol

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
protocol [2021-05-23 16:52] – [1.1 Packet format] victorprotocol [2023-11-22 16:28] (current) – [Chaosnet protocol details] victor
Line 3: Line 3:
 The original spec, MIT AIM 628, is sometimes not totally clear, and partly out-of-date (e.g. for the link layer and down).  What is below might perhaps not be clearer, but more succinct. The real definition is in the behaviour of the implementations - "use the source, Luke!" ((See e.g. the [[https://github.com/bictorv/chaosnet-bridge|Chaosnet bridge]], the [[https://github.com/PDP-10/its/blob/master/src/system/chaos.289|ITS implementation]], and the LISP machine implementations.)) The original spec, MIT AIM 628, is sometimes not totally clear, and partly out-of-date (e.g. for the link layer and down).  What is below might perhaps not be clearer, but more succinct. The real definition is in the behaviour of the implementations - "use the source, Luke!" ((See e.g. the [[https://github.com/bictorv/chaosnet-bridge|Chaosnet bridge]], the [[https://github.com/PDP-10/its/blob/master/src/system/chaos.289|ITS implementation]], and the LISP machine implementations.))
  
 +For another list of Chaosnet protocols, see [[https://gunkies.org/wiki/List_of_Chaosnet_application_protocols|the Computer History Wiki]].
 ===== - Addresses and packets ===== ===== - Addresses and packets =====
  
Line 68: Line 69:
  
 Chaosnet addresses are independent of IP/IPv6 addresses, but can be mapped to IP/IPv6 addresses either individually, or for a whole subnet (see Chaosnet addresses are independent of IP/IPv6 addresses, but can be mapped to IP/IPv6 addresses either individually, or for a whole subnet (see
-[[https://docstore.mik.ua/univercd/cc/td/doc/product/software/ssr83/rpc_r/48381.htm|Cisco's implementation]], the [[http://www.fpgaretrocomputing.org/pdp10x/|PDP-10/X]] project, or [[https://github.com/bictorv/chaosnet-bridge|cbridge]]).+[[https://docstore.mik.ua/univercd/cc/td/doc/product/software/ssr83/rpc_r/48381.htm|Cisco's implementation]], the [[http://www.fpgaretrocomputing.org/pdp10x/|PDP-10/X]] project, or [[https://github.com/bictorv/chaosnet-bridge|cbridge]]). A version of TOPS-20 implemented IP encapsulation.
  
 Note that Chaosnet addresses where the host byte is 0xFF (which is legal by the specification) cannot be used with subnet mappings on IPv4, since they map to the broadcast address. Note that Chaosnet addresses where the host byte is 0xFF (which is legal by the specification) cannot be used with subnet mappings on IPv4, since they map to the broadcast address.
Line 134: Line 135:
 ===== - Application layer ===== ===== - Application layer =====
  
-Many of the protocols are informally described in Section 5 of [[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#Higher_002dLevel-Protocols|here]]). Some are specified in RFCs, while some exist only in source code.+Many of the protocols are informally described in Section 5 of [[https://dspace.mit.edu/handle/1721.1/6353|MIT AI Memo 628]]: //Chaosnet//, by David A. Moon (webified [[https://chaosnet.net/amber.html#Higher_002dLevel-Protocols|here]]). Some are specified in RFCs, while some exist only in source code.
  
 Below, "simple" means a connectionless protocol which returns an ANS packet with data, and "stream" means that a connection is established (using OPN and STS). Below, "simple" means a connectionless protocol which returns an ANS packet with data, and "stream" means that a connection is established (using OPN and STS).
Line 179: Line 180:
 (Yes, it is confusing that the [[rfc>1196|TCP protocol "finger"]] corresponds to NAME rather than to FINGER.) (Yes, it is confusing that the [[rfc>1196|TCP protocol "finger"]] corresponds to NAME rather than to FINGER.)
  
 +''LOAD'' is a simple protocol, which responds with a two-line ANSwer stating the "fair share" if you would use the remote system, and the number of users currently logged in. Example:
 +
 +  Fair Share: 96%
 +  Users: 1.
 ==== - Host lookup (stream) ==== ==== - Host lookup (stream) ====
-''HOSTAB'', see [[https://tumbleweed.nu/r/lm-3/uv/amber.html#Host-Table|here]], is used to look up hosts in a host table. A host name is sent to the server, which responds with attributes of the host followed by an EOF; the interaction can be repeated until the connection is closed.+''HOSTAB'', see [[https://chaosnet.net/amber.html#Host-Table|here]], is used to look up hosts in a host table. A host name is sent to the server, which responds with attributes of the host followed by an EOF; the interaction can be repeated until the connection is closed.
  
 ''DOMAIN'' is a protocol for doing look-ups in the [[rfc>1034|Domain Name System]]. It works just like the TCP version of DNS (port 53). ''DOMAIN'' is a protocol for doing look-ups in the [[rfc>1034|Domain Name System]]. It works just like the TCP version of DNS (port 53).
  
 +''DNS'' is a (non-standard) simple protocol interface to the Domain Name System, implemented by the [[https://github.com/bictorv/chaosnet-bridge|Chaosnet Bridge]]. The RFC argument is the DNS query (as plain 8-bit bytes), and the ANS contains the response. Note the size limit of Chaosnet packets (488 bytes).
 ==== - Silly protocols (stream) ==== ==== - Silly protocols (stream) ====
  
Line 212: Line 218:
 ==== - File transfer and disk access ==== ==== - File transfer and disk access ====
  
-''[[https://github.com/PDP-10/its/blob/master/doc/sysdoc/chaos.file|FILE]]'' is implemented by ITS, Lisp Machines, and the Chaos-over-unix-sockets implementation.  A modernised version, used by Symbolics, appears in [[rfc>1037|RFC 1037]].+''[[https://github.com/PDP-10/its/blob/master/doc/sysdoc/chaos.file|FILE]]'' is implemented by ITS, TOPS-20, Lisp Machines, and the Chaos-over-unix-sockets implementation.  A modernised version, used by Symbolics, appears in [[rfc>1037|RFC 1037]].
  
 ''[[https://github.com/PDP-10/its/blob/master/doc/sysdoc/mldev.protoc|MLDEV]]'' is used by ITS systems for general remote device access (including hard disk devices) (also over TCP). ((This protocol has enormous security problems.)) ''[[https://github.com/PDP-10/its/blob/master/doc/sysdoc/mldev.protoc|MLDEV]]'' is used by ITS systems for general remote device access (including hard disk devices) (also over TCP). ((This protocol has enormous security problems.))
Line 237: Line 243:
  
 :TODO:  :TODO: 
-  * describe LOAD, GENSYM (DB), GMSGS (DB), etc (ITS).+  * describe GENSYM (DB), GMSGS (DB), etc (ITS).
  
  
protocol.1621781575.txt.gz · Last modified: by victor

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki