IEN - 197
                   A Host Monitoring Protocol
                      Benjamin M. Littauer
                         Andrew J. Huang
                        Robert M. Hinden
                  Bolt Beranek and Newman Inc.
                         September 1981
IEN-197                                            September 1981
                        Table of Contents
1   Introduction.......................................... 1
2   Protocol Operation.................................... 2
2.1   Unsolicited Messages................................ 3
2.2   Status Messages..................................... 4
2.3   Statistics Messages................................. 4
3   Header Formats........................................ 6
3.1   IP Headers.......................................... 6
3.2   Monitor Header...................................... 7
4   Monitor Message Formats............................... 9
4.1   System Type 1: General Messages..................... 9
4.1.1   Message Type 1: Polling Message................... 9
4.1.2   Message Type 2: Error in Poll.................... 11
4.2   System Type 2: IMP................................. 13
4.2.1   Message Type 1: IMP Trap......................... 13
4.2.2   Message Type 2: IMP status....................... 16
4.2.3   Message Type 3: IMP Modem Throughput............. 20
4.2.4   Message Type 4: IMP Host Throughput.............. 23
4.3   System Type 3: TAC................................. 26
4.3.1   Message Type 1: TAC Trap Message................. 26
4.3.2   Message Type 2: TAC Status....................... 29
4.3.3   Message Type 3: TAC Throughput................... 32
                               -i-
IEN-197                                            September 1981
                   A Host Monitoring Protocol
1  Introduction
     The Host Monitoring   Protocol  (HMP)  is  used  to  collect
information  from hosts  in  various  networks.   At present  the
protocol  aims at collecting information from  ARPANET  IMPs  and
TACs  in  an  internet   environment.    It   is designed  to  be
extensible  to other monitoring functions (e.g.  hosts, gateways,
local  nets)  while  its  addressing and control structures allow
it  to  operate  as  well   within   a   single    network.    In
implementation  it  is  a portion of a larger system, the Network
Operations Center (NOC).
     The   monitoring   algorithm   relies   on    polling    for
messages;  the  Host  Monitor  (HM)  periodically sends a polling
message  to  the host  being  monitored,  requesting a  specified
report.  The host then creates the report and sends it to the HM.
Missing  reports are  detected as unanswered polls and  duplicate
polls  are  sent to have the report retransmitted.  Some messages
cannot be  polled   for   and   these   are   sent   to   the  HM
spontaneously.   Checksums calculated on the data portions of all
messages  assure their integrity.
     The  HMP implements a password scheme in order  to  restrict
access to monitoring information.  The monitored hosts check each
                               -1-
IEN-197                                            September 1981
poll message for a valid password before responding;  this  helps
prevent  unauthorized  use of the monitor system.  The HMP is not
intended to be a highly secure protocol.
2  Protocol Operation
     The   HMP  is  designed   to   operate   reliably   in   the
internet   environment.    To     gain     this     measure    of
reliability it uses  polling.   The  HM  sends  polling  messages
requesting   reports  to  the  monitored  hosts.   A  host,  upon
receiving  the  poll,  verifies  the   message   and,  if  it  is
acceptable, sends the appropriate report to the poll source.  The
HM, after transmitting the poll, awaits the corresponding report.
If  it  is  not  received within a  reasonable interval,  another
poll is sent assuming  that  either  the  previous  poll  or  the
answering  report  was  lost.   If  after  a  number  of repeated
polls  no  response  has  been  received,  it  can  be reasonably
concluded  that the host is unreachable and the polling frequency
is reduced  to  a  background  level.   This   minimizes  traffic
but,  since polling continues, a poll will reach the host once it
becomes reachable.   When a report is received  the  normal  poll
frequency is resumed.
     The most important reason for choosing  polling  over  other
methods of detecting lost messages is that it centralizes control
                               -2-
IEN-197                                            September 1981
of  monitoring  in  a  dedicated  HM,  rather   distributing   it
throughout  the network of monitored hosts.  This frees resources
in the monitored systems and also allows the HM to  regulate  the
flow  of  monitoring  messages to prevent overloading of the HM's
resources.
     There are three classes of data with  which  the  monitoring
protocol  is  concerned.   These  are  (1)  reports of unexpected
changes of status or error conditions, (2) reports of the current
state  of  the host, and (3) reports of statistics and throughput
data.  These three kinds of data are handled in different ways by
the HMP as described below.
2.1  Unsolicited Messages
     These are reports of unexpected changes of status  or  error
condition reports (traps) which the monitor should be informed of
as they occur.   They  are  not  polled,  but  are  instead  sent
directly  to  a  particular HM.  If the address of the HM must be
changed for unsolicited messages, it will  be  done  by  external
means (e.g. packet core protocol).
                               -3-
