IEN # 9 Radia Perlman Supercedes: None BBN Replaces: None 26 August 1977 Section: 18.104.22.168 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.