by Darius Kazemi, April 19 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

Connecting to Lincoln Lab

RFC-109 is titled “Level III Server Protocol for the Lincoln Laboratory 360/67 Host”. It's dated March 24th, 1971, and authored by Joel M. Winett of Lincoln Laboratory.

The technical content

This is pretty much a manual for remote users who wish to connect to MIT Lincoln Lab to use their IBM 360/67 computer.

This RFC is about a level three protocol. As a reminder, the level one protocol is the protocol that the IMP routers use to talk to each other. Level two is the Host-Host protocol. Level three is an abstraction on top of Host-Host. For example, Host-Host is about connecting two computers; whereas a level three protocol may be about connecting two computer programs. The word “protocol” is used loosely here, as in it's a series of steps you can do to connect to their system, rather than a more formal thing like a Host-Host protocol.

The “Logger Protocol” is described, which seems similar to the one described my MIT's Project MAC in RFC-98. (It's worth remembering that although Project MAC and Lincoln Laboratory were both under the auspices of MIT, they were entirely separate from one another as organizations and projects.)

The lab provides a guest account that ARPANET users are free to use in order to mess around with to get familiar with the lab's computing system. No long-term storage is guaranteed as anyone on this account is free to erase records stored there to free up space for their own sandbox experiments.

Next a “SERVER Protocol” is laid out. Since the IBM 360/67 accepts line-at-a-time input, the SERVER system buffers character-at-a-time input from a network connection until a newline character is reached, then it sends the full line to the operating system itself for processing as input. The SERVER also handles interrupts.

The computer can run in both ASCII and EBCDIC modes, which makes sense since those were the two most popular character encodings at the time. There are attached character code charts for both formats, and instructions for converting from one to the other if needed.


This RFC starts with a disclaimer to not quote or cite it in any publications! This should hopefully give you a sense of how informal the RFC system was back then; these days the entire point of RFCs is for them to be quoted and cited. Back in the early days though, it was very much more like a private mailing list. (Again I cannot stress this enough: a mailing list conducted via the US Postal Service.)

The lab's IBM 360/67 is connected to the ARAPNET and users who log in do so to a CP-67 virtual machine. Yes, it's a virtual machine in the modern sense: an emulation of an entire computer, run on a bigger computer, invented all the way back in 1967. The idea was that if you ran say five emulated computers on a big server, it would be much easier for five different people to connect and work in parallel. One person for each emulated computer, versus five people having to fight over shared resources. It's important to remember that most of what we have today in computing we also had in the 60s and 70s; it is just much cheaper and faster now.

Further reading

This 2011 MIT Lincoln Lab retrospective has a lot of detailed history on the lab.

Winett co-wrote the manual for the Lincoln Laboratory Multi-Programming Supervisor in 1967. The LLMPS is an early time-sharing operating system (or piece of the operating system) that allows multiple programs to run at the same time on an IBM System/360 computer.

This is Winett's first RFC, but not the last we'll see of him.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with both ActivityPub and the Dat Project. You can support my work via my Patreon.