IEN-197                                            September 1981
2.2  Status Messages
     These are reports of the current state  of  a  system;  they
contain  any kind of information which is not cumulative.  The HM
will poll for these on a periodic basis.  When a  monitored  host
receives a poll for a status message, it assembles a message with
the current data pertaining to its  status.   Since  this  is  an
instantaneous  "picture"  of  a system, it is not critical if any
particular status report is lost.
2.3  Statistics Messages
     These messages, also  called  throughput  messages,  contain
data  collected  on  a  periodic  basis.  The information will be
collected in a monitored machine using a double buffering system.
At the end of each collection period, a message will be assembled
and the counters will be cleared.   During  the  next  collection
period,  any  HMs  polling  for a statistics message will be sent
this message.
     The collection frequency  for  statistics  messages  from  a
particular  host  must be relatively long compared to the average
round trip message time between the HM and that host to allow the
HM  to  re-poll  if  it  does  not  receive an answer.  With this
restriction it should be possible to avoid missing any statistics
messages  in  most cases.  Each statistics message will contain a
                               -4-
IEN-197                                            September 1981
field giving the (local) time when the data  was  collected,  and
the time at which the message was sent (*).  This will allow  the
HM  to  schedule  its  polling  so that the poll arrives near the
beginning of each collection period.  This is done to ensure that
if  a  message  is  lost, the HM will have sufficient time to try
again to get the statistics message for  that  period.   Sequence
numbers  will  be  used  to  detect  the  loss of a message for a
period, and also to eliminate duplicate messages.
_______________
* The units of the local time should be large enough to guarantee
a rollover time of at least one hour.
                               -5-
IEN-197                                            September 1981
3  Header Formats
     [Note:   Any  field  labeled "unused" is reserved for  later
     extensions and must be zero when sent.]
     Monitor messages have the following format:
                    +----------------+
                    |  Local Network |
                    |    Header(s)   |
                    +----------------+
                    |  IP header     |
                    +----------------+
                    |  Internet      |
                    |    Monitor     |
                    |      Header    |
                    +----------------+
                    |    D           |
                    |      A         |
                    |        T       |
                    |          A     |
                    +----------------+
                    |  Padding       |
                    +----------------+
     The local header(s) depend on the local network, and do  not
     concern us here.
3.1  IP Headers
     HMP messages are sent using  the  version  4  IP  header  as
     described  in IEN-128 (RFC-760).  The HMP protocol number is
     20 (decimal).  The time to live field should be set  to  the
     maximum  value.  All other fields should be set as specified
     in IEN-128.
                               -6-
IEN-197                                            September 1981
3.2  Monitor Header
     The monitor header format is:
                  1             0 0             0
                  5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
                 +---------------+---------------+
               0 |  System Type  | Message Type  |
                 +---------------+---------------+
               1 |          Port Number          |
                 +---------------+---------------+
               2 |        Sequence Number        |
                 +---------------+---------------+
               3 |  Password or Returned Seq. #  |
                 +---------------+---------------+
               4 |   One's Complement Checksum   |
                 +---------------+---------------+
HMP FIELDS:
System Type
Message Type
     The combination  of system type and message type  determines
     the format of the data in the monitoring message.
     The system types which have been defined are:
                   System Type  | Meaning
                ----------------+-----------------
                       1        | General Messages
                       2        | IMP
                       3        | TAC
     Message types are defined for each system type according  to
     the  needs  of that system.  Message types and their formats
     for each system are defined below.
Port Number
     The Port Number field is presently unused.  It can  be  used
     to multiplex similar messages from/to different processes in
     one host.
Sequence Number
     Every message contains  a  sequence  number.   The  sequence
     number  is incremented when each new message of that type is
     sent.
                               -7-
IEN-197                                            September 1981
Password or Returned Sequence Number
     The  Password field of a polling message from an HM contains
     a  password  to   verify  that the  HM  is allowed to gather
     information.  Responses  to  polling   messages   copy   the
     Sequence Number from  the  polling message  and return it in
     this  field   for   identification   and   round-trip   time
     calculations.
Checksum
     The  Checksum  field  is  the one's complement of the  one's
     complement  sum of all the 16-bit words in  the  header  and
     data  area.   As  with  the checksum in the TCP header  (see
     IEN-129),  the  checksum  also covers a 96-bit pseudo header
     containing  the source address, the destination address, the
     protocol  (20),  and the length of the monitoring message in
     bytes. The  fields  of the pseudo header are as defined  for
     the IP header.
                               -8-
