RFC 142 (rfc142) - Page 1 of 2


Time-Out Mechanism in the Host-Host Protocol



Alternative Format: Original Text Document



Network Working Group                            Charley Kline
Request for Comments #142                        Johnny Wong
NIC #6727                                        UCLA (NMC)
Categories: C.1, C.2, C.3, C.5                   3 May 71
Updates: none
Obsoletes: none


              Time-out Mechanism in the Host-Host Protocol

On sending a message to a foreign site, the following situations can
occur:

1. Destination IMP down - Type 7 message is returned

2. Destination IMP up but destination IMP-HOST interface is
   down - Type 7 message is returned.

3. Destination IMP and IMP-HOST interface up, but IMP-HOST inter-
   face is not taking messages - Type 9 message is returned after
   IMP time-out (ask BBN for time).

4. Destination IMP and IMP-HOST interface up and IMP-HOST inter-
   face is taking messages - Type 5 (rfnm) message is returned.

A suggestion for handling type 7 and type 9 messages has been made in
NWG/RFC #117.  In this document we would like to discuss in detail the
problem: what should happen to the HOST-HOST protocol on receiving a
rfnm?

When a NCP sends out a STR or RTS control command on a pair of sockets
and gets a rfnm back, this pair of sockets will be in a wait-match
state.  Everything is fine if a matching RTS or STR, or CLS is
returned after a reasonable amount of delay.  Trouble will arise when
nothing is returned after a long time.

This can happen if the NCP is not running at all but its host is
taking in messages (e.g. UCLA's host will receive messages even if the
NCP is not running), or if the NCP is running very slowly.  The same
problem exists on sending out a CLS control command and a matching CLS
is never returned.  The trouble is that resources are tied up, e.g.
sockets, links and table space in the NCP; and one would like to
release these resources.  In our implementation, when a user does a
CLOSE, we can't release the sockets until the matching CLS is
returned.  This protects us from getting confused if a seconds request
is made for the same pair of sockets.  This problem can be solved by
including a time-out mechanism in the Host-Host protocol.  This
operates as follows: