Network Working Group Request for Comments # 107NIC # 5806
[Page 1]
Introduction
The Host-Host Protocol Glitch Cleaning Committee met for the second time at UCLA on 8, 9 March 1971, after canvassing the network com- munity. [The result of the (slightly larger) committee's first meeting are documented in RFC #102.] The committee agreed on several modifications to the protocol in Document #1; these modi- fications are listed below.
[Page 2]
Modifications
Heretofore, a connection has been a bit stream. Henceforth, it is to be a byte stream, with the byte size, S, indicated in the STR command and in each message. The byte size meets the constraints: 1 <= S <= 255.
[Page 3]
32 bits
|<--------------------------------->|
+-----------------------------------+
| |
| leader |
| |
+--------+--------+-----------------+
| | | |
| M1 | S | C |
| | | |
+--------+--------+-----------------+
| | ^ |
| M2 | | |
| | | |
+--------+ | |
| | |
| | |
| |
| Text |
// //
| | |
| | |
| | |
| | |
| | +--------+
| | | |
| | | M3 |
| v | |
+-----------------+--------+--------+
| |
| 10 --------- 0 | <-- Padding
| |
+-----------------+
Typical Message
[Page 4]
1. A message with a zero value for C has no meaning, although
it is legal and it does use up resource allocation. (See Flow Control below.)
[Page 5]
Second, the allocation mechanism now deals with two quantities, bits
The TEXT LENGTH of a message is the product of S, the byte size, and C, the number of bytes. These values always appear in the first part of the message, as described under Message Format.
[Page 6]
Message sent over the control link have the same format as other
Control messages may not contain more tha 120 byte of text; the value in the byte count field is thus limited to 120. This limi- tation is intended to help smaller hosts.0 control link 1 old protocol's control link - to be phased out 2 - 31 links for connections32 - 190 reserved -- not for current use 191 to be used only for measurement work under direction
[Page 7]
IX Control Command Formats | 8 | 32 | 32 | 8 | +-----+-----------------------+-----------------------+-----+ | | | | | 1. | STR | send socket | receive socket | | | | | | ^ | +-----+-----------------------+-----------------------+--|--+ | | 8 | 8 | 16 | 32 | +-- byte size +-----+-----+-----------+-----------------------+ | | | | | 2. | ALL | link| msg space | bit space | | | | | | +-----+-----+-----------+-----------------------+ | 8 | 8 | 16 | 32 | +-----+-----+-----------+-----------------------+ | | | | | 3. | RET | link| msg space | bit space | | | | | | +-----+-----+-----------+-----------------------+ | 8 | 8 | 8 | 8 | +-----+-----+-----+-----+ | | | | | 4. | GVB | link| fM | fB | | | | ^ | ^ | +-----+-----+--|--+--|--+ | | | +-- bit fraction +-------- message fraction | 8 | 8 | +-----+-----+ | | | 5. | ECO |data | | | | +-----+-----+ [Page 8]
| 8 | 8 | +-----+-----+ | | | 6. | ERP |data | | | | +-----+-----+ | 8 | 8 | 80 | +-----+-----+---------------------- // -----------------------+ | | | | 7. | ERR | | text | | | ^ | | +-----+--|--+---------------------- // -----------------------+ | +-- error code | 8 | +-----+ | | 8. | RST | | | +-----+ | 8 | +-----+ | | 9. | RRP | | | +-----+The values of the op codes are
[Page 9]
Discussion on Byte Streams
Two separate kinds of inefficiency arose from bit streams.
[Page 10]
character-oriented interaction, 8-bit transmission units seemed
Subsequent discussion of the deadlocks and wakeup aspect revealed that there may be two byte sizes associated with a single connection:
[Page 11]
to the receiving user, and its meaning is how often the receiving NCP
In the new protocol, it is the option of the receiver to refuse a request for connection on the basis of the proffered byte size. Conceptually, we imagine that NCP's are capable of handling all byte sizes, and that such a choice would be up to the third level pro- grams (user programs, loggers, telnets, etc.) Some Hosts, small ones in particular, may know enough about their third level programs to restrict the variety of byte sizes which can be sent or received. While it is a matter of a local policy, the committee strongly suggests that NCP's be capable of handling all byte sizes. One of our committee, moreover, feels strongly that NCP's should be written to be able to receive all byte sizes S and provide for different byte sizes R for transmission to the user process.