IEN 192
                      HOST/SATNET  PROTOCOL
                  Bolt Beranek and Newman Inc.
                            July 1981
Host/SATNET Protocol                                      IEN 192
                        TABLE OF CONTENTS
1.  Overview . . . . . . . . . . . . . . . . . . . . . . . . .  1
2.  Satellite IMP Implementation Details . . . . . . . . . . .  4
  2.1  Initialization  . . . . . . . . . . . . . . . . . . . .  5
  2.2  Host-to-Satellite IMP Input . . . . . . . . . . . . . .  6
  2.3  Satellite IMP-to-Host Output  . . . . . . . . . . . . .  8
3.  DATAGRAM ACCESS PROTOCOL . . . . . . . . . . . . . . . . . 10
  3.1  Overview  . . . . . . . . . . . . . . . . . . . . . . . 10
  3.2  Types of Service  . . . . . . . . . . . . . . . . . . . 11
  3.3  Addressing  . . . . . . . . . . . . . . . . . . . . . . 12
  3.4  Message Length  . . . . . . . . . . . . . . . . . . . . 12
  3.5  Host/SATNET Flow Control  . . . . . . . . . . . . . . . 13
  3.6  Status Messages . . . . . . . . . . . . . . . . . . . . 14
  3.7  Hello Messages  . . . . . . . . . . . . . . . . . . . . 14
  3.8  Message Reference Numbers . . . . . . . . . . . . . . . 15
  3.9  Initialization  . . . . . . . . . . . . . . . . . . . . 15
  3.10  Format Errors  . . . . . . . . . . . . . . . . . . . . 16
  3.11  Loop Detection . . . . . . . . . . . . . . . . . . . . 16
  3.12  Piggybacked Control Messages . . . . . . . . . . . . . 17
  3.13  Formats  . . . . . . . . . . . . . . . . . . . . . . . 17
    3.13.1  Control Codes  . . . . . . . . . . . . . . . . . . 17
    3.13.2  Data Messages  . . . . . . . . . . . . . . . . . . 18
      3.13.2.1  Type of Service Word . . . . . . . . . . . . . 19
      3.13.2.2  Acceptance Status Word . . . . . . . . . . . . 20
    3.13.3  ACCEPTED Messages  . . . . . . . . . . . . . . . . 21
    3.13.4  REFUSED Messages . . . . . . . . . . . . . . . . . 21
    3.13.5  STATUS REQUEST Messages  . . . . . . . . . . . . . 22
    3.13.6  STATUS MESSAGES  . . . . . . . . . . . . . . . . . 23
    3.13.7  HELLO Message  . . . . . . . . . . . . . . . . . . 23
    3.13.8  FORMAT ERROR Message . . . . . . . . . . . . . . . 23
    3.13.9  RESTART REQUEST Message  . . . . . . . . . . . . . 24
    3.13.10  RESTART COMPLETE Message  . . . . . . . . . . . . 25
4.  STREAM ACCESS PROTOCOLS  . . . . . . . . . . . . . . . . . 26
  4.1  Overview  . . . . . . . . . . . . . . . . . . . . . . . 26
  4.2  Stream Data Messages  . . . . . . . . . . . . . . . . . 27
  4.3  Stream Request Replies and Notifications  . . . . . . . 28
    4.3.1  CREATE  . . . . . . . . . . . . . . . . . . . . . . 31
    4.3.2  DELETE  . . . . . . . . . . . . . . . . . . . . . . 32
    4.3.3  JOIN  . . . . . . . . . . . . . . . . . . . . . . . 33
    4.3.4  LEAVE . . . . . . . . . . . . . . . . . . . . . . . 34
    4.3.5  CHANGE  . . . . . . . . . . . . . . . . . . . . . . 34
  4.4  SATNET Termination and Suspension of Streams  . . . . . 35
                              - i -
Host/SATNET Protocol                                      IEN 192
5.  Land Modem Interface . . . . . . . . . . . . . . . . . . . 37
6.  Local Host Interface . . . . . . . . . . . . . . . . . . . 37
APPENDIX A.    . . . . . . . . . . . . . . . . . . . . . . . . 38
  A.1   Table 1 -- Request Codes . . . . . . . . . . . . . . . 38
  A.2   Table 2 -- Reply Codes . . . . . . . . . . . . . . . . 38
  A.3   Table 3 -- Error Codes in D3 . . . . . . . . . . . . . 39
  A.4   Table 4 -- Notification Codes  . . . . . . . . . . . . 39
  A.5   Table 5 -- SATNET Data Message Types . . . . . . . . . 39
  A.6   Table 6 -- SATNET Logical Address Map  . . . . . . . . 40
APPENDIX B.    . . . . . . . . . . . . . . . . . . . . . . . . 43
  B.1   Figure 1.  Restart State Diagram . . . . . . . . . . . 43
  B.2   Figure 2.  General Message Format  . . . . . . . . . . 44
  B.3   Figure 3.  Block DATA Message  . . . . . . . . . . . . 45
  B.4   Figure 4.  Type of Service Word  . . . . . . . . . . . 46
  B.5   Figure 5.  Acceptance Status Word  . . . . . . . . . . 46
  B.6   Figure 6.  ACCEPTED Message  . . . . . . . . . . . . . 46
  B.7   Figure 7.  REFUSED Message . . . . . . . . . . . . . . 46
  B.8   Figure 8.  STATUS REQUEST Message  . . . . . . . . . . 47
  B.9   Figure 9.  STATUS Message  . . . . . . . . . . . . . . 47
  B.10   Figure 10.  HELLO Message . . . . . . . . . . . . . . 48
  B.11   Figure 11.  FORMAT ERROR Message  . . . . . . . . . . 48
  B.12   Figure 12.  RESTART REQUEST Message . . . . . . . . . 48
  B.13   Figure 13.  RESTART COMPLETE Message  . . . . . . . . 48
  B.14   Figure 14.  Stream Data Format  . . . . . . . . . . . 49
  B.15   Figure 15.  Request Message Format  . . . . . . . . . 50
  B.16   Figure 16.  Reply Message Format  . . . . . . . . . . 51
  B.17   Figure 17.  Notification Message Format . . . . . . . 52
  B.18   Figure 18.  Create Request Words  . . . . . . . . . . 53
  B.19   Figure 19.  Delete, Join, Leave Request Words . . . . 54
                             - ii -
Host/SATNET Protocol                                      IEN 192
                             PREFACE
     This document  describes  the  current  SATNET  Host  Access
protocol.    This  supersedes  PSPWN  #100  (SATNET  Host  Access
protocol) and PSPWN #104 (Host/SATNET  Stream  Access  protocol).
The differences are:
     (1)  The initialization  state  diagram  has  been
          changed  so  that neither side will enter the
          ON state unless both sides of the  connecting
          transmission line are working.
     (2)  A "Host type" field was added to the  Restart
          Request and Restart Complete messages.
     (3)  The numeric values of some error  codes  have
          been  changed,  as have the detailed meanings
          of some of those codes.
     (4)  Some Stream Reply Codes have been changed.
     (5)  Some significant changes have  been  made  to
          the  information  supplied by hosts in Stream
          Create and Change request messages.
     (6)  Hosts must use  the  acceptance/refusal  flow
          control strategy in response to data messages
          from  Satellite IMPs (i.e., this is no longer
          an option).
                             - iii -
Host/SATNET Protocol                                      IEN 192
1.  Overview
     In determining an appropriate host access protocol,  several
factors   must  be  considered.   One  set  of  factors  concerns
regulation  of  transfers  in   either   direction   across   the
host-network interface.  A second set of factors concerns actions
associated  with the transmission of messages across the network.
While there are several different protocols  in  existence  which
deal  with  link  and  network access (e.g., SDLC and X.25), none
satisfies the totality of user services and other factors  unique
to  SATNET.  Thus to allow flexible exploration of access issues,
a special protocol was developed  for  the  network  transmission
level.   (For  implementation  convenience,  however, an existing
ARPANET link error control protocol was used to provide  reliable
interface transfers.)
     The  network-level  access  factors  include  the passing of
type-of-service information such as priority and delay class, the
passing of flow and congestion control information,  coordination
of   stream   data  messages  with  their  scheduled  times,  and
mechanisms for dynamic stream and addressing setups.
     The type-of-service information is dealt with by defining an
appropriate field in the message headers.  This  field  currently
consists  of  eight  bits  in  SATNET:  Two bits for message type
(datagram/stream and internet designations), two bits to  specify
                              - 1 -
Host/SATNET Protocol                                      IEN 192
one  of  four  priorities,  two bits to specify one of four delay
classes, one bit to specify a holding time choice, and one bit to
specify reliability.  The delay class choices  presently  consist
of  one  second,  five  seconds, twenty seconds, and two minutes.
The holding time choice consists of either  twice  the  specified
delay  class  or two minutes.  The reliability choice consists of
"high", which causes  channel  retransmissions  to  be  used,  or
"standard",  which inhibits the use of retransmissions and allows
messages with bad data checksums (but  good  checksums  on  their
control   information)   to  be  delivered  to  users.   Standard
reliability is  designed  for  applications  which  can  tolerate
occasional  bit  errors, but cannot tolerate lost or out-of-order
packets (e.g. packet speech).
     Flow and congestion control information is passed by the use
of two distinct mechanisms.  First, status information reflecting
current congestion control  is  sent  in  all  data  and  related
control  messages;  in  the  absence  of other traffic, a special
status message is sent periodically.  This information  indicates
which  priority and delay classes are currently being accepted by
the network.
     The  second  mechanism  consists  of  specific   information
concerning  the  disposition  of  each data message passed to the
network.  Each data message  is  numbered  (modulo  128)  by  the
                              - 2 -
Host/SATNET Protocol                                      IEN 192
sending  host  for  identification  purposes.   Upon receipt, the
network returns an "acceptance" or "refusal"  indication  to  the
host.   An acceptance implies the network believes it can deliver
the message to its  destination  and  is  proceeding  to  do  so;
delivery,  however,  is  not  guaranteed.   A  refusal  means the
network has discarded the message; in this case a refusal subcode
is included to indicate the  reason.   Messages  may  be  refused
because,  for example, the destination is down or does not exist,
because its priority or delay class is  not  being  accepted,  or
because  of temporary flow control reasons associated with source
or destination buffering.  In the  latter  case  the  message  is
assigned  to  one  of  several  categories  used  for  subsequent
notification purposes.   A  bit  representing  each  category  is
passed  along with the priority-delay class status information in
all messages.  When the message is  refused  the  number  of  the
assigned  category  is returned to the sender, with the values of
subsequent category status bits indicating when messages of  that
category will again be accepted.
     In  order  to minimize message delays and to schedule stream
slots efficiently,  the  coordination  of  stream  data  messages
involves  establishment  of  the correct time window in which the
host should pass each message to the network.  The present system
uses explicit accept/refuse messages to accomplish this.   Stream
and addressing setups are accomplished by using datagram messages
between the hosts and the network.
                              - 3 -
Host/SATNET Protocol                                      IEN 192
2.  Satellite IMP Implementation Details
     For  each physical host port the software uses the following
data structures:
               Protocol state word,
               Category queues,
               Host output queue,
               Accept/refuse queue (HAQ),
               Interface property table,
               Last-heard word (LSTHRD).
     The protocol state word indicates whether the protocol is in
initialization or running state.  If in initialization state,  no
messages  will  be  accepted  or  delivered  until  the necessary
handshaking procedure, as described below, is completed.
     The four category queues are used  to  store  messages  that
have  been  refused  by  a host.  If a host refuses a message and
provides an appropriate category indication, the message will  be
stored  on  the specified category queue until the host indicates
it is willing to accept messages of that category.  If a  message
reaches  its maximum holding time before the host will accept it,
it will be dropped from the queue.
     The host output queue is a queue of data messages waiting to
be delivered to the appropriate host.  Ordered  by  urgency,  all
messages remain on this queue until they are transferred into the
HAQ  just  prior to being sent to the host or until their holding
time expires.
                              - 4 -
Host/SATNET Protocol                                      IEN 192
     The HAQ is a storage location for a message  that  has  been
sent  to  the  host and is awaiting an accept or refuse response.
If a response is received, the message is removed from the queue.
If no response is received, the message will be removed when  its
maximum holding time has expired.
     The  interface  property table (IPT) is used to indicate any
of the various protocol options selected by  a  host.   One  such
option  is  whether  to allow piggybacking of Host/SATNET control
messages.  Another option is that the  host  may  decline  to  do
accept/reject  decisions on traffic that it receives from SATNET.
     The last-heard word indicates when the host was  last  heard
from.  The host is declared down if it has not been heard from in
a  specified time, currently about thirty seconds.  The host will
remain down until the necessary handshaking is completed.
2.1  Initialization
     Whenever a host or Satellite IMP is restarted,  it  sends  a
RESTART-REQUEST control message to the other party.  This message
will be repeated periodically until a RESTART-COMPLETE message is
received from the other party.  When the RESTART-COMPLETE message
is  received  by  the  first  party,  it  will  then  also send a
RESTART-COMPLETE message.
                              - 5 -
Host/SATNET Protocol                                      IEN 192
2.2  Host-to-Satellite IMP Input
     For  datagram  traffic,   SATNET   accepts   variable-length
messages  of  up  to a fixed maximum length (currently 128 16-bit
words).  The host prefixes  each  message  with  a  header  which
provides   addressing   and  control  information.   The  control
information specifies priority, desired delivery  delay,  maximum
holding  time,  and  selection of message control options such as
reliability.  Each datagram message from a host  is  accepted  or
rejected  by  the  Satellite IMP according to the current network
loading and other factors.  The Satellite IMP  always  returns  a
control message indicating acceptance or refusal.
     The  message  control parameters have the following possible
values:  Priority is an integer from zero to  three,  with  three
being  the  lowest priority and zero the highest.  There are four
possible delay classes:  1 second, 5 seconds, 20 seconds, and 120
seconds.  There are two  possible  choices  for  maximum  holding
time:   twice the delay class or the maximum system holding time.
Reliability may be either normal or  high  reliability  (zero  or
one).
     Initially,  when  a  message is offered by a host, a minimal
amount of buffer is requested at high priority, and the header of
the message is copied into this buffer in SATNET internal format.
The  information  in  the  header  is  then  presented   to   the
                              - 6 -
Host/SATNET Protocol                                      IEN 192
Accept/Reject  module.  If the message is accepted the additional
buffer needed is obtained, the rest of the message is copied into
the buffer, and an accept message is placed on the  accept/reject
notification  list  (ARN).   If  the  message  is  rejected,  the
appropriate rejection code is placed on the ARN  and  the  buffer
space  is  freed.   It  is left for the host to decide whether to
resubmit the message at a later time.  The  rejection  code  will
also  inform  the  host  of  which priority and delay classes are
currently being accepted, to assist the host  in  making  message
offering decisions.
     The  accept/reject  decision  is  performed as follows:  The
first checks are made to  ensure  a  valid  source  ID,  adequate
buffer in the Satellite IMP, and a message size not exceeding the
maximum  allowed  size.   The  Satellite  IMP must also be in the
In-Sync state to be able to accept the message.  For any  message
passing  these  tests,  its  TTG and priority are calculated, and
used to form its urgency value.
     Next a check is made to see if the message can be  delivered
to   the   destination,   which  involves  checking  a  table  of
destination parameters.  The  Satellite  IMP  verifies  that  the
destination  Satellite  IMP  and  host  are  up and are receiving
messages of the same category as the offered message.
                              - 7 -
Host/SATNET Protocol                                      IEN 192
     Although  not  implemented,   the   following   checks   are
considered  useful.  If the reservation-making queue contains too
much traffic of higher urgency or if the number of  free  buffers
is below a fixed threshold, the message will be refused.  Also, a
maximum buffer usage may be assigned to each host for messages of
each  category;   messages  will  be  refused if the threshold is
exceeded for messages of the same category.
     A stream packet undergoes a different set of  checks  before
it  is accepted by the Satellite IMP.  The stream must exist, the
length of the message must not exceed the maximum  allowable  for
that stream, and there must be room available on the stream queue
for  another  packet.  Also, the offering host must be designated
as a member of that stream.
2.3  Satellite IMP-to-Host Output
     Whenever there is an opportunity to  send  a  message  to  a
host,  the  Satellite  IMP  will  examine every eligible queue to
determine which message should be sent first.  This includes  the
host  output  queue,  the  four  category queues, and the control
message waiting queue (ARN).  If ARN is longer than  a  specified
threshold,  sending of control messages will take precedence over
sending of data messages, until the ARN length  falls  below  the
threshold.  Otherwise, if piggybacking is allowed, a data message
will  be sent to the host with a control message piggybacked.  If
                              - 8 -
Host/SATNET Protocol                                      IEN 192
no piggybacking  is  allowed,  then  control  messages  and  data
messages  will  compete.   Competition  is always on the basis of
urgency (priority and TTG).  A category queue may  be  ineligible
if  the  host is not accepting messages of that category.  In the
absence of other traffic, a Satellite IMP  will  send  a  'HELLO'
message  every  second.  Once a data message has been selected it
is queued in HAQ and transmitted to the host.
     If the host fails to respond in time, the  message  will  be
deleted  from  HAQ  when  its  holding time expires.  If the host
accepts, the message will be removed from HAQ and discarded.   If
the  host  refuses  and specifies a category, the message will be
removed from HAQ and placed on the specified category queue.   If
the  message  is refused for urgency reasons, the message will be
requeued on the host output queue.
     HAQ, the category queues, the host output  queues,  and  ARN
are  all  kept  ordered  by urgency, so that testing for the most
urgent message consists of testing only the first message on each
queue.
                              - 9 -
Host/SATNET Protocol                                      IEN 192
3.  DATAGRAM ACCESS PROTOCOL
3.1  Overview
     For  datagram  traffic,   SATNET   accepts   variable-length
messages  of  up  to 128 words of data.  The source host prefixes
each message with a leader which provides addressing and  control
information.  The control information specifies message priority,
desired  delivery  delay,  delay  at  which the message should be
discarded if not yet  delivered  ("maximum  holding  time"),  and
selection of one or more message control options.
     Each  datagram  message  from  a  source host is accepted or
refused by the source Satellite IMP according to current  network
loading and other factors, with a control message always returned
by the source Satellite IMP indicating the acceptance or refusal.
Upon  acceptance,  SATNET  then  attempts  to deliver the message
within its specified delay.  However, it will continue trying  to
deliver  if  late,  until  its  maximum holding time is exceeded.
Datagram messages always have at least a two-hop delay (about 0.6
seconds) within SATNET.
     A  lower-level  protocol  is  assumed  to  provide  reliable
exchanges  of  data and control messages on the link connecting a
host and  Satellite  IMP,  and  is  assumed  transparent  to  the
protocol  defined  in this document.  The Honeywell 316 Satellite
IMPs use the ARPANET VDH protocol for this purpose.  The new  BBN
                             - 10 -
Host/SATNET Protocol                                      IEN 192
C/30  Satellite  IMPs support in addition ARPANET 1822 local host
and distant host protocol.
3.2  Types of Service
     The type-of-service fields in  the  SATNET  leader  of  each
datagram  message allows the following choices to be specified to
SATNET for each message:
          Priority:  4 choices.  This is used in conjunction with
          the acceptable delivery delay to arbitrate  for  SATNET
          resources.
          Acceptable  Delivery  Delay:   1  second, 5 seconds, 20
          seconds, and 120 seconds.
          Holding Time:  This is the maximum time an  undelivered
          message should be held within SATNET before discarding.
          There   are  two  choices:   (1)  twice  the  specified
          delivery delay, or (2) the maximum system holding  time
          (currently about two minutes).
          Reliability:   There  are  two  choices, "standard" and
          "high".  If standard is specified, a satellite  channel
          acknowledgment  is  not used for the message, and it is
          not retransmitted by the source Satellite IMP  in  case
          of errors; if the packet is received at the destination
          Satellite  IMP with a good message leader but errors in
                             - 11 -
Host/SATNET Protocol                                      IEN 192
          the data portion of the message, it is marked  as  such
          and delivered to its destination.
          If "high" is specified, the message is retransmitted as
          many times as necessary until a positive acknowledgment
          is  received  by  the  source  Satellite IMP, up to the
          specified message holding time (duplicate copies may be
          delivered to the destination host in this case).
3.3  Addressing
     SATNET uses logical addressing, with each  host  assigned  a
16-bit  permanent address.  Each data message sent to SATNET must
contain both a source and destination  logical  address,  and  is
delivered  to  the  specified destination(s) with these addresses
unchanged.  Table 6 in Appendix A contains the  current  list  of
addresses.
3.4  Message Length
     Datagrams may have variable lengths, where these lengths are
integer  multiples  of  16-bit words.  Maximum length of the data
portion of a datagram message is 128 words.  The  "data  portion"
excludes  the  SATNET  leader  but includes an internet header if
present.
                             - 12 -
Host/SATNET Protocol                                      IEN 192
3.5  Host/SATNET Flow Control
     Each message sent by a host is accepted or  refused  by  the
Satellite IMP based upon various network and local congestion and
status  factors.   If  accepted,  an  ACCEPTED control message is
returned to the host containing the message ID  assigned  by  the
host  in  the data message leader.  If refused, a REFUSED control
message is returned containing the message ID and a refusal  code
C.   If the message itself is bad, a FORMAT ERROR control message
is returned containing the message ID.
     The value of C is used to  indicate  to  the  host  when  it
should  subsequently  retry the message.  This is accomplished by
also sending the host an "acceptance  status"  word  at  frequent
intervals   to  inform  it  of  the  categories  currently  being
accepted.  The host may ignore the  category  information  if  it
chooses,   or  map  the  categories  into  a  smaller  subset  if
convenient.  The use of the categories allows the host  to  retry
those  messages first which are most likely to be accepted by the
Satellite IMP.
     The  "acceptance  status"  word  also  contains  information
indicating  which  message  priorities and delivery delay classes
are currently being accepted, allowing the  host  to  also  avoid
unnecessarily  sending  new  messages which will be refused.  The
acceptance status word is sent to the  host  in  every  data  and
                             - 13 -
Host/SATNET Protocol                                      IEN 192
control message from the Satellite IMP; in the absence of regular
traffic,  a "Hello" message containing the acceptance status word
is sent once per second.
     Hosts must return an explicit acceptance or refusal for each
message received from the Satellite IMP.  Note that  a  "refusal"
by  the  host  is  a  request to the Satellite IMP to requeue the
message in  question  and  submit  it  again  later.   Currently,
refused  messages are immediately discarded, so as to eliminate a
line congestion problem seen with the catenet.
3.6  Status Messages
     A host can request current status information from SATNET by
sending a "Status Request" control message.   The  Satellite  IMP
will  return  a  status  message containing the acceptance status
word, SATNET global time, and an indicator of the  current  delay
expected  for  each  delivery  delay  class.   (Inclusion of host
status information is still under study.)
3.7  Hello Messages
     When it  is  not  sending  data  or  control  messages,  the
Satellite  IMP  or  host must send a "Hello" control message once
every second.  In addition  to  providing  frequent  updating  of
acceptance  status,  the  hello  message  allows  the receiver to
maintain the up/down status of the  sender.   The  Satellite  IMP
                             - 14 -
Host/SATNET Protocol                                      IEN 192
will  do this by resetting a timeout counter whenever anything is
received from the host; if the timeout expires, the host will  be
declared  down  and  the Satellite IMP will begin sending restart
messages as described in the next  section.   The  timeout  value
used by the Satellite IMP is thirty seconds.
3.8  Message Reference Numbers
     To  support  message-by-message  acknowledgements, each data
message is assigned a 7-bit "message  reference  number"  by  its
sender.   Its purpose is to allow referencing of the message in a
subsequent acknowledgement (ACCEPTED, REFUSED, or  FORMAT  ERROR)
message.   Reference numbers may be assigned in any order, except
that a particular number may not be reused until the  message  it
refers  to  has  been  acknowledged.   All  reference numbers are
automatically released  whenever  the  Host/SATNET  interface  is
reinitialized.
3.9  Initialization
     Since   the   Host/SATNET   protocol  requires  an  explicit
acknowledgement for each message,  the  initialization  procedure
ensures  that  full  two-way  communication  is  possible  before
allowing either side to begin transmitting data.  Whenever a host
or a Satellite IMP is  restarted,  it  sends  a  RESTART  REQUEST
control message to the other party once every ten seconds until a
RESTART  COMPLETE  is  received, at which time it sends a RESTART
                             - 15 -
Host/SATNET Protocol                                      IEN 192
COMPLETE.  The procedure in initializing the interface  is  shown
in Figure 1 in Appendix B.
     The  initialization action indicated in Figure 1 consists of
flushing all queued control messages waiting to be sent,  and  of
flushing  all  received  data  messages  for which an ACCEPTED or
REFUSED message has  not  already  been  sent.   Note  that  data
messages  waiting  to  be  sent  need  not  be  flushed; they can
continue to be  queued  during  the  'waiting'  state  and  their
transmission begun once the 'on' state is entered.
3.10  Format Errors
     Whenever  an invalid leader field value or message length is
detected in a received message a FORMAT ERROR control message  is
returned  to the sending host or Satellite IMP.  An error code is
returned in this  message  to  indicate  the  detected  condition
(these codes are defined in the Formats section of this document,
section 3.13).
3.11  Loop Detection
     To  allow  a  Satellite  IMP or host to detect situations in
which the interface may be externally  looped  (crosspatched),  a
Host/Satellite  IMP  address  bit  is  included  in  all data and
control messages, identifying the sender of each message.
                             - 16 -
Host/SATNET Protocol                                      IEN 192
3.12  Piggybacked Control Messages
     Control messages of the ACCEPT, REFUSE,  FORMAT  ERROR,  and
RESTART  COMPLETE  types may be piggybacked onto data messages by
including the control message in the 16-bit "piggyback" field  of
the  data  message  header.   The  Satellite  Imp  interprets all
piggybacked control information before examining the rest of  the
data  message,  so,  for  example, a piggybacked RESTART COMPLETE
takes effect immediately.
3.13  Formats
     The general format used for Host/SATNET interface  exchanges
is  shown  in  Figure  2  (all  figures  are in Appendix B).  The
control code always defines the message format;  for  all  except
data  messages,  it  also  implicitly defines the message length.
Exact data message length is assumed to be derived from the  host
or  Satellite  IMP  interface  transfer, and is always an integer
multiple of 16-bit words.
3.13.1  Control Codes
     Each distinct message type is identified by a  unique  4-bit
control code.  Codes currently defined are:
                             - 17 -
Host/SATNET Protocol                                      IEN 192
               1 = DATA
               2 = ACCEPTED
               3 = REFUSED
               4 = STATUS REQUEST
               5 = STATUS
               6 = HELLO
               7 = DATA WITH ERRORS
              13 = FORMAT ERROR
              14 = RESTART REQUEST
              15 = RESTART COMPLETE
3.13.2  Data Messages
     Figure  3  shows  the format for datagram DATA messages (the
width of each word in this and subsequent figures  is  16  bits).
Words  1,  2,  and 3 are defined by the interface sender (host or
Satellite IMP); words 4, 5, and 6 are defined by the source host.
       Word 1, datagram message control word:
     - H/S, bit 1:  0 = from Satellite IMP, 1 = from host
     - message ID, bits 2-8:  defined in Section 3.6
     - block length,  bits  9-12:   the  number  of  64-word
       blocks of data words following the message leader:  a
       block  length of 1 means the message contains between
       1 and 64 data words; a length of 2 means 65  and  128
       data  words,  etc.   The  maximum  datagram length is
       defined by Section 3.2.  A length of 0 means  a  null
       DATA message.
     - Control Code, bits 13-16:
       1 = DATA (no detected errors)
                             - 18 -
Host/SATNET Protocol                                      IEN 192
       7 = DATA  WITH  ERRORS  --  used  only  if  "standard
           reliability"  service  is  designated  and one or
           more data errors were detected by SATNET  in  the
           data  portion  of  the  message.  Applies only to
           packets delivered by SATNET to hosts.
       Word 2, acceptance status:  (defined below).
       Word 3, piggyback field:  This word may  contain  any
       of  the one-word control messages defined by codes 2,
       3, 13, and 15.  A value of zero means the word is not
       used.
       Word 4, Type of Service Word:  (defined below).
       Word 5, destination host:  a  16-bit  SATNET  logical
       address.
       Word   6,  source  host:   a  16-bit  SATNET  logical
       address.
3.13.2.1  Type of Service Word
     Figure 4 shows the  details  of  word  4  of  datagram  DATA
message leaders.
     M, bits 1-2:  DATA message type;
                   0 = datagram, internet format
                   1 = stream, internet format
                   2 = datagram, local format
                   3 = stream, local format
                             - 19 -
Host/SATNET Protocol                                      IEN 192
     P, bits 3-4:  priority; 0 = highest priority, 3 = lowest.
     D, bits 5-6:  acceptable delivery delay ("delay class");
                   delay class      value
                   -----------      -----
                        0          1 second
                        1          5 seconds
                        2         20 seconds
                        3        120 seconds
     H, bit 7:     holding time; 0 = maximum (120 seconds*),
                                 1 = twice the specified delay class.
     R, bit 8:     reliability;  0 = high, 1 = standard
3.13.2.2  Acceptance Status Word
     Figure  5  shows  the  details for this word.  If the entire
word equals 0, everything is being accepted.
     Category bits, bits  1-4:   each  bit  defines  the  current
     acceptance/refusal  status for the category corresponding to
     the bit number (e.g., bit 3 represents category 3).
          0 = accepting for this category
          1 = refusing
     Delay Class Priority, bits 5-16 (not currently implemented):
     each delay class is identified by its  position  within  the
     acceptance status word; e.g., bits 14-16 contain information
     for delay class 3.  The content of each three-bit field is a
     binary number defining the current priorities being accepted
     for that delay class, interpreted as follows:
                             - 20 -
Host/SATNET Protocol                                      IEN 192
               0 = all priorities accepted
               1 = lowest priority (3) not accepted
               2 = lowest two priorities (2,3) not accepted
               3 = lowest three priorities (1,2,3) not accepted
               7 = none accepted
3.13.3  ACCEPTED Messages
     Figure  6  shows  the  format  of  ACCEPTED  messages.   (An
acceptance status word, as defined in Figure  5,  is  always  the
second word of this and all other messages.)
     H/S, bit 1:  same as for Data messages.
     Data  message ID, bits 2-8:  The message ID of the DATA
     message being accepted.
     Control Code, bits 13-16:  ACCEPTED = 2.
3.13.4  REFUSED Messages
     Figure 7 shows the format of REFUSED messages.
     H/S, bit 1:  same as for DATA messages.
     Data message ID, bits 2-8:  The message ID of the  DATA
     message being refused.
     C,  bits  9-12:   refusal  category.  A value of 0 to 4
     means  a  refusal  due   to   temporarily   unavailable
     resources.   Messages refused with category values 1 to
     4 will not be accepted until the corresponding category
                             - 21 -
Host/SATNET Protocol                                      IEN 192
     bit  in  the  acceptance  status  word  becomes  0.   A
     category value of 0 means the refusal is because of the
     message   priority   and/or   delay  class;  acceptance
     information for this case is given by the  delay  class
     priority bits in the acceptance status word.  Values of
     C  have  the following meanings (acceptance status word
     information does not apply to values 8 to 15):
                 0 = refused for priority/delay class
                 1 = category 1  refusal
                 2 = category 2  refusal
                 3 = category 3  refusal
                 4 = category 4  refusal
                 5 = undefined
                 6 = undefined
                 7 = undefined
                *8 = data length greater than stream length
                 9 = destination host has been declared in a
                     "refusing" state
                10 = destination host is not reachable
                11 = destination host's Satellite IMP is not reachable
                12 = unrecognized destination address
                13 = destination host access not allowed
                14 = illegal source host
               *15 = no active stream with that stream ID
                     *(See Section 4 on stream access)
     Control Code, bits 13-16:  REFUSED = 3.
3.13.5  STATUS REQUEST Messages
     Figure 8 shows the format of STATUS  REQUEST  messages.
     H/S bit 1:  same as DATA messages.
     Control code, bits 13-16:  STATUS REPORT = 4.
                             - 22 -
Host/SATNET Protocol                                      IEN 192
3.13.6  STATUS MESSAGES
     Figure 9 shows the format of STATUS messages.
     Word 1:  H/S bit, bit 1 = same as DATA messages.
     Control Code, bits 13-16:  STATUS = 5.
     Word 2:  ACCEPTANCE STATUS
     Word   3,   SATNET  global  time:   current  internally
     synchronized clock time used by Satellite IMPs; unit of
     time = 10.24 milliseconds, maximum value  equals  2{16}
     -1 units.
     Words  4-7:   current  expected delay for the indicated
     delay class (values to be defined).
3.13.7  HELLO Message
     Figure 10 shows the status of Hello messages.
     H/S bit 1:  same as DATA messages.
     Control Code, bits 13-16:  HELLO = 6.
3.13.8  FORMAT ERROR Message
     Figure 11 shows the format of FORMAT ERROR messages.
                             - 23 -
Host/SATNET Protocol                                      IEN 192
     H/S bit 1:  same as DATA messages.
     Error Message ID, bits 2-8:  ID of  DATA  message  with
     format error (if applicable, otherwise = 0).
     Error Code, bits 9-12:
          0 = undefined error
          1 = data message length exceeds SATNET maximum size
          2 = illegal control code
          3 = block length disagrees with message length.
          4 = illegal control code in piggyback
              word of data message.
          5 = undefined category value (5-7)
              in REFUSED message.
     Control Code, bits 13-16:  FORMAT ERROR = 13.
Note:  Implementation of error codes 2 to 5 is optional; however,
a  FORMAT  ERROR message should be returned with (at least) error
codes 0 and 1 for illegal conditions.
3.13.9  RESTART REQUEST Message
     Figure 12 shows the format of RESTART REQUEST  message.
     H/S bit 1:  same as DATA messages.
     Host Type, bits 9-12:  presently undefined.
     Control Code, bits 13-16:  RESTART REQUEST = 14.
                             - 24 -
Host/SATNET Protocol                                      IEN 192
3.13.10  RESTART COMPLETE Message
     Figure   13   shows  the  format  of  RESTART  COMPLETE
     messages.
     H/S bit 1:  same as DATA messages.
     Host Type, bits 9-12:  presently undefined.
     Control Code, bits 13-16:  RESTART COMPLETE = 15.
Note:  All Restart Request and  Complete  messages  sent  by  the
Satellite IMP have bits 9 to 12 set to zero.
                             - 25 -
Host/SATNET Protocol                                      IEN 192
4.  STREAM ACCESS PROTOCOLS
4.1  Overview
     In  addition  to datagram message service, SATNET provides a
service called 'stream'.  A stream is a sort of  virtual  circuit
in  which  information  must  be established within Satellite IMP
tables for the duration of  the  stream  use.   This  information
maintains  an  outstanding  reservation  for  the stream, causing
channel time to be scheduled at more or  less  regular  intervals
specified  in  the  stream setup.  This mechanism provides one of
the important performance properties of a stream which  motivates
its  use:   one-hop for each stream data packet (as opposed to at
least two hops for datagrams).
     Any number of hosts can use the same stream; host membership
is accomplished by special Host/SATNET messages.  Each stream  is
identified by a SATNET-assigned Stream ID, which has two distinct
functions.   The first is to allow Satellite IMPs to identify the
transmission properties being used for each stream  data  message
including  verification that the sending host is a stream member.
The  second  Stream  ID  function  is  its  optional  use  as   a
destination address in a stream or datagram data message, causing
delivery to the Stream ID members.  (Its use in datagram messages
allows  "out  of  band"  signaling  messages to be sent while the
stream data messages are also being sent.)
                             - 26 -
Host/SATNET Protocol                                      IEN 192
     The destination address in a  stream  data  message  is  not
limited  to  the  Stream  ID,  however; any SATNET address may be
used.  Thus, a host can set up a simplex stream in  which  it  is
the only member, and therefore the only sender, and send messages
to  different  hosts using the single stream.  Or, a set of hosts
can  use  a  single  stream  in  an  arbitrarily  shared   manner
(determined by the hosts) to send to arbitrary destinations.
     More typically, a stream would be used by a set of hosts for
voice  conferencing,  in which the Stream ID would be used as the
destination address.  Note that, in  all  cases  of  shared  use,
hosts  must  provide  a  protocol  to determine how the stream is
shared.  If every member host presented a stream data  packet  to
its  Satellite  IMP  at  the  same  time,  they would all be sent
simultaneously  in   the   satellite   channel   with   resultant
destructive interference.  (Note:  the addressing use of a Stream
ID   is  not  presently  implemented  --  only  permanent  SATNET
addresses, either point or group, are allowed.)
4.2  Stream Data Messages
     Stream data messages have the format  shown  in  Figure  14.
The  message  type  (bits  1  and  2  of word H4) may be either 1
(stream  data,  internet  format)  or  3  (stream   data,   local
format).(1)   Bits  3  to  16  of  word  H4  contain a Stream ID,
_________________________________________________________________
(1) Table 5 in Appendix A defines all SATNET message types.
                             - 27 -
Host/SATNET Protocol                                      IEN 192
assigned by  SATNET  as  described  in  the  next  section.   The
destination  address  in  word H5 can be any SATNET address.  The
source host address in word H6 must be assigned to the  Satellite
IMP  port  used  to  send  the message into SATNET, and must be a
member of the Stream ID.
     An ACCEPTED or REFUSED  message  will  be  returned  by  the
Satellite  IMP  for  each  stream  data  message, the same as for
datagrams.  Stream data messages will normally always be accepted
unless they are greater than (to  be  determined)  seconds  early
relative  to  the  next  stream slot time, or the stream is being
preempted by higher priority traffic.
     Internal SATNET channel acknowledgments  are  not  used  for
stream data messages.
4.3  Stream Request Replies and Notifications
     Streams  can  be  used  by a Host only by first establishing
certain information within SATNET.  The  following  requests  are
used:
                              CREATE
                              DELETE
                              JOIN
                              LEAVE
                              CHANGE
Each  request  is  sent  by  the  host,  along  with supplemental
information, in the data portion of a  datagram  message  to  the
                             - 28 -
Host/SATNET Protocol                                      IEN 192
SATNET Service Host.  A Request message is accepted or refused by
the  local  Satellite IMP the same as any other datagram message;
if accepted it is delivered to an internal host within the  local
Satellite  IMP  which  acts  on the request, returning a datagram
message reply to the source host indicating its disposition.  The
reply always contains a Request ID supplied by the  host  in  its
Request  message, allowing the host to relate the response to its
earlier request (more than one Request message may be outstanding
from a host; the  maximum  number  outstanding  will  be  limited
implicitly by the datagram message refusal mechanism).
     Figure  15 shows the format used for Request messages, which
are always local datagram (type 2).  The Request message priority
PR in header word H4 may  be  assigned  the  same  as  for  other
datagram  traffic.   The  source host address must be assigned to
the Satellite IMP port used for the message.  The first data word
D1 contains one of the Request Codes defined  in  Table  1.   The
Request  ID  in  word D2 is chosen by the host, and should not be
re-used until a Reply message is received with  the  same  ID  to
avoid ambiguity.
     Figure  16  shows  the format used for Reply messages, which
are always local datagram (type 2).  The values  of  PR  and  the
Request  ID  are  those used by the host in the Request messages;
the source host address of the Request message  is  used  as  the
destination  host address.  Word D1 contains a Reply Code in bits
                             - 29 -
Host/SATNET Protocol                                      IEN 192
2 to 16 indicating the action taken on  the  request;  bit  1  is
always  zero.   The  contents of words D3-D6 depends on the Reply
Code; whether used or not, all Reply messages  will  contain  six
data words.  Table 2 lists the possible Reply Codes.
     In addition to Reply messages, a Notification message may be
sent  to  a  host by SATNET concerning streams for which the host
has previously established membership.  The Notification  message
format  is  shown in Figure 17, and is also a local datagram type
message.  The notification message priority PS in word H4 is that
assigned  to  the  stream;  the  Stream  ID   involved   in   the
notification  is  contained in data word D2.  A Notification Code
is contained in bits 2 to 16 of word D1; bit 1 of  this  word  is
always  set  to 1 to distinguish Notification messages from Reply
messages.  As in  the  case  of  Reply  messages  a  Notification
message  always contains words D3 to D6, whose contents depend on
the Notification Code.  Table 4  lists  the  Notification  Codes.
(Notifications not implemented.)
     Except  when a request is refused as a result of information
local to the source Satellite IMP, Notification messages  have  a
delay of at least one satellite hop (about 0.25 seconds) relative
to  the  request  message, and are initiated at approximately the
same global SATNET time  by  Satellite  IMPs  to  their  involved
hosts.   A  Reply  indicating  successful  completion of a stream
request requires at least five seconds' delay  after  receipt  of
the request.
                             - 30 -
Host/SATNET Protocol                                      IEN 192
4.3.1  CREATE
     The  words  used in the data portion of a CREATE request are
shown in Figure 18.  Word D3 contains a zero if a new  stream  is
being  requested (the use of non-zero values will be defined in a
later version of the Host/SATNET access protocol).   Words  D4-D6
contain  a  Key which is used to authenticate subsequent requests
from any host concerning the stream.  Any  48-bit  value  may  be
used,  including  zero;  however,  all subsequent Request message
Keys for this stream must equal this Key to be honored.
     Words D7-D9 define the parameters to be used for the  stream
by  SATNET.   Ps  is  the priority to be used for the stream data
messages.  Bits 7 to 16 of word D7 indicate the maximum number  L
of 16-bit data words which will be sent in any data message using
the  stream.   The  queue  length, bits 1-4 of D8, is the maximum
number  of  messages  that  may  be  queued  at   once   awaiting
transmission  using  the stream.  The stream interval is a 24-bit
quantity indicating the time (in ten microsecond  units)  between
stream messages.  The high order eight bits are in D8, bits 9-16,
and  the  low 16 bits are in D9.  A suitable time for messages in
this stream will be computed using the stream interval given.
     If the CREATE is honored, Stream Started Reply message  will
be  returned  with  the  Stream  ID assigned by SATNET in word D3
(words D4-D6 are not used).  The first stream channel  allocation
                             - 31 -
Host/SATNET Protocol                                      IEN 192
is begun approximately one stream interval I following generation
of the Reply message.  If refused, a Stream Creation Refused will
be returned with a reason code in Word D3.
     Each  CREATE  message received with word D3 set to zero will
cause the  creation  of  a  new  stream  (resources  permitting),
independently  of  the Key or other field values contained in the
CREATE message.  Note that different streams  may  use  the  same
Key;   the   SATNET-assigned  Stream  ID  supplied  by  hosts  in
subsequent Request messages provides unique  referencing  to  the
stream in question.
4.3.2  DELETE
     Figure  19  shows  the  data words sent in a DELETE Request.
Word D1 contains the DELETE STREAM Request Code; word D2 contains
the host's Request ID (this ID need not relate  to  any  previous
Request  message);  word  D3  contains the Stream ID; words D4-D6
contain the Key.
     If the DELETE STREAM request is honored, the stream  channel
