RFC 3273
Remote Network Monitoring Management Information Base for High Capacity Networks
RFC 3273: Remote Network Monitoring Management Information Base for High Capacity Networks โจ
okay bestie, this one is RFC 3273 ๐ Its title is Remote Network Monitoring Management Information Base for High Capacity Networks. It was written by S. Waldbusser in July 2002, and it's a Standards Track doc from the Network Working Group. The header doesn't list an obsoletes or updates line, but the Abstract says it updates some objects from RFC 2819 (the RMON-MIB) and RFC 2021 (the RMON2-MIB) ๐
Status of this Memo ๐
this doc specifies an Internet standards track protocol for the Internet community, and it asks for discussion and suggestions for improvements ๐ซถ For the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited ๐
Copyright Notice ยฉ๏ธ
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract ๐ฆ
this memo defines a chunk of the Management Information Base (MIB) for use with network management protocols in TCP/IP-based internets. Specifically, it's all about managing remote network monitoring (RMON) devices on high speed networks ๐ฅ It has a MIB Module that defines these new objects, and it also has definitions for some updated objects from the RMON-MIB in RFC 2819 and the RMON2-MIB in RFC 2021 ๐
Table of Contents ๐๏ธ
1 The SNMP Management Framework ............................... 2
2 Overview .................................................... 3
2.1 Structure of MIB .......................................... 3
3 Updates to RMON MIB and RMON2 MIB objects ................... 4
4 Conventions ................................................. 6
5 Definitions ................................................. 7
6 Security Considerations .....................................73
7 Acknowledgments .............................................73
8 References ..................................................73
9 Notices .....................................................75
10 Author's Address.............................................76
11 Full Copyright Statement.....................................77
1. The SNMP Management Framework โจ
okay so the SNMP Management Framework is made of five major pieces ๐ง
- An overall architecture, described in RFC 2571 [1].
- Mechanisms for describing and naming objects and events for management. The first version of this Structure of Management Information (SMI) is called SMIv1, and it's described in STD 16, RFC 1155 [2], STD 16, RFC 1212 [3], and RFC 1215 [4]. The second version, SMIv2, is described in STD 58, RFC 2578 [5], RFC 2579 [6], and RFC 2580 [7] ๐ธ
- Message protocols for transferring management information. The first version of the SNMP message protocol is SNMPv1, described in STD 15, RFC 1157 [8]. A second version, SNMPv2c, is not an Internet standards track protocol, and it's described in RFC 1901 [9] and RFC 1906 [10]. The third version of the message protocol is SNMPv3, described in RFC 1906 [10], RFC 2572 [11], and RFC 2574 [12] ๐
- Protocol operations for accessing management information. The first set of protocol operations and their PDU formats is described in STD 15, RFC 1157 [8]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [13] ๐ซง
- A set of fundamental applications described in RFC 2573 [14], plus the view-based access control mechanism described in RFC 2575 [15] ๐
if you want a deeper intro to the current SNMP Management Framework, check out RFC 2570 [22] ๐
Managed objects are accessed through a virtual information store called the Management Information Base, or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI ๐
this memo specifies a MIB module that is compliant to SMIv2. A MIB conforming to SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 gets converted into textual descriptions in SMIv1 during the translation process. However, losing that machine readable information is not considered to change the semantics of the MIB ๐
2. Overview ๐ธ
this document continues the architecture created in the RMON MIB [RFC 2819] by supporting high speed networks ๐
remote network monitoring devices, often called monitors or probes, are instruments that exist to manage a network ๐ They're often stand-alone devices that put a lot of internal resources into managing a network, and an organization might use many of them, one per network segment, to manage its internet. These remote probes can also be used by a network management service provider to access a client network, which is often geographically remote ๐
the objects defined here are meant to be an interface between an RMON agent and an RMON management application. They're not meant for direct manipulation by humans ๐ โโ๏ธ Some users may tolerate directly displaying a few of these objects, but few will tolerate the complexity of manually manipulating objects to accomplish row creation. These functions should be handled by the management application ๐ซถ
2.1. Structure of MIB ๐ง
except for the mediaIndependentTable, each table in this MIB adds high capacity capability to an associated table in the RMON-1 MIB or RMON-2 MIB โจ The objects are arranged into these groups:
mediaIndependentGroupetherStatsHighCapacityGroupetherHistoryHighCapacityGrouphostHighCapacityGrouphostTopNHighCapacityGroupmatrixHighCapacityGroupcaptureBufferHighCapacityGroupprotocolDistributionHighCapacityGroupnlHostHighCapacityGroupnlMatrixHighCapacityGroupnlMatrixTopNHighCapacityGroupalHostHighCapacityGroupalMatrixHighCapacityGroupalMatrixTopNHighCapacityGroupusrHistoryHighCapacityGroup
these groups are the basic units of conformance ๐ If a remote monitoring device implements a group, then it must implement all objects in that group. For example, a managed agent that implements the network layer matrix group must implement the nlMatrixSDHighCapacityTable and the nlMatrixDSHighCapacityTable ๐
implementations of this MIB must also implement the system and interfaces group of MIB-II [16,17]. MIB-II may also mandate the implementation of additional groups ๐
these groups are defined to provide a means of assigning object identifiers, and to give agent implementors a way to know which objects they must implement ๐ฆ
3. Updates to RMON MIB and RMON2 MIB objects ๐
this document extends the enumerations in the following objects from the RMON MIB [18] and the RMON2 MIB [20] ๐
From the RMON MIB:
hostTopNRateBase OBJECT-TYPE
SYNTAX INTEGER {
hostTopNInPkts(1),
hostTopNOutPkts(2),
hostTopNInOctets(3),
hostTopNOutOctets(4),
hostTopNOutErrors(5),
hostTopNOutBroadcastPkts(6),
hostTopNOutMulticastPkts(7),
hostTopNHCInPkts(8),
hostTopNHCOutPkts(9),
hostTopNHCInOctets(10),
hostTopNHCOutOctets(11)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The variable for each host that the hostTopNRate
variable is based upon, as well as a control
for the table that the results will be reported in.
This object may not be modified if the associated
hostTopNStatus object is equal to valid(1).
If this value is less than or equal to 7, when the report
is prepared, entries are created in the hostTopNTable
associated with this object.
If this value is greater than or equal to 8, when the report
is prepared, entries are created in the
hostTopNHighCapacityTable associated with this object."
::= { hostTopNControlEntry 3 }
From the RMON2 MIB:
nlMatrixTopNControlRateBase OBJECT-TYPE
SYNTAX INTEGER {
nlMatrixTopNPkts(1),
nlMatrixTopNOctets(2),
nlMatrixTopNHighCapacityPkts(3),
nlMatrixTopNHighCapacityOctets(4)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The variable for each nlMatrix[SD/DS] entry that the
nlMatrixTopNEntries are sorted by, as well as a control
for the table that the results will be reported in.
This object may not be modified if the associated
nlMatrixTopNControlStatus object is equal to active(1).
If this value is less than or equal to 2, when the report
is prepared, entries are created in the nlMatrixTopNTable
associated with this object.
If this value is greater than or equal to 3, when the report
is prepared, entries are created in the
nlMatrixTopNHighCapacityTable associated with this object."
::= { nlMatrixTopNControlEntry 3 }
From the RMON2 MIB:
alMatrixTopNControlRateBase OBJECT-TYPE
SYNTAX INTEGER {
alMatrixTopNTerminalsPkts(1),
alMatrixTopNTerminalsOctets(2),
alMatrixTopNAllPkts(3),
alMatrixTopNAllOctets(4),
alMatrixTopNTerminalsHighCapacityPkts(5),
alMatrixTopNTerminalsHighCapacityOctets(6),
alMatrixTopNAllHighCapacityPkts(7),
alMatrixTopNAllHighCapacityOctets(8)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The variable for each alMatrix[SD/DS] entry that the
alMatrixTopNEntries are sorted by, as well as the
selector of the view of the matrix table that will be
used, as well as a control for the table that the results
will be reported in.
The values alMatrixTopNTerminalsPkts,
alMatrixTopNTerminalsOctets,
alMatrixTopNTerminalsHighCapacityPkts, and
alMatrixTopNTerminalsHighCapacityOctets cause collection
only from protocols that have no child protocols that are
counted. The values alMatrixTopNAllPkts,
alMatrixTopNAllOctets, alMatrixTopNAllHighCapacityPkts, and
alMatrixTopNAllHighCapacityOctets cause collection from all
alMatrix entries.
This object may not be modified if the associated
alMatrixTopNControlStatus object is equal to active(1)."
::= { alMatrixTopNControlEntry 3 }
for convenience, updated MIB modules containing these objects can be found at:
ftp://ftp.rfc-editor.org/in-notes/mibs/current.mibs/rmon.mib
ftp://ftp.rfc-editor.org/in-notes/mibs/current.mibs/rmon2.mib
4. Conventions ๐
okay so these are the conventions we use all the way through the RMON MIB and its companion docs ๐ง
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. bestie, these caps words are the boss words ๐
Good Packets
Good packets are error-free and have a valid frame length โจ For example, on Ethernet, a good packet is error-free and between 64 octets long and 1518 octets long. They follow the form defined in IEEE 802.3 section 3.2.all ๐ค. Implementors are urged to check the appropriate media-specific specs, so go read those too!
Bad Packets
Bad packets are a little messier ๐ They have proper framing, so they get recognized as packets, but they either have errors inside them or an invalid length. On Ethernet, a bad packet has a valid preamble and SFD (Start of Frame Delimiter) but a bad FCS (Frame Check Sequence), or it's shorter than 64 octets or longer than 1518 octets. Implementors are urged to consult the appropriate media-specific specifications here too ๐ซถ
5. Definitions ๐
okay the whole MIB module is coming up, and it is giving everything ๐ฆ
HC-RMON-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32,
Gauge32, Counter64 FROM SNMPv2-SMI
RowStatus, TimeStamp FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
rmon, OwnerString, statistics, history, hosts, hostTopN, matrix,
etherStatsIndex, etherHistoryIndex, etherHistorySampleIndex,
hostIndex, hostAddress, hostTimeIndex, hostTimeCreationOrder,
hostTopNReport, hostTopNIndex,
matrixSDIndex, matrixSDSourceAddress, matrixSDDestAddress,
matrixDSIndex, matrixDSDestAddress, matrixDSSourceAddress,
capture, captureBufferControlIndex, captureBufferIndex
FROM RMON-MIB
protocolDirLocalIndex, protocolDistControlIndex,
protocolDist, hlHostControlIndex,
nlHost, nlHostTimeMark, nlHostAddress,
hlMatrixControlIndex, nlMatrix,
nlMatrixSDTimeMark, nlMatrixSDSourceAddress, nlMatrixSDDestAddress,
nlMatrixDSTimeMark, nlMatrixDSDestAddress, nlMatrixDSSourceAddress,
nlMatrixTopNControlIndex, nlMatrixTopNIndex,
alHost, alHostTimeMark,
alMatrix, alMatrixSDTimeMark, alMatrixDSTimeMark,
alMatrixTopNControlIndex, alMatrixTopNIndex,
usrHistory, usrHistoryControlIndex,
usrHistorySampleIndex, usrHistoryObjectIndex,
rmonConformance, ZeroBasedCounter32, probeConfig
FROM RMON2-MIB
ZeroBasedCounter64, CounterBasedGauge64
FROM HCNUM-TC;
-- Remote Network Monitoring MIB
hcRMON MODULE-IDENTITY
LAST-UPDATED "200205080000Z" -- May 08, 2002
ORGANIZATION "IETF RMON MIB Working Group"
CONTACT-INFO
"Steve Waldbusser
Phone: +1-650-948-6500
Fax: +1-650-745-0671
Email: waldbusser@nextbeacon.com
Andy Bierman
WG Chair
abierman@cisco.com
RMONMIB WG Mailing List
rmonmib@ietf.org
http://www.ietf.org/mailman/listinfo/rmonmib"
DESCRIPTION
"The MIB module for managing remote monitoring
device implementations. This MIB module
augments the original RMON MIB as specified in
RFC 2819 and RFC 1513 and RMON-2 MIB as specified in
RFC 2021."
REVISION "200205080000Z" -- May 08, 2002
DESCRIPTION
"The original version of this MIB, published as RFC3273."
::= { rmonConformance 5 }
-- { rmon 1 } through { rmon 20 } are defined in RMON [RFC 2819] and
-- the Token Ring RMON MIB [RFC 1513] and the RMON-2 MIB [RFC 2021].
mediaIndependentStats OBJECT IDENTIFIER ::= { rmon 21 }
mediaIndependentTable OBJECT-TYPE
SYNTAX SEQUENCE OF MediaIndependentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Media independent statistics for promiscuous monitoring of
any media.
The following table defines media independent statistics that
provide information for full and/or half-duplex links as well
as high capacity links.
For half-duplex links, or full-duplex-capable links operating
in half-duplex mode, the mediaIndependentIn* objects shall be
used and the mediaIndependentOut* objects shall not increment.
For full-duplex links, the mediaIndependentOut* objects shall
be present and shall increment. Whenever possible, the probe
should count packets moving away from the closest terminating
equipment as output packets. Failing that, the probe should
count packets moving away from the DTE as output packets."
::= { mediaIndependentStats 1 }
mediaIndependentEntry OBJECT-TYPE
SYNTAX MediaIndependentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Media independent statistics for promiscuous monitoring of
any media."
INDEX { mediaIndependentIndex }
::= { mediaIndependentTable 1 }
MediaIndependentEntry ::= SEQUENCE {
mediaIndependentIndex Integer32,
mediaIndependentDataSource OBJECT IDENTIFIER,
mediaIndependentDropEvents Counter32,
mediaIndependentDroppedFrames Counter32,
mediaIndependentInPkts Counter32,
mediaIndependentInOverflowPkts Counter32,
mediaIndependentInHighCapacityPkts Counter64,
mediaIndependentOutPkts Counter32,
mediaIndependentOutOverflowPkts Counter32,
mediaIndependentOutHighCapacityPkts Counter64,
mediaIndependentInOctets Counter32,
mediaIndependentInOverflowOctets Counter32,
mediaIndependentInHighCapacityOctets Counter64,
mediaIndependentOutOctets Counter32,
mediaIndependentOutOverflowOctets Counter32,
mediaIndependentOutHighCapacityOctets Counter64,
mediaIndependentInNUCastPkts Counter32,
mediaIndependentInNUCastOverflowPkts Counter32,
mediaIndependentInNUCastHighCapacityPkts Counter64,
mediaIndependentOutNUCastPkts Counter32,
mediaIndependentOutNUCastOverflowPkts Counter32,
mediaIndependentOutNUCastHighCapacityPkts Counter64,
mediaIndependentInErrors Counter32,
mediaIndependentOutErrors Counter32,
mediaIndependentInputSpeed Gauge32,
mediaIndependentOutputSpeed Gauge32,
mediaIndependentDuplexMode INTEGER,
mediaIndependentDuplexChanges Counter32,
mediaIndependentDuplexLastChange TimeStamp,
mediaIndependentOwner OwnerString,
mediaIndependentStatus RowStatus
}
mediaIndependentIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The value of this object uniquely identifies this
mediaIndependent entry."
::= { mediaIndependentEntry 1 }
mediaIndependentDataSource OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object identifies the source of the data that
this mediaIndependent entry is configured to analyze. This
source can be any interface on this device.
In order to identify a particular interface, this
object shall identify the instance of the ifIndex
object, defined in RFC 1213 and RFC 2233 [16,17], for
the desired interface. For example, if an entry
were to receive data from interface #1, this object
would be set to ifIndex.1.
The statistics in this group reflect all packets
on the local network segment attached to the
identified interface.
An agent may or may not be able to tell if
fundamental changes to the media of the interface
have occurred and necessitate a deletion of
this entry. For example, a hot-pluggable ethernet
card could be pulled out and replaced by a
token-ring card. In such a case, if the agent has
such knowledge of the change, it is recommended that
it delete this entry.
This object may not be modified if the associated
mediaIndependentStatus object is equal to active(1)."
::= { mediaIndependentEntry 2 }
mediaIndependentDropEvents OBJECT-TYPE
SYNTAX Counter32
UNITS "Events"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of events in which packets
were dropped by the probe due to lack of resources.
Note that this number is not necessarily the number of
packets dropped; it is just the number of times this
condition has been detected."
::= { mediaIndependentEntry 3 }
mediaIndependentDroppedFrames OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of frames which were received by the probe
and therefore not accounted for in the
mediaIndependentDropEvents, but for which the probe chose not
to count for this entry for whatever reason. Most often, this
event occurs when the probe is out of some resources and
decides to shed load from this collection.
This count does not include packets that were not counted
because they had MAC-layer errors.
Note that, unlike the dropEvents counter, this number is the
exact number of frames dropped."
::= { mediaIndependentEntry 4 }
mediaIndependentInPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad packets,
broadcast packets, and multicast packets) received
on a half-duplex link or on the inbound connection of a
full-duplex link."
::= { mediaIndependentEntry 5 }
mediaIndependentInOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
mediaIndependentInPkts counter has overflowed."
::= { mediaIndependentEntry 6 }
mediaIndependentInHighCapacityPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad packets,
broadcast packets, and multicast packets) received
on a half-duplex link or on the inbound connection of a
full-duplex link."
::= { mediaIndependentEntry 7 }
mediaIndependentOutPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad packets,
broadcast packets, and multicast packets) received on a
full-duplex link in the direction of the network."
::= { mediaIndependentEntry 8 }
mediaIndependentOutOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
mediaIndependentOutPkts counter has overflowed."
::= { mediaIndependentEntry 9 }
we are literally halfway through the MIB and it's already so iconic ๐ธโจ more of the table is coming, so stay tuned, bestie ๐
okay bestie, more counters incoming ๐
mediaIndependentOutHighCapacityPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad packets,
broadcast packets, and multicast packets) received on a
full-duplex link in the direction of the network."
::= { mediaIndependentEntry 10 }
mediaIndependentInOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets of data (including those in bad
packets) received (excluding framing bits but including FCS
octets) on a half-duplex link or on the inbound connection of
a full-duplex link."
::= { mediaIndependentEntry 11 }
mediaIndependentInOverflowOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
mediaIndependentInOctets counter has overflowed."
::= { mediaIndependentEntry 12 }
mediaIndependentInHighCapacityOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets of data (including those in bad
packets) received (excluding framing bits but
including FCS octets) on a half-duplex link or on the inbound
connection of a full-duplex link."
::= { mediaIndependentEntry 13 }
mediaIndependentOutOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets of data (including those in bad
packets) received on a full-duplex link in the direction of
the network (excluding framing bits but including FCS
octets)."
::= { mediaIndependentEntry 14 }
mediaIndependentOutOverflowOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
mediaIndependentOutOctets counter has overflowed."
::= { mediaIndependentEntry 15 }
mediaIndependentOutHighCapacityOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets of data (including those in bad
packets) received on a full-duplex link in the direction of
the network (excluding framing bits but including FCS
octets)."
::= { mediaIndependentEntry 16 }
mediaIndependentInNUCastPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of non-unicast packets (including bad
packets) received on a half-duplex link or on the inbound
connection of a full-duplex link."
::= { mediaIndependentEntry 17 }
mediaIndependentInNUCastOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
mediaIndependentInNUCastPkts counter has overflowed."
::= { mediaIndependentEntry 18 }
mediaIndependentInNUCastHighCapacityPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of non-unicast packets (including bad
packets) received on a half-duplex link or on the inbound
connection of a full-duplex link."
::= { mediaIndependentEntry 19 }
mediaIndependentOutNUCastPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of non-unicast packets (including bad
packets) received on a full-duplex link in the direction of
the network."
::= { mediaIndependentEntry 20 }
mediaIndependentOutNUCastOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
mediaIndependentOutNUCastPkts counter has overflowed."
::= { mediaIndependentEntry 21 }
mediaIndependentOutNUCastHighCapacityPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad packets)
received on a full-duplex link in the direction of the
network."
::= { mediaIndependentEntry 22 }
mediaIndependentInErrors OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of bad packets received on a
half-duplex link or on the inbound connection of a
full-duplex link."
::= { mediaIndependentEntry 23 }
mediaIndependentOutErrors OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of bad packets received on a full-duplex
link in the direction of the network."
::= { mediaIndependentEntry 24 }
mediaIndependentInputSpeed OBJECT-TYPE
SYNTAX Gauge32
UNITS "Kilobits per Second"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The nominal maximum speed in kilobits per second of this
half-duplex link or on the inbound connection of this
full-duplex link. If the speed is unknown or there is no fixed
maximum (e.g. a compressed link), this value shall be zero."
::= { mediaIndependentEntry 25 }
mediaIndependentOutputSpeed OBJECT-TYPE
SYNTAX Gauge32
UNITS "Kilobits per Second"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The nominal maximum speed in kilobits per second of this
full-duplex link in the direction of the network. If the speed
is unknown, the link is half-duplex, or there is no fixed
maximum (e.g. a compressed link), this value shall be zero."
::= { mediaIndependentEntry 26 }
mediaIndependentDuplexMode OBJECT-TYPE
SYNTAX INTEGER {
halfduplex(1),
fullduplex(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current mode of this link.
Note that if the link has full-duplex capabilities but
is operating in half-duplex mode, this value will be
halfduplex(1)."
::= { mediaIndependentEntry 27 }
mediaIndependentDuplexChanges OBJECT-TYPE
SYNTAX Counter32
UNITS "Events"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times this link has changed from full-duplex
mode to half-duplex mode or from half-duplex mode to
full-duplex mode."
::= { mediaIndependentEntry 28 }
mediaIndependentDuplexLastChange OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the duplex status
of this link last changed."
::= { mediaIndependentEntry 29 }
mediaIndependentOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The entity that configured this entry and is
therefore using the resources assigned to it."
::= { mediaIndependentEntry 30 }
mediaIndependentStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this media independent statistics entry."
::= { mediaIndependentEntry 31 }
-- High Capacity extensions for the etherStatsTable
etherStatsHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF EtherStatsHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
etherStatsTable."
::= { statistics 7 }
etherStatsHighCapacityEntry OBJECT-TYPE
SYNTAX EtherStatsHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
etherStatsEntry. These objects will be created by the agent
for all etherStatsEntries it deems appropriate."
INDEX { etherStatsIndex }
::= { etherStatsHighCapacityTable 1 }
EtherStatsHighCapacityEntry ::= SEQUENCE {
etherStatsHighCapacityOverflowPkts Counter32,
etherStatsHighCapacityPkts Counter64,
etherStatsHighCapacityOverflowOctets Counter32,
etherStatsHighCapacityOctets Counter64,
etherStatsHighCapacityOverflowPkts64Octets Counter32,
etherStatsHighCapacityPkts64Octets Counter64,
etherStatsHighCapacityOverflowPkts65to127Octets Counter32,
etherStatsHighCapacityPkts65to127Octets Counter64,
etherStatsHighCapacityOverflowPkts128to255Octets Counter32,
etherStatsHighCapacityPkts128to255Octets Counter64,
etherStatsHighCapacityOverflowPkts256to511Octets Counter32,
etherStatsHighCapacityPkts256to511Octets Counter64,
etherStatsHighCapacityOverflowPkts512to1023Octets Counter32,
etherStatsHighCapacityPkts512to1023Octets Counter64,
etherStatsHighCapacityOverflowPkts1024to1518Octets Counter32,
etherStatsHighCapacityPkts1024to1518Octets Counter64
}
etherStatsHighCapacityOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated etherStatsPkts
counter has overflowed."
::= { etherStatsHighCapacityEntry 1 }
etherStatsHighCapacityPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad packets,
broadcast packets, and multicast packets) received."
::= { etherStatsHighCapacityEntry 2 }
etherStatsHighCapacityOverflowOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated etherStatsOctets
counter has overflowed."
::= { etherStatsHighCapacityEntry 3 }
okay bestie, picking up right where we left off ๐ next up is the octets counter and its overflow buddies ๐
etherStatsHighCapacityOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets of data (including
those in bad packets) received on the
network (excluding framing bits but including
FCS octets).
If the network is half-duplex Fast Ethernet, this
object can be used as a reasonable estimate of
utilization. If greater precision is desired, the
etherStatsHighCapacityPkts and
etherStatsHighCapacityOctets objects should be sampled
before and after a common interval. The differences
in the sampled values are Pkts and Octets,
respectively, and the number of seconds in the
interval is Interval. These values
are used to calculate the Utilization as follows:
Pkts * (.96 + .64) + (Octets * .08)
Utilization = -------------------------------------
Interval * 10,000
The result of this equation is the value Utilization
which is the percent utilization of the ethernet
segment on a scale of 0 to 100 percent.
This table is not appropriate for monitoring full-duplex
ethernets. If the network is a full-duplex ethernet and the
mediaIndependentTable is monitoring that network, the
utilization can be calculated as follows:
1) Determine the utilization of the inbound path by using
the appropriate equation (for ethernet or fast ethernet)
to determine the utilization, substituting
mediaIndependentInPkts for etherStatsHighCapacityPkts, and
mediaIndependentInOctets for etherStatsHighCapacityOctets.
Call the resulting utilization inUtilization.
2) Determine the utilization of the outbound path by using
the same equation to determine the utilization, substituting
mediaIndependentOutPkts for etherStatsHighCapacityPkts, and
mediaIndependentOutOctets for etherStatsHighCapacityOctets.
Call the resulting utilization outUtilization.
3) The utilization is the maximum of inUtilization and
outUtilization. This metric shows the amount of percentage
of bandwidth that is left before congestion will be
experienced on the link."
::= { etherStatsHighCapacityEntry 4 }
This one is a whole mood ๐งฎโจ It tells you the octets total, and then gets extra thoughtful about how to work out utilization. The formula is literally right there in the description, so no cap, copy it exactly if you're doing the math ๐ Also, this table is NOT it for full-duplex ethernets ๐ the description says to use the mediaIndependent counters instead and take the max of the inbound and outbound results.
Next, the overflow counters. Each one just counts how many times its partner Pkts counter wrapped around ๐ธ
etherStatsHighCapacityOverflowPkts64Octets OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated etherStatsPkts64Octets
counter has overflowed."
::= { etherStatsHighCapacityEntry 5 }
etherStatsHighCapacityPkts64Octets OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were 64 octets in length
(excluding framing bits but including FCS octets)."
::= { etherStatsHighCapacityEntry 6 }
etherStatsHighCapacityOverflowPkts65to127Octets OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated etherStatsPkts65to127Octets
counter has overflowed."
::= { etherStatsHighCapacityEntry 7 }
etherStatsHighCapacityPkts65to127Octets OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were between
65 and 127 octets in length inclusive
(excluding framing bits but including FCS octets)."
::= { etherStatsHighCapacityEntry 8 }
etherStatsHighCapacityOverflowPkts128to255Octets OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated etherStatsPkts128to255Octets
counter has overflowed."
::= { etherStatsHighCapacityEntry 9 }
etherStatsHighCapacityPkts128to255Octets OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were between
128 and 255 octets in length inclusive
(excluding framing bits but including FCS octets)."
::= { etherStatsHighCapacityEntry 10 }
etherStatsHighCapacityOverflowPkts256to511Octets OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated etherStatsPkts256to511Octets
counter has overflowed."
::= { etherStatsHighCapacityEntry 11 }
etherStatsHighCapacityPkts256to511Octets OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were between
256 and 511 octets in length inclusive
(excluding framing bits but including FCS octets)."
::= { etherStatsHighCapacityEntry 12 }
etherStatsHighCapacityOverflowPkts512to1023Octets OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
etherStatsPkts512to1023Octets counter has overflowed."
::= { etherStatsHighCapacityEntry 13 }
etherStatsHighCapacityPkts512to1023Octets OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were between
512 and 1023 octets in length inclusive
(excluding framing bits but including FCS octets)."
::= { etherStatsHighCapacityEntry 14 }
etherStatsHighCapacityOverflowPkts1024to1518Octets OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
etherStatsPkts1024to1518Octets counter has overflowed."
::= { etherStatsHighCapacityEntry 15 }
etherStatsHighCapacityPkts1024to1518Octets OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad
packets) received that were between
1024 and 1518 octets in length inclusive
(excluding framing bits but including FCS octets)."
::= { etherStatsHighCapacityEntry 16 }
Now we're onto the etherHistory side of things ๐ฆ The high capacity table extends the RMON-1 etherHistoryTable, and the entry objects get created all together or not at all, which is very much a "we move as a unit" energy ๐ซถ
-- High Capacity extensions for the etherHistoryTable
etherHistoryHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF EtherHistoryHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
etherHistoryTable."
::= { history 6 }
etherHistoryHighCapacityEntry OBJECT-TYPE
SYNTAX EtherHistoryHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
etherHistoryEntry. These objects will be created by the agent
for all etherHistoryEntries associated with whichever
historyControlEntries it deems appropriate. (i.e., either all
etherHistoryHighCapacityEntries associated with a particular
historyControlEntry will be created, or none of them will
be.)"
INDEX { etherHistoryIndex, etherHistorySampleIndex }
::= { etherHistoryHighCapacityTable 1 }
EtherHistoryHighCapacityEntry ::= SEQUENCE {
etherHistoryHighCapacityOverflowPkts Gauge32,
etherHistoryHighCapacityPkts CounterBasedGauge64,
etherHistoryHighCapacityOverflowOctets Gauge32,
etherHistoryHighCapacityOctets CounterBasedGauge64
}
etherHistoryHighCapacityOverflowPkts OBJECT-TYPE
SYNTAX Gauge32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated etherHistoryPkts
Gauge overflowed during this sampling interval."
::= { etherHistoryHighCapacityEntry 1 }
etherHistoryHighCapacityPkts OBJECT-TYPE
SYNTAX CounterBasedGauge64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets (including bad packets,
broadcast packets, and multicast packets) received during
this sampling interval."
::= { etherHistoryHighCapacityEntry 2 }
etherHistoryHighCapacityOverflowOctets OBJECT-TYPE
SYNTAX Gauge32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated etherHistoryOctets
counter has overflowed during this sampling interval."
::= { etherHistoryHighCapacityEntry 3 }
etherHistoryHighCapacityOctets OBJECT-TYPE
SYNTAX CounterBasedGauge64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets of data (including
those in bad packets) received on the
network (excluding framing bits but including
FCS octets) during this sampling interval."
::= { etherHistoryHighCapacityEntry 4 }
Last stop in this part is the hostTable ๐ Same deal as before: the host high capacity entries get made as a set, and this bit is the in and out packet and octet counters, with their overflow pals ๐
-- High Capacity Extensions for the hostTable
hostHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF HostHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
hostTable."
::= { hosts 5 }
hostHighCapacityEntry OBJECT-TYPE
SYNTAX HostHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
hostEntry. These objects will be created by the agent
for all hostEntries associated with whichever
hostControlEntries it deems appropriate. (i.e., either all
hostHighCapacityEntries associated with a particular
hostControlEntry will be created, or none of them will
be.)"
INDEX { hostIndex, hostAddress }
::= { hostHighCapacityTable 1 }
HostHighCapacityEntry ::= SEQUENCE {
hostHighCapacityInOverflowPkts Counter32,
hostHighCapacityInPkts Counter64,
hostHighCapacityOutOverflowPkts Counter32,
hostHighCapacityOutPkts Counter64,
hostHighCapacityInOverflowOctets Counter32,
hostHighCapacityInOctets Counter64,
hostHighCapacityOutOverflowOctets Counter32,
hostHighCapacityOutOctets Counter64
}
hostHighCapacityInOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated hostInPkts
counter has overflowed."
::= { hostHighCapacityEntry 1 }
hostHighCapacityInPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets transmitted to
this address since it was added to the
hostHighCapacityTable."
::= { hostHighCapacityEntry 2 }
hostHighCapacityOutOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated hostOutPkts
counter has overflowed."
::= { hostHighCapacityEntry 3 }
hostHighCapacityOutPkts OBJECT-TYPE is up next, and it's the outbound packet counter ๐ค It's a Counter64, so it's giving huge numbers ๐ญ
hostHighCapacityOutPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, including bad packets, transmitted
by this address since it was added to the
hostHighCapacityTable."
::= { hostHighCapacityEntry 4 }
Bestie, this one counts every packet hostHighCapacityOutPkts sent from this address since it got added to the table, and bad packets are included ๐ ๐ซถ
Next is hostHighCapacityInOverflowOctets, which is a Counter32 and basically a little overflow tally ๐
hostHighCapacityInOverflowOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated hostInOctets
counter has overflowed."
::= { hostHighCapacityEntry 5 }
It counts how many times the matching hostInOctets counter has overflowed ๐ฅ It's the sidekick that keeps track of the drama ๐
Now hostHighCapacityInOctets, the big 64-bit octet counter for incoming traffic ๐
hostHighCapacityInOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted to this address
since it was added to the hostHighCapacityTable (excluding
framing bits but including FCS octets), except for
those octets in bad packets."
::= { hostHighCapacityEntry 6 }
Okay so this one counts octets sent to this address since it was added to the table. Framing bits are left out, FCS octets are kept, and octets from bad packets are not counted ๐
Next is hostHighCapacityOutOverflowOctets, the overflow buddy for the outbound octets โจ
hostHighCapacityOutOverflowOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated hostOutOctets
counter has overflowed."
::= { hostHighCapacityEntry 7 }
It counts overflows of hostOutOctets, same energy as before but for outgoing traffic ๐ฆ
And the last one in this group is hostHighCapacityOutOctets, the outbound 64-bit octet counter ๐
hostHighCapacityOutOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted by this address
since it was added to the hostHighCapacityTable (excluding
framing bits but including FCS octets), including
those octets in bad packets."
::= { hostHighCapacityEntry 8 }
This one is the opposite of the inbound version: it counts octets sent by this address, and bad packets are included this time ๐
Now we move on to the High Capacity extensions for the hostTimeTable ๐ฐ๏ธ
-- High Capacity extensions for the hostTimeTable
hostTimeHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF HostTimeHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
hostTimeTable."
::= { hosts 6 }
hostTimeHighCapacityEntry OBJECT-TYPE
SYNTAX HostTimeHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
hostTimeEntry. These objects will be created by the agent
for all hostTimeEntries associated with whichever
hostControlEntries it deems appropriate. (i.e., either all
hostTimeHighCapacityEntries associated with a particular
hostControlEntry will be created, or none of them will
be.)"
INDEX { hostTimeIndex, hostTimeCreationOrder }
::= { hostTimeHighCapacityTable 1 }
HostTimeHighCapacityEntry ::= SEQUENCE {
hostTimeHighCapacityInOverflowPkts Counter32,
hostTimeHighCapacityInPkts Counter64,
hostTimeHighCapacityOutOverflowPkts Counter32,
hostTimeHighCapacityOutPkts Counter64,
hostTimeHighCapacityInOverflowOctets Counter32,
hostTimeHighCapacityInOctets Counter64,
hostTimeHighCapacityOutOverflowOctets Counter32,
hostTimeHighCapacityOutOctets Counter64
}
Okay, so hostTimeHighCapacityTable is the table of High Capacity RMON extensions to the RMON-1 hostTimeTable, and each row is a hostTimeHighCapacityEntry ๐ง The agent creates these rows for every hostTimeEntry tied to whichever hostControlEntries it decides are appropriate. The description is extra clear that it's all or nothing: either every hostTimeHighCapacityEntry for a given hostControlEntry gets created, or none of them do ๐
The entry is indexed by hostTimeIndex and hostTimeCreationOrder, and the SEQUENCE lists all eight columns in the order they show up ๐ธ
Next is hostTimeHighCapacityInOverflowPkts, which tracks overflows of hostTimeInPkts ๐
hostTimeHighCapacityInOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated hostTimeInPkts
counter has overflowed."
::= { hostTimeHighCapacityEntry 1 }
Next is hostTimeHighCapacityInPkts, the 64-bit count of good packets sent to this address since it was added to hostTimeHighCapacityTable ๐
hostTimeHighCapacityInPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets transmitted to this address
since it was added to the hostTimeHighCapacityTable."
::= { hostTimeHighCapacityEntry 2 }
This one only counts good packets, so bad ones don't make the cut ๐ฆ
Next is hostTimeHighCapacityOutOverflowPkts, the overflow tally for hostTimeOutPkts ๐
hostTimeHighCapacityOutOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated hostTimeOutPkts
counter has overflowed."
::= { hostTimeHighCapacityEntry 3 }
Next is hostTimeHighCapacityOutPkts, the 64-bit count of packets sent by this address since it was added to the table, bad packets included ๐
hostTimeHighCapacityOutPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, including bad packets, transmitted
by this address since it was added to the
hostTimeHighCapacityTable."
::= { hostTimeHighCapacityEntry 4 }
Next is hostTimeHighCapacityInOverflowOctets, the overflow counter for hostTimeInOctets โจ
hostTimeHighCapacityInOverflowOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated hostTimeInOctets
counter has overflowed."
::= { hostTimeHighCapacityEntry 5 }
Next is hostTimeHighCapacityInOctets, the 64-bit octet count for traffic sent to this address ๐ซถ
hostTimeHighCapacityInOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted to this address
since it was added to the hostTimeHighCapacityTable
(excluding framing bits but including FCS octets),
except for those octets in bad packets."
::= { hostTimeHighCapacityEntry 6 }
Notice the framing bits and FCS rules are the same as in the hostHighCapacity version, and bad-packet octets are still left out ๐
Next is hostTimeHighCapacityOutOverflowOctets, the overflow tally for hostTimeOutOctets ๐ธ
hostTimeHighCapacityOutOverflowOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated hostTimeOutOctets
counter has overflowed."
::= { hostTimeHighCapacityEntry 7 }
And the last one here is hostTimeHighCapacityOutOctets, the 64-bit octet count for traffic sent by this address ๐
hostTimeHighCapacityOutOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted by this address since
it was added to the hostTimeTable (excluding framing
bits but including FCS octets), including those
octets in bad packets."
::= { hostTimeHighCapacityEntry 8 }
Quick aside, bestie: this description says the count starts when the address was added to thehostTimeTable, not tohostTimeHighCapacityTable. The wording is copied exactly from the original, so keep that in mind ๐
Next up are the High Capacity extensions for the hostTopNTable ๐
-- High Capacity Extensions for the hostTopNTable
hostTopNHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF HostTopNHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
hostTopNTable when hostTopNRateBase specifies a High Capacity
TopN Report."
::= { hostTopN 3 }
hostTopNHighCapacityEntry OBJECT-TYPE
SYNTAX HostTopNHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
hostTopNEntry when hostTopNRateBase specifies a High Capacity
TopN Report. These objects will be created by the agent
for all hostTopNEntries associated with whichever
hostTopNControlEntries have a hostTopNRateBase that specify
a high capacity report."
INDEX { hostTopNReport, hostTopNIndex }
::= { hostTopNHighCapacityTable 1 }
HostTopNHighCapacityEntry ::= SEQUENCE {
hostTopNHighCapacityAddress OCTET STRING,
hostTopNHighCapacityBaseRate Gauge32,
hostTopNHighCapacityOverflowRate Gauge32,
hostTopNHighCapacityRate CounterBasedGauge64
}
So hostTopNHighCapacityTable holds the High Capacity extensions for the RMON-1 hostTopNTable, but only when hostTopNRateBase picks a High Capacity TopN Report ๐ Each row is a hostTopNHighCapacityEntry, indexed by hostTopNReport and hostTopNIndex, and the agent creates them for every hostTopNEntry linked to a hostTopNControlEntry whose hostTopNRateBase asks for a high capacity report โจ
The entry has four columns: hostTopNHighCapacityAddress, hostTopNHighCapacityBaseRate, hostTopNHighCapacityOverflowRate, and hostTopNHighCapacityRate ๐
Next is hostTopNHighCapacityAddress, which is the physical address of the host ๐
hostTopNHighCapacityAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The physical address of this host."
::= { hostTopNHighCapacityEntry 1 }
Next is hostTopNHighCapacityBaseRate, a Gauge32 that holds the change in the selected variable during this sampling interval, modulo 2^32 ๐ง That selected variable is this host's instance of the object picked by hostTopNRateBase.
hostTopNHighCapacityBaseRate OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of change in the selected variable
during this sampling interval, modulo 2^32. The
selected variable is this host's instance of the
object selected by hostTopNRateBase."
::= { hostTopNHighCapacityEntry 2 }
Next is hostTopNHighCapacityOverflowRate, which is the same change divided by 2^32, with fractions truncated (so it's basically X DIV 2^32) ๐ฅ
hostTopNHighCapacityOverflowRate OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of change in the selected variable
during this sampling interval, divided by 2^32, truncating
fractions (i.e., X DIV 2^32). The selected variable is
this host's instance of the object selected by
hostTopNRateBase."
::= { hostTopNHighCapacityEntry 3 }
And last, hostTopNHighCapacityRate is a CounterBasedGauge64 holding the change in the selected variable during this sampling interval, with no modulo or division needed ๐
hostTopNHighCapacityRate OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of change in the selected variable
during this sampling interval. The selected
variable is this host's instance of the object
selected by hostTopNRateBase."
::= { hostTopNHighCapacityEntry 4 }
Next up are the High Capacity extensions for the matrixSDTable ๐ฆ
-- High Capacity Extensions for the matrixSDTable
matrixSDHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF MatrixSDHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
matrixSDTable."
::= { matrix 5 }
matrixSDHighCapacityEntry OBJECT-TYPE
SYNTAX MatrixSDHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
matrixSDEntry. These objects will be created by the agent
for all matrixSDEntries associated with whichever
matrixControlEntries it deems appropriate. (i.e., either all
matrixSDHighCapacityEntries associated with a particular
matrixControlEntry will be created, or none of them will
be.)"
INDEX { matrixSDIndex,
matrixSDSourceAddress, matrixSDDestAddress }
::= { matrixSDHighCapacityTable 1 }
MatrixSDHighCapacityEntry ::= SEQUENCE {
matrixSDHighCapacityOverflowPkts Counter32,
matrixSDHighCapacityPkts Counter64,
matrixSDHighCapacityOverflowOctets Counter32,
matrixSDHighCapacityOctets Counter64
}
So matrixSDHighCapacityTable is the High Capacity RMON extension to the RMON-1 matrixSDTable โจ Its rows are matrixSDHighCapacityEntry objects, indexed by matrixSDIndex, matrixSDSourceAddress, and matrixSDDestAddress. Just like the hostTime one, it's all or nothing: the agent creates either every matrixSDHighCapacityEntry for a given matrixControlEntry, or none of them ๐ซถ
Next is matrixSDHighCapacityOverflowPkts, the overflow tally for matrixSDPkts ๐ธ
matrixSDHighCapacityOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated matrixSDPkts
counter has overflowed."
::= { matrixSDHighCapacityEntry 1 }
Next is matrixSDHighCapacityPkts, the 64-bit count of packets going from the source address to the destination address, bad packets included ๐
matrixSDHighCapacityPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets transmitted from the source
address to the destination address (this number
includes bad packets)."
::= { matrixSDHighCapacityEntry 2 }
Next is matrixSDHighCapacityOverflowOctets, the overflow counter for matrixSDOctets ๐
matrixSDHighCapacityOverflowOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated matrixSDOctets
counter has overflowed."
::= { matrixSDHighCapacityEntry 3 }
And the last one here is matrixSDHighCapacityOctets, the 64-bit octet count for everything sent from the source address to the destination address ๐ Framing bits are left out, FCS octets are kept ๐
matrixSDHighCapacityOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets (excluding framing bits but
including FCS octets) contained in all packets
transmitted from the source address to the
destination address."
::= { matrixSDHighCapacityEntry 4 }
Last but not least, we're starting the High Capacity extensions for the matrixDSTable ๐ง
-- High Capacity extensions for the matrixDSTable
matrixDSHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF MatrixDSHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
matrixDSTable."
::= { matrix 6 }
okay bestie, the MIB gremlins are back ๐ง This is where the High Capacity family keeps stacking up. Each table row gets its own pair of counters, and the 64-bit ones are the real stars here ๐
matrixDSHighCapacityEntry OBJECT-TYPE
SYNTAX MatrixDSHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
matrixDSEntry. These objects will be created by the agent
for all matrixDSEntries associated with whichever
matrixControlEntries it deems appropriate. (i.e., either all
matrixDSHighCapacityEntries associated with a particular
matrixControlEntry will be created, or none of them will
be.)"
INDEX { matrixDSIndex,
matrixDSDestAddress, matrixDSSourceAddress }
::= { matrixDSHighCapacityTable 1 }
MatrixDSHighCapacityEntry ::= SEQUENCE {
matrixDSHighCapacityOverflowPkts Counter32,
matrixDSHighCapacityPkts Counter64,
matrixDSHighCapacityOverflowOctets Counter32,
matrixDSHighCapacityOctets Counter64
}
matrixDSHighCapacityOverflowPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated matrixDSPkts
counter has overflowed."
::= { matrixDSHighCapacityEntry 1 }
matrixDSHighCapacityPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets transmitted from the source
address to the destination address (this number
includes bad packets)."
::= { matrixDSHighCapacityEntry 2 }
matrixDSHighCapacityOverflowOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated matrixDSOctets
counter has overflowed."
::= { matrixDSHighCapacityEntry 3 }
matrixDSHighCapacityOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets (excluding framing bits
but including FCS octets) contained in all packets
transmitted from the source address to the
destination address."
::= { matrixDSHighCapacityEntry 4 }
So the matrixDS row is basically the dynamic duo ๐ฏโโ๏ธ The OverflowPkts and OverflowOctets 32-bit counters just keep track of how many times their 32-bit partners (matrixDSPkts and matrixDSOctets) wrapped around, and the 64-bit ones give you the big running totals. The rows get created all-or-nothing for each matrixControlEntry, so no half-baked tables here ๐
โโ๏ธ
-- High Capacity extensions for the captureBufferTable
captureBufferHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF CaptureBufferHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
captureBufferTable."
::= { capture 3 }
captureBufferHighCapacityEntry OBJECT-TYPE
SYNTAX CaptureBufferHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-1
captureBufferEntry. These objects will be created by the agent
for all captureBufferEntries associated with whichever
bufferControlEntries it deems appropriate. (i.e., either all
captureBufferHighCapacityEntries associated with a particular
bufferControlEntry will be created, or none of them will
be.)"
INDEX { captureBufferControlIndex, captureBufferIndex }
::= { captureBufferHighCapacityTable 1 }
CaptureBufferHighCapacityEntry ::= SEQUENCE {
captureBufferPacketHighCapacityTime Integer32
}
captureBufferPacketHighCapacityTime OBJECT-TYPE
SYNTAX Integer32 (0..999999)
UNITS "nanoseconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of nanoseconds that had passed since this capture
buffer was first turned on when this packet was captured,
modulo 10^6.
This object is used in conjunction with the
captureBufferPacketTime object. This object returns the
number of nano-seconds to be added to to number of
milli-seconds obtained from the captureBufferPacketTime
object, to obtain more accurate inter packet arrival time."
::= { captureBufferHighCapacityEntry 1 }
okay the capture buffer section is giving precision โฑ๏ธโจ This one adds a nanosecond field next to the millisecond timestamp, so you can get a more accurate read on how far apart packets arrived. It's literally the zoom lens on your timestamps ๐ธ The value is capped at 999999 and it counts modulo 10^6, which means it resets every million nanoseconds. Tiny numbers, big vibes ๐
-- High Capacity extensions for the protocolDistStatsTable
protocolDistStatsHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF ProtocolDistStatsHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
protocolDistStatsTable."
::= { protocolDist 3 }
protocolDistStatsHighCapacityEntry OBJECT-TYPE
SYNTAX ProtocolDistStatsHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
protocolDistStatsTable. These objects will be created by the
agent for all protocolDistStatsEntries associated with
whichever protocolDistControlEntries it deems appropriate.
(i.e., either all protocolDistStatsHighCapacityEntries
associated with a particular protocolDistControlEntry will be
created, or none of them will be.)"
INDEX { protocolDistControlIndex, protocolDirLocalIndex }
::= { protocolDistStatsHighCapacityTable 1 }
ProtocolDistStatsHighCapacityEntry ::= SEQUENCE {
protocolDistStatsHighCapacityOverflowPkts ZeroBasedCounter32,
protocolDistStatsHighCapacityPkts ZeroBasedCounter64,
protocolDistStatsHighCapacityOverflowOctets ZeroBasedCounter32,
protocolDistStatsHighCapacityOctets ZeroBasedCounter64
}
protocolDistStatsHighCapacityOverflowPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated protocolDistStatsPkts
counter has overflowed."
::= { protocolDistStatsHighCapacityEntry 1 }
protocolDistStatsHighCapacityPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets without errors received of this
protocol type. Note that this is the number of link-layer
packets, so if a single network-layer packet is fragmented
into several link-layer frames, this counter is incremented
several times."
::= { protocolDistStatsHighCapacityEntry 2 }
protocolDistStatsHighCapacityOverflowOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated protocolDistStatsOctets
counter has overflowed."
::= { protocolDistStatsHighCapacityEntry 3 }
protocolDistStatsHighCapacityOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets in packets received of this protocol
type since it was added to the protocolDistStatsTable
(excluding framing bits but including FCS octets), except for
those octets in packets that contained errors.
Note this doesn't count just those octets in the particular
protocol frames, but includes the entire packet that contained
the protocol."
::= { protocolDistStatsHighCapacityEntry 4 }
protocol distribution, but make it bigger ๐ Same deal as before: the overflow counters track the wraparounds of the regular protocolDistStats counters, and the 64-bit ones hold the long-haul totals. The packet count is a link-layer count, so if one network-layer packet gets chopped into several frames, the counter ticks up once per frame. Not me being extra, that's just how it's counted ๐ง
-- High Capacity extensions for the nlHostTable.
nlHostHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF NlHostHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
nlHostTable."
::= { nlHost 3 }
nlHostHighCapacityEntry OBJECT-TYPE
SYNTAX NlHostHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
nlHostEntry. These objects will be created by the agent
for all nlHostEntries associated with whichever
hlHostControlEntries it deems appropriate. (i.e., either all
nlHostHighCapacityEntries associated with a particular
hlHostControlEntry will be created, or none of them will
be.)"
INDEX { hlHostControlIndex, nlHostTimeMark,
protocolDirLocalIndex, nlHostAddress }
::= { nlHostHighCapacityTable 1 }
NlHostHighCapacityEntry ::= SEQUENCE {
nlHostHighCapacityInOverflowPkts ZeroBasedCounter32,
nlHostHighCapacityInPkts ZeroBasedCounter64,
nlHostHighCapacityOutOverflowPkts ZeroBasedCounter32,
nlHostHighCapacityOutPkts ZeroBasedCounter64,
nlHostHighCapacityInOverflowOctets ZeroBasedCounter32,
nlHostHighCapacityInOctets ZeroBasedCounter64,
nlHostHighCapacityOutOverflowOctets ZeroBasedCounter32,
nlHostHighCapacityOutOctets ZeroBasedCounter64
}
nlHostHighCapacityInOverflowPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated nlHostInPkts
counter has overflowed."
::= { nlHostHighCapacityEntry 1 }
nlHostHighCapacityInPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets without errors transmitted to
this address since it was added to the nlHostHighCapacityTable.
Note that this is the number of link-layer packets, so if a
single network-layer packet is fragmented into several
link-layer frames, this counter is incremented several times."
::= { nlHostHighCapacityEntry 2 }
nlHostHighCapacityOutOverflowPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated nlHostOutPkts
counter has overflowed."
::= { nlHostHighCapacityEntry 3 }
nlHostHighCapacityOutPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets without errors transmitted by
this address since it was added to the nlHostHighCapacityTable.
Note that this is the number of link-layer packets, so if a
single network-layer packet is fragmented into several
link-layer frames, this counter is incremented several times."
::= { nlHostHighCapacityEntry 4 }
nlHostHighCapacityInOverflowOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated nlHostInOctets
counter has overflowed."
::= { nlHostHighCapacityEntry 5 }
nlHostHighCapacityInOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted to this address
since it was added to the nlHostHighCapacityTable
(excluding framing bits but including FCS octets),
excluding those octets in packets that contained
errors.
Note this doesn't count just those octets in the
particular protocol frames, but includes the entire
packet that contained the protocol."
::= { nlHostHighCapacityEntry 6 }
nlHostHighCapacityOutOverflowOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated nlHostOutOctets
counter has overflowed."
::= { nlHostHighCapacityEntry 7 }
and that's the nlHost era ๐ The nlHost table gets the fattest row yet: eight counters covering in and out packets and octets, each with its own overflow buddy. Bestie, the Out-Octets one is the last object in this chunk, so it's giving "to be continued" energy ๐ โจ
okay so the nlHost stuff is wrapping up and we're moving into the nlMatrix tables next ๐ฆ
nlHostHighCapacityOutOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted by this address
since it was added to the nlHostHighCapacityTable
(excluding framing bits but including FCS octets),
excluding those octets in packets that contained
errors.
Note this doesn't count just those octets in the
particular protocol frames, but includes the entire
packet that contained the protocol."
::= { nlHostHighCapacityEntry 8 }
-- High Capacity extensions for the nlMatrixTable
nlMatrixSDHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF NlMatrixSDHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
nlMatrixTable."
::= { nlMatrix 6 }
nlMatrixSDHighCapacityEntry OBJECT-TYPE
SYNTAX NlMatrixSDHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
nlMatrixEntry. These objects will be created by the agent
for all nlMatrixSDEntries associated with whichever
hlMatrixControlEntries it deems appropriate. (i.e., either all
nlMatrixSDHighCapacityEntries associated with a particular
hlMatrixControlEntry will be created, or none of them will
be.)"
INDEX { hlMatrixControlIndex, nlMatrixSDTimeMark,
protocolDirLocalIndex,
nlMatrixSDSourceAddress, nlMatrixSDDestAddress }
::= { nlMatrixSDHighCapacityTable 1 }
NlMatrixSDHighCapacityEntry ::= SEQUENCE {
nlMatrixSDHighCapacityOverflowPkts ZeroBasedCounter32,
nlMatrixSDHighCapacityPkts ZeroBasedCounter64,
nlMatrixSDHighCapacityOverflowOctets ZeroBasedCounter32,
nlMatrixSDHighCapacityOctets ZeroBasedCounter64
}
nlMatrixSDHighCapacityOverflowPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated nlMatrixSDPkts
counter has overflowed."
::= { nlMatrixSDHighCapacityEntry 1 }
nlMatrixSDHighCapacityPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets without errors transmitted from the
source address to the destination address since this entry was
added to the nlMatrixSDHighCapacityTable. Note that this is
the number of link-layer packets, so if a single network-layer
packet is fragmented into several link-layer frames, this
counter is incremented several times."
::= { nlMatrixSDHighCapacityEntry 2 }
nlMatrixSDHighCapacityOverflowOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated nlMatrixSDOctets
counter has overflowed."
::= { nlMatrixSDHighCapacityEntry 3 }
nlMatrixSDHighCapacityOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted from the source address to
the destination address since this entry was added to the
nlMatrixSDHighCapacityTable (excluding framing bits but
including FCS octets), excluding those octets in packets that
contained errors.
Note this doesn't count just those octets in the particular
protocol frames, but includes the entire packet that contained
the protocol."
::= { nlMatrixSDHighCapacityEntry 4 }
-- High Capacity extensions for the nlMatrixDSTable
nlMatrixDSHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF NlMatrixDSHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
nlMatrixDSTable."
::= { nlMatrix 7 }
nlMatrixDSHighCapacityEntry OBJECT-TYPE
SYNTAX NlMatrixDSHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
nlMatrixDSEntry. These objects will be created by the agent
for all nlMatrixDSEntries associated with whichever
hlmatrixControlEntries it deems appropriate. (i.e., either all
nlMatrixDSHighCapacityEntries associated with a particular
hlMatrixControlEntry will be created, or none of them will
be.)"
INDEX { hlMatrixControlIndex, nlMatrixDSTimeMark,
protocolDirLocalIndex,
nlMatrixDSDestAddress, nlMatrixDSSourceAddress }
::= { nlMatrixDSHighCapacityTable 1 }
NlMatrixDSHighCapacityEntry ::= SEQUENCE {
nlMatrixDSHighCapacityOverflowPkts ZeroBasedCounter32,
nlMatrixDSHighCapacityPkts ZeroBasedCounter64,
nlMatrixDSHighCapacityOverflowOctets ZeroBasedCounter32,
nlMatrixDSHighCapacityOctets ZeroBasedCounter64
}
nlMatrixDSHighCapacityOverflowPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated nlMatrixDSPkts
counter has overflowed."
::= { nlMatrixDSHighCapacityEntry 1 }
nlMatrixDSHighCapacityPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets without errors transmitted from the
source address to the destination address since this entry was
added to the nlMatrixDSHighCapacityTable. Note that this is
the number of link-layer packets, so if a single network-layer
packet is fragmented into several link-layer frames, this
counter is incremented several times."
::= { nlMatrixDSHighCapacityEntry 2 }
nlMatrixDSHighCapacityOverflowOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated nlMatrixDSOctets
counter has overflowed."
::= { nlMatrixDSHighCapacityEntry 3 }
nlMatrixDSHighCapacityOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted from the source address
to the destination address since this entry was added to the
nlMatrixDSHighCapacityTable (excluding framing bits but
including FCS octets), excluding those octets in packets that
contained errors.
Note this doesn't count just those octets in the particular
protocol frames, but includes the entire packet that contained
the protocol."
::= { nlMatrixDSHighCapacityEntry 4 }
-- High Capacity extensions for the nlMatrixTopNTable
nlMatrixTopNHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF NlMatrixTopNHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
nlMatrixTopNTable when nlMatrixTopNControlRateBase specifies
a High Capacity TopN Report."
::= { nlMatrix 8 }
nlMatrixTopNHighCapacityEntry OBJECT-TYPE
SYNTAX NlMatrixTopNHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
nlMatrixTopNEntry when nlMatrixTopNControlRateBase specifies
a High Capacity TopN Report. These objects will be created by
the agent for all nlMatrixTopNEntries associated with whichever
nlMatrixTopNControlEntries have a nlMatrixTopNControlRateBase
that specify a high capacity report."
INDEX { nlMatrixTopNControlIndex, nlMatrixTopNIndex }
::= { nlMatrixTopNHighCapacityTable 1 }
NlMatrixTopNHighCapacityEntry ::= SEQUENCE {
nlMatrixTopNHighCapacityProtocolDirLocalIndex Integer32,
nlMatrixTopNHighCapacitySourceAddress OCTET STRING,
nlMatrixTopNHighCapacityDestAddress OCTET STRING,
nlMatrixTopNHighCapacityBasePktRate Gauge32,
nlMatrixTopNHighCapacityOverflowPktRate Gauge32,
nlMatrixTopNHighCapacityPktRate CounterBasedGauge64,
nlMatrixTopNHighCapacityReverseBasePktRate Gauge32,
nlMatrixTopNHighCapacityReverseOverflowPktRate Gauge32,
nlMatrixTopNHighCapacityReversePktRate CounterBasedGauge64,
nlMatrixTopNHighCapacityBaseOctetRate Gauge32,
nlMatrixTopNHighCapacityOverflowOctetRate Gauge32,
nlMatrixTopNHighCapacityOctetRate CounterBasedGauge64,
nlMatrixTopNHighCapacityReverseBaseOctetRate Gauge32,
nlMatrixTopNHighCapacityReverseOverflowOctetRate Gauge32,
nlMatrixTopNHighCapacityReverseOctetRate CounterBasedGauge64
}
nlMatrixTopNHighCapacityProtocolDirLocalIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The protocolDirLocalIndex of the network layer protocol of
this entry's network address."
::= { nlMatrixTopNHighCapacityEntry 1 }
nlMatrixTopNHighCapacitySourceAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The network layer address of the source host in this
conversation.
This is represented as an octet string with
specific semantics and length as identified
by the associated nlMatrixTopNProtocolDirLocalIndex.
For example, if the protocolDirLocalIndex indicates an
encapsulation of ip, this object is encoded as a length
octet of 4, followed by the 4 octets of the ip address,
in network byte order."
::= { nlMatrixTopNHighCapacityEntry 2 }
nlMatrixTopNHighCapacityDestAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The network layer address of the destination host in this
conversation.
This is represented as an octet string with
specific semantics and length as identified
by the associated nlMatrixTopNProtocolDirLocalIndex.
For example, if the nlMatrixTopNProtocolDirLocalIndex
indicates an encapsulation of ip, this object is encoded as a
length octet of 4, followed by the 4 octets of the ip address,
in network byte order."
::= { nlMatrixTopNHighCapacityEntry 3 }
nlMatrixTopNHighCapacityBasePktRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen from the source host
to the destination host during this sampling interval,
modulo 2^32, counted using the rules for counting the
nlMatrixSDPkts object."
::= { nlMatrixTopNHighCapacityEntry 4 }
nlMatrixTopNHighCapacityOverflowPktRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen from the source host
to the destination host during this sampling interval,
divided by 2^32, truncating fractions (i.e., X DIV 2^32),
and counted using the rules for counting the
nlMatrixSDPkts object."
::= { nlMatrixTopNHighCapacityEntry 5 }
nlMatrixTopNHighCapacityPktRate OBJECT-TYPE
SYNTAX CounterBasedGauge64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen from the source host to the
destination host during this sampling interval, counted
using the rules for counting the nlMatrixSDPkts object.
If the value of nlMatrixTopNControlRateBase is
nlMatrixTopNHighCapacityPkts, this variable will be
used to sort this report."
::= { nlMatrixTopNHighCapacityEntry 6 }
nlMatrixTopNHighCapacityReverseBasePktRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen from the destination host to the
source host during this sampling interval, modulo 2^32, counted
using the rules for counting the nlMatrixSDPkts object (note
that the corresponding nlMatrixSDPkts object selected is the
one whose source address is equal to nlMatrixTopNDestAddress
and whose destination address is equal to
nlMatrixTopNSourceAddress.)
Note that if the value of nlMatrixTopNControlRateBase is equal
to nlMatrixTopNHighCapacityPkts, the sort of topN entries is
based entirely on nlMatrixTopNHighCapacityPktRate, and not on
the value of this object."
::= { nlMatrixTopNHighCapacityEntry 7 }
nlMatrixTopNHighCapacityReverseOverflowPktRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen from the destination host to the
source host during this sampling interval, divided by 2^32,
truncating fractions (i.e., X DIV 2^32), and counted
using the rules for counting the nlMatrixSDPkts object (note
that the corresponding nlMatrixSDPkts object selected is the
one whose source address is equal to nlMatrixTopNDestAddress
and whose destination address is equal to
nlMatrixTopNSourceAddress.)
Note that if the value of nlMatrixTopNControlRateBase is equal
to nlMatrixTopNHighCapacityPkts, the sort of topN entries is
based entirely on nlMatrixTopNHighCapacityPktRate, and not on
the value of this object."
::= { nlMatrixTopNHighCapacityEntry 8 }
nlMatrixTopNHighCapacityReversePktRate OBJECT-TYPE
SYNTAX CounterBasedGauge64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen from the destination host to the
source host during this sampling interval, counted
using the rules for counting the nlMatrixSDPkts object (note
that the corresponding nlMatrixSDPkts object selected is the
one whose source address is equal to nlMatrixTopNDestAddress
and whose destination address is equal to
nlMatrixTopNSourceAddress.)
Note that if the value of nlMatrixTopNControlRateBase is equal
to nlMatrixTopNHighCapacityPkts, the sort of topN entries is
based entirely on nlMatrixTopNHighCapacityPktRate, and not on
the value of this object."
::= { nlMatrixTopNHighCapacityEntry 9 }
nlMatrixTopNHighCapacityBaseOctetRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen from the source host to the
destination host during this sampling interval, modulo 2^32,
counted using the rules for counting the nlMatrixSDOctets
object."
::= { nlMatrixTopNHighCapacityEntry 10 }
nlMatrixTopNHighCapacityOverflowOctetRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen from the source host
to the destination host during this sampling interval,
divided by 2^32, truncating fractions (i.e., X DIV 2^32),
and counted using the rules for counting the
nlMatrixSDOctets object."
::= { nlMatrixTopNHighCapacityEntry 11 }
nlMatrixTopNHighCapacityOctetRate OBJECT-TYPE
SYNTAX CounterBasedGauge64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen from the source host
to the destination host during this sampling interval,
counted using the rules for counting the
nlMatrixSDOctets object.
If the value of nlMatrixTopNControlRateBase is
nlMatrixTopNHighCapacityOctets, this variable will be used
to sort this report."
::= { nlMatrixTopNHighCapacityEntry 12 }
nlMatrixTopNHighCapacityReverseBaseOctetRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen from the destination host to the
source host during this sampling interval, modulo 2^32, counted
using the rules for counting the nlMatrixSDOctets object (note
that the corresponding nlMatrixSDOctets object selected is the
one whose source address is equal to nlMatrixTopNDestAddress
and whose destination address is equal to
nlMatrixTopNSourceAddress.)
Note that if the value of nlMatrixTopNControlRateBase is equal
to nlMatrixTopNHighCapacityOctets, the sort of topN entries is
based entirely on nlMatrixTopNHighCapacityOctetRate, and not on
the value of this object."
::= { nlMatrixTopNHighCapacityEntry 13 }
nlMatrixTopNHighCapacityReverseOverflowOctetRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen from the destination host to the
source host during this sampling interval, divided by 2^32,
truncating fractions (i.e., X DIV 2^32), and counted
using the rules for counting the nlMatrixSDOctets object (note
that the corresponding nlMatrixSDOctets object selected is the
one whose source address is equal to nlMatrixTopNDestAddress
and whose destination address is equal to
nlMatrixTopNSourceAddress.)
Note that if the value of nlMatrixTopNControlRateBase is equal
to nlMatrixTopNHighCapacityOctets, the sort of topN entries is
based entirely on nlMatrixTopNHighCapacityOctetRate, and not on
the value of this object."
::= { nlMatrixTopNHighCapacityEntry 14 }
nlMatrixTopNHighCapacityReverseOctetRate OBJECT-TYPE
SYNTAX CounterBasedGauge64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen from the destination host to the
source host during this sampling interval, counted
using the rules for counting the nlMatrixSDOctets object (note
that the corresponding nlMatrixSDOctets object selected is the
one whose source address is equal to nlMatrixTopNDestAddress
and whose destination address is equal to
nlMatrixTopNSourceAddress.)
Note that if the value of nlMatrixTopNControlRateBase is equal
to nlMatrixTopNHighCapacityOctets, the sort of topN entries is
based entirely on nlMatrixTopNHighCapacityOctetRate, and not on
the value of this object."
::= { nlMatrixTopNHighCapacityEntry 15 }
Okay so the TopN rate objects are all wrapped up, and now we're moving on to the high capacity stuff for the alHostTable ๐งโจ It's giving "same vibes, bigger numbers" and I'm obsessed.
-- High Capacity extensions for the alHostTable
alHostHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF AlHostHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
alHostTable."
::= { alHost 2 }
alHostHighCapacityEntry OBJECT-TYPE
SYNTAX AlHostHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
alHostEntry. These objects will be created by the agent
for all alHostEntries associated with whichever
hlHostControlEntries it deems appropriate. (i.e., either all
alHostHighCapacityEntries associated with a particular
hlHostControlEntry will be created, or none of them will
be.)"
INDEX { hlHostControlIndex, alHostTimeMark,
protocolDirLocalIndex, nlHostAddress,
protocolDirLocalIndex }
::= { alHostHighCapacityTable 1 }
AlHostHighCapacityEntry ::= SEQUENCE {
alHostHighCapacityInOverflowPkts ZeroBasedCounter32,
alHostHighCapacityInPkts ZeroBasedCounter64,
alHostHighCapacityOutOverflowPkts ZeroBasedCounter32,
alHostHighCapacityOutPkts ZeroBasedCounter64,
alHostHighCapacityInOverflowOctets ZeroBasedCounter32,
alHostHighCapacityInOctets ZeroBasedCounter64,
alHostHighCapacityOutOverflowOctets ZeroBasedCounter32,
alHostHighCapacityOutOctets ZeroBasedCounter64
}
alHostHighCapacityInOverflowPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated alHostInPkts
counter has overflowed."
::= { alHostHighCapacityEntry 1 }
alHostHighCapacityInPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets of this protocol type without errors
transmitted to this address since it was added to the
alHostHighCapacityTable. Note that this is the number of
link-layer packets, so if a single network-layer packet
is fragmented into several link-layer frames, this counter
is incremented several times."
::= { alHostHighCapacityEntry 2 }
alHostHighCapacityOutOverflowPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated alHostOutPkts
counter has overflowed."
::= { alHostHighCapacityEntry 3 }
alHostHighCapacityOutPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets of this protocol type without errors
transmitted by this address since it was added to the
alHostHighCapacityTable. Note that this is the number of
link-layer packets, so if a single network-layer packet
is fragmented into several link-layer frames, this counter
is incremented several times."
::= { alHostHighCapacityEntry 4 }
alHostHighCapacityInOverflowOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated alHostInOctets
counter has overflowed."
::= { alHostHighCapacityEntry 5 }
alHostHighCapacityInOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted to this address
of this protocol type since it was added to the
alHostHighCapacityTable (excluding framing bits but
including FCS octets), excluding those octets in
packets that contained errors.
Note this doesn't count just those octets in the particular
protocol frames, but includes the entire packet that contained
the protocol."
::= { alHostHighCapacityEntry 6 }
Okay bestie, the overflow counters and the octet counters are where the high-capacity stuff gets real. These are the exact definitions:
alHostHighCapacityOutOverflowOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated alHostOutOctets
counter has overflowed."
::= { alHostHighCapacityEntry 7 }
alHostHighCapacityOutOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets transmitted by this address
of this protocol type since it was added to the
alHostHighCapacityTable (excluding framing bits but
including FCS octets), excluding those octets in
packets that contained errors.
Note this doesn't count just those octets in the particular
protocol frames, but includes the entire packet that contained
the protocol."
::= { alHostHighCapacityEntry 8 }
-- High Capacity extensions for the alMatrixSDTable
alMatrixSDHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF AlMatrixSDHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
alMatrixSDTable."
::= { alMatrix 5 }
alMatrixSDHighCapacityEntry OBJECT-TYPE
SYNTAX AlMatrixSDHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
alMatrixSDEntry. These objects will be created by the agent
for all alMatrixSDEntries associated with whichever
hlMatrixControlEntries it deems appropriate. (i.e., either all
alMatrixSDHighCapacityEntries associated with a particular
hlMatrixControlEntry will be created, or none of them will
be.)"
INDEX { hlMatrixControlIndex, alMatrixSDTimeMark,
protocolDirLocalIndex,
nlMatrixSDSourceAddress, nlMatrixSDDestAddress,
protocolDirLocalIndex }
::= { alMatrixSDHighCapacityTable 1 }
AlMatrixSDHighCapacityEntry ::= SEQUENCE {
alMatrixSDHighCapacityOverflowPkts ZeroBasedCounter32,
alMatrixSDHighCapacityPkts ZeroBasedCounter64,
alMatrixSDHighCapacityOverflowOctets ZeroBasedCounter32,
alMatrixSDHighCapacityOctets ZeroBasedCounter64
}
alMatrixSDHighCapacityOverflowPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated alMatrixSDPkts
counter has overflowed."
::= { alMatrixSDHighCapacityEntry 1 }
alMatrixSDHighCapacityPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets of this protocol type
transmitted from the source address to the destination address
since this entry was added to the alMatrixSDHighCapacityTable.
Note that this is the number of link-layer packets, so if a
single network-layer packet is fragmented into several
link-layer frames, this counter is incremented several times."
::= { alMatrixSDHighCapacityEntry 2 }
alMatrixSDHighCapacityOverflowOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated alMatrixSDOctets
counter has overflowed."
::= { alMatrixSDHighCapacityEntry 3 }
alMatrixSDHighCapacityOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets in good packets of this protocol type
transmitted from the source address to the destination address
since this entry was added to the alMatrixSDHighCapacityTable
(excluding framing bits but including FCS octets).
Note this doesn't count just those octets in the particular
protocol frames, but includes the entire packet that contained
the protocol."
::= { alMatrixSDHighCapacityEntry 4 }
-- High Capacity extensions for the alMatrixDSTable
alMatrixDSHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF AlMatrixDSHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
alMatrixDSTable."
::= { alMatrix 6 }
alMatrixDSHighCapacityEntry OBJECT-TYPE
SYNTAX AlMatrixDSHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
alMatrixSDTable. These objects will be created by the agent
for all alMatrixDSEntries associated with whichever
hlMatrixControlEntries it deems appropriate. (i.e., either all
alMatrixDSHighCapacityEntries associated with a particular
hlMatrixControlEntry will be created, or none of them will
be.)"
INDEX { hlMatrixControlIndex, alMatrixDSTimeMark,
protocolDirLocalIndex,
nlMatrixDSDestAddress, nlMatrixDSSourceAddress,
protocolDirLocalIndex }
::= { alMatrixDSHighCapacityTable 1 }
AlMatrixDSHighCapacityEntry ::= SEQUENCE {
alMatrixDSHighCapacityOverflowPkts ZeroBasedCounter32,
alMatrixDSHighCapacityPkts ZeroBasedCounter64,
alMatrixDSHighCapacityOverflowOctets ZeroBasedCounter32,
alMatrixDSHighCapacityOctets ZeroBasedCounter64
}
alMatrixDSHighCapacityOverflowPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated alMatrixDSPkts
counter has overflowed."
::= { alMatrixDSHighCapacityEntry 1 }
alMatrixDSHighCapacityPkts OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of good packets of this protocol type
transmitted from the source address to the destination address
since this entry was added to the alMatrixDSHighCapacityTable.
Note that this is the number of link-layer packets, so if a
single network-layer packet is fragmented into several
link-layer frames, this counter is incremented several times."
::= { alMatrixDSHighCapacityEntry 2 }
alMatrixDSHighCapacityOverflowOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated alMatrixDSOctets
counter has overflowed."
::= { alMatrixDSHighCapacityEntry 3 }
alMatrixDSHighCapacityOctets OBJECT-TYPE
SYNTAX ZeroBasedCounter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets in good packets of this protocol type
transmitted from the source address to the destination address
since this entry was added to the alMatrixDSHighCapacityTable
(excluding framing bits but including FCS octets).
Note this doesn't count just those octets in the particular
protocol frames, but includes the entire packet that contained
the protocol."
::= { alMatrixDSHighCapacityEntry 4 }
alMatrixTopNHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF AlMatrixTopNHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
alMatrixTopNTable when alMatrixTopNControlRateBase specifies
a High Capacity TopN Report."
::= { alMatrix 7 }
alMatrixTopNHighCapacityEntry OBJECT-TYPE
SYNTAX AlMatrixTopNHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
alMatrixTopNEntry when alMatrixTopNControlRateBase specifies
a High Capacity TopN Report. These objects will be created by
the agent for all alMatrixTopNEntries associated with whichever
alMatrixTopNControlEntries have a alMatrixTopNControlRateBase
that specify a high capacity report."
INDEX { alMatrixTopNControlIndex, alMatrixTopNIndex }
::= { alMatrixTopNHighCapacityTable 1 }
AlMatrixTopNHighCapacityEntry ::= SEQUENCE {
alMatrixTopNHighCapacityProtocolDirLocalIndex Integer32,
alMatrixTopNHighCapacitySourceAddress OCTET STRING,
alMatrixTopNHighCapacityDestAddress OCTET STRING,
alMatrixTopNHighCapacityAppProtocolDirLocalIndex Integer32,
alMatrixTopNHighCapacityBasePktRate Gauge32,
alMatrixTopNHighCapacityOverflowPktRate Gauge32,
alMatrixTopNHighCapacityPktRate CounterBasedGauge64,
alMatrixTopNHighCapacityReverseBasePktRate Gauge32,
alMatrixTopNHighCapacityReverseOverflowPktRate Gauge32,
alMatrixTopNHighCapacityReversePktRate CounterBasedGauge64,
alMatrixTopNHighCapacityBaseOctetRate Gauge32,
alMatrixTopNHighCapacityOverflowOctetRate Gauge32,
alMatrixTopNHighCapacityOctetRate CounterBasedGauge64,
alMatrixTopNHighCapacityReverseBaseOctetRate Gauge32,
alMatrixTopNHighCapacityReverseOverflowOctetRate Gauge32,
alMatrixTopNHighCapacityReverseOctetRate CounterBasedGauge64
}
alMatrixTopNHighCapacityProtocolDirLocalIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The protocolDirLocalIndex of the network layer protocol of
this entry's network address."
::= { alMatrixTopNHighCapacityEntry 1 }
alMatrixTopNHighCapacitySourceAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The network layer address of the source host in this
conversation.
This is represented as an octet string with
specific semantics and length as identified
by the associated alMatrixTopNProtocolDirLocalIndex.
For example, if the alMatrixTopNProtocolDirLocalIndex
indicates an encapsulation of ip, this object is encoded as a
length octet of 4, followed by the 4 octets of the ip address,
in network byte order."
::= { alMatrixTopNHighCapacityEntry 2 }
alMatrixTopNHighCapacityDestAddress OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The network layer address of the destination host in this
conversation.
This is represented as an octet string with
specific semantics and length as identified
by the associated alMatrixTopNProtocolDirLocalIndex.
For example, if the alMatrixTopNProtocolDirLocalIndex
indicates an encapsulation of ip, this object is encoded as a
length octet of 4, followed by the 4 octets of the ip address,
in network byte order."
::= { alMatrixTopNHighCapacityEntry 3 }
alMatrixTopNHighCapacityAppProtocolDirLocalIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the protocol counted by this entry."
::= { alMatrixTopNHighCapacityEntry 4 }
alMatrixTopNHighCapacityBasePktRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen of this protocol from the
source host to the destination host during this sampling
interval, modulo 2^32, counted using the rules for counting
the alMatrixSDPkts object."
::= { alMatrixTopNHighCapacityEntry 5 }
okay so this next bit is all the High Capacity Top-N rate objects ๐
the DESCRIPTION strings are MIB text, so they stay exactly as written ๐ซถ
alMatrixTopNHighCapacityOverflowPktRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen of this protocol from the source
host to the destination host during this sampling interval,
divided by 2^32, truncating fractions (i.e., X DIV 2^32),
and counted using the rules for counting the
alMatrixSDPkts object."
::= { alMatrixTopNHighCapacityEntry 6 }
alMatrixTopNHighCapacityPktRate OBJECT-TYPE
SYNTAX CounterBasedGauge64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen of this protocol from the source
host to the destination host during this sampling interval,
counted using the rules for counting the
alMatrixSDPkts object.
If the value of alMatrixTopNControlRateBase is
alMatrixTopNTerminalsPkts, alMatrixTopNAllPkts,
alMatrixTopNTerminalsHighCapacityPkts, or
alMatrixTopNAllHighCapacityPkts, this variable will be used
to sort this report."
::= { alMatrixTopNHighCapacityEntry 7 }
alMatrixTopNHighCapacityReverseBasePktRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen of this protocol from the
destination host to the source host during this sampling
interval, modulo 2^32, counted using the rules for counting
the alMatrixSDPkts object (note that the corresponding
alMatrixSDPkts object selected is the one whose source address
is equal to alMatrixTopNDestAddress and whose destination
address is equal to alMatrixTopNSourceAddress.)"
::= { alMatrixTopNHighCapacityEntry 8 }
alMatrixTopNHighCapacityReverseOverflowPktRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen of this protocol from the
destination host to the source host during this sampling
interval, divided by 2^32, truncating fractions
(i.e., X DIV 2^32), and counted using the rules for
counting the alMatrixSDPkts object (note that the
corresponding alMatrixSDPkts object selected is the
one whose source address is equal to alMatrixTopNDestAddress
and whose destination address is equal to
alMatrixTopNSourceAddress.)"
::= { alMatrixTopNHighCapacityEntry 9 }
alMatrixTopNHighCapacityReversePktRate OBJECT-TYPE
SYNTAX CounterBasedGauge64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets seen of this protocol from the
destination host to the source host during this sampling
interval, counted using the rules for counting the
alMatrixSDPkts object (note that the corresponding
alMatrixSDPkts object selected is the one whose source address
is equal to alMatrixTopNDestAddress and whose destination
address is equal to alMatrixTopNSourceAddress.)"
::= { alMatrixTopNHighCapacityEntry 10 }
alMatrixTopNHighCapacityBaseOctetRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen of this protocol from the source host
to the destination host during this sampling interval,
modulo 2^32, counted using the rules for counting the
alMatrixSDOctets object."
::= { alMatrixTopNHighCapacityEntry 11 }
alMatrixTopNHighCapacityOverflowOctetRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen of this protocol from the source host
to the destination host during this sampling interval,
divided by 2^32, truncating fractions (i.e., X DIV 2^32),
and counted using the rules for counting the
alMatrixSDOctets object."
::= { alMatrixTopNHighCapacityEntry 12 }
alMatrixTopNHighCapacityOctetRate OBJECT-TYPE
SYNTAX CounterBasedGauge64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen of this protocol from the source host
to the destination host during this sampling interval,
counted using the rules for counting the
alMatrixSDOctets object.
If the value of alMatrixTopNControlRateBase is
alMatrixTopNTerminalsOctets, alMatrixTopNAllOctets,
alMatrixTopNTerminalsHighCapacityOctets, or
alMatrixTopNAllHighCapacityOctets, this variable will be used
to sort this report."
::= { alMatrixTopNHighCapacityEntry 13 }
alMatrixTopNHighCapacityReverseBaseOctetRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen of this protocol from the
destination host to the source host during this sampling
interval, modulo 2^32, counted using the rules for counting
the alMatrixSDOctets object (note that the corresponding
alMatrixSDOctets object selected is the one whose source
address is equal to alMatrixTopNDestAddress and whose
destination address is equal to alMatrixTopNSourceAddress.)"
::= { alMatrixTopNHighCapacityEntry 14 }
alMatrixTopNHighCapacityReverseOverflowOctetRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen of this protocol from the
destination host to the source host during this sampling
interval, divided by 2^32, truncating fractions (i.e., X DIV
2^32), and counted using the rules for counting the
alMatrixSDOctets object (note that the corresponding
alMatrixSDOctets object selected is the one whose source
address is equal to alMatrixTopNDestAddress and whose
destination address is equal to alMatrixTopNSourceAddress.)"
::= { alMatrixTopNHighCapacityEntry 15 }
alMatrixTopNHighCapacityReverseOctetRate OBJECT-TYPE
SYNTAX CounterBasedGauge64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets seen of this protocol from the
destination host to the source host during this sampling
interval, counted using the rules for counting the
alMatrixSDOctets object (note that the corresponding
alMatrixSDOctets object selected is the one whose source
address is equal to alMatrixTopNDestAddress and whose
destination address is equal to alMatrixTopNSourceAddress.)"
::= { alMatrixTopNHighCapacityEntry 16 }
usrHistoryHighCapacityTable OBJECT-TYPE
SYNTAX SEQUENCE OF UsrHistoryHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
usrHistoryTable."
::= { usrHistory 4 }
usrHistoryHighCapacityEntry OBJECT-TYPE
SYNTAX UsrHistoryHighCapacityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Contains the High Capacity RMON extensions to the RMON-2
usrHistoryEntry. These objects will be created by the agent
for all usrHistoryEntries associated with whichever
usrHistoryControlEntries it deems appropriate. (i.e., either all
usrHistoryHighCapacityEntries associated with a particular
usrHistoryControlEntry will be created, or none of them will
be.)"
INDEX { usrHistoryControlIndex, usrHistorySampleIndex,
usrHistoryObjectIndex }
::= { usrHistoryHighCapacityTable 1 }
UsrHistoryHighCapacityEntry ::= SEQUENCE {
usrHistoryHighCapacityOverflowAbsValue Gauge32,
usrHistoryHighCapacityAbsValue CounterBasedGauge64
}
usrHistoryHighCapacityOverflowAbsValue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The absolute value (i.e. unsigned value) of the
user-specified statistic during the last sampling period,
divided by 2^32, truncating fractions (i.e., X DIV 2^32).
The value during the current sampling period is not made
available until the period is completed.
To obtain the true value for this sampling interval, the
associated instance of usrHistoryValStatus should be checked,
and usrHistoryAbsValue adjusted as necessary.
If the MIB instance could not be accessed during the sampling
interval, then this object will have a value of zero and the
associated instance of usrHistoryValStatus will be set to
'valueNotAvailable(1)'."
::= { usrHistoryHighCapacityEntry 1 }
usrHistoryHighCapacityAbsValue OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The absolute value (i.e. unsigned value) of the
user-specified statistic during the last sampling period. The
value during the current sampling period is not made available
until the period is completed.
To obtain the true value for this sampling interval, the
associated instance of usrHistoryValStatus should be checked,
and usrHistoryHighCapacityAbsValue adjusted as necessary.
If the MIB instance could not be accessed during the sampling
interval, then this object will have a value of zero and the
associated instance of usrHistoryValStatus will be set to
'valueNotAvailable(1)'."
::= { usrHistoryHighCapacityEntry 2 }
--
-- High Capacity RMON Probe Capabilities
--
hcRMONCapabilities OBJECT-TYPE
SYNTAX BITS {
mediaIndependentGroup(0),
etherStatsHighCapacityGroup(1),
etherHistoryHighCapacityGroup(2),
hostHighCapacityGroup(3),
hostTopNHighCapacityGroup(4),
matrixHighCapacityGroup(5),
captureBufferHighCapacityGroup(6),
protocolDistributionHighCapacityGroup(7),
nlHostHighCapacityGroup(8),
nlMatrixHighCapacityGroup(9),
nlMatrixTopNHighCapacityGroup(10),
alHostHighCapacityGroup(11),
alMatrixHighCapacityGroup(12),
alMatrixTopNHighCapacityGroup(13),
usrHistoryHighCapacityGroup(14)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An indication of the High Capacity RMON MIB groups supported
on at least one interface by this probe."
::= { probeConfig 16 }
-- Conformance Macros
hcRmonMIBCompliances OBJECT IDENTIFIER ::= { rmonConformance 6 }
hcRmonMIBGroups OBJECT IDENTIFIER ::= { rmonConformance 7 }
hcMediaIndependentCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Describes the requirements for conformance to the
High Capacity Media Independent Group."
MODULE -- this module
MANDATORY-GROUPS { mediaIndependentGroup, hcRMONInformationGroup }
::= { hcRmonMIBCompliances 1 }
that's the end of this chunk bestie, the MIB keeps going from here ๐ง๐
Okay so this chunk is the compliance checklist for the High Capacity RMON-1 MIB, and it's giving very "if you want the perks, you gotta meet the requirements" energy ๐ โจ
hcRmon1MIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Describes the requirements for conformance to the High
Capacity RMON-1 MIB"
MODULE -- this module
GROUP etherStatsHighCapacityGroup
DESCRIPTION
"The etherStatsHighCapacityGroup is optional but requires
implementation of the rmonEtherStatsGroup."
GROUP etherHistoryHighCapacityGroup
DESCRIPTION
"The etherHistoryHighCapacityGroup is optional but
requires implementation of the rmonHistoryControlGroup and
rmonEthernetHistoryGroup."
GROUP hostHighCapacityGroup
DESCRIPTION
"The hostHighCapacityGroup is mandatory when the
hostTopNHighCapacityGroup is implemented. This group also
requires implementation of the rmonHostGroup."
GROUP hostTopNHighCapacityGroup
DESCRIPTION
"The hostTopNHighCapacityGroup is optional but requires
implementation of the rmonHostTopNGroup."
GROUP matrixHighCapacityGroup
DESCRIPTION
"The matrixHighCapacityGroup is optional but requires
implementation of the rmonMatrixGroup."
GROUP captureBufferHighCapacityGroup
DESCRIPTION
"The captureBufferHighCapacityGroup is optional but
requires implementation of the rmonFilterGroup and
rmonPacketCaptureGroup."
MODULE RMON-MIB
GROUP rmonEtherStatsGroup
DESCRIPTION
"The RMON Ethernet Statistics Group is mandatory if the
etherStatsHighCapacityGroup is implemented."
GROUP rmonHistoryControlGroup
DESCRIPTION
"The RMON History Control Group is mandatory if the
etherHistoryHighCapacityGroup is implemented."
GROUP rmonEthernetHistoryGroup
DESCRIPTION
"The RMON Ethernet History Group is mandatory if the
etherHistoryHighCapacityGroup is implemented."
GROUP rmonHostGroup
DESCRIPTION
"The RMON Host Group is mandatory if the
hostHighCapacityGroup is implemented."
GROUP rmonHostTopNGroup
DESCRIPTION
"The RMON Host Top N Group is mandatory if the
hostTopNHighCapacityGroup is implemented."
GROUP rmonMatrixGroup
DESCRIPTION
"The RMON Matrix Group is mandatory if the
matrixHighCapacityGroup is implemented."
GROUP rmonFilterGroup
DESCRIPTION
"The RMON Filter Group is mandatory when the
captureBufferHighCapacityGroup is implemented."
GROUP rmonPacketCaptureGroup
DESCRIPTION
"The RMON Packet Capture Group is mandatory when the
captureBufferHighCapacityGroup is implemented."
::= { hcRmonMIBCompliances 2 }
Basically the RMON-1 compliance statement is a web of "if you have X, you also need Y" ๐ธ๏ธ๐ The high capacity groups are mostly optional, but they come with prerequisites. For example, the etherStatsHighCapacityGroup needs the rmonEtherStatsGroup, and the etherHistoryHighCapacityGroup needs both the rmonHistoryControlGroup and the rmonEthernetHistoryGroup ๐ง
The hostHighCapacityGroup is the one with the most drama ๐ญ It's mandatory when the hostTopNHighCapacityGroup is implemented, and it also requires the rmonHostGroup. Meanwhile, the capture buffer group is optional but needs the rmonFilterGroup and rmonPacketCaptureGroup, and those two RMON groups are mandatory whenever the capture buffer group is implemented ๐
hcRmon2MIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Describes the requirements for conformance to
the High Capacity RMON-2 MIB"
MODULE -- this module
MANDATORY-GROUPS { protocolDistributionHighCapacityGroup,
nlHostHighCapacityGroup,
nlMatrixHighCapacityGroup,
nlMatrixTopNHighCapacityGroup,
usrHistoryHighCapacityGroup,
hcRMONInformationGroup }
MODULE RMON2-MIB
MANDATORY-GROUPS { protocolDirectoryGroup,
protocolDistributionGroup,
addressMapGroup,
nlHostGroup,
nlMatrixGroup,
usrHistoryGroup,
probeInformationGroup }
GROUP rmon1EnhancementGroup
DESCRIPTION
"The rmon1EnhancementGroup is mandatory for systems which
implement RMON [RFC2819]"
::= { hcRmonMIBCompliances 3 }
Next up is the RMON-2 compliance statement ๐ฆ This one is way more strict, because it lists MANDATORY-GROUPS for both this module and the RMON2-MIB. So the high capacity protocol distribution, network layer host, network layer matrix, matrix top N, user history, and HC RMON information groups are all on the must-have list for this module. On the RMON2-MIB side, the protocol directory, protocol distribution, address map, network layer host, network layer matrix, user history, and probe information groups are all required too ๐ธ
The rmon1EnhancementGroup is a GROUP rather than a MANDATORY-GROUP, and the description says it's mandatory for systems that implement RMON [RFC2819]. So it's only a must-have if you're doing RMON, which is a very "it depends on your vibe" situation ๐
hcRmon2MIBApplicationLayerCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Describes the requirements for conformance to
the High Capacity RMON-2 MIB with Application Layer
Enhancements."
MODULE -- this module
MANDATORY-GROUPS { protocolDistributionHighCapacityGroup,
nlHostHighCapacityGroup,
nlMatrixHighCapacityGroup,
nlMatrixTopNHighCapacityGroup,
alHostHighCapacityGroup,
alMatrixHighCapacityGroup,
alMatrixTopNHighCapacityGroup,
usrHistoryHighCapacityGroup,
hcRMONInformationGroup }
MODULE RMON2-MIB
MANDATORY-GROUPS { protocolDirectoryGroup,
protocolDistributionGroup,
addressMapGroup,
nlHostGroup,
nlMatrixGroup,
alHostGroup,
alMatrixGroup,
usrHistoryGroup,
probeInformationGroup }
GROUP rmon1EnhancementGroup
DESCRIPTION
"The rmon1EnhancementGroup is mandatory for systems which
implement RMON [RFC2819]"
::= { hcRmonMIBCompliances 4 }
The application layer version is the same idea, but turned up to the max โจ It adds the application layer host, application layer matrix, and application layer matrix top N high capacity groups on the module side, and the matching alHostGroup and alMatrixGroup on the RMON2-MIB side. Same rmon1EnhancementGroup rule applies: it's mandatory for systems that implement RMON [RFC2819] ๐
Now the object groups start, and these are where the actual counters live ๐ Each OBJECT-GROUP is a named bundle of objects with a STATUS and a DESCRIPTION, and each one has a spot in the hcRmonMIBGroups tree. The first one is the media independent group, which collects utilization statistics for any type of network ๐งโโ๏ธ
mediaIndependentGroup OBJECT-GROUP
OBJECTS {mediaIndependentDataSource,
mediaIndependentDropEvents,
mediaIndependentDroppedFrames,
mediaIndependentInPkts,
mediaIndependentInOverflowPkts,
mediaIndependentInHighCapacityPkts,
mediaIndependentOutPkts,
mediaIndependentOutOverflowPkts,
mediaIndependentOutHighCapacityPkts,
mediaIndependentInOctets,
mediaIndependentInOverflowOctets,
mediaIndependentInHighCapacityOctets,
mediaIndependentOutOctets,
mediaIndependentOutOverflowOctets,
mediaIndependentOutHighCapacityOctets,
mediaIndependentInNUCastPkts,
mediaIndependentInNUCastOverflowPkts,
mediaIndependentInNUCastHighCapacityPkts,
mediaIndependentOutNUCastPkts,
mediaIndependentOutNUCastOverflowPkts,
mediaIndependentOutNUCastHighCapacityPkts,
mediaIndependentInErrors,
mediaIndependentOutErrors,
mediaIndependentInputSpeed,
mediaIndependentOutputSpeed,
mediaIndependentDuplexMode,
mediaIndependentDuplexChanges,
mediaIndependentDuplexLastChange,
mediaIndependentOwner,
mediaIndependentStatus }
STATUS current
DESCRIPTION
"Collects utilization statistics for any type of network."
::= { hcRmonMIBGroups 1 }
That's a LOT of counters, bestie ๐ญ They cover packets, octets, non-unicast packets, errors, speed, duplex mode, and the owner and status fields, with the overflow and high capacity versions stacked next to each other so you can see how the counting scales up ๐ฅ
etherStatsHighCapacityGroup OBJECT-GROUP
OBJECTS { etherStatsHighCapacityOverflowPkts,
etherStatsHighCapacityPkts,
etherStatsHighCapacityOverflowOctets,
etherStatsHighCapacityOctets,
etherStatsHighCapacityOverflowPkts64Octets,
etherStatsHighCapacityPkts64Octets,
etherStatsHighCapacityOverflowPkts65to127Octets,
etherStatsHighCapacityPkts65to127Octets,
etherStatsHighCapacityOverflowPkts128to255Octets,
etherStatsHighCapacityPkts128to255Octets,
etherStatsHighCapacityOverflowPkts256to511Octets,
etherStatsHighCapacityPkts256to511Octets,
etherStatsHighCapacityOverflowPkts512to1023Octets,
etherStatsHighCapacityPkts512to1023Octets,
etherStatsHighCapacityOverflowPkts1024to1518Octets,
etherStatsHighCapacityPkts1024to1518Octets }
STATUS current
DESCRIPTION
"Collects utilization statistics for ethernet networks."
::= { hcRmonMIBGroups 2 }
etherHistoryHighCapacityGroup OBJECT-GROUP
OBJECTS { etherHistoryHighCapacityOverflowPkts,
etherHistoryHighCapacityPkts,
etherHistoryHighCapacityOverflowOctets,
etherHistoryHighCapacityOctets }
STATUS current
DESCRIPTION
"Collects utilization statistics for ethernet networks."
::= { hcRmonMIBGroups 3 }
The ethernet stats group is the one with all the packet size buckets, from 64 octets up through 1024 to 1518 octets ๐ฆ Each bucket gets its own overflow and high capacity counters. The ethernet history group is a smaller version of that, with just overflow and high capacity packets and octets, and both of them are all about ethernet utilization ๐ธ
hostHighCapacityGroup OBJECT-GROUP
OBJECTS { hostHighCapacityInOverflowPkts,
hostHighCapacityInPkts,
hostHighCapacityOutOverflowPkts,
hostHighCapacityOutPkts,
hostHighCapacityInOverflowOctets,
hostHighCapacityInOctets,
hostHighCapacityOutOverflowOctets,
hostHighCapacityOutOctets,
hostTimeHighCapacityInOverflowPkts,
hostTimeHighCapacityInPkts,
hostTimeHighCapacityOutOverflowPkts,
hostTimeHighCapacityOutPkts,
hostTimeHighCapacityInOverflowOctets,
hostTimeHighCapacityInOctets,
hostTimeHighCapacityOutOverflowOctets,
hostTimeHighCapacityOutOctets }
STATUS current
DESCRIPTION
"Collects utilization and error statistics per host."
::= { hcRmonMIBGroups 4 }
hostTopNHighCapacityGroup OBJECT-GROUP
OBJECTS { hostTopNHighCapacityAddress,
hostTopNHighCapacityBaseRate,
hostTopNHighCapacityOverflowRate,
hostTopNHighCapacityRate }
STATUS current
DESCRIPTION
"Prepares sorted reports of utilization and error statistics
per host."
::= { hcRmonMIBGroups 5 }
The host group tracks per-host stats, with in and out counters, both the regular and the "time" flavour ๐ The host top N group is where the sorting happens. It prepares sorted reports of utilization and error statistics per host, so you get the address, base rate, overflow rate, and rate for each entry ๐
matrixHighCapacityGroup OBJECT-GROUP
OBJECTS { matrixSDHighCapacityOverflowPkts,
matrixSDHighCapacityPkts,
matrixSDHighCapacityOverflowOctets,
matrixSDHighCapacityOctets,
matrixDSHighCapacityOverflowPkts,
matrixDSHighCapacityPkts,
matrixDSHighCapacityOverflowOctets,
matrixDSHighCapacityOctets }
STATUS current
DESCRIPTION
"Collects utilization statistics per conversation."
::= { hcRmonMIBGroups 6 }
captureBufferHighCapacityGroup OBJECT-GROUP
OBJECTS { captureBufferPacketHighCapacityTime }
STATUS current
DESCRIPTION
"Provides finer granularity time stamps."
::= { hcRmonMIBGroups 7 }
The matrix group collects utilization per conversation, with both the SD and DS directions covered ๐ And the capture buffer group is tiny but mighty, because it only has one object for finer granularity time stamps โญ
protocolDistributionHighCapacityGroup OBJECT-GROUP
OBJECTS { protocolDistStatsHighCapacityOverflowPkts,
protocolDistStatsHighCapacityPkts,
protocolDistStatsHighCapacityOverflowOctets,
protocolDistStatsHighCapacityOctets }
STATUS current
DESCRIPTION
"Collects the relative amounts of octets and packets for the
different protocols detected on a network segment."
::= { hcRmonMIBGroups 8 }
nlHostHighCapacityGroup OBJECT-GROUP
OBJECTS { nlHostHighCapacityInOverflowPkts,
nlHostHighCapacityInPkts,
nlHostHighCapacityOutOverflowPkts,
nlHostHighCapacityOutPkts,
nlHostHighCapacityInOverflowOctets,
nlHostHighCapacityInOctets,
nlHostHighCapacityOutOverflowOctets,
nlHostHighCapacityOutOctets }
STATUS current
DESCRIPTION
"Counts the amount of traffic sent from and to each network
address discovered by the probe."
::= { hcRmonMIBGroups 9 }
nlMatrixHighCapacityGroup OBJECT-GROUP
OBJECTS { nlMatrixSDHighCapacityOverflowPkts,
nlMatrixSDHighCapacityPkts,
nlMatrixSDHighCapacityOverflowOctets,
nlMatrixSDHighCapacityOctets,
nlMatrixDSHighCapacityOverflowPkts,
nlMatrixDSHighCapacityPkts,
nlMatrixDSHighCapacityOverflowOctets,
nlMatrixDSHighCapacityOctets }
STATUS current
DESCRIPTION
"Counts the amount of traffic sent between each pair of
network addresses discovered by the probe."
::= { hcRmonMIBGroups 10 }
The protocol distribution group gives you the relative amounts of octets and packets for each protocol on a network segment ๐ง The network layer host group counts traffic sent from and to each network address the probe finds, and the network layer matrix group counts traffic between each pair of network addresses ๐ Both of them are the high capacity versions, so they've got those overflow counters right alongside the regular ones, periodt ๐ซถ
6. Security Considerations ๐
okay bestie, this part is serious, so read it carefully ๐ฅบโจ to implement this MIB, a probe must capture every single packet on the locally-attached network, including the packets between third parties ๐. those packets get analyzed to collect network addresses, protocol usage info, and conversation stats. data like that can be super sensitive in some environments ๐ so in those places the admin may wanna restrict SNMP access to the probe ๐
a probe that runs this MIB will probably also run RMON [RFC 2819] ๐ and RMON has functions that hand back the contents of captured packets, which could include sensitive user data or passwords ๐ญ it is recommended that SNMP access to those functions be restricted.
a bunch of the objects in this MIB have a MAX-ACCESS of read-write and/or read-create ๐ ๏ธ those objects can be sensitive or vulnerable in some network environments ๐ and SET operations in a non-secure environment without proper protection can seriously mess with network operations ๐จ
SNMPv1 on its own is not a secure environment ๐ โโ๏ธ even if the network is secure (like if you're using IPSec), there's still no control over who on that secure network can GET/SET (read/change/create/delete) the objects in this MIB ๐ค
it is recommended that implementers look at the security features provided by the SNMPv3 framework ๐ specifically, the User-based Security Model RFC 2574 [RFC2574] and the View-based Access Control Model RFC 2575 [RFC2575] are recommended, so use them!! ๐
and then, the customer/user is responsible for making sure the SNMP entity that gives access to an instance of this MIB is configured properly ๐ซถ so that only the principals (users) with legitimate rights can actually GET or SET (change/create/delete) those objects. that part is on you, bestie ๐
7. Acknowledgments ๐
this doc was produced by the IETF Remote Network Monitoring Working Group, and honestly they ate ๐๐
8. References ๐
- [1] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999.
- [2] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990.
- [3] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991.
- [4] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991.
- [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
- [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
- [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
- [8] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990.
- [9] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996.
- [10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996.
- [11] Case, J., Harrington D., Presuhn R. and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999.
- [12] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999.
- [13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
- [14] Levi, D., Meyer, P. and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999.
- [15] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999.
- [16] McCloghrie, K. and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213, March 1991.
- [17] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000.
- [18] Waldbusser, S., "Remote Network Monitoring MIB", STD 59, RFC 2819, May 2000.
- [19] Waldbusser, S., "Token Ring Extensions to the Remote Network Monitoring MIB", RFC 1513, September 1993.
- [20] Waldbusser, S., "Remote Network Monitoring Management Information Base Version 2 using SMIv2", RFC 2021, January 1997.
- [21] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework, RFC 2570, April 1999.
9. Notices ๐ธ
the IETF takes no position on the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology in this doc, or on whether any license under those rights might or might not be available ๐คทโโ๏ธ and it doesn't claim to have tried to identify any such rights either. info on the IETF's procedures for rights in standards-track and standards-related docs can be found in BCP-11 ๐ copies of claimed rights made available for publication, any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for implementers or users to use such proprietary rights, can be obtained from the IETF Secretariat ๐
the IETF also invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard ๐ฆ just send that info to the IETF Executive Director.
10. Author's Address ๐
Steve Waldbusser ๐ง
Phone: +1-650-948-6500 Fax: +1-650-745-0671 EMail: waldbusser@nextbeacon.com
11. Full Copyright Statement โจ
Okay bestie, this is the legal bit, but it's still important, so let's make it cute ๐. The copyright belongs to The Internet Society (2002). All Rights Reserved. ๐
You're allowed to copy and share this document and translations of it, and you can write derivative works that comment on or explain it or help people implement it, and publish and distribute those too, in whole or in part, with no real restrictions ๐ฆ. The one catch is that the copyright notice and this paragraph have to stay on every copy and every derivative work ๐ซถ.
Here's the other catch: the document itself can't be modified in any way. You can't remove the copyright notice or the references to the Internet Society or other Internet organizations ๐ญ. The exceptions are when it's needed for developing Internet standards, in which case the Internet Standards process copyright procedures must be followed, or when it's being translated into languages other than English ๐.
The limited permissions above are perpetual, and they won't be revoked by the Internet Society or its successors or assigns ๐. Nobody can take them back, periodt โจ.
Last thing, and it's a big one โญ: this document and the information in it are provided on an "AS IS" basis. THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ๐. So they're not promising it'll work for you, and you're using it at your own risk ๐.
Acknowledgement ๐ธ
Funding for the RFC Editor function is currently provided by the Internet Society ๐. The people keeping the RFC editing process running get their money from the Internet Society, and that's the whole story ๐ง.
๐ฆ where this page comes from
- ietf: rfc3273 2002-07
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms