diff options
Diffstat (limited to 'doc/rfc/rfc907.txt')
-rw-r--r-- | doc/rfc/rfc907.txt | 4581 |
1 files changed, 4581 insertions, 0 deletions
diff --git a/doc/rfc/rfc907.txt b/doc/rfc/rfc907.txt new file mode 100644 index 0000000..5629e57 --- /dev/null +++ b/doc/rfc/rfc907.txt @@ -0,0 +1,4581 @@ + + + + + + + + + + RFC 907 + + + + + + + HOST ACCESS PROTOCOL SPECIFICATION + + + + July 1984 + + + + + + + + + prepared for + + Defense Advanced Research Projects Agency + 1400 Wilson Boulevard + Arlington, Virginia 22209 + + + + + + + + + by + + Bolt Beranek and Newman Laboratories + 10 Moulton Street + Cambridge, Massachusetts 02238 + + + + + + + + + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + Preface (Status of this Memo) + + This document specifies the Host Access Protocol (HAP). + Although HAP was originally designed as the network-access level + protocol for the DARPA/DCA sponsored Wideband Packet Satellite + Network, it is intended that it evolve into a standard interface + between hosts and packet-switched satellite networks such as + SATNET and TACNET (aka MATNET) as well as the Wideband Network. + The HAP specification presented here is a minor revision of, and + supercedes, the specification presented in Chapter 4 of BBN + Report No. 4469, the "PSAT Technical Report". As such, the + details of the current specification are still most closely + matched to the characteristics if the Wideband Satellite Network. + Revisions to the specification in the "PSAT Technical Report" + include the definition of three new control message types + (Loopback Request, Link Going Down, and NOP), a "Reason" field in + Restart Request control messages, new Unnumbered Response codes, + and new values for the setup codes used to manage streams and + groups. + + HAP is an experimental protocol, and will undergo further + revision as new capabilities are added and/or different satellite + networks are supported. Implementations of HAP should be + performed in coordination with satellite network development and + operations personnel. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + Table of Contents + + + + + 1 Introduction.......................................... 1 + 2 Overview.............................................. 3 + 3 Datagram Messages..................................... 8 + 4 Stream Messages...................................... 14 + 5 Flow Control Messages................................ 17 + 6 Setup Level Messages................................. 24 + 6.1 Stream Setup Messages.............................. 32 + 6.2 Group Setup Messages............................... 44 + 7 Link Monitoring...................................... 58 + 8 Initialization....................................... 62 + 9 Loopback Control..................................... 68 + 10 Other Control Messages.............................. 72 + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + FIGURES + + + + + DATAGRAM MESSAGE.......................................... 9 + STREAM MESSAGE........................................... 15 + ACCEPTANCE/REFUSAL WORD.................................. 19 + ACCEPTANCE/REFUSAL MESSAGE............................... 21 + UNNUMBERED RESPONSE...................................... 22 + SETUP MESSAGE HEADER..................................... 26 + NOTIFICATION MESSAGE..................................... 29 + SETUP ACKNOWLEDGMENT..................................... 31 + STREAM EXAMPLE........................................... 33 + CREATE STREAM REQUEST.................................... 35 + CREATE STREAM REPLY...................................... 37 + CHANGE STREAM PARAMETERS REQUEST......................... 39 + CHANGE STREAM PARAMETERS REPLY........................... 41 + DELETE STREAM REQUEST.................................... 42 + DELETE STREAM REPLY...................................... 43 + GROUP EXAMPLE............................................ 45 + CREATE GROUP REQUEST..................................... 47 + CREATE GROUP REPLY....................................... 48 + JOIN GROUP REQUEST....................................... 50 + JOIN GROUP REPLY......................................... 52 + LEAVE GROUP REQUEST...................................... 53 + LEAVE GROUP REPLY........................................ 55 + DELETE GROUP REQUEST..................................... 56 + DELETE GROUP REPLY....................................... 57 + STATUS MESSAGE........................................... 59 + HAP LINK RESTART STATE DIAGRAM........................... 64 + RESTART REQUEST.......................................... 65 + RESTART COMPLETE......................................... 67 + LOOPBACK REQUEST......................................... 71 + LINK GOING DOWN.......................................... 73 + NO OPERATION (NOP)....................................... 75 + + + + + + + + + ii + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 1 Introduction + + The Host Access Protocol (HAP) specifies the network-access + level communication between an arbitrary computer, called a host, + and a packet-switched satellite network. The satellite network + provides message delivery services for geographically separated + hosts: Messages containing data which are meaningful to the hosts + are submitted to the network by an originating (source) host, and + are passed transparently through the network to an indicated + destination host. To utilize such services, a host interfaces to + the satellite network via an access link to a dedicated packet- + switching computer, known as a Satellite Interface Message + Processor (Satellite IMP or SIMP). HAP defines the different + types of control messages and (host-to-host) data messages that + may be exchanged over the access link connecting a host and a + SIMP. The protocol establishes formats for these messages, and + describes procedures for determining when each type of message + should be transmitted and what it means when one is received. + + The term "Interface Message Processor" originates in the + ARPANET, where it refers to the ARPANET's packet-switching nodes. + SIMPs differ from ARPANET IMPs in that SIMPs form a network via + connections to a common multiaccess/broadcast satellite channel, + whereas ARPANET IMPs are interconnected by dedicated point-to- + point terrestrial communications lines. This fundamental + difference between satellite-based and ARPANET-style networks + results in different mechanisms for the delivery of messages from + source to destination hosts and for internal network + coordination. Additionally, satellite networks tend to offer + different type of service options to their connected hosts than + do ARPANET-style networks. These options are included in the + Host Access Protocol presented here. + + Several types of Satellite IMPs have been developed on a + variety of processors for the support of three different packet- + switched satellite networks. The original SIMP was employed in + the Atlantic Packet Satellite Network (SATNET). It was developed + from one of the models of ARPANET IMP, and was implemented on a + Honeywell 316 minicomputer. The 316 SIMPs were succeeded in + SATNET by SIMPs based on BBN C/30 Communications Processor + hardware. The C/30 SIMPs have also been employed in the Mobile + + + + 1 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + Access Terminal Network (MATNET). The SATNET and MATNET SIMPs + implement a network-access level protocol known as Host/SATNET + Protocol. Host/SATNET Protocol is the precursor to HAP and is + documented in Internet Experiment Note (IEN) No. 192. The + Wideband Satellite Network, like SATNET, has undergone an + evolution in the development of its SIMP hardware and software. + The original Wideband Network SIMP is known as the Pluribus + Satellite IMP, or PSAT, having been implemented on the BBN + Pluribus Multiprocessor. Its successor, the BSAT, is based on + the BBN Butterfly Multiprocessor. Both the PSAT and the BSAT + communicate with their connected network hosts via HAP. + + Section 2 presents an overview of HAP. Details of HAP + formats and message exchange procedures are contained in Sections + 3 through 10. Further explanation of many of the topics + addressed in this HAP specification can be found in BBN Report + No. 4469, the "PSAT Technical Report". + + The protocol used to provide sufficiently reliable message + exchange over the host-SIMP link is assumed to be transparent to + the network-access protocol defined in this document. Examples + of such link-level protocols are ARPANET 1822 local and distant + host, ARPANET VDH protocol, and HDLC. + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 2 Overview + + HAP can be characterized as a full duplex nonreliable + protocol with an optional flow control mechanism. HAP messages + flow simultaneously in both directions between the SIMP and the + host. Transmission is nonreliable in the sense that the protocol + does not provide any guarantee of error-free sequenced delivery. + To the extent that this functionality is required on the access + link (e.g., non-collocated SIMP and host operating over a + communication circuit), it must be supported by the link-level + protocol below HAP. The flow control mechanism operates + independently in each direction except that enabling or disabling + the mechanism applies to both sides of the interface. + + HAP supports host-to-host communication in two modes + corresponding to the two types of HAP data messages, datagram + messages and stream messages. Each type of message can be up to + approximately 16K bits in length. Datagram messages provide the + basic transmission service in the satellite network. Datagram + messages transmitted by a host experience a nominal two satellite + hop end-to-end network delay. (Note that this delay, of about 0.6 + sec excluding access link delay, is associated with datagram + transmission between hosts on different SIMPs. The transmission + delay between hosts on the same SIMP will be much smaller + assuming the destination is not a group address. See Section 3 + and 6.2.) A datagram control header, passed to the SIMP by the + host along with message text, determines the processing of the + message within the satellite network independent of any previous + exchanges. + + Stream messages provide a one satellite hop delay + (approximately 0.3 sec) for volatile traffic, such as speech, + which cannot tolerate the delay associated with datagram + transmission. Hosts may also use streams to support high duty + cycle applications which require guaranteed channel bandwidth. + Host streams are established by a setup message exchange between + the host and the network prior to the commencement of data flow. + Although established host streams can have their characteristics + modified by subsequent setup messages while they are in use, the + fixed allocation properties of streams relative to datagrams + impose rather strict requirements on the source of the traffic + + + + 3 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + using the stream. Stream traffic arrivals must match the stream + allocation both in interarrival time and message size if + reasonable efficiency is to be achieved. The characteristics and + use of datagrams and streams are described in detail in Sections + 3 and 4 of this document. + + Both datagram and stream transmission in the satellite + network use logical addressing. Each host on the network is + assigned a permanent 16-bit logical address which is independent + of the physical port on the SIMP to which it is attached. These + 16-bit logical addresses are provided in all Host-to-SIMP and + SIMP-to-Host data messages. + + Hosts may also be members of groups. Group addressing is + provided primarily to support the multi-destination delivery + required for conferencing applications. Like streams, group + addresses are dynamically created and deleted by the use of setup + messages exchanged between a host and the network. Membership in + a group may consist of an arbitrary subset of all the permanent + network hosts. A message addressed to a group address is + delivered to all hosts that are members of that group. + + Although HAP does not guarantee error-free delivery, error + control is an important aspect of the protocol design. HAP error + control is concerned with both local transfers between a host and + its local SIMP and transfers from SIMP-to-SIMP over the satellite + channel. The SIMP offers users a choice of network error + protection options based on the network's ability to selectively + send messages over the satellite channel at different coding + rates. These forward error correction (FEC) options are referred + to as reliability levels. Three reliability levels (low, medium, + and high) are available to the host. + + In addition to forward error correction, a number of + checksum mechanisms are employed in the satellite network to add + an error detection capability. A host has an opportunity when + sending a message to indicate whether the message should be + delivered to its destination or discarded if a data error is + detected by the network. Each message received by a host from + the network will have a flag indicating whether or not an error + was detected in that particular message. A host can decide on a + + + + 4 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + per-message basis whether or not it wants to accept or discard + transmissions containing data errors. + + For connection of a host and SIMP in close proximity, error + rates due to external noise or hardware failures on the access + circuit may reasonably be expected to be much smaller than the + best satellite channel error rate. Thus for this case, little is + gained by using error detection and retransmission on the access + circuit. A 16-bit header checksum is provided, however, to + insure that SIMPs do not act on incorrect control information. + For relatively long distances or noisy connections, + retransmissions over the access circuit may be required to + optimize performance for both low and high reliability traffic. + It is expected that link-level error control procedures (such as + HDLC) will be used for this purpose. + + Datagram and stream messages being presented to the network + by a host may not be accepted for a number of reasons: priority + too low, destination dead, lack of buffers in the source SIMP, + etc. The host faces a similar situation with respect to handling + messages from the SIMP. To permit the receiver of a message to + inform the sender of the local disposition of its message, an + acceptance/refusal (A/R) mechanism is implemented. The mechanism + is the external manifestation of the SIMP's (or host's) internal + flow and congestion control algorithm. If A/Rs are enabled, an + explicit or implicit acceptance or refusal for each message is + returned to the host by the SIMP (and conversely). This allows + the host (or SIMP) to retry refused messages at its discretion + and can provide information useful for optimizing the sending of + subsequent messages if the reason for refusals is also provided. + The A/R mechanism can be disabled to provide a "pure discard" + interface. + + Each message submitted to the SIMP by a host is marked as + being in one of four priority classes, from priority 3 (highest) + through priority 0 (lowest). The priority class is used by the + SIMP for arbitrating contention for scarce network resources + (e.g., channel time). That is, if the network cannot deliver all + of the offered messages, high priority messages will be delivered + in preference to low priority messages. In the case of + datagrams, priority level is used by the SIMP for ordering + + + + 5 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + satellite channel reservation requests at the source SIMP and + message delivery at the destination SIMP. In the case of + streams, priority is associated with the ability of one stream to + preempt another stream of lower priority at setup time. + + While the A/R mechanism allows control of individual message + transfers, it does not facilitate regulation of priority flows. + Such regulation is handled by passing advisory status information + (GOPRI) across the Host-SIMP interface indicating which + priorities are currently being accepted. As long as this + information, relative to the change in priority status, is passed + frequently, the sender can avoid originating messages which are + sure to be refused. + + HAP defines both data messages (datagram messages and stream + messages) and control messages. Data messages are used to send + information between network hosts. Control messages are + exchanged between a host and the network to manage the local + access link. HAP can also be viewed in terms of two distinct + protocol layers, the message layer and the setup layer. The + message layer is associated with the transmission of individual + datagram messages and stream messages. The setup layer protocol + is associated with the establishment, modification, and deletion + of streams and groups. Setup layer exchanges are actually + implemented as datagrams transmitted between the user host and an + internal SIMP "service host." + + Every HAP message consists of an integral number of 16-bit + words. The first several words of the message always contain + control information and are referred to as the message header. + The first word of the message header identifies the type of + message which follows. The second word of the message header is + a checksum which covers all header information. Any message + whose received header checksum does not match the checksum + computed on the received header information must be discarded. + The format of the rest of the header depends on the specific + message type. + + The formats and use of the individual message types are + detailed in the following sections. A common format description + is used for this purpose. Words in a message are numbered + + + + 6 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + starting at zero (i.e., zero is the first word of a message + header). Bits within a word are numbered from zero (least + significant) to fifteen (most significant). The notation used to + identify a particular field location is: + + <WORD#>{-<WORD#>} [ <BIT#>{-<BIT#>} ] <description> + + where optional elements in {} are used to specify the (inclusive) + upper limit of a range. The reader should refer to these field + identifiers for precise field size specifications. Fields which + are common to several message types are defined in the first + section which uses them. Only the name of the field will usually + appear in the descriptions in subsequent sections. + + Link-level protocols used to support HAP can differ in the + order in which they transmit the bits constituting HAP messages. + For HDLC and ARPANET VDH, each word of a HAP message is + transmitted starting with the least significant bit (bit 0) and + ending with the most significant bit (bit 15). The words of the + message are transmitted from word 0 to word N. For ARPANET 1822 + local and distant host interfaces, the order of bit transmission + within each word is the reverse of that for HDLC and VDH, i.e., + the transmission is from bit 15 to bit 0. + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 3 Datagram Messages + + Datagram messages are one of the two types of message level + data messages used to support host-to-host communication. Each + datagram can contain up to 16,384 bits of user data. Datagram + messages transmitted by a host to a host on a remote SIMP + experience a nominal two satellite hop end-to-end network delay + (about 0.6 sec), excluding delay on the access links. This + network delay is due to the reservation per message scheduling + procedure for datagrams which only allocates channel time to the + message for the duration of the actual transfer. Since datagram + transfers between permanent hosts on the same SIMP do not require + satellite channel scheduling prior to data transmission, the + network delay in this case will be much smaller and is determined + strictly by SIMP processing time. Datagrams sent to group + addresses are treated as if they were addressed to remote hosts + and are always sent over the satellite channel. It is expected + that datagram messages will be used to support the majority of + computer-to-computer and terminal-to-computer traffic which is + bursty in nature. + + The format of datagram messages and the purpose of each of + the header control fields is described in Figure 1. + + + + + + + + + + + + + + + + + + + + + + 8 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0 | 0|LB|GOPRI| XXXX | F| MESSAGE NUMBER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 1 | HEADER CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 2 | A/R | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 3 | 0|IL| D| E| TTL | PRI | RLY | RLEN | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 4 | DESTINATION HOST ADDRESS | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 5 | SOURCE HOST ADDRESS | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6-N | DATA | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 1 . DATAGRAM MESSAGE + + + + 0[15] Message Class. This bit identifies the message as a + data message or a control message. + + 0 = Data Message + 1 = Control Message + + 0[14] Loopback Bit. This bit allows the sender of a message + to determine if its own messages are being looped back. + The host and the SIMP each use different settings of + this bit for their transmissions. If a message arrives + with the loopback bit set equal to its outgoing value, + then the message has been looped. + + 0 = Sent by Host + 1 = Sent by SIMP + + + + + 9 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 0[12-13] Go-Priority. In SIMP-to-Host messages, this field + provides advisory information concerning the lowest + priority currently being accepted by the SIMP. The + host may optionally choose to provide similar priority + information to the SIMP. + + 0 = Low Priority + 1 = Medium-Low Priority + 2 = Medium-High Priority + 3 = High Priority + + 0[9-11] Reserved. + + 0[8] Force Channel Transmission Flag. This flag can be set + by the source host to force the SIMP to transmit the + message over the satellite channel even if the message + contains permanent destination and source host + addresses corresponding to hosts which are physically + connected to the same SIMP. + + 0 = Normal operation + 1 = Force channel transmission + + 0[0-7] Message Number. This field contains the identification + of the message used by the acceptance/refusal (A/R) + mechanism (when enabled). If the message number is + zero, A/R is disabled for this specific message. See + Section 5 for a detailed description of the A/R + mechanism. + + 1[0-15] Header Checksum. This field contains a checksum which + covers words 0-5. It is computed as the negation of + the 2's-complement sum of words 0-5 (excluding the + checksum word itself). + + 2[0-15] Piggybacked A/R. This field may contain an + acceptance/refusal word providing A/R status on traffic + flowing in the opposite direction. Its inclusion may + eliminate the need for a separate A/R control message + (see Section 5). A value of zero for this word is used + to indicate that no piggybacked A/R information is + + + + 10 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + present. + + 3[15] Data Message Type. This bit identifies whether the + message is a datagram message or a stream message. + + 0 = Datagram Message + 1 = Stream Message + + 3[14] Internet/Local Flag. This flag is set by a source host + to specify to a destination host whether the data + portion of the message contains a standard DoD Internet + header. This field is passed transparently by the + source and destination SIMPs for traffic between + external satellite network hosts. This field is + examined by internal SIMP hosts (e.g., the network + service host) in order to support Internet operation. + + 0 = Internet + 1 = Local + + + 3[13] Discard Flag. This flag allows a source host to + instruct the satellite network (including the + destination host) what to do with the message when data + errors are detected (assuming the header checksum is + correct). + + 0 = Discard message if data errors detected. + 1 = Don't discard message if data errors detected. + + + The value of this flag, set by the source host, is + passed on to the destination host. + + 3[12] Data Error Flag. This flag is used in conjunction with + the Discard Flag to indicate to the destination host + whether any data errors have been detected in the + message prior to transmission over the SIMP-to-Host + access link. It is used only if Discard Flag = 1. It + should be set to zero by the source host. + + + + + 11 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 0 = No Data Errors Detected + 1 = Data Errors Detected + + + 3[10-11] Time-to-Live Designator. The source host uses this + field to specify the maximum time that a message + should be allowed to exist within the satellite network + before being deleted. Messages may be discarded by the + network prior to this maximum elapsed time. + + 0 = 1 seconds + 1 = 2 seconds + 2 = 5 seconds + 3 = 10 seconds + + + The Time-to-Live field is undefined in messages sent + from a SIMP to a host. + + 3[8-9] Priority. The source host uses this field to specify + the priority with which the message should be handled + within the network. + + 0 = Low Priority + 1 = Medium-Low Priority + 2 = Medium-High Priority + 3 = High Priority + + + The priority of each message is passed to the + destination host by the destination SIMP. + + 3[6-7] Reliability. The source host uses this field to + specify the basic bit error rate requirement for the + data portion of this message. The source SIMP uses + this field to determine the satellite channel + transmission parameters required to provide that bit + error rate. + + 0 = Low Reliability + 1 = Medium Reliability + + + + 12 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 2 = High Reliability + 3 = Reserved + + + The Reliability field is undefined in messages sent + from a SIMP to a host. + + 3[0-5] Reliability Length. This source host uses this field + to specify a portion of the user data which should be + transmitted at the highest reliability level (lowest + bit error rate). Both the six message header words and + the first Reliability Length words of user data will be + transmitted at Reliability=2 while the remainder of the + user data will be transmitted at whatever reliability + level is specified in field 3[6-7]. The reliability + length mechanism gives the user the ability to transmit + private header information (e.g., IP and TCP headers) + at a higher reliability level than the remainder of the + data. The Reliability Length field is undefined in + messages sent from a SIMP to a host. + + 4[0-15] Destination Host Address. This field contains the + satellite network logical address of the destination + host. + + 5[0-15] Source Host Address. This field contains the satellite + network logical address of the source host. + + 6-N Data. This field contains up to 16,384 bits (1024 16- + bit words) of user data. + + + + + + + + + + + + + + + 13 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 4 Stream Messages + + Stream messages are the second type of message level data + messages. As noted in Section 2, streams exist primarily to + provide a one satellite hop delay for volatile traffic such as + speech. Hosts may also use streams to support high duty cycle + applications which require guaranteed channel bandwidth. + + Streams must be created before stream messages can flow from + host to host. The protocol to accomplish stream creation is + described in Section 6.1. Once established, a stream is + associated with a recurring channel allocation within the + satellite network. This fixed allocation imposes rather strict + requirements on the host using the stream if efficient channel + utilization is to be achieved. In particular, stream messages + must match the stream allocation both in terms of message size + and message interarrival time. + + Within the bounds of its stream allocation, a host is + permitted considerable flexibility in how it may use a stream. + Although the priority, reliability, and reliability length of + each stream message is fixed at stream creation time, the + destination logical address can vary from stream message to + stream message. A host can, therefore, multiplex a variety of + logical flows onto a single host stream. The format of stream + messages is described in Figure 2. + + + + + + + + + + + + + + + + + + + 14 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0 | 0|LB|GOPRI| XXXX | MESSAGE NUMBER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 1 | HEADER CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 2 | A/R | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 3 | 1|IL| D| E| TTL | HOST STREAM ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 4 | DESTINATION HOST ADDRESS | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 5 | SOURCE HOST ADDRESS | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6-N | DATA | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 2 . STREAM MESSAGE + + + + 0[15] Message Class = 0 (Data Message). + + 0[14] Loopback Bit. + + 0[12-13] Go-Priority. + + 0[8-11] Reserved. + + 0[0-7] Message Number. This field serves the same purpose as + the message number field in the datagram message. + Moreover, a single message number sequence is used for + both datagram and stream messages (see Section 5). + + 1[0-15] Header Checksum. Covers Words 0-5. + + 2[0-15] Piggybacked A/R. + + + + 15 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 3[15] Data Message Type = 1 (Stream). + + 3[14] Internet/Local Flag. + + 3[13] Discard Flag. + + 3[12] Data Error Flag. + + 3[10-11] Time-to-live Designator. + + 0 = Reserved + 1 = 1 second + 2 = Reserved + 3 = Reserved + + 3[0-9] Host Stream ID. The service host uses this field to + identify the host stream over which the message is to + be sent by the SIMP. Host stream IDs are established + at stream creation time via host exchanges with their + network service host (see Section 6.1). + + 4[0-15] Destination Host Address. + + 5[0-15] Source Host Address. + + 6-N Data. This field contains up to 16,000 bits of user + data (multiple of 16-bits). + + + + + + + + + + + + + + + + + + 16 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 5 Flow Control Messages + + The SIMP supports an acceptance/refusal (A/R) mechanism in + each direction on the host access link. The A/R mechanism is + enabled for the link by the host by setting a bit in the Restart + Complete control message (see Section 8). Each datagram and + stream message contains an 8-bit message number used to identify + the message for flow control purposes. Both the host and the + SIMP increment this number modulo 256 in successive messages they + transmit. Up to 127 messages may be outstanding in each + direction at any time. If the receiver of a message is unable to + accept the message, a refusal indication containing the message + number of the refused message and the reason for the refusal is + returned. The refusal indication may be piggybacked on data + messages in the opposite direction over the link or may be sent + in a separate control message in the absence of reverse traffic. + + Acceptance indications are returned in a similar manner, + either piggybacked on data messages or in a separate control + message. An acceptance is returned by the receiver to indicate + that the identified message was not refused. Acceptance + indications returned by the SIMP do not, however, imply a + guarantee of delivery or even any assurance that the message will + not be intentionally discarded by the network at a later time. + They are sent primarily to facilitate buffer management in the + host. + + To reduce the number of A/R messages exchanged, a single A/R + indication can be returned for multiple (lower numbered) + previously unacknowledged messages. Explicit acceptance of + message number N implies implicit acceptance of outstanding + messages with numbers N-1, N-2, etc., according to the + definition of acceptance outlined above. (Note that explicit + acceptance of message number N does not imply that all of the + unacknowledged outstanding messages have been received.) An + analogous interpretation of refusal message number allows the + receiver of a group of messages to reject them as a group + assuming that they all are being refused for the same reason. As + a further efficiency measure, HAP permits a block of A/R + indications to be aggregated into a single A/R control message. + Such a message might be used, for example, to reject a group of + + + + 17 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + messages where the refusal code on each is different. + + In some circumstances the overhead associated with + processing A/R messages may prove unattractive. For these cases, + it is possible to disable the A/R mechanism and operate the HAP + interface in a purely discard mode. The ability to effect this + on a link basis has already been noted (see Sections 2 and 8). + In addition, messages with sequence number zero are taken as + messages for which the A/R mechanism is selectively disabled. To + permit critical feedback, even when operating in discard mode, + HAP defines an "Unnumbered Response" control message. + + The format shown in Figure 3 is used both for piggybacking + A/R indications on data messages (word 2), and for providing A/R + information in separate control messages. When separate control + messages are used to transmit A/R indications, the format shown + in Figure 4 applies. Flow control information and other + information which cannot be sent as an A/R indication is sent in + an Unnumbered Response control message. The format of this type + of message is illustrated in Figure 5. + + + + + + + + + + + + + + + + + + + + + + + + + 18 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + |AR| REFUSAL CODE | A/R MESSAGE NUMBER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 3 . ACCEPTANCE/REFUSAL WORD + + + + [15] Acceptance/Refusal Type. This field identifies whether + A/R information is an acceptance or a refusal. + + 0 = Acceptance + 1 = Refusal + + [8-14] Refusal Code. When the Acceptance/Refusal Type = 1, + this field gives the Refusal Code. + + 0 = Priority not being accepted + 1 = Source SIMP congestion + 2 = Destination SIMP congestion + 3 = Destination host dead + 4 = Destination SIMP dead + 5 = Illegal destination host address + 6 = Destination host access not allowed + 7 = Illegal source host address + 8 = Message lost in access link + 9 = Nonexistent stream ID + 10 = Illegal source host for stream ID + 11 = Message length too long + 12 = Stream message too early + 13 = Illegal control message type + 14 = Illegal refusal code in A/R + 15 = Illegal reliability value + 16 = Destination host congestion + + [0-7] A/R Message Number. This field contains the number of + + + + 19 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + the message to which this acceptance/refusal refers. + It also applies to all outstanding messages with + earlier numbers. Note that this field can never be + zero since a message number of zero implies that the + A/R mechanism is disabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0 | 1|LB|GOPRI| XXXX | LENGTH | 1 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 1 | HEADER CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 2 | A/R | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + . . ... . + . . ... . + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + N | A/R | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 4 . ACCEPTANCE/REFUSAL MESSAGE + + + + 0[15] Message Class = 1 (Control Message). + + 0[14] Loopback Bit. + + 0[12-13] Go-Priority. + + 0[8-11] Reserved. + + 0[4-7] Message Length. This field contains the total length + of this message in words (N+1). + + 0[0-3] Control Message Type = 1 (Acceptance/Refusal). + + 1[0-15] Header Checksum. The checksum covers words 0-N. + + 2[0-15] Acceptance/Refusal Word. + + 3-N Additional Acceptance/Refusal Words (optional). + + + + + 21 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0 | 1|LB|GOPRI| XXXX | RES-CODE | 5 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 1 | HEADER CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 2 | RESPONSE INFO | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 3 | RESPONSE INFO | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 5 . UNNUMBERED RESPONSE + + + + 0[15] Message Class = 1 (Control Message). + + 0[14] Loopback Bit. + + 0[12-13] Go-Priority. + + 0[8-11] Reserved. + + 0[4-7] Response Code. + + 3 = Destination unreachable + 5 = Illegal destination host address + 7 = Illegal source host address + 9 = Nonexistent stream ID + 10 = Illegal stream ID + 13 = Protocol violation + 15 = Can't implement loop + + 0[0-3] Control Message Type = 5 (Unnumbered Response). + + 1[0-15] Header Checksum. Covers words 0-3. + + + + + 22 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 2[0-15] Response Information. If Response Code is: + + 3, Destination Host Address + 5, Destination Host Address + 7, Source Host Address + 9, Stream ID (right justified) + 10, Stream ID (right justified) + 13, Word 0 of offending message + 15, Word 0 of Loopback Request message + + 3[0-15] Response Information. If Response Code is: + + 3,5,7, or 9. Undefined + 10, Source Host Address + 13, Word 3 of offending message, or zero if + no word 3 + 15, Word 2 of Loopback Request message + + + + + + + + + + + + + + + + + + + + + + + + + + + + 23 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 6 Setup Level Messages + + Setup level protocol is provided to support the + establishment, modification, and deletion of groups and streams + in the packet satellite network. A host wishing to perform one + of these generic operations interacts with the network service + host (logical address zero). The service host causes the + requested action to be carried out and serves as the intermediary + between the user and the rest of the network. In the process of + implementing the requested action, various network data bases are + updated to reflect the current state of the referenced group or + stream. + + The communication between the host and the service host is + implemented via special-purpose datagrams called setup messages. + Each interaction initiated by a host involves a 3-way exchange + where: (1) the user host sends a Request to the service host, (2) + the service host returns a Reply to the user host, and (3) the + user host returns a Reply Acknowledgment to the service host. + This procedure is used to insure reliable transmission of + requests and replies. In order to allow more than one setup + request message from a host to be outstanding, each request is + assigned a unique Request ID. The associated Reply and + subsequent Reply Acknowledgment are identified by the Request ID + that they contain. Hosts should generally expect a minimum delay + of about two satellite round-trip times between the transmission + of a setup Request to the SIMP and the receipt of the associated + Reply. (Note that the Join Group Request and the Leave Group + Request require only local communication between a host and its + SIMP. The response time for these requests, therefore, is + dependent solely on SIMP processing time and should be + considerably shorter than two round-trip times.) This delay + establishes a maximum rate at which changes can be processed by + the SIMP. The user should receive a reply to a setup request + requiring global communication within 2 seconds and to a setup + request requiring local communication within 1 second. The host + should respond to a SIMP Reply with a Reply Acknowledgment within + 1 second. + + + + + + + 24 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + Setup exchanges can also be initiated by the SIMP. SIMP- + initiated setup messages are used to notify a host of changes in + the status of an associated group or stream. Each notification + involves a 2-way exchange where: (1) the service host sends a + Notification to the user host, and (2) the user host returns a + Notification Acknowledgment to the service host. In order to + allow more than one Notification to be outstanding, each is + assigned a unique Notification ID. The Notification + Acknowledgment returned by the user host to the service host must + contain the Notification ID. + + The general format of every setup message is: + + <DATAGRAM MESSAGE HEADER> + <OPTIONAL INTERNET HEADER> + <SETUP MESSAGE HEADER> + <SETUP MESSAGE BODY> + + The service host accepts setup requests in either Internet or + non-Internet format. Replies from the service host will be in + the same form as the request, that is, Internet requests get + Internet replies, and non-Internet requests get non-Internet + replies. + + The format of the combined datagram message header and setup + message header is illustrated in Figure 6. The body of the setup + messages depends on the particular setup message type. Stream + request and reply messages are described in Section 6.1. Group + request and reply messages are described in Section 6.2. To + simplify the presentation in both of these sections, the setup + messages are assumed to be exchanged between a local host and + SIMP even though Internet group and stream setups are supported + (see Figure 6). The format of notifications, which consists of + only a single word beyond the basic setup header, is shown in + Figure 7. Since the SIMP does not retain the optional Internet + header information that can be included in setup requests, + Internet notifications are not supported. The format of + acknowledgment messages associated with request/reply and + notification setups is illustrated in Figure 8. + + + + + + 25 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6-N | <OPTIONAL INTERNET HEADER> | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + N+1 | SETUP TYPE | SETUP CODE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + N+2 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + N+3 | SETUP ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 6 . SETUP MESSAGE HEADER + + + + 0-5 Datagram Message Header. Each setup message begins + with the six word datagram message header (see Section + 3). + + 6-N Internet Header (Optional). These fields, when + present, conform to the DoD Standard Internet Protocol + (IP). The Internet header size is a minimum of 10 + words but can be longer depending on the use of + optional IP facilities. (Internet notification + messages are not supported.) + + N+1[8-15] Setup Type. This field determines the type of setup + message. + + 0 = Acknowledgment + 1 = Request + 2 = Reply + 3 = Notification + + N+1[0-7] Setup Code. For requests, this field identifies the + + + + 26 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + Request Type. + + 1 = Create group address + 2 = Delete group address + 3 = Join group + 4 = Leave group + 5 = Create stream + 6 = Delete stream + 7 = Change stream parameters + 8 = Reserved + + For Replies, this field provides the Reply Code. Some + of the Reply Codes can be returned to any setup + request and others are request specific. + + 0 = Group or stream created + 1 = Group or stream deleted + 2 = Group joined + 3 = Group left + 4 = Stream changed + 5 = Reserved + 6 = Bad request type + 7 = Reserved + 8 = Network trouble + 9 = Bad key + 10 = Group address/stream ID nonexistent + 11 = Not member of group/creator of stream + 12 = Stream priority not being accepted + 13 = Reserved + 14 = Reserved + 15 = Illegal interval + 16 = Reserved + 17 = Insufficient network resources + 18 = Requested bandwidth too large + 19 = Reserved + 20 = Reserved + 21 = Maximum messages per slot not consistent with + slot size + 22 = Reply lost in network + 23 = Illegal reliability value + + + + + 27 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + For Notifications, this field contains the + Notification Type. + + 0 = Stream suspended + 1 = Stream resumed + 2 = Stream deleted + 3 = Group deleted by host + 4 = Group deleted by SIMP + 5 = All streams deleted + 6 = All groups deleted + + For Acknowledgments, this field contains the + Acknowledgment Type. + + 0 = Reply acknowledgment + 1 = Notification acknowledgment + + N+2[0-15] Setup Checksum. The checksum covers the three setup + message header words and the setup message body data + words. Setups received with bad checksums must be + discarded. + + N+3[0-15] Setup ID. This field is assigned by the host to + uniquely identify outstanding requests (Request ID) + and by the service host to uniquely identify + outstanding notifications (Notification ID). + + + + + + + + + + + + + + + + + + + 28 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 3 | NOTIFICATION TYPE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | NOTIFICATION ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 9 | NOTIFICATION INFO | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 7 . NOTIFICATION MESSAGE + + + + 0-5 Datagram Message Header (see Section 3). + + 6[8-15] Setup Type = 3 (Notification). + + 6[0-7] Notification Type. + + 0 = Stream suspended + 1 = Stream resumed + 2 = Stream deleted + 3 = Group deleted by host + 4 = Group deleted by SIMP + 5 = All streams deleted + 6 = All groups deleted + + 7[0-15] Setup Checksum. Covers words 6-9. + + 8[0-15] Notification ID. + + 9[0-15] Notification Information. This field contains the + 16-bit group address in the case of a group + + + + 29 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + notification (types 3 and 4) and the 10-bit host + stream ID (right justified) in the case of a stream + notification (types 0-2). This field is zero for + Notification Types 5 and 6, which pertain to ALL + streams and groups, respectively. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 0 | ACK TYPE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | SETUP ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 8 . SETUP ACKNOWLEDGMENT + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 0 (Acknowledgment). + + 6[0-7] Acknowledgment Type. + + 0 = Reply acknowledgment + 1 = Notification acknowledgment + + 7[0-15] Setup Checksum. Covers words 6-8. + + 8[0-15] Setup ID. This is either a Request ID or a + Notification ID. + + + + + + + + + + + + + 31 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 6.1 Stream Setup Messages + + Hosts use streams to support high duty cycle applications + and applications requiring a one satellite hop network + transmission delay. Host streams must be set up before stream + data messages can flow. The stream setup messages defined by HAP + are Create Stream Request, Create Stream Reply, Delete Stream + Request, Delete Stream Reply, Change Stream Parameters Request, + and Change Stream Parameters Reply. The use of these messages is + illustrated in the scenario of exchanges between a host and its + local SIMP shown in Figure 9 where the host establishes a stream, + sends some data, modifies the stream characteristics, sends some + more data, and finally closes down the stream. + + It is worthwhile noting that the setup exchanges in Figure 9 + are completely between the host originating the stream and its + local SIMP. Other SIMPs and hosts are essentially unaware of the + existence of the stream. Stream messages received by a + destination host are, therefore, processed identically to + datagram messages. (All SIMPs must, of course, be aware of the + channel allocation associated with a host stream in order to + perform satellite channel scheduling.) Not illustrated, but + implicit in this scenario, are the optional A/R indications + associated with each of the stream setup messages. + + + + + + + + + + + + + + + + + + + + + 32 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + Host SIMP + + Create Stream Request ------> + Create Stream Reply <------ + Reply Acknowledgment ------> + Stream Message ------> + . + . + Stream Message ------> + Change Stream Parameters Request ------> + Change Stream Parameters Reply <------ + Reply Acknowledgment ------> + Stream Message ------> + . + . + Stream Message ------> + Delete Stream Request ------> + Delete Stream Reply <------ + Reply Acknowledgment ------> + + + + Figure 9 . STREAM EXAMPLE + + + + Host streams have six characteristic properties which are + selected at stream setup time. These properties, which apply to + every message transmitted in the stream, are: (1) slot size, (2) + interval, (3) reliability, (4) reliability length, (5) priority, + and (6) maximum messages per slot. To establish a stream, the + host sends the Create Stream Request message illustrated in + Figure 10 to the SIMP. After the satellite network has processed + the Create Stream Request, the SIMP will respond to the host with + a Create Stream Reply message formatted as shown in Figure 11. + Assuming that the reply code in the Create Stream Reply is zero + indicating that the stream has been created successfully, the + host may proceed to transmit stream data messages after sending a + + + + 33 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + Reply Acknowledgment. + + During the lifetime of a stream, the host which created it + may decide that some of its six characteristic properties should + be modified. All of the properties except the stream interval + can be modified using the Change Stream Parameters Request + message. The format of this command is illustrated in Figure 12. + After the network has processed the Change Stream Parameters + Request, the SIMP will respond by sending a Change Stream + Parameters Reply to the host with the format shown in Figure 13. + A host requesting a reduced channel allocation should decrease + its sending rate immediately without waiting for receipt of the + Change Stream Parameters Reply. A host requesting an increased + allocation should not proceed to transmit according to the new + set of parameters without first having received a Reply Code of 4 + indicating that the requested change has taken effect. + + When the host which created the host stream determines that + the stream is no longer needed and the associated satellite + channel allocation can be freed up, the host sends its local SIMP + a Delete Stream Request message formatted as indicated in Figure + 14. After the network has processed the Delete Stream Request, + the SIMP will respond by sending a Delete Stream Reply to the + host with the format shown in Figure 15. + + + + + + + + + + + + + + + + + + + + + 34 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 1 | 5 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 9 | MAX MES | INT | PRI | RLY | RLEN | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 10 | SLOT SIZE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 10 . CREATE STREAM REQUEST + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 1 (Request). + + 6[0-7] Request Type = 5 (Create Stream). + + 7[0-15] Setup Checksum. Covers words 6-10. + + 8[0-15] Request ID. + + 9[12-15] Maximum Messages Per Slot. This field specifies the + the maximum number of stream messages that will ever + be delivered to the SIMP by the host for transmission + in one stream slot. + + 9[10-11] Interval. This field specifies the interval, in + number of 21.2 ms frames, between stream slots. + + + + + 35 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 0 = 1 frame + 1 = 2 frames + 2 = 4 frames + 3 = 8 frames + + As an example, an interval of 4 frames corresponds to + an allocation of Slot Size words every 85 ms. + + 9[8-9] Priority. This field specifies the priority at which + all messages in the host stream should be handled. + + 0 = Low priority + 1 = Medium Low Priority + 2 = Medium High Priority + 3 = High Priority + + 9[6-7] Reliability. This field specifies the basic bit- + error rate requirement for the data portion of all + messages in the host stream. + + 0 = Low Reliability + 1 = Medium Reliability + 2 = High Reliability + 3 = Reserved + + 9[0-5] Reliability Length. This field specifies how many + words beyond the stream message header should be + transmitted at maximum reliability for all messages + in the host stream. + + 10[0-15] Slot Size. This field specifies the slot size in + 16-bit words of stream message text. Stream message + header words are excluded from this count. The host + can partition this allocation on a slot-by-slot basis + among a variable number of messages as long as the + maximum number of messages per slot does not exceed + MAX MES. + + + + + + + + 36 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 2 | REPLY CODE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 9 | XXXXX | HOST STREAM ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 11 . CREATE STREAM REPLY + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 2 (Reply). + + 6[0-7] Reply Code. + + 0 = Stream created + 8 = Network trouble + 12 = Stream priority not being accepted + 17 = Insufficient network resources + 18 = Requested bandwidth too large + 21 = Maximum messages per slot not consistent + with slot size + 22 = Reply lost in network + 23 = Illegal reliability value + + 7[0-15] Setup Checksum. Covers words 6-9. + + 8[0-15] Request ID. + + + + + 37 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 9[10-15] Reserved. + + 9[0-9] Host Stream ID. This field contains a host stream + ID assigned by the network. It must be included in + all stream data messages sent by the host to allow + the SIMP to associate the message with stored stream + characteristics and the reserved satellite channel + time. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 38 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 1 | 7 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 9 | XXXXX | HOST STREAM ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 10 | MAX MES | INT | PRI | RLY | RLEN | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 11 | SLOT SIZE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 12 . CHANGE STREAM PARAMETERS REQUEST + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 1 (Request). + + 6[0-7] Request Type = 7 (Change Stream Parameters). + + 7[0-15] Setup Checksum. Covers words 6-11. + + 8[0-15] Request ID. + + 9[10-15] Reserved. + + 9[0-9] Host Stream ID. + + 10[12-15] New Maximum Messages Per Slot. + + + + + 39 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 10[10-11] Interval. This field must specifiy the same + interval as was specified in the Create Stream + Request message for this stream. + + 10[8-9] New Priority. + + 10[6-7] New Reliability. + + 10[0-5] New Reliability Length. + + 11[0-15] New Slot Size. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 40 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 2 | REPLY CODE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 13 . CHANGE STREAM PARAMETERS REPLY + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 2 (Reply). + + 6[0-7] Reply Code. + + 4 = Stream changed + 8 = Network trouble + 10 = Stream ID nonexistent + 11 = Not creator of stream + 12 = Stream priority not being accepted + 15 = Illegal interval + 17 = Insufficient network resources + 18 = Requested bandwidth too large + 21 = Maximum messages per slot not consistent with + slot size + 22 = Reply lost in network + 23 = Illegal reliability value + + 7[0-15] Setup Checksum. Covers words 6-8. + + 8[0-15] Request ID. + + + + 41 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 1 | 6 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 9 | XXXXX | HOST STREAM ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 14 . DELETE STREAM REQUEST + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 1 (Request). + + 6[0-7] Request Type = 6 (Delete Stream). + + 7[0-15] Setup Checksum. Covers words 6-9. + + 8[0-15] Request ID. + + 9[10-15] Reserved. + + 9[0-9] Host Stream ID. + + + + + + + + + + + 42 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 2 | REPLY CODE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 15 . DELETE STREAM REPLY + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 2 (Reply). + + 6[0-7] Reply Code. + + 1 = Stream deleted + 8 = Network trouble + 10 = Stream ID nonexistent + 11 = Not creator of stream + 17 = Insufficient network resources + 22 = Reply lost in network + + 7[0-15] Setup Checksum. Covers words 6-8. + + 8[0-15] Request ID. + + + + + + + + + + 43 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 6.2 Group Setup Messages + + Group addressing allows hosts to take advantage of the + broadcast capability of the satellite network and is primarily + provided to support the multi-destination delivery required for + conferencing applications. Group addresses are dynamically + created and deleted via setup messages exchanged between hosts + and the network. Membership in a group may consist of an + arbitrary subset of all the permanent network hosts. A datagram + message or stream message addressed to a group is always sent + over the satellite channel and delivered to all hosts that are + members of that group. The group setup messages are Create Group + Request, Create Group Reply, Delete Group Request, Delete Group + Reply, Join Group Request, Join Group Reply, Leave Group Request, + and Leave Group Reply. + + The use of group setup messages is shown in Figure 16. The + figure illustrates a scenario of exchanges between two hosts and + their local SIMPs. In the scenario one host, Host A, creates a + group which is joined by a second host, Host B. After the two + hosts have exchanged some data mesages addressed to the group, + Host B decides to leave the group and Host A decides to delete + the group. As in the scenario in Section 6.1, A/R indications + have been omitted for clarity. + + Part of the group creation procedure involves the service + host returning a 48-bit key along with a 16-bit group address to + the host creating the group. The creating host must pass the key + along with the group address to the other hosts which it wants as + group members. These other hosts must supply the key along with + the group address in their Join Group Requests. The key is used + by the network to authenticate these operations and thereby + minimize the probability that unwanted hosts will deliberately or + inadvertently become members of the group. The procedure used by + a host to distribute the group address and key is not within the + scope of HAP. + + + + + + + + + 44 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + Host SIMP SIMP Host + A A B B + + Create Group Request ------> + Create Group Reply <------ + Reply Acknowledgment ------> + . + . + >>Group Address,Key>> + . + . + Join Group Request <------ + Join Group Reply ------> + Reply Acknowledgment <------ + + Data Message 1 ------> + Data Message 1 <------ ------> + Data Message 2 <------ + Data Message 2 <------ ------> + Leave Group Request <------ + Leave Group Reply ------> + Reply Acknowledgment <------ + Delete Group Request ------> + Delete Group Reply <------ + Reply Acknowledgment ------> + + + Figure 16 . GROUP EXAMPLE + + + + + Any host no longer wishing to participate in a group may + choose to drop out. This can be accomplished by either a Leave + or a Delete. Both Leave and Delete operations are authenticated + using the 48-bit key. Leave is a local operation between a host + and its SIMP which removes the requesting host from the group + membership list but does not alter the global existence of the + + + + 45 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + group. A Delete, on the other hand, expunges all knowledge of + the group from every SIMP in the network. HAP will permit any + member of a group to delete the group at any time. Thus, group + addresses can be deleted even if the host which originally + created the group has left the group or has crashed. Moreover, + groups may exist for which there are currently no members because + each member has executed a Leave while none has executed a + Delete. It is the responsibility of the hosts to coordinate and + manage the use of groups. + + The Create Group Request message sent to the service host to + establish a group address is illustrated in Figure 17. After the + network has processed the Create Group Request, the service host + will respond by sending a Create Group Reply to the host as + illustrated in Figure 18. + + A host may become a member of a group once it knows the + address and key associated with the group by sending the service + host the Join Group Request message shown in Figure 19. The + service host will respond to the Join Group Request with a Join + Group Reply formatted as indicated in Figure 20. The host which + creates a group automatically becomes a member of that group + without any need for an explicit Join Group Request. + + At any time after becoming a member of a group, a host may + choose to drop out of the group. To effect this the host sends + the service host a Leave Group Request formatted as shown in + Figure 21. The service host will respond to the Leave Group + Request with a Leave Group Reply formatted as shown in Figure 22. + + Any member of a group can request that the service host + delete an existing group via a Delete Group Request. The format + of the Delete Group Request setup message is illustrated in + Figure 23. After the network has processed the Delete Group + Request, the service host will respond to the host with a Delete + Group Reply formatted as illustrated in Figure 24. + + + + + + + + + 46 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 1 | 1 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 17 . CREATE GROUP REQUEST + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 1 (Request). + + 6[0-7] Request Type = 1 (Create Group). + + 7[0-15] Setup Checksum. Covers words 6-8. + + 8[0-15] Request ID. + + + + + + + + + + + + + + + + + 47 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 2 | REPLY CODE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 9 | GROUP ADDRESS | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 10 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 11 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 12 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 18 . CREATE GROUP REPLY + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 2 (Reply). + + 6[0-7] Reply Code. + + 0 = Group created + 8 = Network trouble + 17 = Insufficient network resources + 22 = Reply lost in network + + 7[0-15] Setup Checksum. Covers words 6-12. + + 8[0-15] Request ID. + + + + 48 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 9[0-15] Group Address. This field contains a 16-bit logical + address assigned by the network which may be used by + the host as a group address. + + 10-12 Key. This field contains a 48-bit key assigned by the + network which is associated with the group address. + It must be provided for subsequent Join, Leave, and + Delete requests which reference the group address. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 49 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 1 | 3 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 9 | GROUP ADDRESS | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 10 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 11 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 12 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 19 . JOIN GROUP REQUEST + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 1 (Request). + + 6[0-7] Request Type = 3 (Join Group). + + 7[0-15] Setup Checksum. Covers words 6-12. + + 8[0-15] Request ID. + + 9[0-15] Group Address. This is the logical address of the + group that the host wishes to join. + + 10-12 Key. This is the key associated with the group + + + + 50 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + address. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 51 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 2 | REPLY CODE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 20 . JOIN GROUP REPLY + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 2 (Reply). + + 6[0-7] Reply Code. + + 2 = Group joined + 9 = Bad key + 10 = Group address nonexistent + 17 = Insufficient network resources + + 7[0-15] Setup Checksum. Covers words 6-8. + + 8[0-15] Request ID. + + + + + + + + + + + + 52 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 1 | 4 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 9 | GROUP ADDRESS | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 10 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 11 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 12 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 21 . LEAVE GROUP REQUEST + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 1 (Request). + + 6[0-7] Request Type = 4 (Leave Group). + + 7[0-15] Setup Checksum. Covers words 6-12. + + 8[0-15] Request ID. + + 9[0-15] Group Address. This is the logical address of the + group that the host wishes to leave. + + 10-12 Key. This is the key associated with the group + + + + 53 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + address. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 54 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 2 | REPLY CODE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 22 . LEAVE GROUP REPLY + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 2 (Reply). + + 6[0-7] Reply Code. + + 3 = Group left + 9 = Bad key + 10 = Group address nonexistent + 11 = Not member of group + 17 = Insufficient network resources + + 7[0-15] Setup Checksum. Covers words 6-8. + + 8[0-15] Request ID. + + + + + + + + + + + 55 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 1 | 2 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 9 | GROUP ADDRESS | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 10 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 11 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 12 | KEY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 23 . DELETE GROUP REQUEST + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 1 (Request). + + 6[0-7] Request Type = 2 (Delete Group). + + 7[0-15] Setup Checksum. Covers words 6-12. + + 8[0-15] Request ID. + + 9[0-15] Group Address. + + 10-12 Key. + + + + + 56 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0-5 | DATAGRAM MESSAGE HEADER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | 2 | REPLY CODE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | SETUP CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | REQUEST ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 24 . DELETE GROUP REPLY + + + + 0-5 Datagram Message Header. + + 6[8-15] Setup Type = 2 (Reply). + + 6[0-7] Reply Code. + + 1 = Group deleted + 8 = Network trouble + 9 = Bad key + 10 = Group address nonexistent + 11 = Not member of group + 17 = Insufficient network resources + 22 = Reply lost in network + + 7[0-15] Setup Checksum. Covers words 6-8. + + 8[0-15] Request ID. + + + + + + + + + 57 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 7 Link Monitoring + + While the access link is operating, statistics on traffic + load and error rate are maintained by the host and SIMP. The + host and SIMP must exchange status messages once a second. + Periodic exchange of status messages permits both ends of the + link to monitor flows in both directions. Status messages are + required to support monitoring by the Network Operations Center + (NOC). + + The link restart procedure (see Section 8) initializes all + internal SIMP counts and statistics for that link to zero. As + data and control messages are processed, counts are updated to + reflect the total number of messages sent, messages received + correctly, and messages received with different classes of errors + since the last link restart. Whenever a status message arrives, + a snapshot is taken of the local SIMP counts. The local receive + counts, in conjunction with a sent count contained in the + received status message, permits the computation of traffic + statistics in the one second update interval assuming that the + set of counts at the time of the previous monitoring report have + been saved. By including in the status message sent (in the + opposite direction) the receive counts and the received sent + count that was used with them, the transmitting end of the access + link as well as the receiving end can determine the link + performance from sender to receiver. The format of the Status + control message is illustrated in Figure 25. + + + + + + + + + + + + + + + + + + 58 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0 | 1|LB|GOPRI| XXXXX | 0 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 1 | HEADER CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 2 | MOST RECENT A/R SENT | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 3 | STREAM CAPACITY | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 4 | TIMESTAMP | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 5 | SBU | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 6 | STU | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 7 | RNE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 8 | RWE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 9 | BHC | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 10 | HEI | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 25 . STATUS MESSAGE + + + + 0[15] Message Class = 1 (Control Message). + + 0[14] Loopback Bit. + + 0[12-13] Go-Priority. + + 0[4-11] Reserved. + + + + + 59 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 0[0-3] Control Message Type = 0 (Status). + + 1[0-15] Header Checksum. Covers words 0-10. + + 2[0-15] Most Recent A/R Sent. This field is a duplicate of the + most recent acceptance/refusal word. It is included in + the periodic status message in case previous + transmissions containing A/R information were lost. + + 3[0-15] Stream Capacity. When sent by the SIMP, this field + indicates how much stream capacity is unused, in units + of data bits per frame. Since available capacity + depends directly on a variety of parameters that can be + selected by the user, the value of this field is the + maximum capacity that could be achieved if existing + host streams were expanded at low reliability. This + field is undefined in messages sent from the host to + the SIMP. + + 4[0-15] Timestamp. This field indicates the time that the + status message was generated. When sent by a SIMP, the + time is in units of seconds since the last link + restart. The host should also timestamp its messages + in units of seconds. + + 5[0-15] Sent By Us. Count of messages sent by us since the last + link restart (not including this one). + + 6[0-15] Sent To Us. Count of messages sent to us since the + last link restart. This is the count from word 5 of + the last status message received. + + 7[0-15] Received, No Errors. This is the count of messages + received without errors (since the last link restart) + at the time that the last status message was received. + + 8[0-15] Received With Errors. This is the count of messages + received with errors (since the last link restart) at + the time the last status message was received. + + 9[0-15] Bad Header Checksums. This is the count of messages + + + + 60 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + received with bad header checksums (since the last link + restart) at the time the last status message was + received. + + 10[0-15] Hardware Error Indication. This is the count of + messages received with hardware CRC errors or hardware + interface error indications (since the last link + restart) at the time the last status message was + received. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 61 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 8 Initialization + + The Host Access Protocol uses a number of state variables + that must be initialized in order to function properly. These + variables are associated with the send and receive message + numbers used by the acceptance/refusal mechanism and the + statistics maintained to support link monitoring. Link + initialization should be carried out when a machine is initially + powered up, when it does a system restart, when the ON state (see + below) times out, when a loopback condition times out (see + Section 9), or whenever the link transitions from non-operational + to operational status. + + Initialization is accomplished by the exchange of Restart + Request (RR) and Restart Complete (RC) messages between a host + and a SIMP. The state diagram in Figure 26 shows the sequence of + events during initialization. Both SIMP and host must implement + this state diagram if deadlocks and oscillations are to be + avoided. This particular initialization sequence requires both + sides to send and receive the Restart Complete message. Because + this message is a reply (to a Restart Request or Restart + Complete), its receipt guarantees that the physical link is + operating in both directions. Five states are identified in the + state diagram: + + OFF Entered upon recognition of a requirement to + restart. The device can recognize this + requirement itself or be forced to restart by + receipt of an RR message from the other end while + in the ON state. + + INIT Local state variables have been initialized and + local counters have been zeroed but no restart + control messages have yet been sent or received. + + RR-SNT A request to reinitialize (RR) has been sent to + the other end but no restart control messages have + yet been received. + + RC-SNT A reply (RC) has been sent to the other end in + response to a received reinitialization request + + + + 62 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + (RR). The device is waiting for a reply (RC). + + ON Reply (RC) messages have been both sent and + received. Data and control messages can now be + exchanged between the SIMP and host. + + All states have 10-second timeouts (not illustrated) which + return the protocol to the OFF state. The occurrence of any + events other than those indicated in the diagram are ignored. + + The Restart Request control message illustrated in Figure 27 + is sent by either a host or a SIMP when it wishes to restart a + link. The Restart Request causes all the monitoring statistics + to be reset to zero and stops all traffic on the link in both + directions. The Restart Complete message illustrated in Figure + 28 is sent in response to a received Restart Request or Restart + Complete to complete link initialization. The Restart Complete + carries a field used by the host to enable or disable the + acceptance/refusal mechanism for the link being restarted (see + Section 5). After the Restart Complete is processed, traffic may + flow on the link. + + + + + + + + + + + + + + + + + + + + + + + + 63 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + ------- + Any Timeout or ----->| OFF |<----------------------------- + Device Down ------- | + | | + | Device Up | + | Initialize Variables | + | | + V | + --------- | + | INIT | | + --------- | + | | | + Rcv RR | | Snd RR | + Snd RC | | | + | | | + -------------- -------------- | + | | | + | | | + V Rcv RR V | + ---------- Snd RC ---------- | + | RC-SNT |<--------------------| RR-SNT | | + ---------- ---------- | + | | | + Rcv RC | | Rcv RC | + | | Snd RC | + V V | + ------------------------------- | + | | + | | + V | + ------- | + Rcv Any ------>| ON |------------------------------ + Other | ------- Rcv RR + ----------| + + + Figure 26 . HAP LINK RESTART STATE DIAGRAM + + + + + 64 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0 | 1|LB| XXXXXXX | REASON | 3 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 1 | HEADER CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 2 | HOST ADDRESS / SITE NUMBER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 3 | LINK NUMBER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 27 . RESTART REQUEST + + + + 0[15] Message Type = 1 (Control Message). + + 0[14] Loopback Bit. + + 0[8-13] Reserved. + + 0[4-7] Reason. This field is used by the SIMP or the host to + indicate the reason for the restart as follows: + + 0 = power up + 1 = system restart + 2 = link restart + 3 = link timeout + 4 = loopback timeout + + 0[0-3] Control Message Type = 3 (Restart Request). + + 1[0-15] Header Checksum. Covers words 0-3. + + 2[0-15] Host Address / Site Number. The host inserts its + satellite network address in this field. The SIMP + validates that the host address is correct for the port + + + + 65 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + being used. When sent by the SIMP, this field will + contain the SIMP site number. + + 3[0-15] Link Number. This field contains the sender's + identification of the physical link being used. This + information is used to identify the link when reporting + errors to the Network Operations Center (NOC). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 66 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0 | 1|LB| XXXXXX |AR| 4 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 1 | HEADER CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 2 | HOST ADDRESS / SITE NUMBER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 3 | LINK NUMBER | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 28 . RESTART COMPLETE + + + + 0[15] Message Type = 1 (Control Message). + + 0[14] Loopback Bit. + + 0[5-13] Reserved. + + 0[4] Acceptance/Refusal Control. This bit is used by the + host to enable or disable the acceptance/refusal + mechanism for all traffic on the link. + + 0 = Disable acceptance/refusal + 1 = Enable acceptance/refusal + + 0[0-3] Control Message Type = 4 (Restart Complete). + + 1[0-15] Header Checksum. Covers words 0-3. + + 2[0-15] Host Address / Site Number. + + 3[0-15] Link Number. + + + + + + 67 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 9 Loopback Control + + The Host Access Protocol provides a Loopback Request control + message which can be used by a SIMP or a host to request the + remote loopback of its HAP messages. Such requests are usually + the result of operator intervention for purposes of system fault + diagnosis. For clarity in the following discussion, the unit + (SIMP or host) requesting the remote loopback is referred to as + the "transmitter" and the unit implementing (or rejecting) the + loopback is referred to as the "receiver". The format of a + Loopback Request control message is illustrated in Figure 29. + + When a transmitter is remotely looped, all of its HAP + messages will be returned, unmodified, over the access link by + the receiver. The receiver will not send any of its own messages + to the transmitter while it is implementing the loop. SIMP- + generated messages are distinguished from host-generated messages + by means of the Loopback Bit that is in every HAP message header. + + Two types of remote loopback may be requested: loopback at + the receiver's interface hardware and loopback at the receiver's + I/O driver software. HAP does not specify the manner in which + the receiver should implement these loops; additionally, some + receivers may use interface hardware which is incapable of + looping the transmitter's messages, only allowing the receiver to + provide software loops. A receiver may not be able to interpret + the transmitter's messages as it is looping them back. If such + interpretation is possible, however, the receiver will not act on + any of the transmitter's messages other than requests to + reinitialize the SIMP-host link (Restart Request (RR) control + messages; see Section 8.) + + When a receiver initiates a loopback condition in response + to a loopback request, it makes an implicit promise to maintain + the condition for the duration specified in the Loopback Request + message. However, if an unanticipated condition such as a system + restart occurs in either the transmitter or the receiver, the + affected unit will try to reinitialize the SIMP-host link by + sending an RR message to the other unit. If the RR message is + recognized by the other unit a link initialization sequence can + be completed. This will restore the link to an unlooped + + + + 68 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + condition even if the specified loop duration has not yet + expired. If a receiver cannot interpret a transmitter's RR + messages, and in the absence of operator intervention at the + receiver, the loop will remain in place for its duration. + + HAP does not specify the characteristics of any loopback + conditions that may be locally implemented by a given unit. An + example of such a condition is that obtained when a SIMP commands + its host interface to loop back its own messages. If such local + loop conditions also cause the reflection of messages received + from the remote unit, the remote unit will detect the condition + via the HAP header Loopback Bit. + + A specific sequence must be followed for setting up a remote + loopback condition. It begins after the HAP link has been + initialized and a decision is made to request a remote loop. The + transmitter then sends a Loopback Request message to the receiver + and waits for either (1) a 10-second timer to expire, (2) a + "Can't implement loop" Unnumbered Response message from the + receiver, or (3) one of its own reflected messages. If event (1) + or (2) occurs the request has failed and the transmitter may, at + its option, try again with a new Loopback Request message. If + event (3) occurs, the remote loopback condition has been + established. While waiting for one of these events, messages + from the receiver are processed normally. Note that RR messages + arriving from the receiver during this time will terminate the + loopback request. + + When a receiver gets a Loopback Request message, it either + implements the requested loop for the specified duration, or + returns a "Can't implement loop" response without changing the + state of the link. The latter response would be returned, for + example, if a receiver is incapable of implementing a requested + hardware loop. A receiver should initiate reinitialization of + the link with an RR message(s) whenever a loopback condition + times out. + + There is one asymmetry that is required in the above + sequence to resolve the (unlikely) case where both SIMP and host + request a remote loopback at the same time. If a SIMP receives a + Loopback Request message from a host while it is itself waiting + + + + 69 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + for an event of type (1)-(3), it will return a "Can't implement + loop" response to the host and will continue to wait. A host in + the converse situation, however, will abort its loopback request + and will instead act on the SIMP's loopback request. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 70 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0 | 1|LB|GOPRI| XXXXX | LOOP TYPE | 8 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 1 | HEADER CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 2 | LOOP DURATION | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 29 . LOOPBACK REQUEST + + + + 0[15] Message Type = 1 (Control Message). + + 0[14] Loopback Bit. + + 0[12-13] Go-Priority. + + 0[8-11] Reserved. + + 0[4-7] Loop Type. This field indicates the type of loop that + is being requested as follows: + + 0 = Undefined + 1 = Loop at interface (hardware loop) + 2 = Loop at driver (software loop) + 3-15 = Undefined + + 0[0-3] Control Message Type = 8 (Loopback Request). + + 1[0-15] Header Checksum. Covers words 0-2. + + 2[0-15] Loop Duration. The transmitter of a Loopback + Request message uses this field to specify the number + of seconds that the loop is to be maintained by the + receiver. + + + + 71 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 10 Other Control Messages + + Before a SIMP or a host voluntarily disables a SIMP-host + link, it should send at least one Link Going Down control message + over that link. The format of such a message is illustrated in + Figure 30. HAP does not define the action(s) that should be + taken by a SIMP or a host when such a message is received; + informing the Network Operations Center (NOC) and/or the network + users of the impending event is a typical course of action. Note + that each Link Going Down message only pertains to the SIMP-host + link that it is sent over; if a host and a SIMP are connected by + multiple links, these links may be selectively disabled. + + A No Operation (NOP) control message may be sent at any time + by a SIMP or a host. The format of such a message is illustrated + in Figure 31. A NOP message contains up to 32 words of arbitrary + data which are undefined by HAP. NOP messages may be required in + some cases to clear the state of the SIMP-host link hardware. + + + + + + + + + + + + + + + + + + + + + + + + + + + 72 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0 | 1|LB|GOPRI| XXXXX | REASON | 7 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 1 | HEADER CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 2 | TIME UNTIL DOWN | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 3 | DOWN DURATION | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 30 . LINK GOING DOWN + + + + 0[15] Message Type = 1 (Control Message). + + 0[14] Loopback Bit. + + 0[12-13] Go-Priority. + + 0[8-11] Reserved. + + 0[4-7] Reason. This field is used by the SIMP or the host + to indicate the reason for disabling this SIMP-host + link as follows: + + 0 = NOT going down: Cancel previous Link + Going Down message + 1 = Unspecified reason + 2 = Scheduled PM + 3 = Scheduled hardware work + 4 = Scheduled software work + 5 = Emergency restart + 6 = Power outage + 7 = Software breakpoint + 8 = Hardware failure + + + + 73 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + 9 = Not scheduled up + 10 = Last warning: The SIMP or host is disabling + the link in 10 seconds + 11-15 = Undefined + + 0[0-3] Control Message Type = 7 (Link Going Down). + + 1[0-15] Header Checksum. Covers words 0-3. + + 2[0-15] Time Until Down. This field specifies the amount of + time remaining until the SIMP or host disables the + link (in minutes). An entry of zero indicates that + there is less than a minute remaining. + + 3[0-15] Down Duration. This field specifies the amount of + time that the SIMP-host link will be down (in + minutes). An entry of zero indicates that the down + duration will be less than a minute. An entry of -1 + (all bits set) indicates an indefinite down duration. + + + + + + + + + + + + + + + + + + + + + + + + + + 74 + + + + + + + + + RFC 907 Host Access Protocol + July 1984 Specification + + + + + + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 0 | 1|LB| XXXXX | 6 | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 1 | HEADER CHECKSUM | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + 2-N | ARBITRARY DATA | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + + Figure 31 . NO OPERATION (NOP) + + + + 0[15] Message Type = 1 (Control Message). + + 0[14] Loopback Bit. + + 0[4-13] Reserved. + + 0[0-3] Control Message Type = 6 (NOP). + + 1[0-15] Header Checksum. Covers words 0-N. + + 2-N Arbitrary Data. Up to 32 words of data may be sent. + The data are undefined by HAP. + + + + + + + + + + + + + + + + 75 + + |