RFC 869
Host Monitoring Protocol
RFC 869: A Host Monitoring Protocol ๐ฆ
Author: Robert M. Hinden, BBN Communications Corporation ๐
Date: December 1983 ๐
Replaces: the earlier HMP document IEN-197, A Host Monitoring Protocol ๐
Table of Contents ๐
1 Introduction.......................................... 1
2 General Description................................... 3
3 Relationship to Other Protocols....................... 6
4 Protocol Operation.................................... 7
5 Header Formats....................................... 12
5.1 IP Headers......................................... 12
5.2 HMP Header......................................... 13
6 HMP Monitoring Center Message Formats................ 16
6.1 Message Type 100: Polling Message.................. 16
6.2 Message Type 101: Error in Poll.................... 18
6.3 Message Type 102: Control acknowledgment........... 20
A Appendix A - IMP Monitoring.......................... 21
A.1 Message Type 1: IMP Trap........................... 21
A.2 Message Type 2: IMP status......................... 24
A.3 Message Type 3: IMP Modem Throughput............... 29
A.4 Message Type 4: IMP Host Throughput................ 32
B Appendix B - TAC Monitoring.......................... 35
B.1 Message Type 1: TAC Trap Message................... 35
B.2 Message Type 2: TAC Status......................... 38
B.3 Message Type 3: TAC Throughput..................... 42
C Appendix C - Gateway Monitoring...................... 47
C.1 Gateway Parameters................................. 47
C.2 Message Type 1: Gateway Trap....................... 48
C.3 Message Type 2: Gateway Status..................... 51
C.4 Message Type 3: Gateway Throughput................. 58
C.5 Message Type 4: Gateway Host Traffic Matrix........ 64
C.6 Message Type 6: Gateway Routing.................... 67
1. Introduction โจ
okay so the Host Monitoring Protocol (HMP) is used to collect information from hosts in various networks ๐ธ A host is defined as an addressable Internet entity that can send and receive messages, and that's a super broad group: server hosts, personal work stations, terminal concentrators, packet switches, and gateways all count ๐ Right now HMP is being used to collect information from Internet Gateways and TACs, and implementations are being designed for other hosts too ๐ฅ It's built to monitor hosts spread across the internet as well as hosts sitting inside a single network. iconic range, honestly ๐
This document is organized into three parts ๐ Sections 2 and 3 cover a general description of the Host Monitoring protocol and how it relates to other protocols. Section 4 explains how it operates, and Sections 5 and 6 contain the descriptions and formats of the HMP messages. After that come the appendices, which show the formats of messages sent by some of the hosts that use HMP to gather their monitoring info. โ ๏ธ Those appendices are included as examples only and are not part of the HMP protocol, so don't get it twisted ๐
Heads up: the appendices are just examples, not the actual protocol. Keep that in mind when you read them ๐
This document replaces the previous HMP document IEN-197, A Host Monitoring Protocol ๐ฆ
2. General Description ๐
The Host Monitoring Protocol is a transaction-oriented (i.e., connection-less) transport protocol ๐ง It was designed to make certain simple interactions between two internet entities easy, where one of them may be considered to be "monitoring" the other ๐ When we talk about the protocol, we'll sometimes call these the "monitoring host" and the "monitored entity." HMP was meant to be a useful transport protocol for applications that involve any or all of these three kinds of interactions:
- The monitored entity sometimes needs to send unsolicited datagrams to the monitoring host. The monitoring host should be able to tell when messages from the monitored entity have been lost in transit, and it should be able to determine the order in which the messages were sent. BUT the application doesn't require that all messages get received, or that they arrive strictly in the same sequence they were sent in ๐
- The monitoring host needs to gather data from the monitored entity using a query-response protocol at the application level. It's important to be able to tell which query a particular response is answering, and to tell whether successive responses are duplicates of earlier ones ๐
- The monitoring host must be able to start certain control functions in the monitored entity, possibly including setting parameters in the monitored entity. The monitoring host needs to know if the control function has actually been carried out โ
In addition, we assume that a given monitoring host may be monitoring several different types of entities at the same time, and may be gathering several different types of data from a given type of monitored entity. Several different monitoring hosts may be watching the same entity, and several processes on the same host may even be monitoring the same entity. multi-tasking bestie energy ๐คนโโ๏ธ
Messages going from the monitoring host to the monitored entity are called "polls" ๐ฉ They need to carry enough information to let the monitored entity figure out the following:
- The monitored entity must be able to determine that this message is in fact a poll from a monitoring host. The "system type," "message type," and "password" fields in the HMP header were defined to handle this ๐
- The monitored entity may need to identify the particular process on the monitoring host that sent this poll, so it can send its response back to the right process. The "port number" field in the HMP header was defined for exactly this ๐ฏ
- The monitored entity must be able to indicate to the monitoring host, in its response, precisely which query is being answered by a particular response. The "sequence number field" was defined for this job ๐งพ
- The monitored entity must be able to determine just what kind of action the monitoring host is requesting. In other words, the HMP transport protocol must provide some way of multiplexing and demultiplexing the various higher-level applications that use it. The "R-message type" and "R-subtype" fields of the polling message were defined to meet this need ๐
Messages going from the monitored entity to the monitoring host need to carry enough information for the monitoring host to figure out the following:
- The monitoring host must be able to route this message to the correct process. The "port number" field handles this ๐ค๏ธ
- The monitoring host must be able to match up received messages with the polls, if any, that triggered them. The "returned sequence number" field in the HMP header was defined to make that happen ๐งฉ
- The monitoring host must be able to determine which higher-level application should receive a particular message. The "system type" and "message type" fields are used for this purpose ๐
- The monitoring host must be able to determine whether some messages of a given type were lost in transit, and whether messages have arrived out of sequence. Strictly speaking this job belongs to the application and not the transport layer, but the HMP header still has a "sequence number" for this purpose ๐ซถ
On top of all that, a simple one's complement checksum is provided in the HMP header to detect data corruption during transmission ๐ก๏ธ
3. Relationship to Other Protocols ๐งโโ๏ธ
The Host Monitoring Protocol is a transport protocol designed to fit into the layered internet protocol environment ๐ฐ It runs on top of the Internet/ICMP protocol and under the applications that need its services. Here's how it all stacks up ๐
+------+ +------+ +-------+ +------+
|TELNET| ...| FTP | |GATEWAY| ... | TAC | Application Layer
+------+ +------+ +-------+ +------+
| | | |
| | | |
|__________| |_____________|
| |
+------+ +-------+
| TCP | | HMP | Transport Layer
+------+ +-------+
| |
| |
+-------------------------------------+
| Internet Protocol & ICMP | Internetwork Layer
+-------------------------------------+
|
+------------------------+
| Local Network Protocol | Network Layer
+------------------------+
If you don't need internetwork services, it should be possible to run HMP without an Internetwork layer ๐ As long as HMP's service requirements (addressing, protocol demultiplexing, and occasional delivery) are met, it should be able to run over a variety of protocols. flexible queen ๐
4. Protocol Operation ๐
HMP is built around the idea that most of the intelligence needed to monitor a host should live in a monitoring center, not in the host itself ๐ข The host should only be required to collect data and send it to the monitoring center, either spontaneously or when the monitoring center asks for it ๐ฌ The host isn't responsible for making sure the data arrives reliably (except that it checksums the data). Instead, the monitoring center is responsible for making sure the data it requests gets received correctly ๐ซถ the host does the grunt work, the center does the babysitting ๐ญ
So HMP is based on polling hosts for messages ๐ฃ When the monitoring center needs a particular type of data (for example, throughput data), it sends a poll to the host asking for that type of report. The host, once it gets the poll, responds with its latest set of collected data. If the host finds that the poll is wrong (for example, the poll asks for throughput data but the host isn't collecting throughput data), it responds with an error message โ The monitoring center waits a reasonable amount of time for the host to answer its poll. If no response comes back, it sends another poll for the same data ๐ That way, if either the poll or the response gets lost, the correct data still gets collected. no data left behind ๐
HMP is used to collect three different classes of data:
- Spontaneous Events (or Traps) โก
- Current status ๐
- Statistical data collected over time ๐
These classes let a host send data in whatever way suits it best ๐จ For instance, the host can quickly tell the monitoring center that a particular event has happened by sending a trap message, while the monitoring center reliably collects the host's throughput and accounting data in the background. Traps report spontaneous events to the monitoring center as they occur. To keep their delivery prompt, the ๐
To be continued in part 2 ๐ฆ The next bit picks up right where we left off
traps are sent as datagrams with no reliability mechanisms (except checksums) such as acknowledgments and retransmissions. ๐ฆ so no ack, no retry, just vibes and a checksum ๐
Trap messages usually contain an identifier to indicate which event is being reported, the local time in the host that the event occured, and data pertinent to the event. โจ The data portion is intended to be host and event specific, so it's different for every event, iykyk ๐ธ
Status information is the second type of data collected by the Host Monitoring Protocol, and it describes the current state of the host ๐ Status is useful at one point in time, but it does not have to be collected cumulatively over a certain period. Only the latest status is of interest, because old status provides no useful information ๐ The monitoring center collects status information by sending a poll for status to a host. Upon receiving the poll, the host responds with its latest status information, always creating a new status message. If the monitoring center does not receive a response to its poll, it sends another poll. The monitoring center can decide if the host is up or down based on whether the host responds to its polls ๐ซถ
The third type of data is statistical data, and it's giving main character energy ๐ These are measurements taken over time, such as the number of packets sent or received by a host and the count of packets dropped for a particular reason. It is important that none of this type of data be lost ๐ญ Statistical data is collected in a host over a time interval. When the collection time interval expires, the current data is copied to another area, and the counters are cleared. The copied data is sent to the monitoring center when the host receives a poll requesting statistical information. If another poll is received before the collection time interval has expired, the data in the buffer is sent again. The monitoring center can detect duplicate messages by using the sequence number in the header of the message, since each type of statistical data has its own sequence number counter ๐ง
The collection frequency for statistics messages from a particular host must be relatively long compared to the average round trip message time between the monitoring center and that host in order to allow the monitoring center to re-poll if it does not receive an answer ๐ With this restriction, it should be possible to avoid missing any statistics messages. Each statistics message contains a field giving the local time when the data was collected and the time at which the message was sent. This information allows the monitoring center to schedule when it sends a poll so that the poll arrives near the beginning of each collection period. This ensures that if a message is lost, the monitoring center will have sufficient time to poll again for the statistics message for that period ๐
The HMP also includes a provision to send data to and read parameters in hosts. โญ The data may be used to set switches or interval timers used to control measurements in a host, or to control the host itself (e.g. a restart switch). The format of the data and parameters is host specific ๐
To send data to a host, the monitoring center sends the host a poll for a control-acknowledgment message. This poll message includes the type of the data and the data being sent. When the host receives this poll, it processes the data and responds with a control-acknowledgment message ๐ฅ
To read parameters in a host, the monitoring center will send a poll for parameters to the host. This poll includes the type of the parameters being read. When the host receives this poll, it will send the parameters of the requested type to the monitoring center in a parameters message ๐
5. Header Formats โจ
Host Monitor Protocol messages have the following format:
+----------------+
| Local Network |
| Header(s) |
+----------------+
| IP header |
+----------------+
| HMP |
| Header |
| |
+----------------+
| D |
| A |
| T |
| A |
+----------------+
| Padding |
+----------------+
5.1. IP Headers
HMP messages are sent using the version 4 IP header as described in RFC-791 "Internet Protocol." The HMP protocol number is 20 (decimal). The time to live field should be set to a reasonable value for the hosts being monitored ๐ฆ
All other fields should be set as specified in RFC-791 ๐
5.2. HMP Header
The HMP header format is:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+---------------+---------------+
0 | System Type | Message Type |
+---------------+---------------+
1 | Port Number | Control Flag |
+---------------+---------------+
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 | Monitoring Host
2 | IMP
3 | TAC
4 | Gateway
5 | SIMP
6 | BBN VAX/C70 TCP
7 | PAD
8 | Reserved
9 | TIU
10 | FEP
11 | Cronus Host
12 | Cronus MCS
Message types are defined and used for each system type according to the needs of that system. The message types currently defined are:
Type | Description
----------+--------------------------
|
1 | Trap
2 | Status
3 | Thruput
4 | HTM - Host Traffic Matrix
5 | Parameters
6 | Routing
7 | Call Accounting
|
100 | Poll
101 | Error
102 | Control Acknowledgment
Port Number
This field can be used to multiplex similar messages to and from different processes in one host. It is currently unused ๐ธ
Control Flag
This field is used to pass control information. Currently Bit 15 is defined as the "More bit", which is used in a message in response to a poll to indicate that there is more data to poll for ๐
Sequence Number
Every message contains a sequence number. The sequence number is incremented when each new message of that type is sent ๐ฅ
Password or Returned Sequence Number
The Password field of a polling message from a monitoring center contains a password to verify that the monitoring center 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 ๐ซถ
6. HMP Monitoring Center Message Formats ๐
6.1. Message Type 100: Polling Message
Description
The monitoring center will send polls to the hosts it is monitoring to collect their monitoring data. When the host receives a poll it will return a message of the type requested. It will only answer a poll with the correct system type and password, and it will return an error message (Message Type 101) if it receives a poll for the wrong system type or an unsupported message type ๐
The Poll message includes a facility to send data to a monitored host. The poll message to send data consists of a poll for a Control Acknowledgment message (type 102) followed by the data. The R-Subtype specifies the type of the data that is being sent. When the monitored host receives a Poll for a Control acknowledgment, it processes the data, and then responds with a Control acknowledgment message. If the monitored host can not process the data, it should respond with an error message โญ
A poll to read parameters consists of a poll for a Parameters message. The R-Subtype specifies the type of parameters being read. When the monitored host receives a poll for a Parameters message, it responds with a Parameters message containing the requested information ๐
A polling message has the following form:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+---------------+---------------+
0 | R-Message Type| R-Subtype |
+---------------+---------------+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1 | Data |
+ +
2 | |
+ +
. .
. .
n | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
HMP FIELDS
System Type
The type of machine being polled.
Message Type
Polling Message = 100
Port Number
Unused
Control Flag
Unused
Sequence Number
The sequence number identifies the polling request. The Monitoring Center will maintain separate sequence numbers for each host it monitors. This sequence number is returned in the response to a poll and the monitoring center 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
This field is used when sending data and reading parameters and it specifies the type of the data being sent or parameters being read ๐
Data
When the poll is requesting a Control Acknowledgment message, data is included in the poll message. A poll for any other type of message does not include any data. The contents of the data is host specific ๐ง
6.2. Message Type 101: Error in Poll โจ
Description
okay so this is the message that gets sent back when a poll comes in wrong ๐ it tells you exactly what went sideways, bestie ๐
An error message has the following form:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+---------------+---------------+
0 | Error Type |
+---------------+---------------+
1 | R-Message Type| R-Subtype |
+---------------+---------------+
HMP FIELDS
System Type The type of machine sending message. ๐ฅ๏ธ
Message Type Error Message = 101 ๐
Port Number Unused
Control Flag 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. This is how you know exactly which poll messed up ๐ซถ
ERROR MESSAGE FIELDS
Error Type This field specifies the nature of the error in the poll. The following error types have been defined, so pick your favorite ๐
1 = Reason unspecified.
2 = Bad R-Message Type.
3 = Bad R-Subtype.
4 = Unknown parameter
5 = Invalid parameter value
6 = Invalid parameter/value format
7 = Machine in Loader
R-Message Type R-Subtype These fields identify the poll request in error. So it's basically the receipts ๐งพ๐
6.3. Message Type 102: Control acknowledgment ๐
Description
this one is sent in response to a poll for this type of message. it's the "yes bestie, got it" ๐ฆ it's used to acknowledge poll messages that are used to set parameters in the monitored host.
The Control acknowledgment has no fields other than the HMP header. literally just vibes and the header ๐ธ
HMP FIELDS
System Type The type of the system sending the message.
Message Type Control acknowledgment = 102
Port Number Unused
Control Flag Unused
Sequence Number A 16 bit number incremented each time a Control acknowledgment message is sent. โจ
Returned Sequence Number The Sequence Number of the polling message which requested this message. ๐
A. Appendix A - IMP Monitoring ๐ง
A.1. Message Type 1: IMP Trap ๐จ
Description
when a trap happens, it gets buffered in the IMP and sent as soon as possible ๐โโ๏ธ๐จ trap messages are unsolicited, so nobody asked, they just show up, iconic ๐ if traps happen in close sequence, several traps may be sent in one message. efficient queen behavior ๐
through the use of sequence numbers, it will be possible to determine how many traps are being lost. ngl that's so smart ๐ง if it is discovered that many are lost, a polling scheme might be implemented for traps. ok so plan B ๐
A IMP trap message has the following form:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+---------------+---------------+
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
Control Flag Unused
Password Unused
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. the HM gets to play detective ๐ต๏ธโโ๏ธ๐
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. so it's like the receipts for the drama that got dropped ๐
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. it's the timeline, bestie ๐๏ธ
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. as long as it's unique, it's giving main character energy ๐ฆ
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. the receipts, again ๐งพโจ
A.2. Message Type 2: IMP status ๐
Description
the status message gives a quick summary of the state of the IMP. ok so it's basically the glow-up check-in ๐ the 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:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+---------------+---------------+
0 | Software Version Number |
+---------------+---------------+
| Last Trap Message |
+---------------+---------------+
| Max # Hosts | Max # Modems |
+---------------+---------------+
| Max # Channels| Max # IMPs |
+---------------+---------------+
| Package bits 0-15. |
+---------------+---------------+
5 | Package bits 16.-31. |
+---------------+---------------+
| |
+ Crash +
| |
+ Data +
| |
+---------------+---------------+
| Anomalies |
+---------------+---------------+
10 | Free Pool | S+F Pool |
+---------------+---------------+
|Reassembly Pool| Allocated Pool|
+---------------+---------------+
| HIHD0 | HIHD1 | HIHD2 | HIHD3 |
. +---------------+---------------+
. : HIHD4 | ............... :
. +---------------+---------------+
. +---------------+---------------+
. | Modem |
. + State +
. | Data |
. +---------------+---------------+
. : Modem State :
. : Data...... :
+---------------+---------------+
HMP FIELDS
System Type IMP = 2
Message Type IMP status message = 2
Port Number Unused
Control Flag 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. so it's the receipts again, but make it secure ๐
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. the HM keeping tabs, no cap ๐
Hosts The number of configured hosts in this system.
Modems The number of configured modems in this system.
Channels The maximum possible number of IMP-IMP channels in this system.
IMPs The maximum possible number of IMPs 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)
(1st Word)
1 VDH
2 Logical address tables
4 Mezmode
10 Cumulative Statistics
20 Trace
40 TTY
100 DDT
200 HDLC
400 HDH
1000 Cassette Writer
2000 Propagation Delay Measurement
4000 X25
10000 Profile Measurements
20000 Self Authenticating Password
40000 Host traffic Matrix
100000 Experimental/Special
(2nd Word)
1 End-to-end Statistics
2 Store and Forward statistics
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. ๐ฅ yikes, but we're documenting it ๐ซถ
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. it's a lot, so here's the highlight reel ๐๏ธ
Bit Meaning
(octal)
20 Override ON
200 Trace ON
1000 Statistics ON
2000 Message Generator ON
4000 Packet Trace ON
10000 Host Data Checksum is BAD
20000 Reload Location SET
Buffer Pool Counts These are four bytes of counters indicating the current usage of buffers in the IMP. The four counters are: free buffers, store-and-forward buffers, reassembly buffers and allocated buffers. ๐งบ
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
Modem state data is six fields packed into four words ๐โจ. The first field is 4 bits and tells you the line speed. The second is 4 bits and is the number of the modem that the neighboring IMP uses on this line. The third is 8 bits and counts the line protocol ticks covered by this report. The fourth is 1 bit and says whether the line is down(1) or up(0). The fifth is 7 bits and is the IMP number of the neighbor IMP on the line. The sixth is 8 bits and counts the missed protocol packets over the interval from the third field ๐
-28-
A.3 Message Type 3: IMP Modem Throughput โจ
Description
okay so the modem throughput message reports traffic stats for every modem in the system ๐ The IMP collects this data at regular intervals and saves it until the HM polls for it. If the HM misses a period, the new results just overwrite the old ones, no drama ๐ Two time stamps bracket the collection interval (data-time and prev-time), and they're how you can tell reports went missing. mess-time tells you when the message was sent ๐ฐ๏ธ
One message can fit up to fourteen modems in a single packet ๐ There's also a provision for splitting things up across packets by including a modem number for the first entry in the packet. That field isn't immediately useful, but if machine sizes grow past fourteen modems, or if modem stats get more detailed and need more than three words per modem, it can keep the message inside a single ARPANET packet. iconic planning, honestly ๐
The format of the modem throughput message goes like this:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+---------------+---------------+
0 | Mess-Time |
+---------------+---------------+
| Software Version Number |
+---------------+---------------+
| Data-Time |
+---------------+---------------+
| Prev-Time |
+---------------+---------------+
| Total Modems | This Modem |
+---------------+---------------+
5 | |
. + modem +
. | |
. + throughput +
. | |
. +---------------+---------------+
. : modem :
. : :
. : throughput :
+---------------+---------------+
-29-
HMP FIELDS ๐ง
System Type
IMP = 2
Message Type
IMP Modem Throughput message = 3
Port Number
Unused
Control Flag
Unused
Sequence Number
A 16 bit number, incremented at each collection interval (that is, when a new throughput message is assembled). The HM can detect lost or duplicate messages by checking the sequence numbers. main character energy ๐
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.)
-30-
Prev-Time
Prev-time is the time (in 640 ms. units) of the previous collection of data. That means it's the time when the data in this message began accumulating. ๐ฆ
Total Modems
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 can't fit all their modem reports into a single packet can use this field to split their message into smaller chunks, so they still get single packet message efficiencies. smart ๐ง
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, which are 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. ๐
-31-
A.4 Message Type 4: IMP Host Throughput ๐ธ
Description
The host throughput message reports traffic stats for each host in the system ๐ The IMP collects this data at regular intervals and saves it until the HM polls for it. If the HM misses a period, the new results overwrite the old ones. Same energy as the modem message, bestie. Two time stamps bracket the collection interval (data-time and prev-time), and they're an indicator of missed reports. mess-time tells you the time at which the message was sent โจ
The host throughput format only holds three hosts if packet boundaries are going to be respected ๐ There's a provision for splitting 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:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+---------------+---------------+
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
-32-
Port Number
Unused
Control Flag
Unused
Sequence Number
A 16 bit number, incremented at each collection interval (that is, when a new throughput message is assembled). The HM can 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. That means it's 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
-33-
message. Large systems that can't fit all their host reports into a single packet can use this field to split their message into smaller chunks, so they still get single packet message efficiencies. ๐ง
Host Throughput
Each host throughput block consists of eight 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 |
+---------------+---------------+
Each host throughput message contains several blocks of data. The first block contains data for the host specified in First Host Number. Following blocks contain data for consecutive hosts. All counters are single precision. ๐
-34-
B Appendix B - TAC Monitoring ๐ฆ
B.1 Message Type 1: TAC Trap Message ๐
Description
When a trap occurs, it's 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's possible to determine how many traps are being lost. If it's discovered that many are lost, a polling scheme might be implemented for traps. lowkey smart, no cap ๐ง
A TAC trap message has the following form:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+---------------+---------------+
0 | Version # |
+---------------+---------------+
1 : first :
. : trap :
. : data :
. +---------------+---------------+
. : additional :
. : trap :
. : data :
+---------------+---------------+
HMP FIELDS ๐ง
System Type
TAC = 3
Message Type
TAC Trap Message = 1
Port Number
Unused
-35-
Control Flag
Unused
Password or Returned Sequence Number
Unused
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 ๐
Version #
The version # of the TAC Software. โจ
Trap Reports
okay so there can be several blocks of trap data in each message ๐ซถ and each block is laid out like this:
+---------------+---------------+
| Size |
+---------------+---------------+
| Time |
+---------------+---------------+
| Trap ID |
+---------------+---------------+
: Trap :
: Data :
+---------------+---------------+
| Count |
+-------------------------------+
Size
Size is the number of 16 bit words in the trap, not counting the size field. ๐
Time
Time is the time (in 640ms. units) at which the trap occurred. It's what sequences the traps in a message and ties groups of traps together. โฐ
Trap ID
Trap ID is (usually) the program counter at the trap. The ID is how you identify the trap, and it doesn't have to be a program counter, as long as it uniquely identifies the trap. ๐
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. ๐
Count
The TAC counts repetitions of the same trap ID and reports that count here. ๐ข
B.2. Message Type 2: TAC Status โจ
Description
The status message gives a quick summary of the state of the TAC, bestie ๐ It reports the status of the most important features of the TAC, plus the current configuration of the machine. ๐ฅ๏ธ
A TAC status message has the following form:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
---------------+---------------+
0 | Version Number |
+---------------+---------------+
| Last Trap Message |
+---------------+---------------+
| Bit Flags |
+---------------+---------------+
| Free PDB count |
+---------------+---------------+
| Free MBLK count |
+---------------+---------------+
5 | # of TCP connections |
+---------------+---------------+
| # of NCP connections |
+---------------+---------------+
| INA A Register |
+---------------+---------------+
| INA X Register |
+---------------+---------------+
| INA B Register |
+---------------+---------------+
l0 | restart/reload |
+---------------+---------------+
| |
+ Crash +
| |
+ Data +
13 | |
+---------------+---------------+
HMP FIELDS
System Type
TAC = 3 ๐
Message Type
TAC Status Message = 2 ๐
Port Number
Unused ๐
Control Flag
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. ๐ขโจ
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The bit flags report the status of the following:
Bit Meaning
15 0 => DDT override off; 1 => override on.
11-14 0 => Sense Switch n is off; 1 => SSn on.
10 0 => Traps to remote monitor;
1 => Traps to console.
9 1 => Message generator on.
0-8 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. ๐
INA Report
These three fields report the values retained by an INA 1011 instruction in a C/30. This instruction returns micro-machine status and errors. In a #316, the fields are meaningless. ๐คทโโ๏ธ
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. ๐
B.3. Message Type 3: TAC Throughput ๐
Description
The TAC throughput message reports statistics for the various modules of the TAC. The TAC collects these data at regular intervals and saves them while it waits for 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. On top of that, mess-time indicates the time at which the message was sent. ๐
A TAC throughput message has the following form:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+---------------+---------------+
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)
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 fragments discarded | v
+---------------+---------------+ ----
| # of segments sent | ^
+---------------+---------------+ |
| # of segments received | |
+---------------+---------------+ |
| # of segments discarded | |
+---------------+---------------+ TCP info.
| # of octets sent | |
+---------------+---------------+ |
25 | # of octets received | |
+---------------+---------------+ |
| # of retransmissions | v
+---------------+---------------+ ----
HMP FIELDS
System Type
TAC = 3 ๐
Message Type
TAC Throughput Message = 3 ๐
Port Number
Unused ๐
Control Flag
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. ๐งพ
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. ๐ขโจ
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The bit flags report the status of the following:
Bit Meaning
15 0 => DDT override off; 1 => override on.
11-14 0 => Sense Switch n is off; 1 => SSn on.
10 0 => Traps to remote monitor;
1 => Traps to console.
9 1 => Message generator on.
0-8 unused
Free PDB count
The number of PDBs on the free queue. ๐๏ธ
Free MBLK count ๐งบ this one's the number of MBLKs sitting on the free queue, so it's basically how many spare blocks are ready to go, bestie.
of TCP connections ๐
of NCP connections ๐งฉ
These count the open connections for each protocol. Simple, but iconic.
1822 info. ๐ฐ๏ธ These six fields report statistics about the operation of the 1822 protocol module, which is the interface between the TAC and its IMP. Main character of the TAC, honestly.
IP info. ๐ These five fields report statistics about Internet Protocol in the TAC.
TCP info. ๐ฆ These six fields report statistics about TCP protocol in the TAC. Slay.
C. Appendix C - Gateway Monitoring โจ
C.1. Gateway Parameters
The gateway supports parameters for setting Throughput and Host traffic matrix measurements. Here's the type of parameters and the parameter and data pairs, no cap:
Throughput - Type = 3
Parm. Description Control Data Word
----- ----------- -----------------
1 Start/Stop 0=Stop,1=Start
2 Collection Interval Time in 1 minute
ticks
Host Traffic Matrix - Type = 4
Parm. Description Control Data Word
----- ----------- -----------------
1 Start/Stop 0=Stop,1=Start
2 Collection Interval Time in 1 minute
ticks
3 HTM Switch Control Include Control
Protocols
C.2. Message Type 1: Gateway Trap ๐จ
Description
Okay so when traps happen in the gateway, they get buffered ๐ฆ. Then at a fixed time interval (currently 10 seconds โฑ๏ธ), the gateway sends whatever traps are in the buffer to the monitoring center. The traps go out as unsolicited messages, which is giving mysterious and kind of iconic.
A Gateway trap message has the following format:
0 0 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Gateway Version # |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Size of Trap Entry | ;First Trap
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time of Trap |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Trap ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Process ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| R0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| R1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| R2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| R3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(continued)
Gateway Trap Message (cont'd.) ๐งต
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| R4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| R5 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| R6 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of this Trap |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.
.
.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Additional Trap reports |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
HMP FIELDS ๐
System Type
Gateway = 4
Message Type
Gateway Trap Message = 1
Port Number
Unused ๐
Control Flag
Unused ๐
Password or Returned Sequence Number
Unused ๐
Sequence Number
A 16 bit number incremented each time a trap message is sent, so the monitoring center can order the received trap messages and detect missed messages. ๐ข This one's lowkey essential.
GATEWAY TRAP FIELDS ๐
Gateway Version #
The software version number of the gateway sending the trap.
Trap Reports
The remainder of the trap message consists of the trap reports. Each one has the following fields:
Size of Trap Entry
The size in 16-bit words of the trap entry, not including the size field.
Time of Trap
The time (in 1/60 sec. ticks) at which the trap occurred. โฐ
Trap ID
The number of the trap, which is used to identify the trap. ๐ชช
Process ID
The identifier of the process that executed the trap. ๐ง
R0-R6
The registers of the machine at the occurrence of the trap. ๐ง
Count of this Trap
The number of times that this trap occurred. ๐
C.3. Message Type 2: Gateway Status ๐
Description
The gateway status message gives a summary of the status of the gateway. It reports information such as the version number of the gateway, buffer memory usage, interface status, and neighbor gateway status. Very informative, very it's-giving-analyst. ๐
A Gateway Status message has the following format:
0 1 1 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Patch Version Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time Since Gateway Restart | ;in minutes
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Measurement Flags | ; Bit flags to indicate which
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ; measurements are on, 1= On
| Routing Sequence No. | ; Sequence # of last routing
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ; update sent
| Access Table Version # |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Load Sharing Table Ver. # |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Memory in Use |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Memory Idle |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Memory Free |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| # of Blks | ; Memory Allocation Info
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Size of 1st Block (in bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| # Allocated |
+-+-+-+-+-+-+-+-+
| # Idle |
+-+-+-+-+-+-+-+-+
.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Size of n'th Block (in bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| # Allocated |
+-+-+-+-+-+-+-+-+
| # Idle |
+-+-+-+-+-+-+-+-+
(continued)
Gateway Status Message (cont'd.) ๐งต
+-+-+-+-+-+-+-+-+
| # of Ints. |
+-+-+-+-+-+-+-+-+
| Int 1 Flags | ;Interface 1 Status Flags
+-+-+-+-+-+-+-+-+ ; Bit 0 - 1=Up, 0=Down
; 1 - 1=Looped, 0=Not
+-+-+-+-+-+-+-+-+
| Buffers | ; # of buffers on write Queue
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time since last Status Change | ;Time since last up/dwn change
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| # of Buffers Allocated |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Size for Interface |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface 1 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.
.
+---------------+
| Int n Flags | ;Interface n Status Flags
+-+-+-+-+-+-+-+-+
| Buffers |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time since last Status Change |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| # of Buffers Allocated |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Size for Interface |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface n Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| # Neighbors |
+-+-+-+-+-+-+-+-+
| UP/DN Flags | ;Bit flags for Up or Down
+-+-+-+-+-+-+-+-+ ; 0 = Dwn, 1 = Up
. ; MSB is neighbor 1
. ; (as many bytes as necessary)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Neighbor 1 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.
.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Neighbor n Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
HMP FIELDS ๐
System Type
Gateway = 4
Message Type
Gateway Status Message = 2
Port Number
Unused ๐
Control Flag
Unused ๐
Password or Returned Sequence Number
Unused ๐
Sequence Number
A 16 bit number incremented each time a trap message is sent, so the monitoring center can order the received trap messages and detect missed messages. ๐ข Yes, the same wording as the trap message, bestie.
GATEWAY STATUS FIELDS ๐ธ
Version Number
The version number of the gateway sending the Status message.
Patch Version Number
The patch version number of the gateway.
Time Since Gateway Restart
The time in minutes since the gateway was last restarted or reloaded. โณ
Measurement Flags
Flags that, if set, indicate which measurements are turned on. Current values are:
Bit 0 = Message Generator
1 = Throughput
2 = Host Traffic Matrix
3 = Access Control 1
4 = Access Control 2
5 = Load Sharing
6 = EGP in Gateway
Routing Sequence Number
The sequence number of the last routing update sent by this gateway. ๐ฃ๏ธ
Access Control Table Version #
The version number of the access control table.
Load Sharing Table Version #
The version number of the load sharing table.
Memory In Use
The number of bytes of buffer memory that are currently in use. ๐ง
Memory Idle
The number of bytes of buffer memory that have been allocated but are currently idle. ๐ด
Memory Free
The number of bytes of buffer memory that have not been allocated. ๐ซ
MEMORY ALLOCATION INFORMATION ๐งฎ
The next part of the status message contains information on the buffer pools in the gateway. The fields are:
# of Blocks
The number of different buffer pools.
Size of Block
The size of this block in bytes.
# Allocated
The number of blocks of this size that have been allocated.
# Idle
The number of blocks of this size that are idle. ๐ค
GATEWAY INTERFACE FIELDS ๐
okay so the next bit of the status message is all about the gateway's interfaces ๐ฆ here's what each field tells you:
# of Interfaces
the number of network interfaces the gateway has ๐
Interface Flags
flags that show the status of this interface ๐ฆ the current values are:
Bit 0 - 1=Up/0=Down
1 - 1=Looped/0=Not Looped
Buffers
the numbers on this interface's write queue ๐งพ
Time Since Last Status Change
the time in minutes since this interface changed status (Up/Down) โฑ๏ธ
# of Buffers Allocated
the number of buffers allocated for this interface ๐งบ
Data Size for Interface
the buffer size required for this interface ๐
Interface Address
the Internet address of this interface ๐
NEIGHBOR GATEWAY FIELDS ๐ค
the final part of the status message is all about this gateway's neighbor gateways โจ the fields:
# of Neighbors
the number of gateways that are neighbor gateways to this gateway ๐ซถ
UP/DN Flags
bit flags to indicate if the neighbor is up or down ๐ข
Neighbor Address
the Internet address of the neighbor gateway ๐ธ
C.4 Message Type 3: Gateway Throughput โจ
Description
okay bestie, the gateway collects throughput stats for itself, its interfaces, and its neighbor gateways ๐ it collects them for regular intervals and saves them so the Monitoring host can grab them with a Poll message ๐งฒ if they aren't collected by the end of the next interval, they get lost, because another copy gets put into the saved area ๐ญ
A Gateway Throughput message has the following format:
0 1 1 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Gateway Version Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Collection Time in Min |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of Interfaces |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of Neighbors |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of Host Unreachable | ; # of packets dropped because
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ; Host was Unreachable
| Number of Net Unreachable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ; Net was Unreachable
; Interface Counters
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Packets Dropped on Input |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of IP Errors |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of Datagrams for Us |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Datagrams to be Forwarded |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of Datagrams Looped |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(continued)
Gateway Throughput Message (cont'd.)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of Bytes Input |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of Datagrams From Us |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count that were Forwarded |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of Local Net Dropped |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of Queue full Dropped |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of Bytes Output |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.
.
.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Counters For Additional Interfaces |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
; Neighbor counters
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Neighbor Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of Routing Updates TO |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Count of Routing Updates FROM |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(continued)
Gateway Throughput Message (cont'd.)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Pkts from US sent to/via Neig |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Pkts forwarded to/via Neighb |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Datagrams Local Net Dropped |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Datagrams Queue full Dropped |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Count of Bytes send to Neighbor |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.
.
.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Counters for Additional Neighbor Gateways |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
HMP FIELDS ๐
System Type
Gateway = 4
Message Type
Gateway Throughput Message = 3
Port Number
Unused
Control Flag
Unused
Password or Returned Sequence Number
Unused
Sequence Number
a 16 bit number that gets incremented each time a trap message is sent, so the HM can put the received trap messages in order and detect missed messages ๐ข
GATEWAY THROUGHPUT FIELDS ๐
Gateway Version Number
the software version number of the gateway sending the trap ๐พ
Collection Time in Min.
the time period in minutes in which the throughput data is to be collected โฐ
Number of Interfaces
the number of interfaces this gateway has ๐
Number of Neighbors
the number of neighbor gateways this gateway has ๐ค
Number of Host Unreachable
the number of packets dropped because the Host was unreachable ๐
Number of Net Unreachable
the number of packets dropped because the Network was unreachable ๐ซ๏ธ
INTERFACE COUNTERS ๐งฎ
the next part of the Throughput message holds counters for the gateway's interfaces ๐ each interface has the following fields:
Interface Address
the Internet address of this interface ๐
Packets Dropped on Input
the number of packets on input to this interface because there were not enough buffers ๐ฅฒ
Count of IP Errors
the number of packets received with bad IP headers ๐ซ
Count of Datagrams for Us
the number of datagrams received addressed to this gateway ๐
Datagrams to be Forwarded
the number of datagrams that were not for this gateway and should be sent out another interface ๐ฆ
Count of Datagrams Looped
the number of datagrams that were received on and sent out of this interface ๐
Count of Bytes Input
the number of bytes received on this interface ๐ฅ
Count of Datagrams From Us
the number of datagrams that originated at this gateway ๐ซถ
Count that were Forwarded
the number of datagrams that were forwarded to another gateway โก๏ธ
Count of Local Net Dropped
the number of packets that were dropped because of local network flow control restrictions ๐
Count of Queue full Dropped
the number of packets that were dropped because the output queue was full ๐๏ธ
Count of Bytes Output
the number of bytes sent out on this interface ๐ค
NEIGHBOR COUNTERS ๐ฏ
the last part of the Throughput message is counts for each neighbor gateway โจ the fields are:
Neighbor Address
the Internet address of this neighbor gateway ๐ธ
Count of Routing Updates TO
the number of routing updates sent to this neighbor gateway ๐ค
Count of Routing Updates FROM
the number of routing updates received from this neighbor gateway ๐ฅ
Pkts from US sent to/via Neig
the number of packets from this gateway sent to or via this neighbor gateway ๐
Pkts forwarded to/via Neighb
the number of packets forwarded to or via this neighbor gateway ๐
Datagrams Local Net Dropped
the number of datagrams dropped to this neighbor gateway because of local network flow control restrictions ๐
Datagrams Queue full Dropped
the number of datagrams dropped to this neighbor because the output queue was full ๐๏ธ
Count of Bytes send to Neighbor
the number of bytes sent to this neighbor gateway ๐ฆ
C.5 Message Type 4: Gateway Host Traffic Matrix ๐ง
Description
the Host Traffic Matrix (HTM) message holds info about the traffic flowing through the gateway ๐ each entry is the number of datagrams sent and received for a particular source/destination pair ๐
A Gateway HTM message has the following format:
0 1 1 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Gateway Version Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Overflow counter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Collection Time in Min |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of HTM entries |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP Protocol | (unused) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Counter for SRC -> DST datagrams |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Counter for DST -> SRC datagrams |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.
.
.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Additional HTM Reports |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
HMP FIELDS ๐
okay so the HTM header is giving everything ๐ Here's the rundown:
System Type: Gateway = 4 ๐
Message Type: Gateway HTM Message = 4 โจ
Port Number: Unused ๐ธ
Control Flag: Unused ๐ธ
Password or Returned Sequence Number: Unused ๐ธ
Sequence Number: a 16 bit number that goes up every single time a trap message gets sent ๐ so the HM can put the received trap messages in order and catch any that went missing ๐ต๏ธโโ๏ธ
GATEWAY HTM FIELDS โจ
Gateway Version Number: the software version number of this gateway ๐ป
Overflow counter: the number of HTM entries lost because the HTM buffer was full ๐ญ
Collection Time in Min: the time period in minutes in which the HTM data is being collected โฐ
Number of HTM entries: the number of HTM reports included in this message ๐ข
-65-
HTM ENTRIES ๐ง
The rest of the HTM message is the actual HTM entries ๐ Each entry has the following fields:
- IP Source Address: the source Internet address of the datagrams being counted ๐
- IP Destination Address: the destination Internet address of the datagrams being counted ๐ฏ
- IP Protocol: the protocol number of the datagrams ๐งพ
- Counter for SRC -> DST datagrams: the number of datagrams sent in the Source to Destination address direction โก๏ธ
- Counter for DST -> SRC datagrams: the number of datagrams sent in the Destination to Source address direction โฌ ๏ธ
-66-
C.6 Message Type 6: Gateway Routing ๐
Description ๐ฆ
The Routing message is where the gateway spills all its tea about the routes it has to the networks that make up the Internet ๐ It also includes info about its interfaces and its neighbor gateways ๐ซถ
A Gateway Routing message has the following format:
0 1 1 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| # of Ints. |
+-+-+-+-+-+-+-+-+
| UP/DN Flags | ;Bit flags for Up or Down
+-+-+-+-+-+-+-+-+ ; 0 = Dwn, 1 = Up
. ; MSB is interface 1
. ; (as many bytes as necessary)
.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface 1 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.
.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface n Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| # Neighbors |
+-+-+-+-+-+-+-+-+
| UP/DN Flags | ;Bit flags for Up or Down
+-+-+-+-+-+-+-+-+ ; 0 = Dwn, 1 = Up
. ; MSB is neighbor 1
. ; (as many bytes as necessary)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Neighbor 1 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.
.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Neighbor n Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(continued)
-67-
Gateway Routing Message (cont'd.) ๐ธ
+-+-+-+-+-+-+-+-+
| # of Networks |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network 1 # | | | ; 1, 2, or 3 bytes
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Distance |
+-+-+-+-+-+-+-+-+
| Neighbor # |
+-+-+-+-+-+-+-+-+
.
.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network n # | | | ; 1, 2, or 3 bytes
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Distance |
+-+-+-+-+-+-+-+-+
| Neighbor # |
+-+-+-+-+-+-+-+-+
HMP FIELDS ๐ง
System Type: Gateway = 4 ๐
Message Type: Gateway Trap Message = 6 โจ
Port Number: Unused ๐ธ
Control Flag: Unused ๐ธ
Password or Returned Sequence Number: Unused ๐ธ
Sequence Number: a 16 bit number that goes up every single time a trap message gets sent ๐ so the HM can put the received trap messages in order and catch any that went missing ๐ต๏ธโโ๏ธ
-68-
GATEWAY ROUTING FIELDS ๐
Gateway Version #: the software version number of the gateway sending the trap ๐ป
INTERFACE FIELDS ๐ฆ
The first part of the routing message is all about the gateway's interfaces ๐ก There's data for each interface, with these fields:
- # of Interfaces: the number of interfaces that this gateway has ๐
- UP/DN Flags: bit flags to indicate if the Interface is up or down ๐ข๐ด
- Interface Address: the Internet address of the Interface ๐
NEIGHBOR FIELDS ๐ซถ
The next part of the routing message is about this gateway's neighbor gateways ๐ค These fields show up:
- # of Neighbors: the number of gateways that are neighbor gateways to this gateway ๐ฏ
- UP/DN Flags: bit flags to indicate if the neighbor is up or down โฌ๏ธโฌ๏ธ
- Neighbor Address: the Internet address of the neighbor gateway ๐ฌ
NETWORK ROUTING FIELDS ๐
The last part of the routing message is about this gateway's routes to other networks ๐บ๏ธ It covers the distance to each network and which neighbor gateway is the route to that network. The fields are:
-69-
- # of Networks: the number of networks that are reachable from this gateway ๐
- Network #: the network number of this network. This is the network part of the Internet address and may be one, two, or three bytes in length depending on whether it is a Class A, B, or C address ๐งฎ
- Distance: the distance in hops to this network. Zero hops means that the network is directly connected to this gateway ๐ A negative number means that the network is currently unreachable ๐ซ
- Neighbor #: the neighbor gateway that is the next hop to reach this network ๐ฆ This is an index into the previous information on this gateway's neighbor gateways. This field is only valid if the Distance is greater than zero โจ
-70-
๐ฆ where this page comes from
- ietf: rfc869 1983-12
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms