| |
| |
| |
| |
| |
| |
| Network Working Group M. Rose |
| Request for Comments: 1155 Performance Systems International |
| Obsoletes: RFC 1065 K. McCloghrie |
| Hughes LAN Systems |
| May 1990 |
| |
| |
| |
| Structure and Identification of Management Information |
| for TCP/IP-based Internets |
| |
| Table of Contents |
| |
| 1. Status of this Memo ............................................. 1 |
| 2. Introduction .................................................... 2 |
| 3. Structure and Identification of Management Information........... 4 |
| 3.1 Names .......................................................... 4 |
| 3.1.1 Directory .................................................... 5 |
| 3.1.2 Mgmt ......................................................... 6 |
| 3.1.3 Experimental ................................................. 6 |
| 3.1.4 Private ...................................................... 7 |
| 3.2 Syntax ......................................................... 7 |
| 3.2.1 Primitive Types .............................................. 7 |
| 3.2.1.1 Guidelines for Enumerated INTEGERs ......................... 7 |
| 3.2.2 Constructor Types ............................................ 8 |
| 3.2.3 Defined Types ................................................ 8 |
| 3.2.3.1 NetworkAddress ............................................. 8 |
| 3.2.3.2 IpAddress .................................................. 8 |
| 3.2.3.3 Counter .................................................... 8 |
| 3.2.3.4 Gauge ...................................................... 9 |
| 3.2.3.5 TimeTicks .................................................. 9 |
| 3.2.3.6 Opaque ..................................................... 9 |
| 3.3 Encodings ...................................................... 9 |
| 4. Managed Objects ................................................. 10 |
| 4.1 Guidelines for Object Names .................................... 10 |
| 4.2 Object Types and Instances ..................................... 10 |
| 4.3 Macros for Managed Objects ..................................... 14 |
| 5. Extensions to the MIB ........................................... 16 |
| 6. Definitions ..................................................... 17 |
| 7. Acknowledgements ................................................ 20 |
| 8. References ...................................................... 21 |
| 9. Security Considerations.......................................... 21 |
| 10. Authors' Addresses.............................................. 22 |
| |
| 1. Status of this Memo |
| |
| This RFC is a re-release of RFC 1065, with a changed "Status of this |
| Memo", plus a few minor typographical corrections. The technical |
| |
| |
| |
| Rose & McCloghrie [Page 1] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| content of the document is unchanged from RFC 1065. |
| |
| This memo provides the common definitions for the structure and |
| identification of management information for TCP/IP-based internets. |
| In particular, together with its companion memos which describe the |
| management information base along with the network management |
| protocol, these documents provide a simple, workable architecture and |
| system for managing TCP/IP-based internets and in particular, the |
| Internet. |
| |
| This memo specifies a Standard Protocol for the Internet community. |
| Its status is "Recommended". TCP/IP implementations in the Internet |
| which are network manageable are expected to adopt and implement this |
| specification. |
| |
| The Internet Activities Board recommends that all IP and TCP |
| implementations be network manageable. This implies implementation |
| of the Internet MIB (RFC-1156) and at least one of the two |
| recommended management protocols SNMP (RFC-1157) or CMOT (RFC-1095). |
| It should be noted that, at this time, SNMP is a full Internet |
| standard and CMOT is a draft standard. See also the Host and Gateway |
| Requirements RFCs for more specific information on the applicability |
| of this standard. |
| |
| Please refer to the latest edition of the "IAB Official Protocol |
| Standards" RFC for current information on the state and status of |
| standard Internet protocols. |
| |
| Distribution of this memo is unlimited. |
| |
| 2. Introduction |
| |
| This memo describes the common structures and identification scheme |
| for the definition of management information used in managing |
| TCP/IP-based internets. Included are descriptions of an object |
| information model for network management along with a set of generic |
| types used to describe management information. Formal descriptions |
| of the structure are given using Abstract Syntax Notation One (ASN.1) |
| [1]. |
| |
| This memo is largely concerned with organizational concerns and |
| administrative policy: it neither specifies the objects which are |
| managed, nor the protocols used to manage those objects. These |
| concerns are addressed by two companion memos: one describing the |
| Management Information Base (MIB) [2], and the other describing the |
| Simple Network Management Protocol (SNMP) [3]. |
| |
| This memo is based in part on the work of the Internet Engineering |
| |
| |
| |
| Rose & McCloghrie [Page 2] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| Task Force, particularly the working note titled "Structure and |
| Identification of Management Information for the Internet" [4]. This |
| memo uses a skeletal structure derived from that note, but differs in |
| one very significant way: that note focuses entirely on the use of |
| OSI-style network management. As such, it is not suitable for use |
| with SNMP. |
| |
| This memo attempts to achieve two goals: simplicity and |
| extensibility. Both are motivated by a common concern: although the |
| management of TCP/IP-based internets has been a topic of study for |
| some time, the authors do not feel that the depth and breadth of such |
| understanding is complete. More bluntly, we feel that previous |
| experiences, while giving the community insight, are hardly |
| conclusive. By fostering a simple SMI, the minimal number of |
| constraints are imposed on future potential approaches; further, by |
| fostering an extensible SMI, the maximal number of potential |
| approaches are available for experimentation. |
| |
| It is believed that this memo and its two companions comply with the |
| guidelines set forth in RFC 1052, "IAB Recommendations for the |
| Development of Internet Network Management Standards" [5] and RFC |
| 1109, "Report of the Second Ad Hoc Network Management Review Group" |
| [6]. In particular, we feel that this memo, along with the memo |
| describing the management information base, provide a solid basis for |
| network management of the Internet. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Rose & McCloghrie [Page 3] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| 3. Structure and Identification of Management Information |
| |
| Managed objects are accessed via a virtual information store, termed |
| the Management Information Base or MIB. Objects in the MIB are |
| defined using Abstract Syntax Notation One (ASN.1) [1]. |
| |
| Each type of object (termed an object type) has a name, a syntax, and |
| an encoding. The name is represented uniquely as an OBJECT |
| IDENTIFIER. An OBJECT IDENTIFIER is an administratively assigned |
| name. The administrative policies used for assigning names are |
| discussed later in this memo. |
| |
| The syntax for an object type defines the abstract data structure |
| corresponding to that object type. For example, the structure of a |
| given object type might be an INTEGER or OCTET STRING. Although in |
| general, we should permit any ASN.1 construct to be available for use |
| in defining the syntax of an object type, this memo purposely |
| restricts the ASN.1 constructs which may be used. These restrictions |
| are made solely for the sake of simplicity. |
| |
| The encoding of an object type is simply how instances of that object |
| type are represented using the object's type syntax. Implicitly tied |
| to the notion of an object's syntax and encoding is how the object is |
| represented when being transmitted on the network. This memo |
| specifies the use of the basic encoding rules of ASN.1 [7]. |
| |
| It is beyond the scope of this memo to define either the MIB used for |
| network management or the network management protocol. As mentioned |
| earlier, these tasks are left to companion memos. This memo attempts |
| to minimize the restrictions placed upon its companions so as to |
| maximize generality. However, in some cases, restrictions have been |
| made (e.g., the syntax which may be used when defining object types |
| in the MIB) in order to encourage a particular style of management. |
| Future editions of this memo may remove these restrictions. |
| |
| 3.1. Names |
| |
| Names are used to identify managed objects. This memo specifies |
| names which are hierarchical in nature. The OBJECT IDENTIFIER |
| concept is used to model this notion. An OBJECT IDENTIFIER can be |
| used for purposes other than naming managed object types; for |
| example, each international standard has an OBJECT IDENTIFIER |
| assigned to it for the purposes of identification. In short, OBJECT |
| IDENTIFIERs are a means for identifying some object, regardless of |
| the semantics associated with the object (e.g., a network object, a |
| standards document, etc.) |
| |
| An OBJECT IDENTIFIER is a sequence of integers which traverse a |
| |
| |
| |
| Rose & McCloghrie [Page 4] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| global tree. The tree consists of a root connected to a number of |
| labeled nodes via edges. Each node may, in turn, have children of |
| its own which are labeled. In this case, we may term the node a |
| subtree. This process may continue to an arbitrary level of depth. |
| Central to the notion of the OBJECT IDENTIFIER is the understanding |
| that administrative control of the meanings assigned to the nodes may |
| be delegated as one traverses the tree. A label is a pairing of a |
| brief textual description and an integer. |
| |
| The root node itself is unlabeled, but has at least three children |
| directly under it: one node is administered by the International |
| Organization for Standardization, with label iso(1); another is |
| administrated by the International Telegraph and Telephone |
| Consultative Committee, with label ccitt(0); and the third is jointly |
| administered by the ISO and the CCITT, joint-iso-ccitt(2). |
| |
| Under the iso(1) node, the ISO has designated one subtree for use by |
| other (inter)national organizations, org(3). Of the children nodes |
| present, two have been assigned to the U.S. National Institutes of |
| Standards and Technology. One of these subtrees has been transferred |
| by the NIST to the U.S. Department of Defense, dod(6). |
| |
| As of this writing, the DoD has not indicated how it will manage its |
| subtree of OBJECT IDENTIFIERs. This memo assumes that DoD will |
| allocate a node to the Internet community, to be administered by the |
| Internet Activities Board (IAB) as follows: |
| |
| internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 } |
| |
| That is, the Internet subtree of OBJECT IDENTIFIERs starts with the |
| prefix: |
| |
| 1.3.6.1. |
| |
| This memo, as a standard approved by the IAB, now specifies the |
| policy under which this subtree of OBJECT IDENTIFIERs is |
| administered. Initially, four nodes are present: |
| |
| directory OBJECT IDENTIFIER ::= { internet 1 } |
| mgmt OBJECT IDENTIFIER ::= { internet 2 } |
| experimental OBJECT IDENTIFIER ::= { internet 3 } |
| private OBJECT IDENTIFIER ::= { internet 4 } |
| |
| 3.1.1. Directory |
| |
| The directory(1) subtree is reserved for use with a future memo that |
| discusses how the OSI Directory may be used in the Internet. |
| |
| |
| |
| |
| Rose & McCloghrie [Page 5] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| 3.1.2. Mgmt |
| |
| The mgmt(2) subtree is used to identify objects which are defined in |
| IAB-approved documents. Administration of the mgmt(2) subtree is |
| delegated by the IAB to the Internet Assigned Numbers Authority for |
| the Internet. As RFCs which define new versions of the Internet- |
| standard Management Information Base are approved, they are assigned |
| an OBJECT IDENTIFIER by the Internet Assigned Numbers Authority for |
| identifying the objects defined by that memo. |
| |
| For example, the RFC which defines the initial Internet standard MIB |
| would be assigned management document number 1. This RFC would use |
| the OBJECT IDENTIFIER |
| |
| { mgmt 1 } |
| |
| or |
| |
| 1.3.6.1.2.1 |
| |
| in defining the Internet-standard MIB. |
| |
| The generation of new versions of the Internet-standard MIB is a |
| rigorous process. Section 5 of this memo describes the rules used |
| when a new version is defined. |
| |
| 3.1.3. Experimental |
| |
| The experimental(3) subtree is used to identify objects used in |
| Internet experiments. Administration of the experimental(3) subtree |
| is delegated by the IAB to the Internet Assigned Numbers Authority of |
| the Internet. |
| |
| For example, an experimenter might received number 17, and would have |
| available the OBJECT IDENTIFIER |
| |
| { experimental 17 } |
| |
| or |
| |
| 1.3.6.1.3.17 |
| |
| for use. |
| |
| As a part of the assignment process, the Internet Assigned Numbers |
| Authority may make requirements as to how that subtree is used. |
| |
| |
| |
| |
| |
| Rose & McCloghrie [Page 6] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| 3.1.4. Private |
| |
| The private(4) subtree is used to identify objects defined |
| unilaterally. Administration of the private(4) subtree is delegated |
| by the IAB to the Internet Assigned Numbers Authority for the |
| Internet. Initially, this subtree has at least one child: |
| |
| enterprises OBJECT IDENTIFIER ::= { private 1 } |
| |
| The enterprises(1) subtree is used, among other things, to permit |
| parties providing networking subsystems to register models of their |
| products. |
| |
| Upon receiving a subtree, the enterprise may, for example, define new |
| MIB objects in this subtree. In addition, it is strongly recommended |
| that the enterprise will also register its networking subsystems |
| under this subtree, in order to provide an unambiguous identification |
| mechanism for use in management protocols. For example, if the |
| "Flintstones, Inc." enterprise produced networking subsystems, then |
| they could request a node under the enterprises subtree from the |
| Internet Assigned Numbers Authority. Such a node might be numbered: |
| |
| 1.3.6.1.4.1.42 |
| |
| The "Flintstones, Inc." enterprise might then register their "Fred |
| Router" under the name of: |
| |
| 1.3.6.1.4.1.42.1.1 |
| |
| 3.2. Syntax |
| |
| Syntax is used to define the structure corresponding to object types. |
| ASN.1 constructs are used to define this structure, although the full |
| generality of ASN.1 is not permitted. |
| |
| The ASN.1 type ObjectSyntax defines the different syntaxes which may |
| be used in defining an object type. |
| |
| 3.2.1. Primitive Types |
| |
| Only the ASN.1 primitive types INTEGER, OCTET STRING, OBJECT |
| IDENTIFIER, and NULL are permitted. These are sometimes referred to |
| as non-aggregate types. |
| |
| 3.2.1.1. Guidelines for Enumerated INTEGERs |
| |
| If an enumerated INTEGER is listed as an object type, then a named- |
| number having the value 0 shall not be present in the list of |
| |
| |
| |
| Rose & McCloghrie [Page 7] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| enumerations. Use of this value is prohibited. |
| |
| 3.2.2. Constructor Types |
| |
| The ASN.1 constructor type SEQUENCE is permitted, providing that it |
| is used to generate either lists or tables. |
| |
| For lists, the syntax takes the form: |
| |
| SEQUENCE { <type1>, ..., <typeN> } |
| |
| where each <type> resolves to one of the ASN.1 primitive types listed |
| above. Further, these ASN.1 types are always present (the DEFAULT |
| and OPTIONAL clauses do not appear in the SEQUENCE definition). |
| |
| For tables, the syntax takes the form: |
| |
| SEQUENCE OF <entry> |
| |
| where <entry> resolves to a list constructor. |
| |
| Lists and tables are sometimes referred to as aggregate types. |
| |
| 3.2.3. Defined Types |
| |
| In addition, new application-wide types may be defined, so long as |
| they resolve into an IMPLICITly defined ASN.1 primitive type, list, |
| table, or some other application-wide type. Initially, few |
| application-wide types are defined. Future memos will no doubt |
| define others once a consensus is reached. |
| |
| 3.2.3.1. NetworkAddress |
| |
| This CHOICE represents an address from one of possibly several |
| protocol families. Currently, only one protocol family, the Internet |
| family, is present in this CHOICE. |
| |
| 3.2.3.2. IpAddress |
| |
| This application-wide type represents a 32-bit internet address. It |
| is represented as an OCTET STRING of length 4, in network byte-order. |
| |
| When this ASN.1 type is encoded using the ASN.1 basic encoding rules, |
| only the primitive encoding form shall be used. |
| |
| 3.2.3.3. Counter |
| |
| This application-wide type represents a non-negative integer which |
| |
| |
| |
| Rose & McCloghrie [Page 8] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| monotonically increases until it reaches a maximum value, when it |
| wraps around and starts increasing again from zero. This memo |
| specifies a maximum value of 2^32-1 (4294967295 decimal) for |
| counters. |
| |
| 3.2.3.4. Gauge |
| |
| This application-wide type represents a non-negative integer, which |
| may increase or decrease, but which latches at a maximum value. This |
| memo specifies a maximum value of 2^32-1 (4294967295 decimal) for |
| gauges. |
| |
| 3.2.3.5. TimeTicks |
| |
| This application-wide type represents a non-negative integer which |
| counts the time in hundredths of a second since some epoch. When |
| object types are defined in the MIB which use this ASN.1 type, the |
| description of the object type identifies the reference epoch. |
| |
| 3.2.3.6. Opaque |
| |
| This application-wide type supports the capability to pass arbitrary |
| ASN.1 syntax. A value is encoded using the ASN.1 basic rules into a |
| string of octets. This, in turn, is encoded as an OCTET STRING, in |
| effect "double-wrapping" the original ASN.1 value. |
| |
| Note that a conforming implementation need only be able to accept and |
| recognize opaquely-encoded data. It need not be able to unwrap the |
| data and then interpret its contents. |
| |
| Further note that by use of the ASN.1 EXTERNAL type, encodings other |
| than ASN.1 may be used in opaquely-encoded data. |
| |
| 3.3. Encodings |
| |
| Once an instance of an object type has been identified, its value may |
| be transmitted by applying the basic encoding rules of ASN.1 to the |
| syntax for the object type. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Rose & McCloghrie [Page 9] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| 4. Managed Objects |
| |
| Although it is not the purpose of this memo to define objects in the |
| MIB, this memo specifies a format to be used by other memos which |
| define these objects. |
| |
| An object type definition consists of five fields: |
| |
| OBJECT: |
| ------- |
| A textual name, termed the OBJECT DESCRIPTOR, for the object type, |
| along with its corresponding OBJECT IDENTIFIER. |
| |
| Syntax: |
| The abstract syntax for the object type. This must resolve to an |
| instance of the ASN.1 type ObjectSyntax (defined below). |
| |
| Definition: |
| A textual description of the semantics of the object type. |
| Implementations should ensure that their instance of the object |
| fulfills this definition since this MIB is intended for use in |
| multi-vendor environments. As such it is vital that objects have |
| consistent meaning across all machines. |
| |
| Access: |
| One of read-only, read-write, write-only, or not-accessible. |
| |
| Status: |
| One of mandatory, optional, or obsolete. |
| |
| Future memos may also specify other fields for the objects which they |
| define. |
| |
| 4.1. Guidelines for Object Names |
| |
| No object type in the Internet-Standard MIB shall use a sub- |
| identifier of 0 in its name. This value is reserved for use with |
| future extensions. |
| |
| Each OBJECT DESCRIPTOR corresponding to an object type in the |
| internet-standard MIB shall be a unique, but mnemonic, printable |
| string. This promotes a common language for humans to use when |
| discussing the MIB and also facilitates simple table mappings for |
| user interfaces. |
| |
| 4.2. Object Types and Instances |
| |
| An object type is a definition of a kind of managed object; it is |
| |
| |
| |
| Rose & McCloghrie [Page 10] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| declarative in nature. In contrast, an object instance is an |
| instantiation of an object type which has been bound to a value. For |
| example, the notion of an entry in a routing table might be defined |
| in the MIB. Such a notion corresponds to an object type; individual |
| entries in a particular routing table which exist at some time are |
| object instances of that object type. |
| |
| A collection of object types is defined in the MIB. Each such |
| subject type is uniquely named by its OBJECT IDENTIFIER and also has |
| a textual name, which is its OBJECT DESCRIPTOR. The means whereby |
| object instances are referenced is not defined in the MIB. Reference |
| to object instances is achieved by a protocol-specific mechanism: it |
| is the responsibility of each management protocol adhering to the SMI |
| to define this mechanism. |
| |
| An object type may be defined in the MIB such that an instance of |
| that object type represents an aggregation of information also |
| represented by instances of some number of "subordinate" object |
| types. For example, suppose the following object types are defined |
| in the MIB: |
| |
| |
| OBJECT: |
| ------- |
| atIndex { atEntry 1 } |
| |
| Syntax: |
| INTEGER |
| |
| Definition: |
| The interface number for the physical address. |
| |
| Access: |
| read-write. |
| |
| Status: |
| mandatory. |
| |
| |
| OBJECT: |
| ------- |
| atPhysAddress { atEntry 2 } |
| |
| Syntax: |
| OCTET STRING |
| |
| Definition: |
| The media-dependent physical address. |
| |
| |
| |
| Rose & McCloghrie [Page 11] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| Access: |
| read-write. |
| |
| Status: |
| mandatory. |
| |
| |
| OBJECT: |
| ------- |
| atNetAddress { atEntry 3 } |
| |
| Syntax: |
| NetworkAddress |
| |
| Definition: |
| The network address corresponding to the media-dependent physical |
| address. |
| |
| Access: |
| read-write. |
| |
| Status: |
| mandatory. |
| |
| Then, a fourth object type might also be defined in the MIB: |
| |
| |
| OBJECT: |
| ------- |
| atEntry { atTable 1 } |
| |
| Syntax: |
| |
| AtEntry ::= SEQUENCE { |
| atIndex |
| INTEGER, |
| atPhysAddress |
| OCTET STRING, |
| atNetAddress |
| NetworkAddress |
| } |
| |
| Definition: |
| An entry in the address translation table. |
| |
| Access: |
| read-write. |
| |
| |
| |
| |
| Rose & McCloghrie [Page 12] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| Status: |
| mandatory. |
| |
| Each instance of this object type comprises information represented |
| by instances of the former three object types. An object type |
| defined in this way is called a list. |
| |
| Similarly, tables can be formed by aggregations of a list type. For |
| example, a fifth object type might also be defined in the MIB: |
| |
| |
| OBJECT: |
| ------ |
| atTable { at 1 } |
| |
| Syntax: |
| SEQUENCE OF AtEntry |
| |
| Definition: |
| The address translation table. |
| |
| Access: |
| read-write. |
| |
| Status: |
| mandatory. |
| |
| such that each instance of the atTable object comprises information |
| represented by the set of atEntry object types that collectively |
| constitute a given atTable object instance, that is, a given address |
| translation table. |
| |
| Consider how one might refer to a simple object within a table. |
| Continuing with the previous example, one might name the object type |
| |
| { atPhysAddress } |
| |
| and specify, using a protocol-specific mechanism, the object instance |
| |
| { atNetAddress } = { internet "10.0.0.52" } |
| |
| This pairing of object type and object instance would refer to all |
| instances of atPhysAddress which are part of any entry in some |
| address translation table for which the associated atNetAddress value |
| is { internet "10.0.0.52" }. |
| |
| To continue with this example, consider how one might refer to an |
| aggregate object (list) within a table. Naming the object type |
| |
| |
| |
| Rose & McCloghrie [Page 13] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| { atEntry } |
| |
| and specifying, using a protocol-specific mechanism, the object |
| instance |
| |
| { atNetAddress } = { internet "10.0.0.52" } |
| |
| refers to all instances of entries in the table for which the |
| associated atNetAddress value is { internet "10.0.0.52" }. |
| |
| Each management protocol must provide a mechanism for accessing |
| simple (non-aggregate) object types. Each management protocol |
| specifies whether or not it supports access to aggregate object |
| types. Further, the protocol must specify which instances are |
| "returned" when an object type/instance pairing refers to more than |
| one instance of a type. |
| |
| To afford support for a variety of management protocols, all |
| information by which instances of a given object type may be usefully |
| distinguished, one from another, is represented by instances of |
| object types defined in the MIB. |
| |
| 4.3. Macros for Managed Objects |
| |
| In order to facilitate the use of tools for processing the definition |
| of the MIB, the OBJECT-TYPE macro may be used. This macro permits |
| the key aspects of an object type to be represented in a formal way. |
| |
| OBJECT-TYPE MACRO ::= |
| BEGIN |
| TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax) |
| "ACCESS" Access |
| "STATUS" Status |
| VALUE NOTATION ::= value (VALUE ObjectName) |
| |
| Access ::= "read-only" |
| | "read-write" |
| | "write-only" |
| | "not-accessible" |
| Status ::= "mandatory" |
| | "optional" |
| | "obsolete" |
| END |
| |
| Given the object types defined earlier, we might imagine the |
| following definitions being present in the MIB: |
| |
| atIndex OBJECT-TYPE |
| |
| |
| |
| Rose & McCloghrie [Page 14] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| SYNTAX INTEGER |
| ACCESS read-write |
| STATUS mandatory |
| ::= { atEntry 1 } |
| |
| atPhysAddress OBJECT-TYPE |
| SYNTAX OCTET STRING |
| ACCESS read-write |
| STATUS mandatory |
| ::= { atEntry 2 } |
| |
| atNetAddress OBJECT-TYPE |
| SYNTAX NetworkAddress |
| ACCESS read-write |
| STATUS mandatory |
| ::= { atEntry 3 } |
| |
| atEntry OBJECT-TYPE |
| SYNTAX AtEntry |
| ACCESS read-write |
| STATUS mandatory |
| ::= { atTable 1 } |
| |
| atTable OBJECT-TYPE |
| SYNTAX SEQUENCE OF AtEntry |
| ACCESS read-write |
| STATUS mandatory |
| ::= { at 1 } |
| |
| AtEntry ::= SEQUENCE { |
| atIndex |
| INTEGER, |
| atPhysAddress |
| OCTET STRING, |
| atNetAddress |
| NetworkAddress |
| } |
| |
| The first five definitions describe object types, relating, for |
| example, the OBJECT DESCRIPTOR atIndex to the OBJECT IDENTIFIER { |
| atEntry 1 }. In addition, the syntax of this object is defined |
| (INTEGER) along with the access permitted (read-write) and status |
| (mandatory). The sixth definition describes an ASN.1 type called |
| AtEntry. |
| |
| |
| |
| |
| |
| |
| |
| Rose & McCloghrie [Page 15] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| 5. Extensions to the MIB |
| |
| Every Internet-standard MIB document obsoletes all previous such |
| documents. The portion of a name, termed the tail, following the |
| OBJECT IDENTIFIER |
| |
| { mgmt version-number } |
| |
| used to name objects shall remain unchanged between versions. New |
| versions may: |
| |
| (1) declare old object types obsolete (if necessary), but not |
| delete their names; |
| |
| (2) augment the definition of an object type corresponding to a |
| list by appending non-aggregate object types to the object types |
| in the list; or, |
| |
| (3) define entirely new object types. |
| |
| New versions may not: |
| |
| (1) change the semantics of any previously defined object without |
| changing the name of that object. |
| |
| These rules are important because they admit easier support for |
| multiple versions of the Internet-standard MIB. In particular, the |
| semantics associated with the tail of a name remain constant |
| throughout different versions of the MIB. Because multiple versions |
| of the MIB may thus coincide in "tail-space," implementations |
| supporting multiple versions of the MIB can be vastly simplified. |
| |
| However, as a consequence, a management agent might return an |
| instance corresponding to a superset of the expected object type. |
| Following the principle of robustness, in this exceptional case, a |
| manager should ignore any additional information beyond the |
| definition of the expected object type. However, the robustness |
| principle requires that one exercise care with respect to control |
| actions: if an instance does not have the same syntax as its |
| expected object type, then those control actions must fail. In both |
| the monitoring and control cases, the name of an object returned by |
| an operation must be identical to the name requested by an operation. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Rose & McCloghrie [Page 16] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| 6. Definitions |
| |
| RFC1155-SMI DEFINITIONS ::= BEGIN |
| |
| EXPORTS -- EVERYTHING |
| internet, directory, mgmt, |
| experimental, private, enterprises, |
| OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax, |
| ApplicationSyntax, NetworkAddress, IpAddress, |
| Counter, Gauge, TimeTicks, Opaque; |
| |
| -- the path to the root |
| |
| internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 } |
| |
| directory OBJECT IDENTIFIER ::= { internet 1 } |
| |
| mgmt OBJECT IDENTIFIER ::= { internet 2 } |
| |
| experimental OBJECT IDENTIFIER ::= { internet 3 } |
| |
| private OBJECT IDENTIFIER ::= { internet 4 } |
| enterprises OBJECT IDENTIFIER ::= { private 1 } |
| |
| |
| -- definition of object types |
| |
| OBJECT-TYPE MACRO ::= |
| BEGIN |
| TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax) |
| "ACCESS" Access |
| "STATUS" Status |
| VALUE NOTATION ::= value (VALUE ObjectName) |
| |
| Access ::= "read-only" |
| | "read-write" |
| | "write-only" |
| | "not-accessible" |
| Status ::= "mandatory" |
| | "optional" |
| | "obsolete" |
| END |
| |
| -- names of objects in the MIB |
| |
| ObjectName ::= |
| OBJECT IDENTIFIER |
| |
| |
| |
| |
| Rose & McCloghrie [Page 17] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| -- syntax of objects in the MIB |
| |
| ObjectSyntax ::= |
| CHOICE { |
| simple |
| SimpleSyntax, |
| |
| -- note that simple SEQUENCEs are not directly |
| -- mentioned here to keep things simple (i.e., |
| -- prevent mis-use). However, application-wide |
| -- types which are IMPLICITly encoded simple |
| -- SEQUENCEs may appear in the following CHOICE |
| |
| application-wide |
| ApplicationSyntax |
| } |
| |
| SimpleSyntax ::= |
| CHOICE { |
| number |
| INTEGER, |
| |
| string |
| OCTET STRING, |
| |
| object |
| OBJECT IDENTIFIER, |
| |
| empty |
| NULL |
| } |
| |
| ApplicationSyntax ::= |
| CHOICE { |
| address |
| NetworkAddress, |
| |
| counter |
| Counter, |
| |
| gauge |
| Gauge, |
| |
| ticks |
| TimeTicks, |
| |
| arbitrary |
| Opaque |
| |
| |
| |
| Rose & McCloghrie [Page 18] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| -- other application-wide types, as they are |
| -- defined, will be added here |
| } |
| |
| |
| -- application-wide types |
| |
| NetworkAddress ::= |
| CHOICE { |
| internet |
| IpAddress |
| } |
| |
| IpAddress ::= |
| [APPLICATION 0] -- in network-byte order |
| IMPLICIT OCTET STRING (SIZE (4)) |
| |
| Counter ::= |
| [APPLICATION 1] |
| IMPLICIT INTEGER (0..4294967295) |
| |
| Gauge ::= |
| [APPLICATION 2] |
| IMPLICIT INTEGER (0..4294967295) |
| |
| TimeTicks ::= |
| [APPLICATION 3] |
| IMPLICIT INTEGER (0..4294967295) |
| |
| Opaque ::= |
| [APPLICATION 4] -- arbitrary ASN.1 value, |
| IMPLICIT OCTET STRING -- "double-wrapped" |
| |
| END |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Rose & McCloghrie [Page 19] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| 7. Acknowledgements |
| |
| This memo was influenced by three sets of contributors to earlier |
| drafts: |
| |
| First, Lee Labarre of the MITRE Corporation, who as author of the |
| NETMAN SMI [4], presented the basic roadmap for the SMI. |
| |
| Second, several individuals who provided valuable comments on this |
| memo prior to its initial distribution: |
| |
| James R. Davin, Proteon |
| Mark S. Fedor, NYSERNet |
| Craig Partridge, BBN Laboratories |
| Martin Lee Schoffstall, Rensselaer Polytechnic Institute |
| Wengyik Yeong, NYSERNet |
| |
| |
| Third, the IETF MIB working group: |
| |
| Karl Auerbach, Epilogue Technology |
| K. Ramesh Babu, Excelan |
| Lawrence Besaw, Hewlett-Packard |
| Jeffrey D. Case, University of Tennessee at Knoxville |
| James R. Davin, Proteon |
| Mark S. Fedor, NYSERNet |
| Robb Foster, BBN |
| Phill Gross, The MITRE Corporation |
| Bent Torp Jensen, Convergent Technology |
| Lee Labarre, The MITRE Corporation |
| Dan Lynch, Advanced Computing Environments |
| Keith McCloghrie, The Wollongong Group |
| Dave Mackie, 3Com/Bridge |
| Craig Partridge, BBN (chair) |
| Jim Robertson, 3Com/Bridge |
| Marshall T. Rose, The Wollongong Group |
| Greg Satz, cisco |
| Martin Lee Schoffstall, Rensselaer Polytechnic Institute |
| Lou Steinberg, IBM |
| Dean Throop, Data General |
| Unni Warrier, Unisys |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Rose & McCloghrie [Page 20] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| 8. References |
| |
| [1] Information processing systems - Open Systems Interconnection, |
| "Specification of Abstract Syntax Notation One (ASN.1)", |
| International Organization for Standardization, International |
| Standard 8824, December 1987. |
| |
| [2] McCloghrie K., and M. Rose, "Management Information Base for |
| Network Management of TCP/IP-based Internets", RFC 1156, |
| Performance Systems International and Hughes LAN Systems, May |
| 1990. |
| |
| [3] Case, J., M. Fedor, M. Schoffstall, and J. Davin, The Simple |
| Network Management Protocol", RFC 1157, University of Tennessee |
| at Knoxville, Performance Systems International, Performance |
| Systems International, and the MIT Laboratory for Computer |
| Science, May 1990. |
| |
| [4] LaBarre, L., "Structure and Identification of Management |
| Information for the Internet", Internet Engineering Task Force |
| working note, Network Information Center, SRI International, |
| Menlo Park, California, April 1988. |
| |
| [5] Cerf, V., "IAB Recommendations for the Development of Internet |
| Network Management Standards", RFC 1052, IAB, April 1988. |
| |
| [6] Cerf, V., "Report of the Second Ad Hoc Network Management Review |
| Group", RFC 1109, IAB, August 1989. |
| |
| [7] Information processing systems - Open Systems Interconnection, |
| "Specification of Basic Encoding Rules for Abstract Notation One |
| (ASN.1)", International Organization for Standardization, |
| International Standard 8825, December 1987. |
| |
| Security Considerations |
| |
| Security issues are not discussed in this memo. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Rose & McCloghrie [Page 21] |
| |
| RFC 1155 SMI May 1990 |
| |
| |
| Authors' Addresses |
| |
| Marshall T. Rose |
| PSI, Inc. |
| PSI California Office |
| P.O. Box 391776 |
| Mountain View, CA 94039 |
| |
| Phone: (415) 961-3380 |
| |
| EMail: mrose@PSI.COM |
| |
| |
| Keith McCloghrie |
| The Wollongong Group |
| 1129 San Antonio Road |
| Palo Alto, CA 04303 |
| |
| Phone: (415) 962-7160 |
| |
| EMail: sytek!kzm@HPLABS.HP.COM |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Rose & McCloghrie [Page 22] |
| |