Gateway Monitoring Protocol
IEN 131
1 February 1980
David Flood Page
Bolt, Beranek and Newman Inc.
50 Moulton Street
Cambridge, Massachusetts 02238
(617) 491-1850
GATEWAY MONITORING PROTOCOL
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Communication Mechanism . . . . . . . . . . . . . . . . . . 2
2.1 Negotiation . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Requesting Reports . . . . . . . . . . . . . . . . . . . 3
2.3 Requesting Traps . . . . . . . . . . . . . . . . . . . . 4
3. Data Formats . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 Report Formats . . . . . . . . . . . . . . . . . . . . . 7
3.1.1 Gateway description - type 0 . . . . . . . . . . . . 7
3.1.2 Echo - type 1 . . . . . . . . . . . . . . . . . . . . 7
3.1.3 Throughput matrix - type 2 . . . . . . . . . . . . . 7
3.1.4 Status of all interfaces - type 3 . . . . . . . . . . 7
3.1.5 Queue activity - type 4 . . . . . . . . . . . . . . . 8
3.1.6 End to end statistics - type 5 . . . . . . . . . . . 8
3.1.7 Individual interface status - type 6 . . . . . . . . 8
3.1.8 Routing tables - type 7 . . . . . . . . . . . . . . . 9
3.2 Trap Formats . . . . . . . . . . . . . . . . . . . . . . 9
3.2.1 Interface up/down - type 1 . . . . . . . . . . . . . 9
3.2.2 Neighbor gateway up/down - type 2 . . . . . . . . . . 9
3.2.3 Queue full - type 3 . . . . . . . . . . . . . . . . . 9
- 1 -
IEN 131 Gateway Monitoring Protocol
1. Introduction
This document details the protocol for the gateway monitoring
functions described in IEN 105, 'ARPA Catenet Monitoring and
Control'. It does not deal with the control functions or fault
isolation; these will be covered in a separate document.
The protocol described here contains a number of report
types. We realize that to implement them all may impose an
unacceptable load on a gateway; therefore the system is designed
to cater to gateways not implementing the complete protocol.
The protocol is described in two parts:
- Communication mechanism
- Data formats
2. Communication Mechanism
2.1 Negotiation
Because a gateway may not implement the complete protocol,
the Catenet Monitoring and Control Center (CMCC) is able to
discover, each time it makes a request of a gateway, whether the
gateway can satisfy that request. The method used is similar to
the DO - DONT - WILL - WONT mechanism in the Telnet protocol.
Briefly, this works as follows:
When the CMCC wants to obtain information from a gateway, it
sends a DO message to the gateway. If the gateway is able to make
the required response, it returns a WILL message accompanied by
the data requested. If it cannot do this, it sends back a WONT
message detailing why it could not satisfy the request. If the
gateway does not even implement this negotiation mechanism, or if
the message is lost in transit, then the CMCC will receive no
reply. In this case it will try up to two more times at 30 second
intervals. If it still gets no reply, then it acts as if a WONT
message had been received.
If the CMCC wants to stop the gateway from sending
information, then it sends a DONT message. The gateway then
responds with a WONT reply. The CMCC will try up to three times,
at 30 second intervals, to get this acknowledgement.
A gateway will need to implement this negotiation mechanism
in order to participate in the Monitoring and control system.
This is true regardless of how many of the report types are
implemented in the gateway.
- 2 -
IEN 131 Gateway Monitoring Protocol
2.2 Requesting Reports
Gateways may be requested to send out a series of reports at
regular intervals, as well as just sending back a single response.
So a DO REPORT request contains, in addition to the report type,
the number of reports required and the interval between reports.
The number of reports may be a special value (65535) meaning
'until further notice'. When the CMCC wants to turn off this kind
of report then it sends a DONT message to the gateway. The
gateway will then cease reporting and send back a WONT message.
The CMCC will send up to 3 DONT messages until it gets the WONT
response. If it still receives no answer then it gives up.
If a gateway is sending out regular reports, and it receives
a new request from the same source as the original request to send
the same report, then the new request is considered to supercede
the old one unless the new request is for a single report. In
this case the gateway should make the single response, but
continue sending the regular reports. If the new request is for
more than one report, then the gateway should reset the sequence
number (see below) and forget about the original request. The
question of dealing with requests from different sources is in
part an authorization question, and is not dealt with in this
document; however, gateways should in general be prepared to
satisfy requests for single reports from any source at any time.
A gateway may be unable to send out more than one report in
response to a single enquiry; i.e. it may insist on being polled.
If such a gateway receives a request for multiple reports, it
sends back a WONT REPORT reply, indicating that the number of
reports in the request was unacceptable. The CMCC will then send
a single report request, and will continue sending these requests
at appropriate intervals.
Each request sent out from the CMCC contains a report
identification number. This number is returned by the gateway in
the WILL REPORT or WONT REPORT message. When a request results in
more than one report message, those after the first have a
sequence number instead of the report id. Gateways will reset the
sequence number when they receive a DO REPORT, except in the case
of a single report request as described above. When a regular
report is requested, the WILL REPORT reply may or may not contain
the first report message. If it does not, then it should consist
only of the WILL REPORT header, with no extra data.
The following is a list of the report types.
- 3 -
IEN 131 Gateway Monitoring Protocol
Type
0 - Gateway description.
1 - Echo.
2 - Throughput transit matrix.
3 - Interface up/down status for all interfaces.
4 - Queue activity.
5 - End to end traffic statistics.
6 - Individual interface status.
7 - Routing table.
2.3 Requesting Traps
Besides the reports, a gateway may issue traps, which are
messages announcing some event in the gateway. A gateway may be
directed to start or stop sending the various kinds of traps,
using DO - DONT - WILL - WONT TRAP messages in the same way as
REPORT messages are used, except that normally the WILL TRAP
message will not be accompanied by data.
The following is a list of the trap types:
Type
1 - Interface up/down.
2 - Neighbor gateway up/down.
3 - Queue full.
Here, up/down on an interface refers to the ready line. For
a neighbor gateway it is determined according to the
gateway-gateway protocol in force.
3. Data Formats
Bits within a field are numbered starting at 0 and ordered
left to right, so that an octet with bit 0 set on has the numeric
value 128. Octets within numeric fields of more than 8 bits are
ordered so that the most significant octet comes first. For
example, a 32 bit numeric field with a value of 65536 would be
expressed as 0,1,0,0 in octets. For other fields of more than 8
bits, the first octet contains bits 0-7, the second 8-15, and so
on.
- 4 -
IEN 131 Gateway Monitoring Protocol
Monitoring Packets have the following format:
+--------------------+
! Local Header !
+--------------------+
! Internet Header !
+--------------------+
! Monitoring Header !
+--------------------+
! Data !
+--------------------+
The data may be absent.
The monitoring header has the following format:
Bits Contents
0 0 - Report or trap
1 - Negotiation message.
1 0 - Report
1 - Trap
2-3 For a negotiation message:
0 - DO
1 - DONT
2 - WILL
3 - WONT
For a report or trap: zero.
4-7 Reserved for future use.
8-15 Report or trap type.
16-31 For a negotiation message: Report Id.
For a report: Sequence number.
For a trap: data depending on trap type.
A DO REPORT message has the header:
0 1 2 3 4 5 6 7 8 15 16 31
+-------------------------------------------------------------+
! 1 ! 0 ! 0 0 ! 0 0 0 0 ! report type ! report id !
+-------------------------------------------------------------+
and the corresponding WILL REPORT message has:
- 5 -
IEN 131 Gateway Monitoring Protocol
0 1 2 3 4 5 6 7 8 15 16 31
+-------------------------------------------------------------+
! 1 ! 0 ! 1 0 ! 0 0 0 0 ! report type ! report id !
+-------------------------------------------------------------+
where the report id is the same as in the DO REPORT. A DONT
REPORT will begin with:
0 1 2 3 4 5 6 7 8 15 16 31
+-------------------------------------------------------------+
! 1 ! 0 ! 0 1 ! 0 0 0 0 ! report type ! report id !
+-------------------------------------------------------------+
and a WONT REPORT begins with:
0 1 2 3 4 5 6 7 8 15 16 31
+-------------------------------------------------------------+
! 1 ! 0 ! 1 1 ! 0 0 0 0 ! report type ! report id !
+-------------------------------------------------------------+
Headers for trap negotiation messages are similar except that
bit 1 is 1 instead of 0.
Trap messages have a header of only 2 octets:
0 1 2 3 4 5 6 7 8 15
+-----------------------------------------------+
! 0 ! 1 ! 0 0 ! 0 0 0 0 ! trap type !
+-----------------------------------------------+
DONT messages have no data. The WONT header is followed by a
single octet which indicates which field(s) in the request the
gateway objected to. Bits are set on according to the offending
field, as follows:
Bit Field
0 report or trap (i.e the gateway has not implemented
any reports, or traps)
1 report/trap type
2 number of reports (i.e. a gateway insists on being
polled)
3 reporting interval
DO REPORT messages have two 16-bit numbers which are the
number of reports required and the reporting interval in seconds,
in that order. A request for 65535 reports means 'until further
notice'. In addition, a type 6 report request has one extra octet
at the end containing the interface number.
The first response in any set of reports may also be the WILL
REPORT negotiation message and if so, the first 4 bits of the
monitoring header will have the value 1010 (negotiation, report,
- 6 -
IEN 131 Gateway Monitoring Protocol
WILL). Subsequent reports arising from the same request have a
header beginning with 0000 (report/trap, report, zero). If the
first response is the WILL REPORT without any data, then its
length must be 4 bytes, i.e. it consists only of the monitoring
header.
Trap messages may or may not have any data, depending on the
trap type.
3.1 Report Formats
3.1.1 Gateway description - type 0
The first item is the gateway name as four 8-bit ASCII
characters. The next item consists of two octets containing the
number of interfaces in the gateway, and the number of neighbors
the gateway has, in that order. This is then followed by two sets
of 32 bit numbers, whose size is given by the above octets. The
first set lists the addresses of each interface in the gateway,
and the second set lists the addresses of the gateway's neighbors.
3.1.2 Echo - type 1
There is no data in this message type. The gateway simply
returns the message to the place that sent it.
3.1.3 Throughput matrix - type 2
The report is a conceptual matrix with rows corresponding to
output interfaces and columns to input interfaces. The interfaces
are numbered from 0 to N-1 and there is an extra column for
packets dropped at the interface.
The matrix is expressed as N * (N+1) 32-bit counts, where N
is the number of interfaces. Each packet entering the gateway via
interface IN and leaving via interface OUT causes the count at
position (OUT * N) + IN to be incremented.
3.1.4 Status of all interfaces - type 3
The header is followed by a bit array in which the bit in
position i is 1 if interface i is up, 0 if it is down. Interfaces
are numbered starting at zero, as in the throughput matrix. The
ordering of the interfaces is defined in the Gateway Description
message, 3.1.1.
- 7 -
IEN 131 Gateway Monitoring Protocol
3.1.5 Queue activity - type 4
The header is followed by a set of reports, one for each
interface number. Each report in the set is 16 bits long and has
the following format:
Bits Contents
0-7 Length of input queue for this interface.
8-15 Length of output queue.
Interface numbering is as in the interface status message.
3.1.6 End to end statistics - type 5
The report has a set of counts, one for each
source/destination combination. The format of each entry is:
Bits Contents
0-7 Source network number.
8-15 Destination network number.
16-47 Count of packets source-destination.
The counts are cumulative and so is the list of
source/destination combinations, i.e. the report will contain
counts for every source/destination pair that has been recorded
since the gateway started up.
3.1.7 Individual interface status - type 6
A distinction here is made between error free and error
handling interfaces. The first four octets are the same in each
case, except for a code indicating the interface type. For an
error free interface, these four octets are the whole report. For
a VDH error handling interface there are another three 32-bit
counts of :
packet framing errors
packets received with bad checksum
packets retransmitted
The format of the first four octets is:
Bits Contents
0-7 Interface number
8-11 Status: 0 (down), 1 (up)
12-15 Interface type: 0 - error free, 1 - VDH.
16-31 Number of times this interface has gone down.
- 8 -
IEN 131 Gateway Monitoring Protocol
The down count is only reset at gateway startup time.
3.1.8 Routing tables - type 7
This is a table of variable length entries each containing a
network number, the minimum distance to that network from the
gateway, and the addresses of each neighbor on the minimum
distance path. The format of each entry is as follows:
8 bits number of neighbors
8 bits network number
8 bits distance to network
8 bits unused (allows 32-bit alignment of addresses)
32 bits first neighbor address
32 bits second neighbor address
(as many more neighbor addresses as necessary).
3.2 Trap Formats
Traps all have a 16-bit header starting with 0100
(report/trap, trap, zero). Data for the traps is as follows.
3.2.1 Interface up/down - type 1
Bits Contents
0-7 up (1) or down (0).
8-15 interface number.
3.2.2 Neighbor gateway up/down - type 2
Bits Contents
0-3 up (1) or down (0).
4-7 old gateway (zero) or new gateway (1).
8-15 unused (for 32-bit alignment of next field)
16-47 Neighbor gateway internet address.
A new gateway is one not previously heard from, which will
therefore cause an addition to the gateway's routing tables.
3.2.3 Queue full - type 3
Bits Contents
0-7 Interface number for queue.
8-15 Input (zero) or output (1) queue.
- 9 -