RFC-128

by Darius Kazemi, May 8 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.

Bytes

RFC-128 is titled “Bytes” and is authored by Jon Postel of UCLA. It's dated April 21st, 1971.

The technical content

Postel discusses the issue of mismatching byte size between hosts. What if a sending host specifies a 5-bit byte and the receiving host specifies a 3-bit byte? He says that this could be considered an invalid connection and immediately terminated, or it could be considered valid and there would have to be some kind of translation that takes place.

Postel says that UCLA thinks asymmetry in byte sizes should be allowed and that the way they would be handled would be by essentially considering everything to be a bit stream. This removes the need for padding-based algorithms on the NCP side in the case where you insist that “your” byte is always a full byte and must be considered such by the receiver (though he doesn't rule out using this system as well).

Postel suggests that RAND's Data Reconfiguration Language might be used for padding-based case.

Analysis

Handling things on the bit level seems to have the effect of pushing the byte-level translation work from the NCP to the end-users instead, which is probably a good idea. I think the NCP should be as simple as possible.

Further reading

There are a couple papers on the Data Reconfiguration Service floating out there. This 1971 paper is co-authored by a bunch of ARPANET regulars is a kind of high level overview, and this 1972 paper by Harslem, Heafner, and Wisniewski is far more in-depth and essentially a technical manual including source code.

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.