by Darius Kazemi, Jan 7 2019
In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here.
Too long; didn't read
RFC-7 is dated May 1969 and titled “HOST-IMP Interface”. It's authored by one Gérard Deloche, a Frenchman who was a graduate student in Computer Science at UCLA. The version hosted at the IETF opens with this note:
[The original of RFC 7 was hand-written, and only partially illegible copies exist. RFC 7 was later typed int NLS by the Augmentation Research Center (ARC) at SRI. The following is the best reconstruction we could do. RFC Editor.]
As a result there are sections transcribed as “(unreadable)” in the document.
We also know that Deloche is described as “somewhat independent” of the working group in RFC-1 by Steve Crocker.
If you'll recall from my reading of RFC-1, the HOST is basically a server on the network and the IMP is close to what we'd consider a router today. The IMPs were made by BB&N in New England. The HOSTs could be pretty much any computer in existence.
The technical content
The document states that “This study is based upon a study of the BBN Report No. 763”. I'm 90% sure this is an error, either in transcription or in the original document, and they are referring to BBN Report No. 1763, which is a monster 82-page document released in January 1969 titled “Initial Design for Interface Message Processors for the ARPA Computer Network”. According to Hobbes' Internet Timeline, January 1969 is when BB&N was awarded the APRA packet switching contract. It seems like this document would have been part of the proposal process. Perhaps parts of it were. In one version of the document I was able to find (linked in “Further reading” below) there was a preface missing from the bitsavers version I link above:
A contract was recently awarded to Bolt Beranek and Newman Inc (BBN) for the implementation of a four-node group of interface message processors (IMPs) for the ARPA computer network. This document describes our preliminary design plans for the IMPs and the network protocol.
Since implementation is only just beginning, some aspects of this design will probably change. This document is for information only and should not be construed as a firm specification.
January 6, 1969
The summary lays out the same 16-bit header that I describe in my reading of RFC-1. Maximum length of a single message is 1006 bytes (for reference this is roughly 2 short paragraphs of a plain text document), so your HOST had better be able to break up bigger messages than that into a series of multipart messages. It talks about how after the header there is a 16-bit demarcator word that indicates the text of the message is about to begin.
That's basically it — if you read the BB&N report you'll see that once the IMP gets the packet it starts to add more complex headers than that for IMP-IMP communication, and a whole bunch of other stuff, but since this RFC is written for HOST implementors who just want to get their data over to the IMPs, they can skip all of that info.
I choose to interpret “This study is based upon a study of the BBN Report” as “all of these RFCs so far have been like 5 pages long and none of you want to read a damn 80 page document so here's the TL;DR of how IMPs are designed.” This RFC is longer than most RFCs so far, but is also about 1/10th the size of the original report that it summarizes.
In a way this document is a “black boxing” of the IMP system. If all you care about is the IMP/HOST interface, why bother reading 82 pages of documentation where only 5-10 of them are relevant to that particular interface? This is specialization of expertise in action.
The RFC also mentions “Gordo documentation” — it seems GORDO was the operating system of the HOST at UCLA in 1969. But I couldn't find any more information about it, outside of RFCs, aside from a missing reference on a Wikipedia disambiguation page! I found a listing of the Leonard Kleinrock papers that implies there was a meeting some time in late 1969 or early 1970 where GORDO's name was changed to... SEX (Sigma EXchange system).
SPADE Admin Note 20: SPADE Meeting note (name change GORDO to SEX, Sigma EXchange System)
Good job guys, GORDO was just too silly of a name for an operating system, realy glad you changed it to SEX.
At any rate, this OS ran on the SDS Sigma 7 at UCLA and my best guess is that it was probably a one-off OS that only ever ran on that machine.
There is one conflicting report on this. Most sources say UCLA ran GORDO/SEX on an SDS Sigma 7, but the book Netizens by Ronda Hauben claims it was an SDS 940 running GORDO/SEX at SRI, whereas UCLA ran an SDS Sigma 7 running GENIE. I strongly suspect this source is wrong, and multiple other sources seem to show that they swapped GORDO and GENIE between the two institutions. Even RFC-11 claims that “GORDO is a time-sharing system implemented on SDS Sigma 7”, and I've only seen it associated with UCLA.
RFC-11 has a lot of information about GORDO from August 1969, before it was renamed to SEX. (Sorry, I can't get over that name change.)
This excellent page of IMP documents is from Dave Walden, who worked at BB&N at this time. Includes some original IMP source code, which apparently people have managed to get running on emulated IMPs!