RFC 36 (rfc36) - Page 2 of 8


Protocol Notes



Alternative Format: Original Text Document



RFC 36                       Protocol Notes                   March 1970


   One of the rules adhered to is that either SA is a send socket and SB
   is a receive socket or vice versa.  This condition is sometimes
   stated as "SA and SB must be  a send/receive pair."

   5.  The sending process may now send.

   Flow Control
   ------------

   In order to prevent a sending process from flooding a receiving
   processes it is necessary for the receiving process to be able to
   stop the flow(*).  Flow control is integrated into the network RFNM
   handling.  When a receiving host wishes to inhibit flow on a
   particular link, the host sends a special message to its IMP which
   causes the next RFNM on that link to be modified.  The sending host
   interprets this message as a RFNM and as a request to stop sending.
   A confirming control command is returned.

   When the receiving host is ready to receive again, it sends a command
   (RSM) telling the sending host to resume sending.

   Reconnection
   ------------

   For a great many reasons it is desirable to be able to switch one (or
   both) ends of a connection from one socket to another.  Depending
   upon the restrictions placed upon the switching process, it may be
   easy or hard to implement.  To achieve maximum generality, I present
   here a scheme for dynamic reconnection, which means that reconnection
   can take place even after flow has started.  It may turn out that for
   the majority of cases, this scheme is much more expensive than it
   needs to be; however, the following virtues are claimed:

      1. All various forms of switching connections are provided.

      2. Reconnection introduces no overhead in the processing of
         messages sent over a connection i.e., the whole cost is borne
         in processing the protocol.

   ---------------------------------------------------
   *BB&N argues that unlimited buffering should be provided.  It is
   possible that this would be a proper strategy: but it is foreign to
   my way of thinking, and I have based the protocol design on the
   assumption that only a small buffer is provided on the receive end of
   each connection.






Crocker