Network Working Group L. Labarre, Editor Request for Comments: 1214 MITRE April 1991 OSI Internet Management: Management Information Base Status of this Memo This RFC specifies an IAB standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "IAB Official Protocol Standards" for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract This RFC documents a MIB for use with CMIP, either over pure OSI stacks or with the CMIP over TCP specification. It redefines objects comprised by the second revision of the Management Information Base for Network Management of TCP/IP-based internets: MIB-II so as to conform to the OSI structure of management information. This document is a product of the IETF OIM working group. Table of Contents 1. Introduction................................................ 2 2. Additions to MIB-II......................................... 3 2.1 Structure of the OIM Subtree............................... 3 2.2 Supporting ISO Definitions................................. 3 2.3 Additions for Object Instance Identification............... 4 2.3.1 Distinguished Names...................................... 4 2.4 Events..................................................... 5 2.5 Containment (Naming) Tree Definition....................... 5 2.6 Changes from RFC 1158...................................... 6 3. Format of OSI Templates..................................... 7 4. Object Class Definitions.................................... 7 5. Attribute Definitions....................................... 16 6. Notifications............................................... 44 7. The Containment Hierarchy................................... 45 8. ASN.1 Definitions........................................... 49 9. Acknowledgements............................................ 54 References..................................................... 55 Appendix 1: Notational Tools for Managed Object Definition..... 57 A1.1 Overview of Notational Tools.............................. 57 A1.2 Conventions Used in Template Definitions.................. 58 A1.3 Managed Object Class Template............................ 60 A1.4 Package Template......................................... 63
A1.5 Parameter Template........................................ 67 A1.6 Name Binding Template.................................... 67 A1.7 Attribute Template........................................ 70 A1.8 Notification Template.................................... 73 Appendix 2: New Objects: Internet SMI Object Type Macros....... 76 Appendix 3: Supporting Definitions............................. 81 Security Considerations........................................ 82 Author's Address............................................... 83 1. Introduction This memo defines the management information base (MIB) for use with the OSI network management protocol in TCP/IP based internets. It formats the Management Information Base (MIB-II) in OSI templates and adds variables necessary for use with the OSI management protocol. Together with internet memos that define agreements for using the OSI management protocol to manage TCP/IP internets (RFC 1189) [3], the management information base: MIB-II, and OSI standards defining the structure of management information (ISO/IEC DIS 10165) [4,5,6], these documents provide an OSI compatible architecture and system for managing TCP/IP based internets and in particular the Internet community. This OSI version of the MIB specification is an incremental refinement of MIB-II. It has been designed according to the following policy: first, maintain compatibility with MIB-II by including objects in MIB-II without changes to their registered identifiers, syntax, and behaviour; second, format the MIB-II using the OSI structure of information defined templates; third, add attributes necessary for identification using the OSI management protocol; fourth, identify object instances in a manner which is compatible with development of a common application programming interface for both CMIP and SNMP; and finally, define notifications (events), including those defined by SNMP (RFC 1157) [14], deemed necessary for management. It is expected that the MIB will grow over time to accommodate the changing needs of the Internet. As reported in RFC 1109, Report of the Second Ad Hoc Network Management Review Group [13], the requirements for SNMP and OSI frameworks were more different than anticipated. Therefore, the requirement for compatibility between the SMI/MIB for both frameworks was suspended. This action allowed both frameworks to independently define the MIB according to their SMI requirements and views of management. The SNMP response included development of MIB-II. The OSI response is this document which builds on the excellent work done in MIB-II, and adds to it attributes necessary to map into the OSI
SMI. The OIM network management framework consists of: Open Systems Interconnection - Structure of Management Information: Parts 1-4, ISO/IEC DIS 10165 [4,5,6], with slight modifications to maintain compatibility with RFC 1155 [11]; OSI Internet Management: Management Information Base, this memo; and the OSI Common Management Information Service (CMIS) [7] and Common Management Information Protocol (CMIP) [8]. 2. Additions to MIB-II Additions to MIB-II fall into the following categories: the addition of the managed object class "top" from which all object classes are derived; additions for object instance identification purposes according to the OSI SMI; additions for generation of asynchronous events; the addition of name bindings which define the binding between objects in the containment (naming) hierarchy; and the addition of proposed changes to RFC 1158 that are expected to be accepted by the IETF [16]. 2.1 Structure of the OIM Subtree The oim subtree structure is defined below. Note that the "cmot" subtree has been relabeled to "oim". cmot OBJECT IDENTIFIER ::= {mib 9} oim OBJECT IDENTIFIER ::= {cmot} cmotVersion OBJECT IDENTIFIER ::= {oim 1} cmotACSEInfo OBJECT IDENTIFIER ::= {oim 2} cmotSystemId OBJECT IDENTIFIER ::= {oim 3} misc OBJECT IDENTIFIER ::= {oim 4} objects OBJECT IDENTIFIER ::= {oim 5} attributes OBJECT IDENTIFIER ::= {oim 6} events OBJECT IDENTIFIER ::= {oim 7} nameforms OBJECT IDENTIFIER ::= {oim 8} actions OBJECT IDENTIFIER ::= {oim 9} 2.2 Supporting ISO Definitions The OSI defined managed object class "top" [5], as defined by OSI, has been added to the MIB. This managed object class is the root of the inheritance hierarchy. The class "top" contains attributes that are inherited by all objects in the MIB. Pending the progression of ISO/IEC DIS 10165 to an International Standard status, "top" and its associated attributes are registered in Appendix 3.
2.3 Additions for Object Instance Identification The conventions for identifying objects in the OIM MIB-II for use with CMIP are defined below. 2.3.1 Distinguished Names The distinguished name of an object shall consist of a sequence of relative distinguished names, one for each object on the containment path from the root to the object. Each relative distinguished name shall contain exactly one attribute, the "naming" attribute for the corresponding class, as specified by a NAME BINDING template. The CMIP ObjectInstance shall be encoded using the distinguishedName choice. Object classes for which there is only a single instance normally implemented in a managed system, other than the "system" managed object class, shall use an empty string for their naming attribute value, i.e., a string of length zero. The format of the naming attribute for the "system" managed object class and object classes which normally have multiple instances, e.g., table entries, are defined in the attribute templates for the naming attributes of those classes. The formats for naming attributes of table entries are compatible with instance identification conventions used by SNMP, thereby facilitating the development of a common application programming interface that may interface to either protocol. For example, a distinguished name designating a particular routing table entry (of class ipRouteEntry) might be { { sysName = "troi.mitre.org"} { ipId = ""} { ipRoutingTableId = "" } { ipRouteEntryId = "129.83.2.17" } }. The naming attributes for each OIM MIB-II managed object class listed in section 5 may be determined by reference to the NAME BINDING templates listed in section 8. The naming attribute definitions can be found in the alphabetical listing of all attributes in section 6. The following attributes have been defined for MIB-II object classes for purposes of object instance identification.
Attribute Identifier Object ifTableId {attributes 1} ifTable atTableId {attributes 2} atTable atEntryId {attributes 3} atEntry ipId {attributes 4} ip ipAddrTableId {attributes 5} ipAddrTable ipRoutingTableId {attributes 6} ipRoutingtable ipNetToMediaTableId {attributes 7} ipNetToMediaTable ipNetToMediaEntryId (attributes 8} ipNetToMediaEntry icmpId {attributes 9} icmp tcpId {attributes 10} tcp tcpConnTableId {attributes 11} tcpConnTable tcpConnId {attributes 12} tcpConnEntry udpId {attributes 13} udp udpTable udpEntryId {attributes 15} udpEntry egpId {attributes 16} egp egpNeighTableId {attributes 17} egpneighTable snmpId {attributes 18} snmp ipAdEntryId {attributes 19} ipAddrEntry ipRouteEntryId {attributes 20} ipRouteEntry ifEntryId {attributes 21} ifEntry egpNeighEntryId {attributes 22} egpNeighEntry ifId {attributes 23} interfaces 2.4 Events Events have been defined in accordance with the OSI SMI. These events include those defined for SNMP. The OSI SMI requires that events (notifications) are part of a specific managed object class definition. Accordingly the SNMP defined events have been assigned to specific objects within the MIB. Event Identifier Object coldStartEvent {events 0} system warmStartEvent {events 1} system linkDownEvent {events 2} ifEntry linkUpEvent {events 3} ifEntry snmpAuthentFailureEvent {events 4} snmp egpNeighborLossEvent {events 5} egpNeighEntry entSpecificEvent {events 6} system 2.5 Containment (Naming) Tree Definition The OSI SMI requires that object classes be bound into the containment hierarchy for purposes of naming. The binding must
specify for the managed object class: a) the object which is superior to it in the containment hierarchy; and b) an attribute in the managed object class that is used to distinguish instances of the object at a given level in the containment hierarchy. The containment tree begins with "root". Agents in managed systems will consider root to be immediately above the "system" object in the containment hierarchy. They may ignore any relative distinguished names that precede the relative distinguished name for "system". The name bindings for objects in the OIM MIB-II are specified in section 8. 2.6 Changes from RFC 1158 The proposed successor to RFC 1158 [16] contains several minor additions that have been incorporated into this document. o The sysLocation attribute of the system managed object class is changed to GET-REPLACE. o The ipRouteMetric5 and ipRouteInfo attributes are added to the ipRouteEntry managed object class. o The textual descriptor of the snmpEnableAuthTraps is changed to snmpEnableAuthenTraps. o The PhysAddress textual convention is introduced to represent media addresses. o The definition of sysServices is clarified. o New ifType values (29-32) are defined. In addition, the textual-descriptor for the DS1 and E1 interface types is corrected. o The definition of ipForwarding is clarified. o The definition of ipRouteType is clarified. o The tcpConnState attribute is now GET-REPLACE, to support deletion of the TCB associated with a TCP connection. The definition of this object is clarified to explain this usage. o The definition of egpNeighEventTrigger is clarified. o The definition of several of the variables in the new snmp group are clarified. In addition, the
snmpInBadTypes and snmpOutReadOnlys objects are no longer present. (However, the object identifiers associated with those objects are reserved to prevent future use.) o The definition of snmpInReadOnlys is clarified. o The ipRoutingDiscards attribute is added to the ip object. o The optional use of an implementation-dependent, small positive integer is disallowed when identifying instances of the IP address and routing tables. 3. Format of OSI Templates The format of OSI templates is defined in ISO/IEC DIS 10165-4 [6], Open Systems Interconnection - Structure of Management Information - Part 4: Guidelines for Managed Object Definition. The template definitions relevant to this document are included in Appendix 1. 4. Object Class Definitions The Internet SMI objects are recast into OSI template form using the following conventions: o MIB II groups become OSI object classes, except for the "at" group which has no attributes. o Tables become OSI object classes. o Table entries become OSI object classes. o All other object types become OSI attributes and are assigned to object classes according to their association in MIB II. The templates for the OIM MIB-II object classes are listed in alphabetical order below. atEntry MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY atEntryPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES atEntryId GET,
atIfIndex GET-REPLACE, atPhysAddress GET-REPLACE, atNetAddress GET-REPLACE;;; REGISTERED AS { atTable 1}; atTable MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY atTablePkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES atTableId GET;;; REGISTERED AS { at 1}; egp MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY egpPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES egpId GET, egpInMsgs GET, egpInErrors GET, egpOutMsgs GET, egpOutErrors GET, egpAs GET;;; REGISTERED AS { mib 8}; egpNeighEntry MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY egpNeighEntryPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES egpNeighEntryId GET, egpNeighState GET, egpNeighAddr GET, egpNeighAs GET, egpNeighInMsgs GET, egpNeighInErrs GET, egpNeighOutMsgs GET, egpNeighOutErrs GET, egpNeighInErrMsgs GET, egpNeighOutErrMsgs GET, egpNeighStateUps GET, egpNeighStateDowns GET, egpNeighIntervalHello GET, egpNeighIntervalPoll GET,
egpNeighMode GET, egpNeighEventTrigger GET-REPLACE; NOTIFICATIONS egpNeighborLossEvent;;; REGISTERED AS { egpNeighTable 1}; egpNeighTable MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY egpNeighTablePkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES egpNeighTableId GET;;; REGISTERED AS { egp 5}; icmp MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY icmpPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES icmpId GET, icmpInMsgs GET, icmpInErrors GET, icmpInDestUnreachs GET, icmpInTimeExcds GET, icmpInParmProbs GET, icmpInSrcQuenchs GET, icmpInRedirects GET, icmpInEchos GET, icmpInEchoReps GET, icmpInTimestamps GET, icmpInTimestampReps GET, icmpInAddrMasks GET, icmpInAddrMaskReps GET, icmpOutMsgs GET, icmpOutErrors GET, icmpOutDestUnreachs GET, icmpOutTimeExcds GET, icmpOutParmProbs GET, icmpOutSrcQuenchs GET, icmpOutRedirects GET, icmpOutEchos GET, icmpOutEchoReps GET, icmpOutTimestamps GET, icmpOutTimestampReps GET, icmpOutAddrMasks GET, icmpOutAddrMaskReps GET;;;
REGISTERED AS { mib 5}; ifEntry MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY ifEntryPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES ifEntryId GET, ifIndex GET, ifDescr GET, ifType GET, ifMtu GET, ifSpeed GET, ifPhysAddress GET, ifAdminStatus GET-REPLACE, ifOperStatus GET, ifLastChange GET, ifInOctets GET, ifInUcastPkts GET, ifInNUcastPkts GET, ifInDiscards GET, ifInErrors GET, ifInUnknownProtos GET, ifOutOctets GET, ifOutUcastPkts GET, ifOutNUcastPkts GET, ifOutDiscards GET, ifOutErrors GET, ifOutQLen GET, ifSpecific GET; NOTIFICATIONS linkUpEvent, linkDownEvent;;; REGISTERED AS { ifTable 1}; ifTable MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY ifTablePkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES ifTableId GET;;; REGISTERED AS { interface 2}; interfaces MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY
interfacesPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES ifId GET, ifNumber GET;;; REGISTERED AS { mib 2}; ip MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY ipPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES ipId GET, ipForwarding GET-REPLACE, ipDefaultTTL GET-REPLACE, ipInReceives GET, ipInHdrErrors GET, ipInAddrErrors GET, ipForwDatagrams GET, ipInUnknownProtos GET, ipInDiscards GET, ipInDelivers GET, ipOutRequests GET, ipOutDiscards GET, ipOutNoRoutes GET, ipReasmTimeout GET, ipReasmReqds GET, ipReasmOKs GET, ipReasmFails GET, ipFragOKs GET, ipFragFails GET, ipFragCreates GET, ipRoutingDiscards GET;;; REGISTERED AS { mib 4}; ipAddrEntry MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY ipAddrEntryPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES ipAdEntryId GET, ipAdEntAddr GET, ipAdEntIfIndex GET, ipAdEntNetMask GET, ipAdEntBcastAddr GET, ipAdEntReasmMaxSize GET;;;
REGISTERED AS { ipAddrTable 1}; ipAddrTable MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY ipAddrTablePkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES ipAddrTableId GET;;; REGISTERED AS { ip 20}; ipNetToMediaEntry MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY ipNetToMediaEntryPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES ipNetToMediaEntryId GET, ipNetToMediaIfIndex GET-REPLACE, ipNetToMediaPhysAddress GET-REPLACE, ipNetToMediaNetAddress GET-REPLACE, ipNetToMediaType GET-REPLACE;;; REGISTERED AS { ipNetToMediaTable 1}; ipNetToMediaTable MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY ipNetToMediaTablePkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES ipNetToMediaTableId GET;;; REGISTERED AS { ip 22}; ipRouteEntry MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY ipRouteEntryPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES ipRouteEntryId GET, ipRouteDest GET-REPLACE, ipRouteIfIndex GET-REPLACE, ipRouteMetric1 GET-REPLACE, ipRouteMetric2 GET-REPLACE, ipRouteMetric3 GET-REPLACE, ipRouteMetric4 GET-REPLACE, ipRouteMetric5 GET-REPLACE, ipRouteNextHop GET-REPLACE,
ipRouteType GET-REPLACE, ipRouteProto GET, ipRouteAge GET-REPLACE, ipRouteMask GET-REPLACE, ipRouteInfo GET-REPLACE;;; REGISTERED AS { ipRoutingTable 1}; ipRoutingTable MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY ipRoutingTablePkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES ipRoutingTableId GET;;; REGISTERED AS { ip 21}; snmp MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY snmpPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES snmpId GET, snmpInPkts GET, snmpInBadVersions GET, snmpInBadCommunityNames GET, snmpInBadCommunityUses GET, snmpInASNParseErrs GET, snmpInTooBigs GET, snmpInNoSuchNames GET, snmpInBadValues GET, snmpInReadOnlys GET, snmpInGenErrs GET, snmpInTotalReqVars GET, snmpInTotalSetVars GET, snmpInGetRequests GET, snmpInGetNexts GET, snmpInSetRequests GET, snmpInGetResponses GET, snmpInTraps GET, snmpOutPkts GET, snmpOutTooBigs GET, snmpOutNoSuchNames GET, snmpOutBadValues GET, snmpOutGenErrs GET, snmpOutGetRequests GET, snmpOutGetNexts GET, snmpOutSetRequests GET,
snmpOutGetResponses GET, snmpOutTraps GET, snmpEnableAuthenTraps GET-REPLACE; NOTIFICATIONS snmpAuthentFailureEvent;;; REGISTERED AS {mib 11}; system MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY systemPkg PACKAGE -- SEE MIB II [16] for attribute semantics ATTRIBUTES sysDescr GET, sysObjectId GET, sysUpTime GET, sysContact GET-REPLACE, sysName GET-REPLACE, -- MAJOR HEALTH WARNING sysName is the -- naming attribute and should not be -- modified via remote management without -- coordinated local system changes sysLocation GET-REPLACE, sysServices GET; NOTIFICATIONS coldStartEvent, warmStartEvent, entSpecificEvent;;; REGISTERED AS {mib 1}; tcp MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY tcpPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES tcpId GET, tcpRtoAlgorithm GET, tcpRtoMin GET, tcpRtoMax GET, tcpMaxConn GET, tcpActiveOpens GET, tcpPassiveOpens GET, tcpAttemptFails GET, tcpEstabResets GET, tcpCurrEstab GET, tcpInSegs GET, tcpOutSegs GET,
tcpRetransSegs GET, tcpInErrs GET, tcpOutRsts GET;;; REGISTERED AS { mib 6}; tcpConnEntry MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY tcpConnEntryPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES tcpConnId GET, tcpConnState GET-REPLACE, tcpConnLocalAddress GET, tcpConnLocalPort GET, tcpConnRemAddress GET, tcpConnRemPort GET;;; REGISTERED AS { tcpConnTable 1 }; tcpConnTable MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY tcpConnTablePkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES tcpConnTableId GET;;; REGISTERED AS { tcp 13 }; udp MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY udpPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES udpId GET, udpInDatagrams GET, udpNoPorts GET, udpInErrors GET, udpOutDatagrams GET;;; REGISTERED AS { mib 7}; udpEntry MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY udpEntryPkg PACKAGE -- see MIB II [16] for attribute semantics ATTRIBUTES
udpEntryId GET, udpLocalAddress GET, udpLocalPort GET;;; REGISTERED AS { udpTable 1 }; udpTable MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY udpTablePkg PACKAGE -- see MIB II [16] for semantics ATTRIBUTES udpTableId GET;;; REGISTERED AS { udp 5 };