allocations will be terminated and a Stream Deleted Reply message
will  be  returned with the Stream ID in word D3; words D4-D6 are
not used.  In addition, a Notification message  ("Stream  Deleted
by  Host  X")  will  be  sent to all other member hosts, with the
address of the requesting host in D3 (not implemented yet); words
D4-D6 are not used.  All Satellite IMP table  entries  concerning
                             - 32 -
Host/SATNET Protocol                                      IEN 192
the stream will be cleared and the Stream ID released for re-use.
     If  the  DELETE  STREAM  request  is  not  honored, a Stream
Deletion Refused Reply will be returned.  Word D3  will  indicate
why  the  request  was  refused.   Table  3 indicates the refusal
reasons that can appear in D3.
4.3.3  JOIN
     A JOIN Request (not implemented yet) is used by  a  host  to
establish  membership  in  a stream previously created by another
host.   (It  is  the  responsibility  of  the  creating  host  to
distribute  the  assigned  Stream  ID  and  Key to those hosts it
wishes to have participate in the use of the stream.)  The format
shown in Figure 19 is used for  a  JOIN,  with  the  JOIN  STREAM
Request Code in word D1.
     If  the  stream  exists  and  the correct Key is supplied, a
Stream Joined Reply message is returned approximately one  stream
interval   prior to the next scheduled channel allocation for the
stream.  Word D3 of the reply message  contains  the  Stream  ID;
words D4-D6 contain the parameters currently used for the stream,
formatted  according  to  words  D7  to  D9 of Figure 5.  Also, a
Notification Code 3 Message ("Stream Joined by Host X")  is  sent
to  all  other  member hosts--word D3 contains the address of the
newly joined host;  words D4-D6 are not used.
                             - 33 -
Host/SATNET Protocol                                      IEN 192
     If the JOIN is not honored, a  Join  Refused  Reply  message
will be returned with a Table error code as appropriate.
4.3.4  LEAVE
     A  host may leave a stream of which it is a member by use of
a LEAVE Request (not implemented yet).  The format of  Figure  19
is  again  used, with the Request Code = 4.  If the stream exists
and the host is entered as a member in Satellite  IMP  tables,  a
Stream Left Reply message will be returned.  Note that the Key is
not  used  for this request.  Also, a Notification Code 4 message
("Stream Left by Host X") is sent to all member  hosts;  word  D3
contains  the  address  of the departed host; words D4-D6 are not
used.
     A Leave request will always succeed.  However, in some cases
it may be impossible to notify other stream members of the event.
If so,  a  Leave  Without  Notification  Reply  message  will  be
returned.   Word  D3  will indicate why notification could not be
made.
4.3.5  CHANGE
     A host can request changes  to  the  parameters  defining  a
stream  by  use  of a CHANGE request (not implemented yet).  This
message is identical to the CREATE message format of  Figure  18,
except  that  the Request code is set to 5 in word D1 and word D3
                             - 34 -
Host/SATNET Protocol                                      IEN 192
contains the Stream ID.  All parameters of words  D7-D9  must  be
defined,  whether  or  not  their  values are being changed -- if
allowed, the parameters will be  used  to  re-define  the  stream
characteristics  just  as if they were being supplied in a CREATE
request.
     If the changes  can  be  honored,  a  Stream  Changed  Reply
message  will  be  returned  with the Stream ID in word D3; words
D4-D6 are not used.  Also, a Notification code 5 message ("Stream
Changed by Host X") is sent to the other member hosts;   word  D3
contains  the address of the requesting host; words D4-D6 contain
the new parameters.
     If the changes cannot be  made,  a  Stream  Changes  Refused
Reply  message  is returned to the requesting host, with a reason
code in word D3 (see Table 3).
4.4  SATNET Termination and Suspension of Streams
     A stream termination will be initiated by SATNET  if  (1)  a
data message is not sent in the stream by any of the member hosts
for  sixty  seconds,  or  (2)  if the stream's channel allocation
cannot be honored for N (to  be  determined)  consecutive  stream
intervals I due to higher priority traffic (not implemented yet).
If either of these occurs, a Notification code 1 message ("Stream
Deleted  by  SATNET")  will  be  sent to all member hosts with an
appropriate reason code in word D3; words  D4-D6  are  not  used.
                             - 35 -
Host/SATNET Protocol                                      IEN 192
All  Satellite  IMP  table  entries concerning the stream will be
deleted and the Stream ID released for re-use.
     Whenever a stream's channel allocation has not been  honored
by SATNET for M (to be determined) consecutive stream intervals I
following  the  last  allocation,  a  Notification Code 6 message
("Stream Suspended") is sent to all member hosts (M will be  much
smaller  than  N).   If  the  allocations  are  resumed  before N
consecutive  non-allocations,  a  Notification  Code  7   message
("Stream  Resumed")  is sent to all member hosts.  (These are not
implemented yet.)
                             - 36 -
Host/SATNET Protocol                                      IEN 192
5.  Land Modem Interface
     A Satellite IMP communicates with other IMPs and  with  Very
Distant  Hosts via communication circuits, such as those provided
by the various common carriers  (Bell,  Western  Electric,  etc.)
The  exact  nature  of  the synchronous modems and dedicated full
duplex lines varies from site to site.  The hardware interface to
the modem is  the  standard  BBN  IMP-modem  interface  which  is
logically  identical to the Bell 303 interface with the exception
that the mark and space convention  is  inverted  for  characters
sent  to the modem (i.e., binary "one" equals high current).  The
control lines, however, are not inverted.
6.  Local Host Interface
     Local Host computers interface to the Satellite  IMP  via  a
hardware  interface which is electrically equivalent to that used
in  the  ARPANET  between  hosts  and   IMPs.    The   electrical
specification  for  this interface appears in BBN Report No. 1822
entitled "Specifications for the Interconnection of a host and an
IMP".
                             - 37 -
Host/SATNET Protocol                                      IEN 192
APPENDIX A.
A.1   Table 1 -- Request Codes
          1 -- Create Stream
          2 -- Delete Stream
          3 -- Join Stream
          4 -- Leave Stream
          5 -- Change Stream Parameters
A.2   Table 2 -- Reply Codes
          1 -- Stream Started
          2 -- Stream Deleted
          3 -- Stream Joined
          4 -- Stream Left
          5 -- Stream Changed
          6 -- Stream Creation Refused
          7 -- Stream Deletion Refused
          8 -- Join Refused
          9 -- Leave without Notification
         10 -- Stream Changes Refused
         11 -- Illegal Request Code
                             - 38 -
Host/SATNET Protocol                                      IEN 192
A.3   Table 3 -- Error Codes in D3
          0 -- System busy; unable to handle request
          1 -- Unimplemented function
          2 -- Invalid protection Key
          3 -- Not member of stream
          4 -- Stream does not exist
          5 -- Net trouble
          6 -- Insufficient resources to handle request
          7 -- Improper format for request
          8 -- Channel protocol does not support streams
          9 -- Illegal argument in stream request
         10 -- Channel access not allowed
A.4   Table 4 -- Notification Codes
          1 -- Stream Deleted by SATNET
          2 -- Stream Deleted by Host X
          3 -- Stream Joined by Host X
          4 -- Stream Left by Host X
          5 -- Stream Changed by Host X
          6 -- Stream Suspended
          7 -- Stream Resumed
A.5   Table 5 -- SATNET Data Message Types
          0 -- Datagram, internet format
          1 -- Stream data, internet format
          2 -- Datagram, local format
          3 -- Stream data, local format
                             - 39 -
Host/SATNET Protocol                                      IEN 192
A.6   Table 6 -- SATNET Logical Address Map
          0 -- 0 SATNET Service Host
          1 -- Etam EXPAK fake host
          2 -- Goonhilly EXPAK fake host
          3 -- Tanum EXPAK fake host
          4 -- Clarksburg EXPAK fake host
          5 -- Etam Message Generator/Sink #0
          6 -- Etam Message Generator/Sink #1
          7 -- Etam Message Generator/Sink #2
          8 -- Etam Message Generator/Sink #3
          9 -- Goonhilly Message Generator/Sink #0
         10 -- Goonhilly Message Generator/Sink #1
         11 -- Goonhilly Message Generator/Sink #2
         12 -- Goonhilly Message Generator/Sink #3
         13 -- Tanum Message Generator/Sink #0
         14 -- Tanum Message Generator/Sink #1
         15 -- Tanum Message Generator/Sink #2
         16 -- Tanum Message Generator/Sink #3
         17 -- Clarksburg Message Generator/Sink #0
         18 -- Clarksburg Message Generator/Sink #1
         19 -- Clarksburg Message Generator/Sink #2
         20 -- Clarksburg Message Generator/Sink #3
         21 -- Etam Internal Gateway
         22 -- Goonhilly Internal Gateway
         23 -- Tanum Internal Gateway
         24 --   unused
         25 --   unused
         26 --   unused
         27 --   unused
         28 --   unused
         29 --   unused
         30 -- Clarksburg Internal Gateway
         31 --   unused
         32 --   unused
         33 --   unused
         34 --   unused
         35 --   unused
         36 --   unused
         37 -- Universal Message Sink (equivalent name)
         38 -- Tanum NDRE Gateway
         39 -- Clarksburg COMSAT Gateway
         40 -- Universal Satellite Echo (equivalent name)
         41 -- Etam Monitor Fake Host
         42 -- Goonhilly Monitor Fake Host
         43 -- Tanum Monitor Fake Host
         44 -- Clarksburg Monitor Fake Host
         45 -- Etam Packet Core Fake Host
         46 -- Goonhilly Packet Core Fake Host
                             - 40 -
Host/SATNET Protocol                                      IEN 192
         47 -- Tanum Packet Core Fake Host
         48 -- Clarksburg Packet Core Fake Host
         49 -- Etam TTY Fake Host
         50 -- Goonhilly TTY Fake Host
         51 -- Tanum TTY Fake Host
         52 -- Clarksburg TTY Fake Host
         53 -- Etam DDT Fake Host
         54 -- Goonhilly DDT Fake Host
         55 -- Tanum DDT Fake Host
         56 -- Clarksburg DDT Fake Host
         57 --   unused
         58 --   unused
         59 --   unused
         60 -- Goonhilly UCL Gateway
         61 -- Etam BBN Gateway
         62 -- Etam Echo Fake Host
         63 -- Goonhilly Echo Fake Host
         64 -- Tanum Echo Fake Host
         65 -- Clarksburg Echo Fake Host
         66 --   unused
         67 --   unused
         68 --   unused
         69 --   unused
         70 --   unused
         71 --   unused
         72 -- Raisting External Gateway
         73 --   unused
         74 --   unused
         75 --   unused
         76 -- Raisting Internal Gateway
         77 -- Raisting Echo Fake Host
         78 -- Raisting Monitor Fake Host
         79 -- Raisting EXPAK Fake Host
         80 -- Raisting Packet Core Fake Host
         81 -- Raisting DDT Fake Host
         82 -- Raisting TTY Fake Host
         83 -- Raisting Message Generator/Sink #0
         84 -- Raisting Message Generator/Sink #1
         85 -- Raisting Message Generator/Sink #2
         86 -- Raisting Message Generator/Sink #3
         87 --   unused
         88 -- Fucino External Gateway
         89 --   unused
         90 --   unused
         91 --   unused
         92 -- Fucino Internal Gateway
         93 -- Fucino Echo Fake Host
                             - 41 -
Host/SATNET Protocol                                      IEN 192
         94 -- Fucino Monitor Fake Host
         95 -- Fucino EXPAK Fake Host
         96 -- Fucino Packet Core Fake Host
         97 -- Fucino DDT Fake Host
         98 -- Fucino TTY Fake Host
         99 -- Fucino Message Generator/Sink #0
        100 -- Fucino Message Generator/Sink #1
        101 -- Fucino Message Generator/Sink #2
        102 -- Fucino Message Generator/Sink #3
        103 --   unused
                             - 42 -
Host/SATNET Protocol                                      IEN 192
                                +-------+
                                |       |
                                |  OFF  |
                                |       |
   TO = TIMEOUT                 +-------+
   RR = RESTART REQUEST             |
   RC = RESTART COMPLETE            |INIT & SEND RR
                                    |
                                    V
                                +-------+
                            --->|       |---------------
                          /     |       |                \
                         |      |       |                 \
                         |      |  INIT |                  |
                         |      |       |<---              |
                          \     |       |     \            |
                            ----|       |      |           |
                      10 SEC TO +-------+      |           |
                       -------      |          |           |
                       SEND RR      |RCVD RR   |           |
                                    | -----    |           |
                                    |SEND RC   |           |
                                    V          |           |
                                +-------+      |           |
                 -------------->|       |      |           |
               /                |       |     /            |
              /             --->|       |----              |
             |            /     |WAITING| 100 SEC TO       |
             |           |      |       |  --------        |
             |            \     |       |  SEND RR         |
             |              ----|       |                  |
             |        10 SEC TO +-------+                  |
             |         -------      |                      |
             |         SEND RC      |                      |
             |                      |RCVD RC               |
             |                      |                      |
              \                     V                     /
               \                +-------+                /
                 ---------------|       |<--------------
               RCVD RR          |   ON  |       RCVD RC
             ------------       |       |        -----
            INIT & SEND RC      +-------+       SEND RC
B.1   Figure 1.  Restart State Diagram
                             - 43 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|                                           | CONTROL CODE  |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   |                                                               |
   |                                                               |
   |                                                               |
   |                                                               |
   |                                                               |
   |                                                               |
   |                                                               |
   |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.2   Figure 2.  General Message Format
                             - 44 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|        MESSAGE ID         | BLOCK LENGTH  | CODE = 1 or 7 |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H3 |                        PIGGYBACK WORD                         |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H4 |                        TYPE OF SERVICE                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H5 |                  DESTINATION HOST(S) ADDRESS                  |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H6 |                      SOURCE HOST ADDRESS                      |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D1 |                                                               |
   |                                                               |
   |                             DATA                              |
   |                                                               |
DN |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.3   Figure 3.  Block DATA Message
                             - 45 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H4 |   M   |   P   |   D   | H | R |           (unused)            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.4   Figure 4.  Type of Service Word
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |       C       |     D0    |     D1    |     D2    |     D3    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.5   Figure 5.  Acceptance Status Word
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|      DATA MESSAGE ID      |   (unused)    |   CODE = 2    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.6   Figure 6.  ACCEPTED Message
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|      DATA MESSAGE ID      |       C       |   CODE = 3    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.7   Figure 7.  REFUSED Message
                             - 46 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|                 (unused)                  |   CODE = 4    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.8   Figure 8.  STATUS REQUEST Message
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|                 (unused)                  |    CODE = 5   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H3 |                      SATNET GLOBAL TIME                       |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H4 |                   CURRENT DELAY FOR CLASS 0                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H5 |                   CURRENT DELAY FOR CLASS 1                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H6 |                   CURRENT DELAY FOR CLASS 2                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H7 |                   CURRENT DELAY FOR CLASS 3                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.9   Figure 9.  STATUS Message
                             - 47 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|                 (unused)                  |   CODE = 6    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.10   Figure 10.  HELLO Message
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|     ERROR MESSAGE ID      |  ERROR CODE   |   CODE = 13   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.11   Figure 11.  FORMAT ERROR Message
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|         (unused)          |   HOST TYPE   |   CODE = 14   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.12   Figure 12.  RESTART REQUEST Message
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|         (unused)          |   HOST TYPE   |   CODE = 15   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.13   Figure 13.  RESTART COMPLETE Message
                             - 48 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|        MESSAGE ID         | BLOCK LENGTH  | CODE = 1 or 7 |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H3 |                        PIGGYBACK WORD                         |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H4 | 1 or 3|                   STREAM ID                           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H5 |                  DESTINATION HOST(S) ADDRESS                  |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H6 |                      SOURCE HOST ADDRESS                      |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   |                                                               |
   |                                                               |
   |                  (INTERNET HEADER IF TYPE=1)                  |
   |                                                               |
   |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D1 |                                                               |
   |                                                               |
   |                           STREAM DATA                         |
   |                                                               |
DN |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.14   Figure 14.  Stream Data Format
                             - 49 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|        MESSAGE ID         | BLOCK LENGTH  | CODE = 1 or 7 |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H3 |                        PIGGYBACK WORD                         |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H4 |0 or 2 |   PR  |   0   | 0 | 0 |           (unused)            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H5 |           SATNET SERVICE HOST (CURRENT ADDRESS = 0)           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H6 |                      SOURCE HOST ADDRESS                      |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   |                                                               |
   |                                                               |
   |                  (INTERNET HEADER IF TYPE=0)                  |
   |                                                               |
   |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D1 |                         REQUEST CODE                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D2 |                          REQUEST ID                           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D3 |                                                               |
   |                                                               |
   |                      REQUEST INFORMATION                      |
   |                                                               |
DN |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.15   Figure 15.  Request Message Format
                             - 50 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|        MESSAGE ID         | BLOCK LENGTH  | CODE = 1 or 7 |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H3 |                        PIGGYBACK WORD                         |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H4 |0 or 2 |   PR  |   0   | 0 | 0 |           (unused)            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H5 |                        REQUESTING HOST                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H6 |           SATNET SERVICE HOST (CURRENT ADDRESS = 0)           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   |                                                               |
   |                                                               |
   |                  (INTERNET HEADER IF TYPE=0)                  |
   |                                                               |
   |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D1 | 0 |                      REPLY CODE                           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D2 |                          REQUEST ID                           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D3 |                                                               |
   |                                                               |
   |                       REPLY INFORMATION                       |
   |                                                               |
D6 |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.16   Figure 16.  Reply Message Format
                             - 51 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H1 |H/S|        MESSAGE ID         | BLOCK LENGTH  | CODE = 1 or 7 |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H2 |                    ACCEPTANCE STATUS WORD                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H3 |                        PIGGYBACK WORD                         |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H4 |0 or 2 |   PS  |   0   | 0 | 0 |           (unused)            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H5 |                          MEMBER HOST                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
H6 |           SATNET SERVICE HOST (CURRENT ADDRESS = 0)           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   |                                                               |
   |                                                               |
   |                  (INTERNET HEADER IF TYPE=0)                  |
   |                                                               |
   |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D1 | 1 |                   NOTIFICATION CODE                       |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D2 |                           STREAM ID                           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D3 |                                                               |
   |                                                               |
   |                    NOTIFICATION INFORMATION                   |
   |                                                               |
D6 |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.17   Figure 17.  Notification Message Format
                             - 52 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D1 |                       REQUEST CODE = 1                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D2 |                          REQUEST ID                           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D3 |                         STREAM ID = 0                         |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D4 |                                                               |
   |                                                               |
D5 |                              KEY                              |
   |                                                               |
D6 |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D7 |   (unused)    |   PS  |        MAXIMUM DATA LENGTH (L)        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D8 | QUEUE LENGTH  |   (unused)    |  STREAM INTERVAL (HIGH BITS)  |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D9 |                   STREAM INTERVAL (LOW BITS)                  |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.18   Figure 18.  Create Request Words
                             - 53 -
Host/SATNET Protocol                                      IEN 192
   MSB                                                           LSB
     1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
   |                                 = 2:  DELETE                  |
D1 |                    REQUEST CODE = 3:  JOIN                    |
   |                                 = 4:  LEAVE                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D2 |                          REQUEST ID                           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D3 |                           STREAM ID                           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
D4 |                                                               |
   |                                                               |
D5 |                              KEY                              |
   |                                                               |
D6 |                                                               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
B.19   Figure 19.  Delete, Join, Leave Request Words
                             - 54 -