IEN-197                                            September 1981
4  Monitor Message Formats
4.1  System Type 1: General Messages
4.1.1  Message Type 1: Polling Message
Description
     The  HM will send polls to the  machines  it  is  monitoring
     according  to  its polling algorithm.  Multiple requests can
     be combined in a single message, but each request  is  still
     considered a separate poll.
     The  polled  machine  will  return  a  message of each  type
     requested;  it   will  only  answer  a poll with the correct
     system type and password. It will return  an  error  message
     (System  Type  1;  Message Type 2) if it receives a poll for
     the wrong system type or an unsupported message type.
     A polling message has the following form:
              1             0 0             0
              5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
             +---------------+---------------+
           0 | R-Message Type|   R-Subtype   |
           . +---------------+---------------+
           . :                               :\  additional
           . :                               : > message
             :                               :/  requests
             +---------------+---------------+
HMP FIELDS
System Type
     General Messages = 1
Message Type
     Polling Message = 1
Port Number
     Unused
Sequence Number
     The sequence number identifies the polling request.   An  HM
     will have separate sequences for each host it monitors.  The
     sequence number is returned in the response to a  poll;  the
                               -9-
IEN-197                                            September 1981
     HM  will  use this information to associate polls with their
     responses and to determine round trip times.
Password
     The monitoring password.
POLL FIELDS
R-Message Type
     The message type requested.
R-Subtype
     Presently unused, this field might later be used to  specify
     options or include additional data in a polling message.
                              -10-
IEN-197                                            September 1981
4.1.2  Message Type 2: Error in Poll
Description
     This message is sent  in  response  to  a  faulty  poll  and
     specifies the nature of the error.
     An error message has the following form:
              1             0 0             0
              5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
             +---------------+---------------+
           0 |          Error Type           |\  first
             +---------------+---------------+ > error
           1 | R-Message Type|   R-Subtype   |/  report
           . +---------------+---------------+
           . :                               :\  additional
           . :                               : > error
             :                               :/  reports
             +---------------+---------------+
HMP FIELDS
System Type
     General Messages = 1
Message Type
     Error Message = 2
Port Number
     Unused
Sequence Number
     A 16 bit number incremented each time an  error  message  is
     sent.
Returned Sequence Number
     The Sequence Number of the polling message which caused  the
     error.
                              -11-
IEN-197                                            September 1981
ERROR MESSAGE FIELDS
Error Type
     This field specifies the nature of the error  in  the  poll.
     The following error types have been defined.
                 1 = Reason unspecified.
                 2 = Bad R-Message Type.
                 3 = Bad R-Subtype.
R-Message Type
R-Subtype
     These fields identify the poll request in error.
                              -12-
IEN-197                                            September 1981
4.2  System Type 2: IMP
4.2.1  Message Type 1: IMP Trap
Description
     When a trap occurs, it is buffered in the IMP  and  sent  as
     soon  as possible.  Trap messages are unsolicited.  If traps
     happen in close sequence, several traps may be sent  in  one
     message.
     Through the use of sequence numbers, it will be possible  to
     determine   how  many  traps  are  being  lost.   If  it  is
     discovered that many are lost, a  polling  scheme  might  be
     implemented for traps.
     A IMP trap message has the following form:
                  1             0 0             0
                  5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
                 +---------------+---------------+
               0 |       # of traps lost         |
                 +---------------+---------------+
               1 :         first                 :
               . :             trap              :
               . :                 data          :
               . +---------------+---------------+
               . :         additional            :
               . :             trap              :
               . :                 data          :
                 +---------------+---------------+
HMP Fields
System Type
     IMP = 2
Message Type
     IMP Trap Message = 1
Port Number
     Unused
Password
     Unused
                              -13-
IEN-197                                            September 1981
Sequence Number
     A 16 bit number incremented each time a trap message is sent
     so  that  the  HM  can  order the received trap messages and
     detect missed messages.
IMP TRAP FIELDS
# of traps lost
     Under certain conditions, an IMP may overflow  its  internal
     trap  buffers  and  be  unable  to save traps to send.  This
     counter keeps track of such occurrences.
Trap Reports
     There can be several blocks of trap data  in  each  message.
     The format for each such block is below.
                 +---------------+---------------+
                 |             Size              |
                 +---------------+---------------+
                 |             Time              |
                 +---------------+---------------+
                 |            Trap ID            |
                 +---------------+---------------+
                 :             Trap              :
                 :             Data              :
                 +---------------+---------------+
  Size
     Size is the number of 16 bit words in the trap, not counting
     the size field.
  Time
     The time (in 640 ms. units)  at  which  the  trap  occurred.
     This  field  is  used to sequence the traps in a message and
     associate groups of traps.
  Trap ID
     This is usually the program counter at  the  trap.   The  ID
     identifies  the  trap,  and  does  not  have to be a program
     counter, provided it uniquely identifies the trap.
                              -14-
