RFC 852
ARPANET short blocking feature
RFC 852: The ARPANET Short Blocking Feature π¦
okay bestie, let's get into this π Request for Comments: 852, and the title is The ARPANET Short Blocking Feature β¨
The author is Andrew G. Malis π , reachable at ARPANET Mail: malis@bbn-unix. He wrote it while at Bolt Beranek and Newman Inc. in Cambridge, MA, at 50 Moulton St. (02238 πΈ). The date is April 1983 π.
On the "obsoletes" front, this RFC was once part of RFC 802, and RFC 802 is now obsolete π. It got replaced by this RFC plus RFC 851, The ARPANET 1822L Host Access Protocol [2] π§. The title block doesn't list anything it updates, and it doesn't name a category either. The abstract tells us it's a solicitation of comments, so the vibe is "tell us what you think" π«Ά.
The abstract is basically the whole pitch π. This RFC specifies the ARPANET Short Blocking Feature, which lets ARPANET hosts optionally shorten the IMP's host blocking timer β. It's a replacement for the ARPANET non-blocking host interface, which was never implemented π. It's available to hosts using either the 1822 or 1822L Host Access Protocol π. The RFC is also asking for comments on the Short Blocking Feature, especially from host network software implementers and maintainers π₯.
1. Introduction β¨
okay so this RFC specifies the ARPANET Short Blocking Feature, and it lets a host shorten how long its IMP is allowed to block it after the host presents a message to the network π¦. Right now, the IMP can block further input from a host for up to fifteen seconds, and that's a lot of waiting π.
The Feature is an addition to the ARPANET 1822 and 1822L Host Access Protocols π. It replaces the non-blocking host interface described in section 3.7 of BBN Report 1822 [1], which, sadly, was never implemented π. This Feature is only available to hosts on C/30 IMPs πΈ. For the ARPANET, that's not a problem, because the ARPANET only has C/30 IMPs β¨. But hosts on non-C/30 IMPs in networks that mix C/30 and non-C/30 IMPs won't be able to use the Short Blocking Feature π.
The RFC's terminology matches what Report 1822 uses, and any new terms get defined the first time they show up π . Familiarity with Report 1822 (section 3 in particular) is assumed, so go read it first, bestie π.
This RFC was once part of RFC 802, which is obsolete now π. It's been replaced by this RFC together with RFC 851, The ARPANET 1822L Host Access Protocol [2] π§. The Short Blocking Feature will be available to all hosts on C/30 IMPs, no matter whether they use the 1822 or the 1822L host access protocol to talk to the IMP π.
2. The ARPANET Short Blocking Feature π
The Short Blocking Feature of the 1822 and 1822L protocols lets a host hand messages to the IMP without the IMP refusing further messages from that host for long stretches of time (up to fifteen seconds) π€. It's a replacement for the non-blocking host interface described in section 3.7 of Report 1822, and that description should be ignored π«.
2.1. Host Blocking π§
Usually, when a source host submits a message to an IMP, the IMP immediately processes it and sends it on its way to its destination host β¨. Sometimes, though, the IMP can't process the message right away π¬. Processing a message takes a significant number of resources, and when the network is heavily loaded, there can be a long delay before those resources free up π’. In those cases, the IMP has to decide what to do while it's trying to gather the resources π€.
One option is for the IMP to stop accepting messages from the source host until it has gathered the resources it needs to process the message just submitted π. This strategy is called blocking the host, and it's basically the strategy the ARPANET has used up to now π°οΈ. When a host submits a message to an IMP, all further transmissions from that host to that IMP are blocked until the message can be processed π§.
Here's the tea β. Not every message needs the same set of resources to be processed by the IMP π. The resources needed depend on the message type, the message length, and the destination host of the message π¦. So it might take a long time to gather the resources for one message, but only a short time for another one π. This exposes a big disadvantage of blocking the host π©. A blocked host might have lots of other messages that could be processed immediately if only they could be submitted π. It's "unfair" for the IMP to refuse them until it has gathered resources for some other, unrelated message π€. Why should messages the IMP has plenty of resources for get delayed for an arbitrarily long time just because the IMP lacks resources for a different message? π₯Ί
A simple fix would be to put a limit on how long a host can be blocked β±οΈ. That limit should be long enough that, in most circumstances, the IMP can gather the resources it needs to process the message within the given time period β . But if the resources can't be gathered in that time, the IMP will flush the message ποΈ. It sends a reply to the source host saying the message was rejected and giving the reason it couldn't be processed π¬. The resource gathering process keeps going, though π. The idea is that the host resubmits the message in a short time, when hopefully the resource gathering has finished successfully π€. In the meantime, the host can submit other messages, which may get processed sooner π. This strategy doesn't get rid of host blocking, it just limits how long a host gets blocked π«Ά. This shorter time limit will always be less than or equal to two seconds β.
But heads up, there's a downside to short blocking times π¨. Let's say the IMP accepts a message only if it has all the resources needed to process it π. The ARPANET provides a sequential delivery service, where messages with the same priority, source host, and destination host get delivered to the destination host in the same order they were accepted from the source host π. With short blocking times, though, the order the IMP accepts messages from the source host doesn't have to match the order the source host originally submitted them π. The two data streams between the host and the IMP (one in each direction) aren't synchronized π. So the host might not receive the reply to a rejected message before it submits later messages for the same destination host π΅. If a later message gets accepted, the acceptance order differs from the original submission order, and the ARPANET won't provide the same kind of sequential delivery it used to π. If sequential delivery by the subnet is a strict requirement, then the Short Blocking Feature should not be used π. For messages without that requirement, though, the Short Blocking Feature can be used π.
Up until now, type 0 (Regular) messages only had sub-types available to request the standard blocking timeout, which is fifteen seconds π. The Short Blocking Feature adds new sub-types that let the host request short blocking for messages π. With those, the host only gets blocked for two seconds at most if the message can't be processed right away π¦.
Type 0 messages now have the following subtypes π:
0:Standard: This subtype tells the IMP to use its full message and error control facilities. The host may be blocked for up to fifteen seconds during message submission π§±.1:Standard, Short Blocking: The IMP tries to use the same facilities as for subtype 0, but it will block the host for a maximum of two seconds β‘.3:Uncontrolled Packet: The IMP performs no message-control functions, and the packet isn't guaranteed to be delivered π« . The host may be blocked for up to fifteen seconds during packet submission, though any blockage is unlikely π².4:Uncontrolled, Short Blocking: The IMP treats the packet similarly to subtype 3, but it will only block the host for a maximum of two seconds π¨. Again, actual blockage is unlikely π.
2.2. Reasons for Host Blockage π¦
There are a bunch of reasons a message could cause a long blockage in the IMP π±. That blockage would lead to the rejection of a short (or even non-short) blocking message π. The IMP signals this rejection with the Incomplete Transmission (Type 9) message, and it uses the sub-type field to say why the message was rejected π. These are the sub-types that already existed for the type 9 message π:
0:The destination host didn't accept the message quickly enough π.1:The message was too long π.2:The host took more than fifteen seconds to transmit the message to the IMP β³. This time is measured from the last bit of the leader through the last bit of the message π―.3:The message was lost in the network due to IMP or circuit failures π.4:The IMP couldn't accept the entire message within fifteen seconds because of unavailable resources π«€. This sub-type is only used in response to non-short blocking messages π . If a short blocking message timed out, it gets responded to with one of sub-types 6-10 π.5:A source IMP I/O failure happened while this message was being received π₯.
These are the new sub-types that apply to the Short Blocking Feature π:
6:Connection set-up delay: Even though the IMP presents a simple message-at-a-time interface to the host, it provides an internal connection-oriented (virtual circuit) service, except for uncontrolled packets π§΅. Two messages count as being on the same connection if they have the same source host (meaning they're submitted to the same IMP over the same host interface), the same priority, and the same destination host name or address π€. The subnet handles internal connection set-up and tear-down procedures π οΈ. Connections get set up as needed, and they're only torn down after a period of inactivity π΄. Sometimes, network congestion or a resource shortage causes a lengthy delay in connection set-up π’. During that period, no messages for that connection can be accepted, but other messages can still be accepted π.
- End-to-end flow control: π For every message a host submits to an IMP (except uncontrolled packets), the IMP eventually sends back a reply telling the host what happened to the message. The stretch between submitting the message and the host getting that reply is called the message being outstanding. β¨ The ARPANET only allows eight outstanding messages on any given connection. So if there are already eight outstanding and a ninth gets submitted, it cannot be accepted π ββοΈ. If a message gets refused because its connection is blocked by flow control, messages on other connections can still be accepted π¦. Okay, this one is lowkey the biggest reason hosts get blocked on the ARPANET right now π.
- Destination IMP buffer space shortage: π If the host submits a message longer than 1008 bits (not counting the 96-bit leader), buffer space at the destination IMP has to be reserved before the message can be accepted. This buffer space is always reserved per connection π§. If the destination IMP is heavily loaded, the wait for buffer space can be super long, and that's another super common cause of blocking on today's ARPANET π₯±. Messages get rejected for this reason based on their length and connection. Messages of 1008 or fewer bits, or messages for other connections, may still be acceptable π.
- Congestion control: π A message may be refused for reasons of congestion control if the path through the intermediate IMPs and lines to the destination IMP is too heavily loaded to take on any more traffic. Messages to other destinations may be acceptable, though π.
- Local resource shortage: π Sometimes the source IMP itself is short on buffer space, table entries, or some other resource it needs to accept a message. Unlike the other reasons for rejection, this kind of shortage affects all messages equally, except uncontrolled packets π. The message's size or connection doesn't matter here π.
The Short Blocking Feature is available to all hosts on C/30 IMPs, whether they're using the 1822 or 1822L protocol πΈ. You get to it through Type 0, sub-type 1 and 4 messages β¨. A host using these sub-types should be prepared to correctly handle the Type 9 (Incomplete Transmission) messages from the IMP π«Ά.
3. References π
[1] Specifications for the Interconnection of a Host and an IMP, BBN Report 1822, December 1981 Revision.
[2] A. Malis, The ARPANET 1822L Host Access Protocol, Request for Comments 851, April 1983. π¦
π¦ where this page comes from
- ietf: rfc852 1983-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms