RFC 394 (rfc394) - Page 2 of 3


Two Proposed Changes to the IMP-Host Protocol



Alternative Format: Original Text Document



RFC #394                                            John M. McQuillan

     This change is an attempt to alleviate some problems that are
caused by Hosts whose ready lines are up when they are not able to
accept bits from the IMP. Several Hosts fall into this category.
There are some Hosts whose ready lines are wired to be on all the
time.  It is annoying, in terminal use and in running survey programs,
to have to wait for 30 seconds to find out that a Host is not
responding.  Other Hosts sometimes go into "break- point mode" for
system debugging for several minutes at a time.  The NCP software is
not running, and messages accumulate in the network and are thrown
away.  It seems preferable to declare such Hosts to be dead until they
send a message* to the IMP, and then any source Host attempting to
communicate can be notified at once that the destination Host is dead.

2) Timing out Host-to-IMP messages in 15 seconds
   ---------------------------------------------

     When the IMP receives a message from a Host, it must acquire
several internal resources in order to process the message.  It must
assign it a message number, make an entry in an internal table, and so
on.  If any of these IMP resources is not available, the IMP simply
waits until it does become available.  It cannot take any more
messages from the Host, and so the interface is stopped.  This
condition is usually momentary, but under unusual circumstances the
IMP may not be able to process a message it has begun to accept for
many seconds.  This situation creates an especially difficult problem
for Hosts with half-duplex interfaces.  If the IMP takes 30 seconds to
process a message, then the IMP-to- Host timeout outlined in 1) takes
effect, and the Host loses all messages sent to it in the last 30
seconds.  (It should be noted that the half-duplex interface may be
the cause of a deadly embrace, e.g. the reason that the IMP cannot
acquire the necessary resources to process a given message may be that
the Host in question has several messages on its queue and they are
tying up storage, message





__________________
*Thus a Host should send its IMP at least two NOPs (or other
 messages) whenever it receives a type 10 message from its IMP.