by Darius Kazemi, August 26 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.

Encouraging explanations

RFC-238 is titled “Comments on DTP and FTP Proposals”. It's authored by Bob Braden of UCLA and dated September 29, 1971.

The technical content

Finally, an RFC that isn't about host names! The author is providing his comments on RFC-171 and RFC-172, which describe the Data Transfer Protocol and the File Transfer Protocol, respectively.

He says that there is some key information missing from what is essentially a record separator field: the separator should contain a sequence number itself so that the receiver can be sure that they have received all data circumscribed by the separator.

According to RFC-171, the first thing that happens after the initial connection is a handshake where both parties figure out which DTP modes they have available and then both programs can agree on the intersection of modes they both support. Braden thinks this makes no sense, generally.

In RFC-172, the FTP protocol allows a “close connection” action to indicate that a file has completed its transfer. He says that they learned the hard way implementing NETRJS at UCLA that this is a bad idea and that closing a connection without an explicit “end of file” notification preceding it should always be interpreted as an error. Otherwise the receiver will never truly know if they've received a full tranmission, or if there was an error!

He wants two methods for storing files, one that overwrites an existing file with the same name, and one that returns an error if a name is taken. (So basically a “write” mode and a “write+replace” mode.)

And he thinks that error codes should be encouraged to include explanatory text.

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 ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.