by Darius Kazemi, April 17 2019
RFC-107 is titled “Output of the Host-Host Protocol Glitch Cleaning Committee” and is authored by a committee of six, with Steve Crocker as Chairman. It's dated March 23rd, 1971.
The technical content
This RFC contains the results of the second meeting of the Glitch Cleaning Committee. The first meeting was covered in RFC-102. This second meeting happened on March 8-9, 1971.
This document is “an official modification of Document #1”, which is not an RFC document but rather a separate series of documents, with Document #1 being the actual spec for the Host-Host protocol.
The introduction closes with a note exhorting programmers to switch their network control program (NCP) over to these new specifications as soon as possible, and to even provide estimates to the committee as to when they expect this task to be completed.
Changes to the protocol
One change made to the Host-Host protocol is that we now explicitly deal with byte streams instead of bit streams, where a byte can range from 1 bit to 255 bits in length, as long as that byte length remains constant for the duration of a connection.
The header format is changed; notably it contains padding, but no marking.
There are to be no message data types on the host-host protocol, but higher level protocols are welcome to introduce them.
The RESET and RESET REPLY messages proposed by Kraley and Newkirk in RFC-57 in case of a computer crash are to be implemented.
A new memory allocation system is instituted, requiring the NCP to keep track of two different quantities, resulting in a maximum message allocation of (2^16)-1 (or 65,535) messages and a maximum bit allocation of (2^32)-1 bits (or 500 megabytes).
The control link, which has been physical link 1 since the beginning, is now physical link 0. Link 1 is now reserved for “old-style” host-host protocol connections, allowing both kinds of traffic to flow on the network, at least for now.
And some commands and command formats have changed somewhat.
Discussion of byte streams
Half of this Glitch Cleaning Committee meeting was spent codifying the above changes; the rest was spent discussing issues with byte streams. Basically there's a tension between flexible byte streams and efficient byte streams, which is what the arguments were mostly about. The more formats a byte stream can be in, the more complicated the decoding mechanism must be at a receiving site.
There is discussion of turning the byte streams into “transmission units”, which sound an awful lot like modern packets. The IMPs operated by breaking things into packets (hence this being the first packet-switched network), but that's just the IMP protocol. The Host-Host protocol had no notion of this up until this point.
This is a major revision of one of the most fundamental ARPANET protocols and is the first RFC that feels like a true ultimatum. “Get on this new protocol or get left behind” is the clear message given!
You can read the Host-Host Protocol Document No. 1. It was written by Steve Crocker on August 3rd, 1970 and was the closest thing to an official Host-Host standard that existed until the publication of this RFC.