Network Working Group B. Clouston, Editor Request for Comments: 2238 Cisco Systems Category: Standards Track B. Moore, Editor IBM Corporation November 1997
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
Copyright (C) The Internet Society (1997). All Rights Reserved.
1. Status of this Memo
2. Introduction
3. The SNMP Network Management Framework
4. Overview
4.1 HPR MIB structure
5. Definitions
6. Acknowledgments
7. References
8. Security Considerations
9. Authors' Addresses
10. Full Copyright Statement
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines objects for monitoring and controlling network devices with HPR (High Performance Routing) capabilities. This memo identifies managed objects for the HPR protocol.
The SNMP Network Management Framework consists of several components. For the purpose of this specification, the applicable components of the Framework are the SMI and related documents [1, 2, 3], which define the mechanisms used for describing and naming objects for the purpose of management.
The Framework permits new objects to be defined for the purpose of experimentation and evaluation.
This document identifies objects for monitoring the configuration and active characteristics of devices with HPR capabilities. HPR is an enhancement to the Advanced Peer-to-Peer Network (APPN) architecture that provides fast data routing and improved session reliability. APPN is one of the protocols that can use the HPR transport mechanism. See the SNANAU APPN MIB [4] for management of APPN and APPN use of the HPR transport.
The HPR terms and overall architecture [5] are available at http://www.networking.ibm.com/app/aiwdoc/aiwsrc.htm.
Automatic Network Routing (ANR) is a fast low-level routing technique. Each node assigns a unique (within that node) ANR label for each out-bound link as it is activated. The label size is defined by the ANR node, and nodes only need to know how to interpret their own labels. The ANR string is a group of ANR labels encoded in a header in front of the message being sent. At each hop the node strips off its own ANR label and forwards the message onto the link with that label. The last label in the string is the Network Connection Endpoint (NCE), which identifies the component within the destination node that is to receive the message.
Rapid Transport Protocol (RTP) is an end-to-end full duplex transport connection (pipe). It provides for high-speed transport of data using ANR. RTP is connection-oriented, and delivers data in correct order reliably. Error recovery is done efficiently with selective retransmission of data. An RTP path can be switched without disrupting the sessions using it. An RTP path switch may be done automatically if a link in the path fails and another RTP path is available, or on demand to attempt to restore the optimal path.
RTP performs flow/congestion control with the Adaptive Rate-Based (ARB) algorithm, described in [5]. ARB is done only at the endpoints of the RTP pipe, so intermediate hops are not involved.
ARB regulates the flow of data over an RTP connection by adaptively changing the sender's rate based on feedback on the receiver's rate. It is designed to prevent congestion rather than react to it.
In this document, we describe HPR managed objects.
Highlights of the management functions supported by the HPR MIB module include the following:
This MIB module does not support:
Although HPR is an extension to APPN, the HPR MIB relies very little upon the APPN MIB. The appnNodeCounterDisconTime object in the APPN MIB is used to detect discontinuities in HPR MIB counters. The hprNodeCpName object in this MIB has the same value as the appnNodeCpName object in the APPN MIB.
The HPR MIB module contains the following collections of objects:
These are described below in more detail.
The hprGlobal group consists of general objects such as the APPN CP (control point) name of the HPR node and the level of support for operator-requested path switches.
The hprAnrRouting group consists objects to monitor and control the counting of ANR packets received and the following table:
The hprAnrRoutingTable correlates incoming ANR labels to the outbound transmission group (TG) or local NCE to which incoming packet will be forwarded. An entry defines the label type as identifying a local NCE or a TG, identifies the NCE or TG, and counts the number of packets received with the entry's ANR label.
The hprTransportUser group consists of the following table:
The hprNceTable identifies network connection endpoints and their function types. The function type can be any combination of a CP, logical unit (LU), boundary function, and route setup.
The hprRtp group consists of the following objects and tables:
1) hprRtpGlobe
These objects contain information about the number of RTP connection setups, and control of RTP counters.
2) hprRtpTable
This table contains one entry for each RTP connection. The information includes local and remote NCE IDs and TCIDs (transport connection identifiers), timers, send rates, and statistics. A path switch can be triggered by the hprRptPathSwitchTrigger object if the agent node supports it; however, a new path cannot be specified.
3) hprRtpStatusTable
This table contains statistics and historical information for RTP path switches attempts, including old and new ANR strings and Route Selection Control Vectors (RSCVs), why the path switch was initiated, and the result (successful or reason for failure).
IMPORTS
DisplayString, DateAndTime, TimeStamp, TEXTUAL-CONVENTION
FROM SNMPv2-TC
Counter32, Gauge32, Unsigned32, TimeTicks,
OBJECT-TYPE, MODULE-IDENTITY
FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
snanauMIB
FROM SNA-NAU-MIB
SnaControlPointName
FROM APPN-MIB;
"
Bob Clouston
Cisco Systems
7025 Kit Creek Road
Tel: 1 919 472 2333 E-mail: clouston@cisco.com
Bob Moore
IBM Corporation
800 Park Offices Drive
RHJA/664
Research Triangle Park, NC 27709, USA
Tel: 1 919 254 4436 E-mail: remoore@ralvm6.vnet.ibm.com " DESCRIPTION "This is the MIB module for objects used to manage network devices with HPR capabilities." ::= { snanauMIB 6 } -- snanauMIB ::= { mib-2 34 }
bit 0: control point
bit 1: logical unit
bit 2: boundary function
bit 3: route setup
"
SYNTAX BITS { controlPoint(0),
logicalUnit(1),
boundaryFunction(2),
routeSetup(3) }
SYNTAX Counter32
hprObjects OBJECT IDENTIFIER ::= { hprMIB 1 }
::= { hprGlobal 1 }
notSupported(1) - the agent does not support operator-requested path switches switchTriggerSupported(2) - the agent supports a 'switch path now' command from an operator, but not a command to switch to a specified path switchToPathSupported(3) - the agent supports both a 'switch path now' command and a command to switch to a specified path. Note that the latter command is not available via this MIB; a system that supports it must do so via other means, such as a local operator interface." ::= { hprGlobal 2 }
::= { hprAnrRouting 1 }
notActive(1) - the counter hprAnrPacketsReceived returns no meaningful value
active(2) - the counter hprAnrPacketsReceived is being incremented and is returning meaningful values" ::= { hprAnrRouting 2 }
::= { hprAnrRouting 3 }
::= { hprAnrRouting 4 }
INDEX { hprAnrLabel }
::= { hprAnrRoutingTable 1 }
hprAnrLabel OCTET STRING, hprAnrType INTEGER, hprAnrOutTgDest DisplayString, hprAnrOutTgNum INTEGER, hprAnrPacketsReceived Counter32, hprAnrCounterDisconTime TimeStamp }
::= { hprAnrRoutingEntry 1 }
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An object indicating whether an ANR label assigned by this
node identifies a local NCE or a TG on which outgoing packets
are forwarded.
nce(1) - the ANR label identifies a local NCE. In this case the hprAnrOutTgDest and hprAnrOutTgNum objects have no meaning.
tg(2) - the ANR label identifies a TG." ::= { hprAnrRoutingEntry 2 }
This object corresponds to the appnLocalTgDest object in the APPN MIB."
::= { hprAnrRoutingEntry 3 }
This object corresponds to the appnLocalTgNum object in the APPN MIB."
::= { hprAnrRoutingEntry 4 }
SYNTAX Counter32
UNITS "ANR packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of packets received with this ANR label as their
first label.
A Management Station can detect discontinuities in this counter by monitoring the hprAnrCounterDisconTime object in the same row."
::= { hprAnrRoutingEntry 5 }
::= { hprAnrRoutingEntry 6 }
::= { hprTransportUser 1 }
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The NCE ID is used to index this table."
INDEX { hprNceId }
::= { hprNceTable 1 }
hprNceId OCTET STRING, hprNceType HprNceTypes, hprNceDefault HprNceTypes, hprNceInstanceId OCTET STRING }
- appnLsCpCpNceId - appnLsRouteNceId - appnLsBfNceId - appnIsInRtpNceId - appnIsRtpNceId
In each case this value identifies a row in this table containing information related to that in the APPN MIB."
::= { hprNceEntry 1 }
::= { hprNceEntry 2 }
::= { hprNceEntry 3 }
::= { hprNceEntry 4 }
counter to be incremented.
A Management Station can detect discontinuities in this counter by monitoring the appnNodeCounterDisconTime object in the APPN MIB."
::= { hprRtpGlobe 1 }
notActive(1) - the counters in the hprRtpTable are returning no meaningful values
active(2) - the counters in the hprRtpTable are being incremented and are returning meaningful values" ::= { hprRtpGlobe 2 }
::= { hprRtpGlobe 3 }
SYNTAX SEQUENCE OF HprRtpEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The RTP Connection table"
::= { hprRtp 2 }
INDEX
{ hprRtpLocNceId, hprRtpLocTcid } ::= { hprRtpTable 1 }
hprRtpLocNceId OCTET STRING, -- local nce id hprRtpLocTcid OCTET STRING, -- local tcid hprRtpRemCpName SnaControlPointName,-- remote cp name hprRtpRemNceId OCTET STRING, -- remote nce id hprRtpRemTcid OCTET STRING, -- remote tcid hprRtpPathSwitchTrigger INTEGER, -- trigger (read-write) hprRtpRscv OCTET STRING, -- rscv hprRtpTopic DisplayString, -- topic (cos) hprRtpState INTEGER, -- state hprRtpUpTime TimeTicks, -- up time hprRtpLivenessTimer Unsigned32, -- liveness timer hprRtpShortReqTimer Unsigned32, -- short request timer hprRtpPathSwTimer Unsigned32, -- path switch timer hprRtpLivenessTimeouts HprRtpCounter, -- liveness timeouts hprRtpShortReqTimeouts HprRtpCounter, -- short req timeouts hprRtpMaxSendRate Gauge32, -- maximum send rate hprRtpMinSendRate Gauge32, -- minimum send rate hprRtpCurSendRate Gauge32, -- current send rate hprRtpSmRdTripDelay Gauge32, -- smooth rnd trip delay hprRtpSendPackets HprRtpCounter, -- packets sent
hprRtpRecvPackets HprRtpCounter, -- packets received hprRtpSendBytes HprRtpCounter, -- bytes sent hprRtpRecvBytes HprRtpCounter, -- bytes received hprRtpRetrPackets HprRtpCounter, -- pkts re-xmitted hprRtpPacketsDiscarded HprRtpCounter, -- pkts discarded hprRtpDetectGaps HprRtpCounter, -- gaps detected hprRtpRateReqSends HprRtpCounter, -- rate req send hprRtpOkErrPathSws HprRtpCounter, -- ok err path sws hprRtpBadErrPathSws HprRtpCounter, -- bad err path sws hprRtpOkOpPathSws HprRtpCounter, -- ok op path sws hprRtpBadOpPathSws HprRtpCounter, -- bad op path sws hprRtpCounterDisconTime TimeStamp -- discontinuity ind }
- appnLsCpCpNceId - appnLsRouteNceId - appnLsBfNceId - appnIsInRtpNceId - appnIsRtpNceId
In each case this value identifies a row in this table containing information related to that in the APPN MIB."
::= { hprRtpEntry 1 }
related to that in the APPN MIB."
::= { hprRtpEntry 2 }
::= { hprRtpEntry 3 }
::= { hprRtpEntry 4 }
::= { hprRtpEntry 5 }
The value ready(1) is returned on GET operations until a SET has been processed; after that the value received on the most recent SET is returned.
This MIB module provides no support for an operator-requested switch to a specified path."
::= { hprRtpEntry 6 }
The value returned in this object during a path switch is implementation-dependent: it may be the old path, the new path, a zero-length string, or some other valid RSCV string."
::= { hprRtpEntry 7 }
::= { hprRtpEntry 8 }
rtpListening - connection open; waiting for other end to call in rtpCalling - connection opened, attempting to call out, have not yet received any data from other end rtpConnected - connection is active; responded to a call-in or received other end's TCID from a call-out attempt rtpPathSwitching - the path switch timer is running; attempting to find a new path for this connection. rtpDisconnecting - no sessions are using this connection; in process of bringing it down other - the connection is not in any of the states listed above." ::= { hprRtpEntry 9 }
::= { hprRtpEntry 10 }
::= { hprRtpEntry 11 }
DESCRIPTION
"The value of the RTP SHORT_REQ timer, in units of 1/100 of a
second. This timer represents the maximum time that a sender
waits for a reply from a receiver."
::= { hprRtpEntry 12 }
::= { hprRtpEntry 13 }
::= { hprRtpEntry 14 }
::= { hprRtpEntry 15 }
For more details on this and other parameters related to HPR, see the High Performance Routing Architecture Reference."
::= { hprRtpEntry 16 }
For more details on this and other parameters related to HPR, see the High Performance Routing Architecture Reference."
::= { hprRtpEntry 17 }
For more details on this and other parameters related to HPR, see the High Performance Routing Architecture Reference."
::= { hprRtpEntry 18 }
For more details on this and other parameters related to HPR, see the High Performance Routing Architecture Reference."
::= { hprRtpEntry 19 }
::= { hprRtpEntry 20 }
::= { hprRtpEntry 21 }
::= { hprRtpEntry 22 }
::= { hprRtpEntry 23 }
SYNTAX HprRtpCounter
UNITS "RTP packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of packets retransmitted on this RTP connection."
::= { hprRtpEntry 24 }
::= { hprRtpEntry 25 }
::= { hprRtpEntry 26 }
::= { hprRtpEntry 27 }
connection due to errors."
::= { hprRtpEntry 28 }
::= { hprRtpEntry 29 }
::= { hprRtpEntry 30 }
::= { hprRtpEntry 31 }
the more recent of two times: the time at which the connection was established or the time at which the HPR counters were last turned on or off."
::= { hprRtpEntry 32 }
::= { hprRtp 3 }
INDEX
{ hprRtpStatusLocNceId,
hprRtpStatusLocTcid,
hprRtpStatusIndex }
::= { hprRtpStatusTable 1 } HprRtpStatusEntry ::= SEQUENCE { hprRtpStatusLocNceId OCTET STRING, -- local nce id hprRtpStatusLocTcid OCTET STRING, -- local tcid hprRtpStatusIndex Unsigned32, -- index hprRtpStatusStartTime DateAndTime, -- time stamp hprRtpStatusEndTime DateAndTime, -- time stamp hprRtpStatusRemCpName SnaControlPointName,-- remote cp name hprRtpStatusRemNceId OCTET STRING, -- remote nce id hprRtpStatusRemTcid OCTET STRING, -- remote tcid hprRtpStatusNewRscv OCTET STRING, -- new rscv hprRtpStatusOldRscv OCTET STRING, -- old rscv hprRtpStatusCause INTEGER, -- cause hprRtpStatusLastAttemptResult INTEGER -- result of last }
::= { hprRtpStatusEntry 1 }
::= { hprRtpStatusEntry 2 }
all entries in the table, or to run a separate counter for the entries for each RTP connection. In the unlikely event of a wrap, it is assumed that Management Stations will have the ability to order table entries correctly."
::= { hprRtpStatusEntry 3 }
::= { hprRtpStatusEntry 4 }
::= { hprRtpStatusEntry 5 }
::= { hprRtpStatusEntry 6 }
::= { hprRtpStatusEntry 7 }
SYNTAX OCTET STRING (SIZE (8))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The remote TCID of this RTP connection."
::= { hprRtpStatusEntry 8 }
::= { hprRtpStatusEntry 9 }
::= { hprRtpStatusEntry 10 }
other(1) - Reason other than those listed below, rtpConnFail(2) - RTP connection failure detected, locLinkFail(3) - Local link failure,
remLinkFail(4) - Remote link failure (learned from TDUs), operRequest(5) - Operator requested path switch. "
::= { hprRtpStatusEntry 11 }
The values are defined as follows:
successful(1) - The final path switch attempt was successful. initiatorMoving(2) - The final path switch attempt failed because the initiator is mobile, and there was no active link out of this node. directorySearchFailed(3) - The final path switch attempt failed because a directory search for the destination node's CP name failed. rscvCalculationFailed(4) - The final path switch attempt failed because an RSCV to the node containing the remote RTP endpoint could not be calculated. negativeRouteSetupReply(5) - The final path switch attempt failed because route setup failed for the new path. backoutRouteSetupReply(6) - The final path switch attempt failed because the
remote RTP endpoint refused
to continue the RTP
connection.
timeoutDuringFirstAttempt(7) - The path switch timer
expired during the first
path switch attempt.
otherUnsuccessful(8) - The final path switch attempt failed for a reason other than those listed above." ::= { hprRtpStatusEntry 12 }
MODULE -- this module
GROUP hprRtpConfGroup DESCRIPTION "The hprRtpConfGroup is mandatory for HPR implementations supporting the HPR transport tower." ::= { hprCompliances 1 }
::= { hprGroups 1 }
::= { hprGroups 2 }
::= { hprGroups 3 }
hprRtpGlobeCtrStateTime,
hprRtpRemCpName,
hprRtpRemNceId,
hprRtpRemTcid,
hprRtpPathSwitchTrigger,
hprRtpRscv,
hprRtpTopic,
hprRtpState,
hprRtpUpTime,
hprRtpLivenessTimer,
hprRtpShortReqTimer,
hprRtpPathSwTimer,
hprRtpLivenessTimeouts,
hprRtpShortReqTimeouts,
hprRtpMaxSendRate,
hprRtpMinSendRate,
hprRtpCurSendRate,
hprRtpSmRdTripDelay,
hprRtpSendPackets,
hprRtpRecvPackets,
hprRtpSendBytes,
hprRtpRecvBytes,
hprRtpRetrPackets,
hprRtpPacketsDiscarded,
hprRtpDetectGaps,
hprRtpRateReqSends,
hprRtpOkErrPathSws,
hprRtpBadErrPathSws,
hprRtpOkOpPathSws,
hprRtpBadOpPathSws,
hprRtpCounterDisconTime,
hprRtpStatusStartTime,
hprRtpStatusEndTime,
hprRtpStatusRemNceId,
hprRtpStatusRemTcid,
hprRtpStatusRemCpName,
hprRtpStatusNewRscv,
hprRtpStatusOldRscv,
hprRtpStatusCause,
hprRtpStatusLastAttemptResult
}
STATUS current
DESCRIPTION
"A collection of objects providing the instrumentation for RTP
connection end points."
::= { hprGroups 4 }
This MIB module is the product of the IETF SNA NAU MIB WG and the AIW APPN/HPR MIBs SIG. Thanks to Ray Bird, IBM Corporation; Jim Cobban, Nortel; and Laura Petrie, IBM Corporation, for their contributions and review.
[1] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996.
[2] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Textual Conventions for Version 2 of the Simple
Network Management Protocol (SNMPv2)", RFC 1903, January 1996.
[3] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Conformance Statements for Version 2 of the Simple
Network Management Protocol (SNMPv2)", RFC 1904, January 1996.
[4] Clouston, B., and B. Moore, "Definition of Managed Objects for APPN", RFC 2115, June 1997.
[5] IBM, APPN High Performance Routing Architecture Reference, SV40- 1018-00.
[6] IBM, SNA/MS Formats, GC31-8302-00
In most cases, MIBs are not themselves security risks; if SNMP security is operating as intended, the use of a MIB to view information about a system, or to change some parameter at the system, is a tool, not a threat.
None of the read-only objects in the HPR MIB reports a password, user data, or anything else that is particularly sensitive. Some enterprises view their network configuration itself, as well as information about network usage and performance, as corporate assets; such enterprises may wish to restrict SNMP access to most of the objects in the MIB.
One read-write object in the MIB can affect network operations:
It is recommended that SNMP access to this object be restricted.
Other read-write objects control the gathering of network management data; controlling access to these objects is less critical.
Bob Clouston
Cisco Systems
7025 Kit Creek Road
Phone: +1 919 472 2333
EMail: clouston@cisco.com
Bob Moore
IBM Corporation
800 Park Offices Drive
CNMA/664
Phone: +1 919 254 4436
EMail: remoore@ralvm6.vnet.ibm.com
Copyright (C) The Internet Society (1997). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and 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.