More Comments on the Forthcoming Protocol
Proposals for protocol error messages, connection queries, and NCP host status.
Harslem, E. and J.F. Heafner, "More Comments on the Forthcoming Protocol", RFC 40, DOI 10.17487/RFC0040, March 1970, <https://www.rfc-editor.org/info/rfc40>.
@misc{rfc40,
series = {Request for Comments},
number = 40,
howpublished = {RFC 40},
publisher = {RFC Editor},
doi = {10.17487/RFC0040},
url = {https://www.rfc-editor.org/info/rfc40},
author = {E. Harslem and J.F. Heafner},
title = {{More Comments on the Forthcoming Protocol}},
pagetotal = 3,
year = 1970,
month = mar,
} RFC text
Network Working Group E. Harslem
Request for Comments: 40 J. Heafner
RAND
March 1970
More Comments on the Forthcoming Protocol
We have recently discussed NWG/RFC Nos. 36 and 39 with Steve Crocker,
UCLA. Steve has asked that we elaborate on the errors, queries, and
HOST status that were mentioned in NWG/RFC #39.
Please voice your opinions soon in order to affect the forthcoming
protocol specifications.
ERROR MESSAGES
<ERR> <Code> <Command length> <Command in error>
<Code> is an eight-bit field that specifies the error type. The
assigned codes are shown below. <Command length> is a 16-bit integer
that indicates the length of the <Command in error> in bits. The
<Command in error> is the spurious command.
The ranges of <Code> are shown below in hexidecimal.
00 Unspecified error types
10-0F Resource errors
10-1F Status errors
20-2F Content errors
30-3F Unused
Specific values of <Code> are shown below with their meaning.
<Code> value Semantics
00 Unspecified errors.
01 Request for an invalid resource.
02 Request for an exhausted resource, try later.
03-0F Unused.
10 Invalid <RSM>, i.e., link connected but unblocked.
11 Invalid <SPD>.
12 Invalid <ASG>, i.e., connected but no <RDY>
received.
<Code> value Semantics
13 Message received on blocked link.
14-1F Unused.
20 Unknown command code.
21 Message received on unconnected link.
22 Invalid <RFC>.
23 Invalid <CLS>.
24 Invalid <RSM>, i.e., link not connected.
25 Invalid <FND>.
26 Invalid <END>.
27 Invalid <RDY>.
28 Invalid <ASG>, i.e., not connected.
29-2F Unused.
30-FF Unused.
QUERIES
<QRY> <My Socket>
or <RPY> <Your Socket> <Text>
The <QRY> is the query indicated in NWG/RFC #39 and <RPY> is the reply.
The format of <Text> is shown below; also refer to NWG/RFC #36, p. 3.
<Text>::= <16 bit count of relevant connection table entries>
<relevant connection table entries>
<relevant connection table entries>::=
<relevant connection table entries>
<a relevant connection table entry>
<a relevant connection table entry>
<a relevant connection table entry>::= <local socket> <foreign socket>
<link> <connection state>
<flow state and buffer control>
<reconnection control state>
HOST STATUS
<NOP>
An NCP may be up, down, pending, etc. When an NCP changes its
state to UP it should send a <NOP> to each remote NCP which
indicates the NCP is available. The sending NCP can then
construct a vector of HOST status from the RFNMs it receives. An
NCP receiving a <NOP> can update the availability of the sending
NCP in its HOST status vector.
[ This RFC was put into machine readable form for entry ]
[ into the online RFC archives by Richard Ames 6/97 ]
ISO Plain Language
On this page
§1Error Messages
The proposed error message contains an error code, the length of the command in error, and the command itself. The error code is eight bits, and the command-length field is a 16-bit integer measured in bits.
Examples include code 01 for a request for an invalid resource, code 02 for an exhausted resource, code 20 for an unknown command code, and code 21 for a message received on an unconnected link.
An error report identifies the error type and includes the command that caused it. Codes distinguish conditions such as an invalid resource request or an unknown command.
§2Connection Queries and Replies
The proposed QRY message includes the sender's socket. An RPY response includes the other socket and text containing a count of relevant connection-table entries followed by those entries.
Each entry contains local and foreign socket information, link and connection state, flow and buffer control, and reconnection control state.
A host can ask another host for information about relevant connections. The reply lists connection details such as sockets, links, and state.
§3NCP Availability
The note proposes a NOP command for host status. When an NCP changes its state to UP, it should send NOP to each remote NCP to announce availability.
A receiving NCP can use that notice to update its host-status information. The sending NCP can also build a status vector from the RFNMs it receives.
An NCP that becomes available can notify remote NCPs with a NOP. Receiving hosts can use that notice to update their host-status records.