RFC 687

IMP/Host and Host/IMP Protocol changes

πŸ“… published June 1975, from ietf

RFC 687: IMP/Host and Host/IMP Protocol Change πŸŽ€

Okay bestie, let's start with the title block. This is RFC 687 πŸ’– from the Network Working Group, titled IMP/Host and Host/IMP Protocol Change. It was written by David C. Walden (WALDEN@BBN), NIC #32654, and dated June 1975 🌸. The document doesn't give a category or status, and it doesn't say what it obsoletes or updates, so there's nothing to report there ✨.


So the vibe here is a glow-up for the IMP/host and host/IMP protocol πŸ’…. The big goal is letting hosts be addressed on more than 63 IMPs, and it's giving "fix the limits, don't rebuild everything" energy πŸ¦‹. Lots of big changes are being discussed across the whole world-wide packet-switching community, but the team can't do massive fundamental changes on the timeline they need. Like, there are already almost 60 IMPs 😭. Each of the characteristics is covered below, and you need to know Section 3 of BBN Report 1822 first 🧚. And yes, the expanded protocol is backwards compatible 🫢.


1. Expanded Leader Size ✨

The leader is growing from two to five 16-bit words 🌈. That gives room for field expansions and new fields, so it's basically a closet upgrade πŸ‘‘.

2. Expanded Address Field πŸ¦‹

The address field goes to 24 bits: 16 bits of IMP address and 8 bits of host address πŸ’œ. The team says this is more than enough for any foreseeable ARPA Network growth, which is a very confident claim and I respect it πŸ’….

3. New Message Length Field πŸ“

A brand-new field lets the source host optionally tell the IMP subnetwork the message length, in bits πŸŽ€. The IMP subnetwork might use that info, when it's available, to make better use of network buffer storage. The destination host might use it too, for its own buffer storage 🧚. This field is 13 bits wide.

4. Expanded Handling Type Field 🌸

The handling type field, which currently tells priority and non-priority message streams apart, gets expanded to eight bits πŸ”₯. That opens up the possibility of several parallel message streams between pairs of hosts, each with different handling. Examples include priority, non-priority, varying numbers of packets per message (more on that in item 5), unordered messages (the current type-3 messages), and a stream that needs guaranteed capacity ⭐. Just a heads up: only some of these will be available in the near term πŸ™ˆ.

5. Source Host Control of Packets per Message πŸ’–

The source host will be able to set up a message stream that uses a given number of packets per multi-packet message, like two packets per message or five πŸ¦‹. Right now the IMP network needs eight packet-buffers for reassembly, but after this change it won't have to, so these messages may get better service πŸ’…. This is a big win for users who need both low delay and high throughput 🫢.

-1-

6. Unordered (type-3) Message Change πŸŽ€

Unordered messages get flagged by a handling type instead of a message type, like they are right now 🧚. This fits better with the need to check the host access control capabilities of every message ✨. Heads up though: it's a slight backward incompatibility for the three or so hosts that currently use type-3 messages in their research 😭.

7. Change in Format of Fake Host Addresses πŸ’œ

The For/From IMP bit is getting eliminated πŸ‘‘. The fake host addresses will just be the four highest host numbers. For example, IMP Teletype will be host 252 🌈.

8. Addition of a Parameter to the IMP to Host NOP πŸ“

The IMP to host NOP gets a new parameter that specifies the address of the host, meaning both the IMP number and the host number 🌸.

9. Backward Compatibility 🫢

The old and new formats will run in parallel in the IMPs for the foreseeable future, so host software can phase over gradually πŸŽ€. A host can tell its IMP whether to use the old or new format, and it can even switch back and forth between the two for debugging πŸ”₯. The mode gets set by choosing a format in the host to IMP NOP message, and the IMP follows whichever mode the latest host to IMP NOP message it received used ✨. A host can pick either format without knowing much about the other one, since it only has to discard the other format's messages if they show up πŸ’…. When the IMP starts up, it sends several NOP messages of each type so the hosts can make their choice 🧚.

Here's the catch: a host that doesn't implement the new format can't address hosts on IMPs with an IMP number greater than 63 😭. Still, wherever possible, the IMPs will do the conversion needed so that old-format and new-format hosts can talk to each other, in both directions πŸ’–. Last bit: it'll be possible to convert the leader format from old to new, or new to old, without knowing the message type πŸ¦‹.

10. (Not Present) πŸ™ˆ

This document goes from item 9 straight to item 11, so there's no item 10 in the original. Keeping the numbering as written, iykyk πŸ’€.

11. Non-blocking Host Interface ⭐

A mechanism lets the IMP refuse a message from a host without blocking the host interface 🌈. The IMP can gather the resources it needs to send the refused message, then ask the host to resend it πŸ‘‘. The host can also ask to be able to send a message and be notified when that's possible, without the message actually being sent and refused first 🫢.

12. Maximum Message Length 🌸

The maximum number of data bits in a message may go down by a few bits πŸŽ€.

-2-


So the team is working out the details of an implementation plan for these changes to the IMP software πŸ”₯. They'll share an implementation schedule and other necessary info, like format details, well ahead of time, so hosts that want the new protocol can implement it in time once it's available πŸ’–βœ¨.

-3-

πŸ“¦ where this page comes from