RFC-29

by Darius Kazemi, Jan 29 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.

Milliseconds

RFC-29 is a response to RFC-28, which asked for comments related to installing a real-time clock on the SRI network. This is from BBN's Bob Kahn, who would go on to co-invent TCP/IP. It's dated January 19th, 1970, six days after Bill English's request.

The technical content

Here is the entire content of the note:

This note is in response to Bill English's Request for Comments: 28.

A “millisecond” clock should be satisfactory for most network measurements. Round-trip message transit times typically should be at least on the order of tens to hundreds of milliseconds. The IMP contains a 16-bit hardware clock which is incremented every 100 microseconds to allow for timing of internal events within the IMP, as for example, during tracing. However, most measurements are made using a 25.6 ms. software clock.

Note: a millisecond is 1000 microseconds, so the 100 microsecond clock on the imp meant it was in theory accurate to 0.1 milliseconds.

But here Bob is saying that since most messages are going to take at least tens of milliseconds, a clock doesn't need to be more accurate than that if you're just trying to measure the round trip message time.

Analysis

English said in RFC-28 that the clock would be used “for such things as delay measurement”, which implies there are other things besides delay measurement they wanted to do, or at least they wanted to be open to the possibility of other things.

Anyway this is a pretty cut-and-dry answer to a pretty open-ended question.

Further reading

When Kahn mentions the 100 microsecond clock on the IMP, that's due to the hardware that the IMP was running on: the Honeywell DDP-516. Here's a sales brochure for that model, featuring this amazing image:

A man in a suit reclining in a space age chair with his feet up on the Honeywell DDP-516.

Adrian Wise has written an emulator for the DDP-516, and his site has a bunch of its history and its software that can be run in the emulator! The programming section has what seems to me everything you need to learn to write your own programs for the computer (or at least the emulator).

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 a Mozilla Fellow and I do a lot of work on the decentralized web with both ActivityPub and the Dat Project.