home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc0907.txt < prev    next >
Text File  |  1996-05-07  |  134KB  |  2,972 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.       RFC 907 
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                      HOST ACCESS PROTOCOL SPECIFICATION 
  16.  
  17.  
  18.  
  19.                                  July 1984 
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.                                 prepared for 
  28.  
  29.                  Defense Advanced Research Projects Agency                            1400 Wilson Boulevard                          Arlington, Virginia 22209 
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.                                      by 
  38.  
  39.                    Bolt Beranek and Newman Laboratories                              10 Moulton Street                       Cambridge, Massachusetts 02238 
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  57.  
  58.  
  59.  
  60.      Preface (Status of this Memo) 
  61.  
  62.           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. 
  63.  
  64.           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. 
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  94.  
  95.  
  96.  
  97.                              Table of Contents 
  98.  
  99.  
  100.  
  101.       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 
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                      i 
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  139.  
  140.  
  141.  
  142.                                   FIGURES 
  143.  
  144.  
  145.  
  146.       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 
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.                                      ii 
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  164.  
  165.  
  166.  
  167.      1  Introduction 
  168.  
  169.           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. 
  170.  
  171.           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. 
  172.  
  173.           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 
  174.  
  175.  
  176.  
  177.                                      1 
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  187.  
  188.  
  189.  
  190.      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. 
  191.  
  192.           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". 
  193.  
  194.           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. 
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.                                      2 
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  226.  
  227.  
  228.  
  229.      2  Overview 
  230.  
  231.           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. 
  232.  
  233.           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. 
  234.  
  235.           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 
  236.  
  237.  
  238.  
  239.                                      3 
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  249.  
  250.  
  251.  
  252.      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. 
  253.  
  254.           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. 
  255.  
  256.           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. 
  257.  
  258.           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. 
  259.  
  260.           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 
  261.  
  262.  
  263.  
  264.                                      4 
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  274.  
  275.  
  276.  
  277.      per-message basis whether or not it wants to  accept  or  discard      transmissions containing data errors. 
  278.  
  279.           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. 
  280.  
  281.           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. 
  282.  
  283.           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 
  284.  
  285.  
  286.  
  287.                                      5 
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  297.  
  298.  
  299.  
  300.      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. 
  301.  
  302.           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. 
  303.  
  304.           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." 
  305.  
  306.           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. 
  307.  
  308.           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 
  309.  
  310.  
  311.  
  312.                                      6 
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  322.  
  323.  
  324.  
  325.      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: 
  326.  
  327.      <WORD#>{-<WORD#>}  [ <BIT#>{-<BIT#>} ]  <description> 
  328.  
  329.      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. 
  330.  
  331.           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. 
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.                                      7 
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  363.  
  364.  
  365.  
  366.      3  Datagram Messages 
  367.  
  368.           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. 
  369.  
  370.           The format of datagram messages and the purpose of  each  of      the header control fields is described in Figure 1. 
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.                                      8 
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  402.  
  403.  
  404.  
  405.  
  406.  
  407.                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                      |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  408.  
  409.                          Figure 1 . DATAGRAM MESSAGE 
  410.  
  411.  
  412.  
  413.      0[15]     Message Class.  This bit identifies the  message  as  a                data message or a control message. 
  414.  
  415.                     0 = Data Message                     1 = Control Message 
  416.  
  417.      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. 
  418.  
  419.                     0 = Sent by Host                     1 = Sent by SIMP 
  420.  
  421.  
  422.  
  423.                                       9 
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  433.  
  434.  
  435.  
  436.      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. 
  437.  
  438.                     0 = Low Priority                     1 = Medium-Low Priority                     2 = Medium-High Priority                     3 = High Priority 
  439.  
  440.      0[9-11]   Reserved. 
  441.  
  442.      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. 
  443.  
  444.                     0 = Normal operation                     1 = Force channel transmission 
  445.  
  446.      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. 
  447.  
  448.      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). 
  449.  
  450.      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 
  451.  
  452.  
  453.  
  454.                                     10 
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  464.  
  465.  
  466.  
  467.                present. 
  468.  
  469.      3[15]     Data Message Type.  This  bit  identifies  whether  the                message is a datagram message or a stream message. 
  470.  
  471.                     0 = Datagram Message                     1 = Stream Message 
  472.  
  473.      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. 
  474.  
  475.                     0 = Internet                     1 = Local 
  476.  
  477.       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). 
  478.  
  479.                     0 = Discard message if data errors detected.                     1 = Don't discard message if data errors detected. 
  480.  
  481.                 The value of this flag, set  by  the  source  host,  is                passed on to the destination host. 
  482.  
  483.      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.  
  484.  
  485.  
  486.  
  487.                                     11 
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  497.  
  498.  
  499.  
  500.                     0 = No Data Errors Detected                     1 = Data Errors Detected 
  501.  
  502.       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. 
  503.  
  504.                     0 = 1 seconds                     1 = 2 seconds                     2 = 5 seconds                     3 = 10 seconds 
  505.  
  506.                 The Time-to-Live field is undefined  in  messages  sent                from a SIMP to a host. 
  507.  
  508.      3[8-9]    Priority.  The source host uses this field  to  specify                the  priority  with which the message should be handled                within the network. 
  509.  
  510.                     0 = Low Priority                     1 = Medium-Low Priority                     2 = Medium-High Priority                     3 = High Priority 
  511.  
  512.                 The  priority  of  each  message  is  passed   to   the                destination host by the destination SIMP. 
  513.  
  514.      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. 
  515.  
  516.                     0 = Low Reliability                     1 = Medium Reliability 
  517.  
  518.  
  519.  
  520.                                     12 
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  530.  
  531.  
  532.  
  533.                     2 = High Reliability                     3 = Reserved 
  534.  
  535.                 The Reliability field is  undefined  in  messages  sent                from a SIMP to a host. 
  536.  
  537.      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. 
  538.  
  539.      4[0-15]   Destination Host  Address.   This  field  contains  the                satellite  network  logical  address of the destination                host. 
  540.  
  541.      5[0-15]   Source Host Address.  This field contains the satellite                network logical address of the source host. 
  542.  
  543.      6-N       Data.  This field contains up to 16,384 bits (1024  16-                bit words) of user data. 
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.                                      13 
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  567.  
  568.  
  569.  
  570.      4  Stream Messages 
  571.  
  572.           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. 
  573.  
  574.           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. 
  575.  
  576.           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. 
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.                                      14 
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  604.  
  605.  
  606.  
  607.  
  608.  
  609.                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                      |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  610.  
  611.                           Figure 2 . STREAM MESSAGE 
  612.  
  613.  
  614.  
  615.      0[15]     Message Class = 0 (Data Message). 
  616.  
  617.      0[14]     Loopback Bit. 
  618.  
  619.      0[12-13]  Go-Priority. 
  620.  
  621.      0[8-11]   Reserved. 
  622.  
  623.      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). 
  624.  
  625.      1[0-15]   Header Checksum.  Covers Words 0-5. 
  626.  
  627.      2[0-15]   Piggybacked A/R. 
  628.  
  629.  
  630.  
  631.                                     15 
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  641.  
  642.  
  643.  
  644.      3[15]     Data Message Type = 1 (Stream). 
  645.  
  646.      3[14]     Internet/Local Flag. 
  647.  
  648.      3[13]     Discard Flag. 
  649.  
  650.      3[12]     Data Error Flag. 
  651.  
  652.      3[10-11]  Time-to-live Designator. 
  653.  
  654.                     0 = Reserved                     1 = 1 second                     2 = Reserved                     3 = Reserved 
  655.  
  656.      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). 
  657.  
  658.      4[0-15]   Destination Host Address. 
  659.  
  660.      5[0-15]   Source Host Address. 
  661.  
  662.      6-N       Data.  This field contains up to 16,000  bits  of  user                data (multiple of 16-bits). 
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.                                     16 
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  690.  
  691.  
  692.  
  693.      5  Flow Control Messages 
  694.  
  695.           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. 
  696.  
  697.           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. 
  698.  
  699.           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 
  700.  
  701.  
  702.  
  703.                                     17 
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  713.  
  714.  
  715.  
  716.      messages where the refusal code on each is different. 
  717.  
  718.           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. 
  719.  
  720.           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. 
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.                                      18 
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  754.  
  755.  
  756.  
  757.  
  758.  
  759.                15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+              |AR|    REFUSAL CODE    |  A/R MESSAGE NUMBER   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  760.  
  761.                      Figure 3 . ACCEPTANCE/REFUSAL WORD 
  762.  
  763.  
  764.  
  765.      [15]      Acceptance/Refusal Type.  This field identifies whether                A/R information is an acceptance or a refusal. 
  766.  
  767.                     0 = Acceptance                     1 = Refusal 
  768.  
  769.      [8-14]    Refusal Code.  When the Acceptance/Refusal  Type  =  1,                this field gives the Refusal Code. 
  770.  
  771.                     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 
  772.  
  773.      [0-7]     A/R Message Number.  This field contains the number  of 
  774.  
  775.  
  776.  
  777.                                     19 
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  787.  
  788.  
  789.  
  790.                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. 
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.                                     20 
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  840.  
  841.  
  842.  
  843.  
  844.  
  845.                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                      |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  846.  
  847.                     Figure 4 . ACCEPTANCE/REFUSAL MESSAGE 
  848.  
  849.  
  850.  
  851.      0[15]     Message Class = 1 (Control Message). 
  852.  
  853.      0[14]     Loopback Bit. 
  854.  
  855.      0[12-13]  Go-Priority. 
  856.  
  857.      0[8-11]   Reserved. 
  858.  
  859.      0[4-7]    Message Length.  This field contains the  total  length                of this message in words (N+1). 
  860.  
  861.      0[0-3]    Control Message Type = 1 (Acceptance/Refusal). 
  862.  
  863.      1[0-15]   Header Checksum.  The checksum covers words 0-N. 
  864.  
  865.      2[0-15]   Acceptance/Refusal Word. 
  866.  
  867.      3-N       Additional Acceptance/Refusal Words (optional). 
  868.  
  869.  
  870.  
  871.                                      21 
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  881.  
  882.  
  883.  
  884.  
  885.  
  886.                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                 |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  887.  
  888.                        Figure 5 . UNNUMBERED RESPONSE 
  889.  
  890.  
  891.  
  892.      0[15]     Message Class = 1 (Control Message). 
  893.  
  894.      0[14]     Loopback Bit. 
  895.  
  896.      0[12-13]  Go-Priority. 
  897.  
  898.      0[8-11]   Reserved. 
  899.  
  900.      0[4-7]    Response Code. 
  901.  
  902.                     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 
  903.  
  904.      0[0-3]    Control Message Type = 5 (Unnumbered Response). 
  905.  
  906.      1[0-15]   Header Checksum.  Covers words 0-3. 
  907.  
  908.  
  909.  
  910.                                      22 
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  920.  
  921.  
  922.  
  923.      2[0-15]   Response Information. If Response Code is: 
  924.  
  925.                     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 
  926.  
  927.      3[0-15]   Response Information. If Response Code is: 
  928.  
  929.                     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 
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.                                     23 
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  967.  
  968.  
  969.  
  970.      6  Setup Level Messages 
  971.  
  972.           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. 
  973.  
  974.           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. 
  975.  
  976.  
  977.  
  978.  
  979.  
  980.                                      24 
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  990.  
  991.  
  992.  
  993.           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. 
  994.  
  995.           The general format of every setup message is: 
  996.  
  997.                          <DATAGRAM MESSAGE HEADER>                         <OPTIONAL INTERNET HEADER>                           <SETUP MESSAGE HEADER>                            <SETUP MESSAGE BODY> 
  998.  
  999.      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. 
  1000.  
  1001.           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. 
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.                                     25 
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.                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                   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1023.  
  1024.                        Figure 6 . SETUP MESSAGE HEADER 
  1025.  
  1026.  
  1027.  
  1028.      0-5        Datagram Message Header.  Each  setup  message  begins                 with the six word datagram message header (see Section                 3). 
  1029.  
  1030.      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.) 
  1031.  
  1032.      N+1[8-15]  Setup Type.  This field determines the type  of  setup                 message. 
  1033.  
  1034.                      0 = Acknowledgment                      1 = Request                      2 = Reply                      3 = Notification 
  1035.  
  1036.      N+1[0-7]   Setup Code.  For requests,  this field identifies  the 
  1037.  
  1038.  
  1039.  
  1040.                                     26 
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1050.  
  1051.  
  1052.  
  1053.                 Request Type. 
  1054.  
  1055.                      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 
  1056.  
  1057.                 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. 
  1058.  
  1059.                      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 
  1060.  
  1061.  
  1062.  
  1063.                                      27 
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1073.  
  1074.  
  1075.  
  1076.                 For   Notifications,   this   field    contains    the                 Notification Type. 
  1077.  
  1078.                      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 
  1079.  
  1080.                 For   Acknowledgments,   this   field   contains   the                 Acknowledgment Type. 
  1081.  
  1082.                      0 = Reply acknowledgment                      1 = Notification acknowledgment 
  1083.  
  1084.      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. 
  1085.  
  1086.      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). 
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.                                      28 
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.                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              |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1120.  
  1121.                        Figure 7 . NOTIFICATION MESSAGE 
  1122.  
  1123.  
  1124.  
  1125.      0-5         Datagram Message Header (see Section 3). 
  1126.  
  1127.        6[8-15]   Setup Type = 3 (Notification). 
  1128.  
  1129.        6[0-7]    Notification Type. 
  1130.  
  1131.                       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 
  1132.  
  1133.        7[0-15]   Setup Checksum. Covers words 6-9. 
  1134.  
  1135.        8[0-15]   Notification ID. 
  1136.  
  1137.        9[0-15]   Notification Information.  This  field  contains  the                  16-bit   group   address  in  the  case  of  a  group 
  1138.  
  1139.  
  1140.  
  1141.                                     29 
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1151.  
  1152.  
  1153.  
  1154.                  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. 
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.                                     30 
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.                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                   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1210.  
  1211.                        Figure 8 . SETUP ACKNOWLEDGMENT 
  1212.  
  1213.  
  1214.  
  1215.      0-5         Datagram Message Header. 
  1216.  
  1217.        6[8-15]   Setup Type = 0 (Acknowledgment). 
  1218.  
  1219.        6[0-7]    Acknowledgment Type. 
  1220.  
  1221.                      0 = Reply acknowledgment                      1 = Notification acknowledgment 
  1222.  
  1223.        7[0-15]   Setup Checksum.  Covers words 6-8. 
  1224.  
  1225.        8[0-15]   Setup  ID.   This  is  either  a  Request  ID  or   a                  Notification ID. 
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.                                      31 
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1247.  
  1248.  
  1249.  
  1250.      6.1  Stream Setup Messages 
  1251.  
  1252.           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. 
  1253.  
  1254.           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. 
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.                                      32 
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.                                                Host       SIMP 
  1290.  
  1291.              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                 ------> 
  1292.  
  1293.  
  1294.  
  1295.                          Figure 9 . STREAM EXAMPLE 
  1296.  
  1297.  
  1298.  
  1299.           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 
  1300.  
  1301.  
  1302.  
  1303.                                     33 
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1313.  
  1314.  
  1315.  
  1316.      Reply Acknowledgment. 
  1317.  
  1318.           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. 
  1319.  
  1320.           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. 
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.                                      34 
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.                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                   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1356.  
  1357.                       Figure 10 . CREATE STREAM REQUEST 
  1358.  
  1359.  
  1360.  
  1361.      0-5         Datagram Message Header. 
  1362.  
  1363.        6[8-15]   Setup Type = 1 (Request). 
  1364.  
  1365.        6[0-7]    Request Type = 5 (Create Stream). 
  1366.  
  1367.        7[0-15]   Setup Checksum.  Covers words 6-10. 
  1368.  
  1369.        8[0-15]   Request ID. 
  1370.  
  1371.        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. 
  1372.  
  1373.        9[10-11]  Interval.  This  field  specifies  the  interval,  in                  number of 21.2 ms  frames, between stream slots. 
  1374.  
  1375.  
  1376.  
  1377.                                      35 
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1387.  
  1388.  
  1389.  
  1390.                       0 = 1 frame                       1 = 2 frames                       2 = 4 frames                       3 = 8 frames 
  1391.  
  1392.                  As an example, an interval of 4 frames corresponds to                  an allocation of Slot Size words every 85 ms. 
  1393.  
  1394.        9[8-9]    Priority.  This field specifies the priority at which                  all messages in the host stream should be handled. 
  1395.  
  1396.                       0 = Low priority                       1 = Medium Low Priority                       2 = Medium High Priority                       3 = High Priority 
  1397.  
  1398.        9[6-7]    Reliability.  This field  specifies  the  basic  bit-                  error  rate  requirement  for the data portion of all                  messages in the host stream. 
  1399.  
  1400.                       0 = Low Reliability                       1 = Medium Reliability                       2 = High Reliability                       3 = Reserved 
  1401.  
  1402.        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. 
  1403.  
  1404.        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. 
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.                                     36 
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.                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        |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1428.  
  1429.                        Figure 11 . CREATE STREAM REPLY 
  1430.  
  1431.  
  1432.  
  1433.      0-5          Datagram Message Header. 
  1434.  
  1435.        6[8-15]    Setup Type = 2 (Reply). 
  1436.  
  1437.        6[0-7]     Reply Code. 
  1438.  
  1439.                        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 
  1440.  
  1441.        7[0-15]    Setup Checksum.  Covers words 6-9. 
  1442.  
  1443.        8[0-15]    Request ID. 
  1444.  
  1445.  
  1446.  
  1447.                                      37 
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1457.  
  1458.  
  1459.  
  1460.        9[10-15]   Reserved. 
  1461.  
  1462.        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. 
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.                                      38 
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.                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                   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1514.  
  1515.                 Figure 12 . CHANGE STREAM PARAMETERS REQUEST 
  1516.  
  1517.  
  1518.  
  1519.      0-5          Datagram Message Header. 
  1520.  
  1521.        6[8-15]    Setup Type = 1 (Request). 
  1522.  
  1523.        6[0-7]     Request Type = 7 (Change Stream Parameters). 
  1524.  
  1525.        7[0-15]    Setup Checksum.  Covers words 6-11. 
  1526.  
  1527.        8[0-15]    Request ID. 
  1528.  
  1529.        9[10-15]   Reserved. 
  1530.  
  1531.        9[0-9]     Host Stream ID. 
  1532.  
  1533.        10[12-15]  New Maximum Messages Per Slot. 
  1534.  
  1535.  
  1536.  
  1537.                                      39 
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1547.  
  1548.  
  1549.  
  1550.        10[10-11]  Interval.   This  field  must  specifiy   the   same                   interval  as  was  specified  in  the  Create Stream                   Request message for this stream. 
  1551.  
  1552.        10[8-9]    New Priority. 
  1553.  
  1554.        10[6-7]    New Reliability. 
  1555.  
  1556.        10[0-5]    New Reliability Length. 
  1557.  
  1558.        11[0-15]   New Slot Size. 
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.                                     40 
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.                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                   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1608.  
  1609.                  Figure 13 . CHANGE STREAM PARAMETERS REPLY 
  1610.  
  1611.  
  1612.  
  1613.      0-5        Datagram Message Header. 
  1614.  
  1615.        6[8-15]  Setup Type = 2 (Reply). 
  1616.  
  1617.        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 
  1618.  
  1619.        7[0-15]  Setup Checksum.  Covers words 6-8. 
  1620.  
  1621.        8[0-15]  Request ID. 
  1622.  
  1623.  
  1624.  
  1625.                                     41 
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.                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        |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1641.  
  1642.                       Figure 14 . DELETE STREAM REQUEST 
  1643.  
  1644.  
  1645.  
  1646.      0-5      Datagram Message Header. 
  1647.  
  1648.      6[8-15]  Setup Type = 1 (Request). 
  1649.  
  1650.      6[0-7]   Request Type = 6 (Delete Stream). 
  1651.  
  1652.      7[0-15]  Setup Checksum.  Covers words 6-9. 
  1653.  
  1654.      8[0-15]  Request ID. 
  1655.  
  1656.      9[10-15] Reserved. 
  1657.  
  1658.      9[0-9]   Host Stream ID. 
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.                                      42 
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.                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                   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1684.  
  1685.                        Figure 15 . DELETE STREAM REPLY 
  1686.  
  1687.  
  1688.  
  1689.      0-5      Datagram Message Header. 
  1690.  
  1691.      6[8-15]  Setup Type = 2 (Reply). 
  1692.  
  1693.      6[0-7]   Reply Code. 
  1694.  
  1695.           1 = Stream deleted           8 = Network trouble          10 = Stream ID nonexistent          11 = Not creator of stream          17 = Insufficient network resources          22 = Reply lost in network 
  1696.  
  1697.      7[0-15]  Setup Checksum.  Covers words 6-8. 
  1698.  
  1699.      8[0-15]  Request ID. 
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.                                     43 
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1719.  
  1720.  
  1721.  
  1722.      6.2  Group Setup Messages 
  1723.  
  1724.           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. 
  1725.  
  1726.           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. 
  1727.  
  1728.           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. 
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.                                      44 
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.                                     Host   SIMP    SIMP   Host                                     A      A       B      B 
  1752.  
  1753.         Create Group Request         ------>         Create Group Reply           <------         Reply Acknowledgment         ------>              .              .                                      >>Group Address,Key>>              .              .         Join Group Request                          <------         Join Group Reply                            ------>         Reply Acknowledgment                        <------ 
  1754.  
  1755.         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         ------> 
  1756.  
  1757.                           Figure 16 . GROUP EXAMPLE 
  1758.  
  1759.  
  1760.  
  1761.            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 
  1762.  
  1763.  
  1764.  
  1765.                                     45 
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1775.  
  1776.  
  1777.  
  1778.      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. 
  1779.  
  1780.           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. 
  1781.  
  1782.           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. 
  1783.  
  1784.           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. 
  1785.  
  1786.           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. 
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.                                      46 
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.                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                   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1810.  
  1811.                       Figure 17 . CREATE GROUP REQUEST 
  1812.  
  1813.  
  1814.  
  1815.      0-5        Datagram Message Header. 
  1816.  
  1817.        6[8-15]  Setup Type = 1 (Request). 
  1818.  
  1819.        6[0-7]   Request Type = 1 (Create Group). 
  1820.  
  1821.        7[0-15]  Setup Checksum.  Covers words 6-8. 
  1822.  
  1823.        8[0-15]  Request ID. 
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.                                      47 
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.                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                      |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1855.  
  1856.                        Figure 18 . CREATE GROUP REPLY 
  1857.  
  1858.  
  1859.  
  1860.      0-5        Datagram Message Header. 
  1861.  
  1862.        6[8-15]  Setup Type = 2 (Reply). 
  1863.  
  1864.        6[0-7]   Reply Code. 
  1865.  
  1866.                      0 = Group created                      8 = Network trouble                     17 = Insufficient network resources                     22 = Reply lost in network 
  1867.  
  1868.        7[0-15]  Setup Checksum.  Covers words 6-12. 
  1869.  
  1870.        8[0-15]  Request ID. 
  1871.  
  1872.  
  1873.  
  1874.                                     48 
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1884.  
  1885.  
  1886.  
  1887.        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. 
  1888.  
  1889.        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. 
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.                                      49 
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.                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                      |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  1941.  
  1942.                        Figure 19 . JOIN GROUP REQUEST 
  1943.  
  1944.  
  1945.  
  1946.      0-5        Datagram Message Header. 
  1947.  
  1948.        6[8-15]  Setup Type = 1 (Request). 
  1949.  
  1950.        6[0-7]   Request Type = 3 (Join Group). 
  1951.  
  1952.        7[0-15]  Setup Checksum.  Covers words 6-12. 
  1953.  
  1954.        8[0-15]  Request ID. 
  1955.  
  1956.        9[0-15]  Group Address.  This is the  logical  address  of  the                 group that the host wishes to join. 
  1957.  
  1958.      10-12      Key.  This  is  the  key  associated  with  the  group 
  1959.  
  1960.  
  1961.  
  1962.                                     50 
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  1972.  
  1973.  
  1974.  
  1975.                 address. 
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.  
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.                                     51 
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.                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                   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2035.  
  2036.                         Figure 20 . JOIN GROUP REPLY 
  2037.  
  2038.  
  2039.  
  2040.      0-5        Datagram Message Header. 
  2041.  
  2042.        6[8-15]  Setup Type = 2 (Reply). 
  2043.  
  2044.        6[0-7]   Reply Code. 
  2045.  
  2046.                      2 = Group joined                      9 = Bad key                     10 = Group address nonexistent                     17 = Insufficient network resources 
  2047.  
  2048.        7[0-15]  Setup Checksum.  Covers words 6-8. 
  2049.  
  2050.        8[0-15]  Request ID. 
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.                                     52 
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.                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                      |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2078.  
  2079.                        Figure 21 . LEAVE GROUP REQUEST 
  2080.  
  2081.  
  2082.  
  2083.      0-5        Datagram Message Header. 
  2084.  
  2085.        6[8-15]  Setup Type = 1 (Request). 
  2086.  
  2087.        6[0-7]   Request Type = 4 (Leave Group). 
  2088.  
  2089.        7[0-15]  Setup Checksum.  Covers words 6-12. 
  2090.  
  2091.        8[0-15]  Request ID. 
  2092.  
  2093.        9[0-15]  Group Address.  This is the  logical  address  of  the                 group that the host wishes to leave. 
  2094.  
  2095.      10-12      Key.  This  is  the  key  associated  with  the  group 
  2096.  
  2097.  
  2098.  
  2099.                                     53 
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2109.  
  2110.  
  2111.  
  2112.                 address. 
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.                                     54 
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.                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                   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2172.  
  2173.                         Figure 22 . LEAVE GROUP REPLY 
  2174.  
  2175.  
  2176.  
  2177.      0-5        Datagram Message Header. 
  2178.  
  2179.        6[8-15]  Setup Type = 2 (Reply). 
  2180.  
  2181.        6[0-7]   Reply Code. 
  2182.  
  2183.                      3 = Group left                      9 = Bad key                     10 = Group address nonexistent                     11 = Not member of group                     17 = Insufficient network resources 
  2184.  
  2185.        7[0-15]  Setup Checksum.  Covers words 6-8. 
  2186.  
  2187.        8[0-15]  Request ID. 
  2188.  
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.                                      55 
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.                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                      |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2213.  
  2214.                       Figure 23 . DELETE GROUP REQUEST 
  2215.  
  2216.  
  2217.  
  2218.      0-5        Datagram Message Header. 
  2219.  
  2220.        6[8-15]  Setup Type = 1 (Request). 
  2221.  
  2222.        6[0-7]   Request Type = 2 (Delete Group). 
  2223.  
  2224.        7[0-15]  Setup Checksum.  Covers words 6-12. 
  2225.  
  2226.        8[0-15]  Request ID. 
  2227.  
  2228.        9[0-15]  Group Address. 
  2229.  
  2230.      10-12      Key. 
  2231.  
  2232.  
  2233.  
  2234.                                      56 
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.                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                   |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2250.  
  2251.                        Figure 24 . DELETE GROUP REPLY 
  2252.  
  2253.  
  2254.  
  2255.      0-5        Datagram Message Header. 
  2256.  
  2257.        6[8-15]  Setup Type = 2 (Reply). 
  2258.  
  2259.        6[0-7]   Reply Code. 
  2260.  
  2261.                      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 
  2262.  
  2263.        7[0-15]  Setup Checksum.  Covers words 6-8. 
  2264.  
  2265.        8[0-15]  Request ID. 
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.                                      57 
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2283.  
  2284.  
  2285.  
  2286.      7  Link Monitoring 
  2287.  
  2288.           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). 
  2289.  
  2290.           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. 
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.                                     58 
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.                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                      |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2324.  
  2325.                          Figure 25 . STATUS MESSAGE 
  2326.  
  2327.  
  2328.  
  2329.      0[15]     Message Class = 1 (Control Message). 
  2330.  
  2331.      0[14]     Loopback Bit. 
  2332.  
  2333.      0[12-13]  Go-Priority. 
  2334.  
  2335.      0[4-11]   Reserved. 
  2336.  
  2337.  
  2338.  
  2339.                                      59 
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2349.  
  2350.  
  2351.  
  2352.      0[0-3]    Control Message Type = 0 (Status). 
  2353.  
  2354.      1[0-15]   Header Checksum.  Covers words 0-10. 
  2355.  
  2356.      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. 
  2357.  
  2358.      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. 
  2359.  
  2360.      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. 
  2361.  
  2362.      5[0-15]   Sent By Us. Count of messages sent by us since the last                link restart (not including this one). 
  2363.  
  2364.      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. 
  2365.  
  2366.      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. 
  2367.  
  2368.      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. 
  2369.  
  2370.      9[0-15]   Bad Header Checksums. This is  the  count  of  messages 
  2371.  
  2372.  
  2373.  
  2374.                                     60 
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.  
  2383.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2384.  
  2385.  
  2386.  
  2387.                received with bad header checksums (since the last link                restart) at the  time  the  last   status  message  was                received. 
  2388.  
  2389.      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. 
  2390.  
  2391.  
  2392.  
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.                                     61 
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2435.  
  2436.  
  2437.  
  2438.      8  Initialization 
  2439.  
  2440.           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. 
  2441.  
  2442.           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: 
  2443.  
  2444.      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. 
  2445.  
  2446.      INIT           Local state variables have  been  initialized  and                     local  counters  have  been  zeroed but no restart                     control messages have yet been sent or received. 
  2447.  
  2448.      RR-SNT         A request to reinitialize (RR) has  been  sent  to                     the other end but no restart control messages have                     yet been received. 
  2449.  
  2450.      RC-SNT         A reply (RC) has been sent to  the  other  end  in                     response  to  a  received reinitialization request 
  2451.  
  2452.  
  2453.  
  2454.                                     62 
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2464.  
  2465.  
  2466.  
  2467.                     (RR).  The device is waiting for a reply (RC). 
  2468.  
  2469.      ON             Reply  (RC)  messages  have  been  both  sent  and                     received.   Data  and  control messages can now be                     exchanged between the SIMP and host. 
  2470.  
  2471.           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. 
  2472.  
  2473.           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. 
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.                                     63 
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.                                -------          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                        ----------| 
  2513.  
  2514.                  Figure 26 . HAP LINK RESTART STATE DIAGRAM 
  2515.  
  2516.  
  2517.  
  2518.                                      64 
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.                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                  |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2534.  
  2535.                          Figure 27 . RESTART REQUEST 
  2536.  
  2537.  
  2538.  
  2539.      0[15]    Message Type = 1 (Control Message). 
  2540.  
  2541.      0[14]    Loopback Bit. 
  2542.  
  2543.      0[8-13]  Reserved. 
  2544.  
  2545.      0[4-7]   Reason.  This field is used by the SIMP or the  host  to               indicate the reason for the restart as follows: 
  2546.  
  2547.                    0 = power up                    1 = system restart                    2 = link restart                    3 = link timeout                    4 = loopback timeout 
  2548.  
  2549.      0[0-3]   Control Message Type = 3 (Restart Request). 
  2550.  
  2551.      1[0-15]  Header Checksum.  Covers words 0-3. 
  2552.  
  2553.      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 
  2554.  
  2555.  
  2556.  
  2557.                                     65 
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2567.  
  2568.  
  2569.  
  2570.               being  used.   When  sent  by  the SIMP, this field will               contain the SIMP site number. 
  2571.  
  2572.      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). 
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.                                     66 
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.                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                  |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2626.  
  2627.                         Figure 28 . RESTART COMPLETE 
  2628.  
  2629.  
  2630.  
  2631.      0[15]    Message Type = 1 (Control Message). 
  2632.  
  2633.      0[14]    Loopback Bit. 
  2634.  
  2635.      0[5-13]  Reserved. 
  2636.  
  2637.      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. 
  2638.  
  2639.                    0 = Disable acceptance/refusal                    1 = Enable acceptance/refusal 
  2640.  
  2641.      0[0-3]   Control Message Type = 4 (Restart Complete). 
  2642.  
  2643.      1[0-15]  Header Checksum.  Covers words 0-3. 
  2644.  
  2645.      2[0-15]  Host Address / Site Number. 
  2646.  
  2647.      3[0-15]  Link Number. 
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.                                     67 
  2654.  
  2655.  
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2663.  
  2664.  
  2665.  
  2666.      9  Loopback Control 
  2667.  
  2668.           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. 
  2669.  
  2670.           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. 
  2671.  
  2672.           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.) 
  2673.  
  2674.           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 
  2675.  
  2676.  
  2677.  
  2678.                                     68 
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2688.  
  2689.  
  2690.  
  2691.      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. 
  2692.  
  2693.           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. 
  2694.  
  2695.           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. 
  2696.  
  2697.           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. 
  2698.  
  2699.           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 
  2700.  
  2701.  
  2702.  
  2703.                                     69 
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2713.  
  2714.  
  2715.  
  2716.      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. 
  2717.  
  2718.  
  2719.  
  2720.  
  2721.  
  2722.  
  2723.  
  2724.  
  2725.  
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.                                      70 
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2766.  
  2767.  
  2768.  
  2769.  
  2770.  
  2771.                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                  |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2772.  
  2773.                         Figure 29 . LOOPBACK REQUEST 
  2774.  
  2775.  
  2776.  
  2777.      0[15]     Message Type = 1 (Control Message). 
  2778.  
  2779.      0[14]     Loopback Bit. 
  2780.  
  2781.      0[12-13]  Go-Priority. 
  2782.  
  2783.      0[8-11]   Reserved. 
  2784.  
  2785.      0[4-7]    Loop Type.  This field indicates the type of loop  that                is being requested as follows: 
  2786.  
  2787.                     0 = Undefined                     1 = Loop at interface (hardware loop)                     2 = Loop at driver (software loop)                     3-15 = Undefined 
  2788.  
  2789.      0[0-3]    Control Message Type = 8 (Loopback Request). 
  2790.  
  2791.      1[0-15]   Header Checksum.  Covers words 0-2. 
  2792.  
  2793.      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. 
  2794.  
  2795.  
  2796.  
  2797.                                     71 
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2807.  
  2808.  
  2809.  
  2810.      10  Other Control Messages 
  2811.  
  2812.           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. 
  2813.  
  2814.           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. 
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.                                      72 
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.                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                  |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2856.  
  2857.                          Figure 30 . LINK GOING DOWN 
  2858.  
  2859.  
  2860.  
  2861.      0[15]     Message Type = 1 (Control Message). 
  2862.  
  2863.      0[14]     Loopback Bit. 
  2864.  
  2865.      0[12-13]  Go-Priority. 
  2866.  
  2867.      0[8-11]   Reserved. 
  2868.  
  2869.      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: 
  2870.  
  2871.                     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 
  2872.  
  2873.  
  2874.  
  2875.                                     73 
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2885.  
  2886.  
  2887.  
  2888.                     9 = Not scheduled up                    10 = Last warning:  The SIMP  or host  is disabling                         the link in 10 seconds                    11-15 = Undefined 
  2889.  
  2890.      0[0-3]    Control Message Type = 7 (Link Going Down). 
  2891.  
  2892.      1[0-15]   Header Checksum.  Covers words 0-3. 
  2893.  
  2894.      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. 
  2895.  
  2896.      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. 
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922.                                     74 
  2923.  
  2924.  
  2925.  
  2926.  
  2927.  
  2928.  
  2929.  
  2930.  
  2931.      RFC 907                                      Host Access Protocol      July 1984                                           Specification 
  2932.  
  2933.  
  2934.  
  2935.  
  2936.  
  2937.                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                 |              +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  2938.  
  2939.                        Figure 31 . NO OPERATION (NOP) 
  2940.  
  2941.  
  2942.  
  2943.      0[15]     Message Type = 1 (Control Message). 
  2944.  
  2945.      0[14]     Loopback Bit. 
  2946.  
  2947.      0[4-13]   Reserved. 
  2948.  
  2949.      0[0-3]    Control Message Type = 6 (NOP). 
  2950.  
  2951.      1[0-15]   Header Checksum.  Covers words 0-N. 
  2952.  
  2953.      2-N       Arbitrary Data.  Up to 32 words of data  may  be  sent.                The data are undefined by HAP. 
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.                                     75 
  2970.  
  2971.  
  2972.