IEN-197                                            September 1981
  Trap Data
     The IMP returns data giving more information about the trap.
     There are usually two entries: the values in the accumulator
     and the index register at the occurrence of the trap.
                              -15-
IEN-197                                            September 1981
4.2.2  Message Type 2: IMP status
Description
     The status message gives a quick summary of the state of the
     IMP.   Status  of the most important features of the IMP are
     reported  as  well  as  the  current  configuration  of  the
     machine.
     The format of the status message is as follows:
                  1             0 0             0
                  5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
                 +---------------+---------------+
               0 |    Software Version Number    |
                 +---------------+---------------+
                 |       Last Trap Message       |
                 +---------------+---------------+
                 |    Hosts      |    Modems     |
                 +---------------+---------------+
                 |          Package bits         |
                 +---------------+---------------+
                 |          TIP version          |
                 +---------------+---------------+
               5 |         restart/reload        |
                 +---------------+---------------+
                 |         Host                  |
                 +                               +
                 |             Test              |
                 +                               +
                 |                 Results       |
                 +---------------+---------------+
                 |                               |
                 +          Crash                +
              10 |                               |
                 +                Data           +
                 |                               |
                 +---------------+---------------+
                 |           Anomalies           |
                 +---------------+---------------+
              13 | HIHD0 | HIHD1 | HIHD2 | HIHD3 |
               . +---------------+---------------+
               . : HIHD4 | ...............       :
               . +---------------+---------------+
                             (cont.)
                              -16-
IEN-197                                            September 1981
     Imp Status (cont.)
               . +---------------+---------------+
               . |        Modem                  |
               . +             State             +
               . |                  Data         |
               . +---------------+---------------+
               . :         Modem   State         :
               . :             Data......        :
                 +---------------+---------------+
HMP FIELDS
System Type
     IMP = 2
Message Type
     IMP status message = 2
Port Number
     Unused
Sequence Number
     A 16 bit number incremented each time a  status  message  is
     sent.
Password
     The password contains the sequence  number  of  the  polling
     message to which this message responds.
IMP STATUS FIELDS
Software Version Number
     The IMP version number.
Last Trap Message
     Contains the sequence number of the last trap  message  sent
     to  the  HM.  This will allow the HM to detect how many trap
     messages are being lost.
                              -17-
IEN-197                                            September 1981
Hosts
     The number of configured hosts in this system.
Modems
     The number of configured modems in this system.
Package Bits
     This is a bit encoded word that reports the set of  packages
     currently loaded in the system.  The table below defines the
     bits.
               Bit    Package
             (octal)
                1      VDH
                2      TIP
                4      experimental
               10      Cumulative Statistics
               20      Trace
               40      TTY
              100      DDT
              200      Store and Forward statistics
              400      End-to-end Statistics
             1000      Level measurements
TIP version
     The TIP version number if a TIP is loaded or zero if not.
Restart/Reload
     This word reports a restart or reload of an IMP.
           Value      Meaning
             1       restarted
             2       reloaded
Host Test Results
     These three words report the result of  the  host  test,  if
     any.   If a test is running, the first word will contain the
     host number, the second and third will contain the number of
     NOPs  sent  and  received,  respectively.   If  no  test  is
     running, the first word will contain a -1.
Crash Data
     Crash  data  reports  the   circumstances   surrounding   an
                              -18-
IEN-197                                            September 1981
     unexpected  crash.   The  first word reports the location of
     the crash and the following two  are  the  contents  of  the
     accumulator and index registers.
Anomalies
     Anomalies is a collection of bit  flags  that  indicate  the
     state  of  various  switches or processes in the IMP.  These
     are  very  machine  dependent  and  only  a   representative
     sampling of bits is listed below.
               Bit       Meaning
             (octal)
                1      Sense Switch 1 ON
                2      Sense Switch 2 ON
                4      Sense Switch 3 ON
               10      Sense Switch 4 ON
               20      Override ON
              200      Trace ON
             2000      Message Generator ON
HIHD0 - HIHDn
     Each  four  bit  HIHD  field  gives   the   state   of   the
     corresponding host.
           Value   Meaning
             0       UP
             1       ready line down
             2       tardy
             3       non-existent
             4       VDH host not initialized
