IEN # 9                                            Radia Perlman
Supercedes: None                                             BBN
Replaces: None                                    26 August 1977

Section: 2.2.2.5

                  The Host Simp Protocol Module

                  A rough design specification

                          Radia Perlman


          HOSIMP, the host SIMP protocol module, is  basically  a

multiplexor, allowing fake hosts and a gateway to all talk to the

same SIMP. In addition it can, if desired, do some functions that

otherwise  would have to be duplicated by all processes using it,

such as recognizing a  restart  condition  or  resending  packets

which were refused.

          A  fake  host  will  communicate  with  HOSIMP by first

executing an EMT which HOSIMP  will  define,  passing  parameters

identifying the fake host, and possibly some flags telling HOSIMP

how  to  treat that host, and HOSIMP will return IPP numbers over

which the host can send and receive data to and from  HOSIMP.   A

read  on  the IPP from HOSIMP to the fake host will complete when

the SIMP sends data addressed to that host, either  a  packet  or

information  about  one  of the host's previous packets. A packet

written on the IPP port from the fake host to HOSIMP will be sent

on to the SIMP, after HOSIMP assigns  the  next  sequential  host

reference  number in place of the 7 bit reference number assigned

by the host.  When HOSIMP receives an  accepted  message,  HOSIMP

will  translate  the  host reference number into the 7 bit number

originally assigned by the host. Other  than  that  HOSIMP  could

conceivably just send everything through to the host.

The Gateway/HOSIMP interface

          HOSIMP receives and queues packets from the gateway and

sends  them on to the SIMP after substituting the next sequential

host reference number for the number  supplied  by  the  gateway.

Refused  packets  are  placed  back in the queue of packets to be

sent, whereas accepted packets are discarded.   HOSIMP  does  not

send  any control information back to the gateway. The gateway is

not concerned with restarts, it does not use any of  the  options

that  return control information (like SENT messages), and HOSIMP

drops any packet for which it receives any REFUSED message (other

than resources busy).


Fake Host/HOSIMP interface--option 1

          In this option HOSIMP  behaves  as  it  does  with  the

gateway,   but   it  passes  all  control  messages  (except  for

REFUSED--resources busy) back to the fake host.


Fake Host/HOSIMP interface--option 2

          In  this  option  HOSIMP  does  not   requeue   refused

messages.   HOSIMP,  except  for  substituting  a  different host

reference number, merely passes packets and  control  information

through.  The  fake  host  maintains  its  own  queue of packets.

However, the packet it sends to HOSIMP does get  queued,  because

it must compete with other traffic sources and the packets HOSIMP

has queued for retransmission.

          The  fake host chooses which option it wants by passing

a parameter in the original EMT it executes.

Queuing algorithm

          The method of ordering queued packets  has  yet  to  be

resolved.  One  method  is  giving  gateway  traffic  the highest

priority. Another is to  send  packets  in  the  order  they  are

received. Another would be to simulate as closely as possible the

algorithm the SIMP uses for ordering packets.