RFC-322

by Darius Kazemi, November 18 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.

Well known

RFC-322 is titled “Well Known Socket Numbers”. It's dated March 26, 1972 and authored by Vint Cerf and Jon Postel of UCLA.

The technical content

The authors of this RFC want to implement a service that lives at a standard network socket. But they can't do that unless they know what other sockets are already in use on the network and considered standard.

Recall from RFC-147 that a socket is a combination of identifiers that identifies a unique point in the network. It's the smallest and most precise unit of identification on the network, and includes the host server, the user, an id for a specific software process that is running on the host server, and an indicator of whether this point in the network is for sending or receiving information.

Cerf and Postel would like people to send in what sockets they are using that are supposed to be well known to the network at large. They plan to publish a catalog of these sockets.

Further reading

The first mention of something like a “well known” socket in the RFC series is in Dave Walden's RFC-61, though at the time he was speaking of well known processes. Within a year, discussion of processes would be replaced with discussion of sockets, which include processes but are more precise.

Jon Postel's RFC-165 is the first RFC to mention a “well known socket number”.

I love the term “well known” because it really drives home the point that technical standards are ultimately just agreements between people. There is no law and no technical reason that I couldn't run an HTTP server on port 1481, but by custom the well-known port for HTTP is 80 and so that is where a web browser looks by default when you point it to a server and make an HTTP request.

As a web developer working today, all of this brings to mind RFC-5785, which was published in April 2010, 40 years after this RFC was published. This RFC defines the Well Known URI scheme, which defines the /.well-known/ directory as a place for web servers to store metadata about their services in a, you guessed it, well known location. There is an entire registry of well known URIs at the IANA website. Many of these correspond to RFCs of their own. My favorite well known URI is this one:

https://friend.camp/.well-known/webfinger?resource=acct:darius@friend.camp

It defines the WebFinger information about my account on Friend Camp, a node that I administer in a decentralized social media network known as the Fediverse. WebFinger is itself defined in RFC-7033.

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.