Modem State Data
     Modem state data contains four byte  fields  of  data.   The
     first  field indicates the line speed in a machine dependent
     fashion; the second field is the  number  of  line  protocol
     ticks  covered  by this report; the third is the neighbor on
     the line, and the fourth  is  a  count  of  missed  protocol
     packets over the interval specified in the second field.
                              -19-
IEN-197                                            September 1981
4.2.3  Message Type 3: IMP Modem Throughput
Description
     The modem throughput message reports traffic statistics  for
     each modem in the system. The IMP will collect these data at
     regular intervals and save them awaiting a poll from the HM.
     If  a  period  is  missed  by the HM, the new results simply
     overwrite the old.  Two time stamps bracket  the  collection
     interval  (data-time  and prev-time) and are an indicator of
     missed reports.  In addition, mess-time indicates  the  time
     at which the message was sent.
     The modem throughput message will accommodate up to fourteen
     modems  in  one  packet.   A provision is made to split this
     into multiple packets by including a modem  number  for  the
     first  entry  in  the packet.  This field is not immediately
     useful, but if machine sizes grow beyond fourteen modems  or
     if  modem  statistics become more detailed and use more than
     three words per modem, this can be used to keep the  message
     within a single ARPANET packet.
     The format of the modem throughput message is as follows:
                  1             0 0             0
                  5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
                 +---------------+---------------+
               0 |           Mess-Time           |
                 +---------------+---------------+
                 |    Software Version Number    |
                 +---------------+---------------+
                 |           Data-Time           |
                 +---------------+---------------+
                 |           Prev-Time           |
                 +---------------+---------------+
                 | Total  Modems |  This  Modem  |
                 +---------------+---------------+
               5 |                               |
               . +             modem             +
               . |                               |
               . +           throughput          +
               . |                               |
               . +---------------+---------------+
               . :             modem             :
               . :                               :
               . :          throughput           :
                 +---------------+---------------+
                              -20-
IEN-197                                            September 1981
HMP FIELDS
System Type
     IMP = 2
Message Type
     IMP Modem Throughput message = 3
Port Number
     Unused
Sequence Number
     A 16 bit number  incremented  at  each  collection  interval
     (i.e.  when  a new throughput message is assembled).  The HM
     will be  able  to  detect  lost  or  duplicate  messages  by
     checking the sequence numbers.
Password
     The password contains the sequence  number  of  the  polling
     message to which this message responds.
IMP MODEM THROUGHPUT FIELDS
Mess-time
     The time (in 640ms. units) at which the message was sent  to
     the HM.
Software Version Number
     The IMP version number.
Data-Time
     Data-time is the time (in 640ms. units)  when  this  set  of
     data was collected.  (See Description.)
Prev-Time
     Prev-time is the time (in 640 ms.  units)  of  the  previous
     collection of data (and therefore, is the time when the data
     in this message began accumulating.)
Total Modems
                              -21-
IEN-197                                            September 1981
     This is the number of modems in the system.
This Modem
     This Modem is the number of the first modem reported in this
     message.   Large  systems  that  are unable to fit all their
     modem reports into a single packet may  use  this  field  to
     separate their message into smaller chunks to take advantage
     of single packet message efficiencies.
Modem Throughput
     Modem  throughput  consists   of   three   words   of   data
     reporting  packets  and  words  output  on  each modem.  The
     first  word  counts packets  output and  the  following  two
     count  word  throughput.   The  double  precision  words are
     arranged high order first.  (Note  also that  messages  from
     Honeywell  type machines (316s, 516s and C30s) use a fifteen
     bit low order word.)  The first block reports output on  the
     modem  specified  by  "This  Modem".   The  following blocks
     report on consecutive modems.
                              -22-
IEN-197                                            September 1981
4.2.4  Message Type 4: IMP Host Throughput
Description
     The host throughput message reports traffic  statistics  for
     each host in the system.  The IMP will collect these data at
     regular intervals and save them awaiting a poll from the HM.
     If  a  period  is  missed  by the HM, the new results simply
     overwrite the old.  Two time stamps bracket  the  collection
     interval  (data-time  and prev-time) and are an indicator of
     missed reports.  In addition, mess-time indicates  the  time
     at which the message was sent.
     The host throughput format will hold  only  three  hosts  if
     packet  boundaries are to be respected.  A provision is made
     to split this into multiple  packets  by  including  a  host
     number for the first entry in the packet.
     The format of the host throughput message is as follows:
                  1             0 0             0
                  5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
                 +---------------+---------------+
               0 |           Mess-Time           |
                 +---------------+---------------+
                 |    Software Version Number    |
                 +---------------+---------------+
                 |           Data-Time           |
                 +---------------+---------------+
                 |           Prev-Time           |
                 +---------------+---------------+
                 |  Total Hosts  |   This  Host  |
                 +---------------+---------------+
               5 :              host             :
               . :           throughput          :
                 +---------------+---------------+
