RFC 39
Comments on Protocol Re: NWG/RFC #36
RFC 39: COMMENTS ON PROTOCOL RE: NWG/RFC #36 ๐
okay bestie, title block first ๐ this one's from the Network Working Group, it's RFC 39, written by E. Harslem and J. Heafner at RAND, dated 25 March 1970 ๐ฆ the original doesn't list a category or status, and it doesn't say what it obsoletes or updates, so I'm not making that up โจ
We're basically giving feedback on NWG/RFC #36 ๐ these are suggestions for additions to the April 28th 1970 protocol grammar specifications ๐ธ
ERROR MESSAGES ๐จ
okay so the first thing is an error message format ๐ซถ it looks like this:
<ERR> <Code> <Command in error>
it's desirable to include debugging aids in the initial protocol for checking out Network Control Programs, etc. ๐ we need that to actually debug stuff, obviously ๐ญ
there are three classes of errors: content errors, status errors, and resource allocation or exhaustion ๐ง the <Code> specifies the class and the offending member of the class. the command gets returned to the sending NCP for identification and analysis ๐
status errors are things like messages sent over blocked links and attempts to unblock a link that's already unblocked ๐
content errors are things like an invalid RFC complete, a message sent on a link that isn't connected, closing a link that was never connected, and an attempt to unblock a link that isn't connected ๐
resource errors are things like a request for a non-existent program and connection table overflow, etc. ๐ resource errors should be followed by a <CLS> in response to the <RFC> โจ
QUERIES ๐ฎ
queries are giving extension to the <ERR> facility plus limited error recovery, which means you don't have to re-initialize an NCP ๐ very iconic ๐
<QRY> <My Socket> < >
or
<QRY> <Your Socket> <Text>
the first command asks the remote NCP to supply the status of all connections to the user specified by the user number in <My socket> ๐ฆ the second one is the reply, and <Text> contains the connection status information ๐
if an NCP wants the status of all connections to a remote HOST, the <My Socket> is zero ๐
PROGRAM TERMINATION NOTIFICATION ๐
<TER> <My Socket>
this command supplements rather than replaces <CLS>, so it's not taking over for it ๐ซถ it severs all communication between a program and those programs in a given HOST that it's connected to ๐ฅ
this basically does what would otherwise need multiple <CLS> commands, which is so efficient, periodt โจ the <My Socket> contains the sender's user number ๐
HOST STATUS ๐
<HCU>
<HGD>
these messages (HOST coming up and HOST voluntarily going down) are compatible with asynchronous, interrupt-driven programs ๐ธ that's different from the more conventional post/poll method, which is lowkey the main character move ๐
TRANSMIT AND BROADCAST ๐ฃ
<TRN> <Body>
<BDC> <Body>
unlike the previous commands, these aren't sent over the control link. they go over links assigned to user programs instead ๐ฆ the prefix of <TRN> or <BDC> tells the receiving NCP what to do with the message body ๐
<TRN> means the message goes to a single process ๐ง <BDC> tells the destination NCP to distribute the message over all receiving connections linked to the sender ๐ก
when a user makes a system call to an NCP asking for <BDC>, the NCP generates one <BDC> to each HOST the sender is connected to ๐ซถ
RFC AND DYNAMIC RECONNECTION ๐
ngl this one's the big critique ๐ญ the protocol is complex, it proliferates control messages, and it causes queues (to become associated with re-entrant procedures) that are artificially imposed via the protocol (remote AEN assignment) ๐ it also discounts the situation where only controlling process "A" knows that slave process "B" should be "rung out" in a dynamic reconnection ๐
the <ERR>, etc., are suggestions for inclusion as additions in the April 28th protocol specifications ๐ธ the criticism above is, of course, not meant to affect modifying the RFC structure by April 28th, and it's not reflecting on the people who planned it ๐ซถ we haven't studied the problem yet, though ๐
it's meant to voice concern about complexity and resulting response times โฑ๏ธ this is a difficult problem and deserves more study after we've exercised the current RFC specifications ๐ we hope to offer constructive suggestions about the RFC in the future ๐ฆโจ
JFH:hs
[ This RFC was put into machine readable form for entry ] [ into the online RFC archives by Mario Vitale 08/99 ]
๐ฆ where this page comes from
- ietf: rfc39 1970-03
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms