RFC-117

by Darius Kazemi, April 27 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.

Glitches the Cleaning Committee missed

RFC-117 is titled “Some Comments on the Official Protocol”. It's authored by Johnny Wong of UCLA and dated April 7, 1971.

The technical content

It seems that Wong is writing this RFC due to his personal experience attempting to implement an NCP using the protocol as currently documented. He's found that when it comes to actual implementation there are some gaps in the documentation and would like some things clarified.

First off, error messages are not fully described. Approximately half of the common failure states do not have a defined error message for them. And further, while every site has been asked to document how their own error messages work, “no one has done that so far” for the simple reason that while documentation was requested, there were no specifics asked for. So the individual sites have no idea what information to provide on their error messages.

Wong rightly points out that without good error messages, debugging is extremely difficult to do, so the defintion of error messages should be prioritized. He provides a suggestion for information that should be provided in every error case he can think of, which varies contextually depending on the type of error

In addition to errors on the Host-Host level (level two), there are error conditions on the IMP level (level one) that “cause difficulty in the implementation of the Protocol.” These involve various kinds of major failure including an IMP simply dying or rebooting mid-transmission. This can cause errors in the routing table. Wong offers a solution to this which involved a network-wide reset signal being sent out every time a new NCP comes online.

Further reading

Johnny Wong was a graduate student at UCLA at the time of writing this RFC. He was either just finishing his Master's or just beginning his PhD. He studied computer networking for most of his career and was computer science faculty at the University of Waterloo for many decades. His faculty page details his research interests and his personal page provides more biographical information.

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.