HMP FIELDS
System Type
     IMP = 2
Message Type
     IMP host Throughput message = 4
Port Number
     Unused
                              -23-
IEN-197                                            September 1981
Sequence Number
     A 16 bit number  incremented  at  each  collection  interval
     (i.e.  when  a new throughput message is assembled).  The HM
     will be  able  to  detect  lost  or  duplicate  messages  by
     checking the sequence numbers.
Password
     The password contains the sequence  number  of  the  polling
     message to which this message responds.
IMP HOST THROUGHPUT FIELDS
Mess-time
     The time (in 640ms. units) at which the message was sent  to
     the HM.
Software Version Number
     The IMP version number.
Data-Time
     Data-time is the time (in 640ms. units)  when  this  set  of
     data was collected.  (See Description.)
Prev-Time
     Prev-time is the time (in 640 ms.  units)  of  the  previous
     collection of data (and therefore, is the time when the data
     in this message began accumulating.)
Total Hosts
     The total number of hosts in this system.
This Host
     This host is the number of the first host reported  in  this
     message.   Large  systems  that  are unable to fit all their
     host reports into a single packet  may  use  this  field  to
     separate their message into smaller chunks to take advantage
     of single packet message efficiencies.
                              -24-
IEN-197                                            September 1981
Host Throughput
     Each host throughput block consists of twelve words  in  the
     following format:
                 +---------------+---------------+
                 |      messages to network      |
                 +---------------+---------------+
                 |     messages from network     |
                 +---------------+---------------+
                 |        packets to net         |
                 +---------------+---------------+
                 |       packets from net        |
                 +---------------+---------------+
                 |       messages to local       |
                 +---------------+---------------+
                 |      messages from local      |
                 +---------------+---------------+
                 |        packets to local       |
                 +---------------+---------------+
                 |       packets from local      |
                 +---------------+---------------+
                 |         words to imp          |
                 |      (double precision)       |
                 +---------------+---------------+
                 |        words from imp         |
                 |      (double precision)       |
                 +---------------+---------------+
     Each host throughput message will contain several blocks  of
     data.   The  first  block  will  contain  data  for the host
     specified in  First  Host  Number.   Following  blocks  will
     contain data for consecutive hosts.  All counters are single
     precision with the exception of the two word counters  which
     are  double  precision.   The  double  precision  words  are
     arranged high order first.  Note  also  that  messages  from
     Honeywell  type machines (316s, 516s and C30s) use a fifteen
     bit low order word.
                              -25-
IEN-197                                            September 1981
4.3  System Type 3: TAC
4.3.1  Message Type 1: TAC Trap Message
Description
     When a trap occurs, it is buffered in the TAC  and  sent  as
     soon  as possible.  Trap messages are unsolicited.  If traps
     happen in close sequence, several traps may be sent  in  one
     message.
     Through the use of sequence numbers, it will be possible  to
     determine   how  many  traps  are  being  lost.   If  it  is
     discovered that many are lost, a  polling  scheme  might  be
     implemented for traps.
     A TAC trap message has the following form:
                  1             0 0             0
                  5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
                 +---------------+---------------+
               0 |       # of traps lost         |
                 +---------------+---------------+
               1 :         first                 :
               . :             trap              :
               . :                 data          :
               . +---------------+---------------+
               . :         additional            :
               . :             trap              :
               . :                 data          :
                 +---------------+---------------+
HMP FIELDS
System Type
     TAC = 3
Message Type
     TAC Trap Message = 1
Port Number
     Unused
Password or Returned Sequence Number
     Unused
                              -26-
IEN-197                                            September 1981
Sequence Number
     A 16 bit number incremented each time a trap message is sent
     so  that  the  HM  can  order the received trap messages and
     detect missed messages.
TAC TRAP FIELDS
# of traps lost
     Under certain conditions, a TAC may  overflow  its  internal
     trap  buffers  and  be  unable  to save traps to send.  This
     counter keeps track of such occurrences.
Trap Reports
     There can be several blocks of trap data in each message.
     The format of the trap data is as follows:
                 +---------------+---------------+
                 |             Size              |
                 +---------------+---------------+
                 |             Time              |
                 +---------------+---------------+
                 |            Trap ID            |
                 +---------------+---------------+
                 :             Trap              :
                 :             Data              :
                 +---------------+---------------+
  Size
     Size is the number of 16 bit words in the trap, not counting
     the size field.
  Time
     The time (in 640ms. units) at which the trap occurred.  This
     field  is  used  to  sequence  the  traps  in  a message and
     associate groups of traps.
  Trap ID
     This is (usually) the program counter at the trap.   The  ID
     identifies  the  trap,  and  does  not  have to be a program
     counter, provided that it uniquely identifies the trap.
                              -27-
IEN-197                                            September 1981
  Trap Data
     The TAC returns data giving more information about the trap.
     There are usually two entries: the values in the accumulator
     and the index register at the occurrence of the trap.
                              -28-
IEN-197                                            September 1981
4.3.2  Message Type 2: TAC Status
Description
     The status message gives a quick summary of the state of the
     TAC.   Status  of the most important features of the TAC are
     reported  as  well  as  the  current  configuration  of  the
     machine.
     A TAC status message has the following form:
                  1             0 0             0
                  5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
                 +---------------+---------------+
               0 |         Version Number        |
                 +---------------+---------------+
                 |       Last Trap Message       |
                 +---------------+---------------+
                 |           Bit Flags           |
                 +---------------+---------------+
                 |         Free PDB count        |
                 +---------------+---------------+
                 |         Free MBLK count       |
                 +---------------+---------------+
               5 |      # of TCP connections     |
                 +---------------+---------------+
                 |      # of NCP connections     |
                 +---------------+---------------+
                 |         restart/reload        |
                 +---------------+---------------+
                 |                               |
                 +          Crash                +
                 |                               |
                 +                Data           +
              10 |                               |
                 +---------------+---------------+
HMP FIELDS
System Type
     TAC = 3
Message Type
     TAC Status Message = 2
                              -29-
IEN-197                                            September 1981
Port Number
     Unused
Sequence Number
     A 16 bit number incremented each time a  status  message  is
     sent.
Returned Sequence Number
     Contains  the  sequence  number  from  the  polling  message
     requesting this report.
TAC STATUS FIELDS
Version Number
     The TAC's software version number.
Last Trap Message
     Contains the sequence number of the last trap  message  sent
     to  the  HM.  This will allow the HM to detect how many trap
     messages are being lost.
Bit Flags
     There are sixteen bit  flags  available  for  reporting  the
     state  of  various  switches  (hardware and software) in the
     TAC.  The bits are numbered as follows for purposes  of  the
     discussion below.
                 1         1   0 0             0
                 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                | | | | | | | | | | | | | | | | |
                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          The bit flags report the status of the following:
          Bit         Meaning
          0           0 => DDT override off; 1 => override on.
          1-4         0 => Sense Switch n is off; 1 => SSn on.
          5           0 => Extended DDT not enabled;
                        1 => Extended DDT enabled.
          6           0 => Traps going to console;
                        1 => Traps going to remote monitor.
          7-15        unused
                              -30-
IEN-197                                            September 1981
Free PDB count
     The number of PDBs on the free queue.
Free MBLK count
     The number of MBLKs on the free queue.
# of TCP connections
# of NCP connections
     The number of open connections for each protocol.
Restart/Reload
     This word reports a restart or reload of the TAC
           Value      Meaning
             1       restarted
             2       reloaded
Crash Data
     Crash  data  reports  the   circumstances   surrounding   an
     unexpected  crash.   The  first word reports the location of
     the crash and the following two  are  the  contents  of  the
     accumulator and index registers.
                              -31-
IEN-197                                            September 1981
4.3.3  Message Type 3: TAC Throughput
Description
     The  TAC  throughput  message  reports  statistics  for  the
     various modules of the TAC.  The TAC will collect these data
     at regular intervals and save them awaiting a poll from  the
     HM.  If a period is missed by the HM, the new results simply
     overwrite the old.  Two time stamps bracket  the  collection
     interval  (data-time  and prev-time) and are an indicator of
     missed reports.  In addition, mess-time indicates  the  time
     at which the message was sent.
     A TAC throughput message has the following form:
               1             0 0             0
               5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
              +---------------+---------------+
            0 |           Mess-Time           |
              +---------------+---------------+
              |           Data-Time           |
              +---------------+---------------+
              |           Prev-Time           |
              +---------------+---------------+
              |         Version Number        |
              +---------------+---------------+
              |       Last Trap Message       |
              +---------------+---------------+
            5 |           Bit Flags           |
              +---------------+---------------+
              |         Free PDB count        |
              +---------------+---------------+
              |         Free MBLK count       |
              +---------------+---------------+
              |      # of TCP connections     |
              +---------------+---------------+
              |      # of NCP connections     |
              +---------------+---------------+ ----
           10 |     Host Input Throughput     |    ^
              +---------------+---------------+    |
              |     Host Input Abort Count    |    |
              +---------------+---------------+    |
              |    Host Input Garbled Count   |    |
              +---------------+---------------+    |
              |    Host Output Throughput     | 1822 info.
              +---------------+---------------+    |
                            (continued)
                              -32-
IEN-197                                            September 1981
     TAC throughput (cont.)
              +---------------+---------------+    |
              |    Host Output Abort Count    | 1822 info.
              +---------------+---------------+    |
           15 |        Host Down Count        |    v
              +---------------+---------------+ ----
              |      # of datagrams sent      |    ^
              +---------------+---------------+    |
              |    # of datagrams received    |    |
              +---------------+---------------+  IP info.
              |    # of datagrams discarded   |    |
              +---------------+---------------+    |
              |    # of fragments received    |    v
              +---------------+---------------+ ----
           20 |      # of segments sent       |    ^
              +---------------+---------------+    |
              |    # of segments received     |    |
              +---------------+---------------+    |
              |    # of segments discarded    |    |
              +---------------+---------------+  TCP info.
              |       # of octets sent        |    |
              +---------------+---------------+    |
              |     # of octets received      |    |
              +---------------+---------------+    |
           25 |     # of retransmissions      |    v
              +---------------+---------------+ ----
              |      # of messages sent       |    ^
              +---------------+---------------+    |
              |    # of messages received     |    |
              +---------------+---------------+    |
              |    # of messages flushed      |    |
              +---------------+---------------+    |
              |        # of bytes sent        |    |
              +---------------+---------------+    |
           30 |      # of bytes received      |    |
              +---------------+---------------+   NCP info.
              |       # of ERRs received      |    |
              +---------------+---------------+    |
              |       # of RASs received      |    |
              +---------------+---------------+    |
              |       # of RAPs received      |    |
              +---------------+---------------+    |
              |       # of NXSs received      |    |
              +---------------+---------------+    |
           35 |       # of NXRs received      |    |
              +---------------+---------------+    |
              |       # of RSTs received      |    v
              +---------------+---------------+ ----
                              -33-
IEN-197                                            September 1981
HMP FIELDS
System Type
     TAC = 3
Message Type
     TAC Throughput Message = 3
Port Number
     Unused
Sequence Number
     A 16 bit number  incremented  at  each  collection  interval
     (i.e.  when  a new throughput message is assembled).  The HM
     will be  able  to  detect  lost  or  duplicate  messages  by
     checking the sequence numbers.
Returned Sequence Number
     Contains  the  sequence  number  from  the  polling  message
     requesting this report.
TAC THROUGHPUT FIELDS
Mess-time
     The time (in 640ms. units) at which the message was sent  to
     the HM.
Data-Time
     Data-time is the time (in 640ms. units)  when  this  set  of
     data was collected.  (See Description.)
Prev-Time
     Prev-time is the time (in 640 ms.  units)  of  the  previous
     collection of data (and therefore, is the time when the data
     in this message began accumulating.)
Version Number
     The TAC's software version number.
                              -34-
IEN-197                                            September 1981
Last Trap Message
     Contains the sequence number of the last trap  message  sent
     to  the  HM.  This will allow the HM to detect how many trap
     messages are being lost.
Bit Flags
     There are sixteen bit  flags  available  for  reporting  the
     state  of  various  switches  (hardware and software) in the
     TAC.  The bits are numbered as follows for purposes  of  the
     discussion below.
                 1         1   0 0             0
                 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                | | | | | | | | | | | | | | | | |
                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          The bit flags report the status of the following:
          Bit         Meaning
          0           0 => DDT override off; 1 => override on.
          1-4         0 => Sense Switch n is off; 1 => SSn on.
          5           0 => Extended DDT not enabled;
                        1 => Extended DDT enabled.
          6           0 => Traps going to console;
                        1 => Traps going to remote monitor.
          7-15        unused
Free PDB count
     The number of PDBs on the free queue.
Free MBLK count
     The number of MBLKs on the free queue.
# of TCP connections
# of NCP connections
     The number of open connections for each protocol.
                              -35-
IEN-197                                            September 1981
1822 info.
     These  six  fields  report  statistics  which  concern   the
     operation  of  the  1822 protocol module, i.e. the interface
     between the TAC and its IMP.
IP info.
     These four fields report statistics which  concern  Internet
     Protocol in the TAC.
TCP info.
     These  six  fields  report  statistics  which  concern   TCP
     protocol in the TAC.
NCP info.
     These eleven fields  report  statistics  which  concern  NCP
     protocol in the TAC.
                              -36-