|
|
1.1 root 1:
2:
3:
4:
5:
6:
7: Network Working Group M. Rose
8: Request for Comments: 1155 Performance Systems International
9: Obsoletes: RFC 1065 K. McCloghrie
10: Hughes LAN Systems
11: May 1990
12:
13:
14:
15: Structure and Identification of Management Information
16: for TCP/IP-based Internets
17:
18: Table of Contents
19:
20: 1. Status of this Memo ............................................. 1
21: 2. Introduction .................................................... 2
22: 3. Structure and Identification of Management Information........... 4
23: 3.1 Names .......................................................... 4
24: 3.1.1 Directory .................................................... 5
25: 3.1.2 Mgmt ......................................................... 6
26: 3.1.3 Experimental ................................................. 6
27: 3.1.4 Private ...................................................... 7
28: 3.2 Syntax ......................................................... 7
29: 3.2.1 Primitive Types .............................................. 7
30: 3.2.1.1 Guidelines for Enumerated INTEGERs ......................... 7
31: 3.2.2 Constructor Types ............................................ 8
32: 3.2.3 Defined Types ................................................ 8
33: 3.2.3.1 NetworkAddress ............................................. 8
34: 3.2.3.2 IpAddress .................................................. 8
35: 3.2.3.3 Counter .................................................... 8
36: 3.2.3.4 Gauge ...................................................... 9
37: 3.2.3.5 TimeTicks .................................................. 9
38: 3.2.3.6 Opaque ..................................................... 9
39: 3.3 Encodings ...................................................... 9
40: 4. Managed Objects ................................................. 10
41: 4.1 Guidelines for Object Names .................................... 10
42: 4.2 Object Types and Instances ..................................... 10
43: 4.3 Macros for Managed Objects ..................................... 14
44: 5. Extensions to the MIB ........................................... 16
45: 6. Definitions ..................................................... 17
46: 7. Acknowledgements ................................................ 20
47: 8. References ...................................................... 21
48: 9. Security Considerations.......................................... 21
49: 10. Authors' Addresses.............................................. 22
50:
51: 1. Status of this Memo
52:
53: This RFC is a re-release of RFC 1065, with a changed "Status of this
54: Memo", plus a few minor typographical corrections. The technical
55:
56:
57:
58: Rose & McCloghrie [Page 1]
59:
60: RFC 1155 SMI May 1990
61:
62:
63: content of the document is unchanged from RFC 1065.
64:
65: This memo provides the common definitions for the structure and
66: identification of management information for TCP/IP-based internets.
67: In particular, together with its companion memos which describe the
68: management information base along with the network management
69: protocol, these documents provide a simple, workable architecture and
70: system for managing TCP/IP-based internets and in particular, the
71: Internet.
72:
73: This memo specifies a Standard Protocol for the Internet community.
74: Its status is "Recommended". TCP/IP implementations in the Internet
75: which are network manageable are expected to adopt and implement this
76: specification.
77:
78: The Internet Activities Board recommends that all IP and TCP
79: implementations be network manageable. This implies implementation
80: of the Internet MIB (RFC-1156) and at least one of the two
81: recommended management protocols SNMP (RFC-1157) or CMOT (RFC-1095).
82: It should be noted that, at this time, SNMP is a full Internet
83: standard and CMOT is a draft standard. See also the Host and Gateway
84: Requirements RFCs for more specific information on the applicability
85: of this standard.
86:
87: Please refer to the latest edition of the "IAB Official Protocol
88: Standards" RFC for current information on the state and status of
89: standard Internet protocols.
90:
91: Distribution of this memo is unlimited.
92:
93: 2. Introduction
94:
95: This memo describes the common structures and identification scheme
96: for the definition of management information used in managing
97: TCP/IP-based internets. Included are descriptions of an object
98: information model for network management along with a set of generic
99: types used to describe management information. Formal descriptions
100: of the structure are given using Abstract Syntax Notation One (ASN.1)
101: [1].
102:
103: This memo is largely concerned with organizational concerns and
104: administrative policy: it neither specifies the objects which are
105: managed, nor the protocols used to manage those objects. These
106: concerns are addressed by two companion memos: one describing the
107: Management Information Base (MIB) [2], and the other describing the
108: Simple Network Management Protocol (SNMP) [3].
109:
110: This memo is based in part on the work of the Internet Engineering
111:
112:
113:
114: Rose & McCloghrie [Page 2]
115:
116: RFC 1155 SMI May 1990
117:
118:
119: Task Force, particularly the working note titled "Structure and
120: Identification of Management Information for the Internet" [4]. This
121: memo uses a skeletal structure derived from that note, but differs in
122: one very significant way: that note focuses entirely on the use of
123: OSI-style network management. As such, it is not suitable for use
124: with SNMP.
125:
126: This memo attempts to achieve two goals: simplicity and
127: extensibility. Both are motivated by a common concern: although the
128: management of TCP/IP-based internets has been a topic of study for
129: some time, the authors do not feel that the depth and breadth of such
130: understanding is complete. More bluntly, we feel that previous
131: experiences, while giving the community insight, are hardly
132: conclusive. By fostering a simple SMI, the minimal number of
133: constraints are imposed on future potential approaches; further, by
134: fostering an extensible SMI, the maximal number of potential
135: approaches are available for experimentation.
136:
137: It is believed that this memo and its two companions comply with the
138: guidelines set forth in RFC 1052, "IAB Recommendations for the
139: Development of Internet Network Management Standards" [5] and RFC
140: 1109, "Report of the Second Ad Hoc Network Management Review Group"
141: [6]. In particular, we feel that this memo, along with the memo
142: describing the management information base, provide a solid basis for
143: network management of the Internet.
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170: Rose & McCloghrie [Page 3]
171:
172: RFC 1155 SMI May 1990
173:
174:
175: 3. Structure and Identification of Management Information
176:
177: Managed objects are accessed via a virtual information store, termed
178: the Management Information Base or MIB. Objects in the MIB are
179: defined using Abstract Syntax Notation One (ASN.1) [1].
180:
181: Each type of object (termed an object type) has a name, a syntax, and
182: an encoding. The name is represented uniquely as an OBJECT
183: IDENTIFIER. An OBJECT IDENTIFIER is an administratively assigned
184: name. The administrative policies used for assigning names are
185: discussed later in this memo.
186:
187: The syntax for an object type defines the abstract data structure
188: corresponding to that object type. For example, the structure of a
189: given object type might be an INTEGER or OCTET STRING. Although in
190: general, we should permit any ASN.1 construct to be available for use
191: in defining the syntax of an object type, this memo purposely
192: restricts the ASN.1 constructs which may be used. These restrictions
193: are made solely for the sake of simplicity.
194:
195: The encoding of an object type is simply how instances of that object
196: type are represented using the object's type syntax. Implicitly tied
197: to the notion of an object's syntax and encoding is how the object is
198: represented when being transmitted on the network. This memo
199: specifies the use of the basic encoding rules of ASN.1 [7].
200:
201: It is beyond the scope of this memo to define either the MIB used for
202: network management or the network management protocol. As mentioned
203: earlier, these tasks are left to companion memos. This memo attempts
204: to minimize the restrictions placed upon its companions so as to
205: maximize generality. However, in some cases, restrictions have been
206: made (e.g., the syntax which may be used when defining object types
207: in the MIB) in order to encourage a particular style of management.
208: Future editions of this memo may remove these restrictions.
209:
210: 3.1. Names
211:
212: Names are used to identify managed objects. This memo specifies
213: names which are hierarchical in nature. The OBJECT IDENTIFIER
214: concept is used to model this notion. An OBJECT IDENTIFIER can be
215: used for purposes other than naming managed object types; for
216: example, each international standard has an OBJECT IDENTIFIER
217: assigned to it for the purposes of identification. In short, OBJECT
218: IDENTIFIERs are a means for identifying some object, regardless of
219: the semantics associated with the object (e.g., a network object, a
220: standards document, etc.)
221:
222: An OBJECT IDENTIFIER is a sequence of integers which traverse a
223:
224:
225:
226: Rose & McCloghrie [Page 4]
227:
228: RFC 1155 SMI May 1990
229:
230:
231: global tree. The tree consists of a root connected to a number of
232: labeled nodes via edges. Each node may, in turn, have children of
233: its own which are labeled. In this case, we may term the node a
234: subtree. This process may continue to an arbitrary level of depth.
235: Central to the notion of the OBJECT IDENTIFIER is the understanding
236: that administrative control of the meanings assigned to the nodes may
237: be delegated as one traverses the tree. A label is a pairing of a
238: brief textual description and an integer.
239:
240: The root node itself is unlabeled, but has at least three children
241: directly under it: one node is administered by the International
242: Organization for Standardization, with label iso(1); another is
243: administrated by the International Telegraph and Telephone
244: Consultative Committee, with label ccitt(0); and the third is jointly
245: administered by the ISO and the CCITT, joint-iso-ccitt(2).
246:
247: Under the iso(1) node, the ISO has designated one subtree for use by
248: other (inter)national organizations, org(3). Of the children nodes
249: present, two have been assigned to the U.S. National Institutes of
250: Standards and Technology. One of these subtrees has been transferred
251: by the NIST to the U.S. Department of Defense, dod(6).
252:
253: As of this writing, the DoD has not indicated how it will manage its
254: subtree of OBJECT IDENTIFIERs. This memo assumes that DoD will
255: allocate a node to the Internet community, to be administered by the
256: Internet Activities Board (IAB) as follows:
257:
258: internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
259:
260: That is, the Internet subtree of OBJECT IDENTIFIERs starts with the
261: prefix:
262:
263: 1.3.6.1.
264:
265: This memo, as a standard approved by the IAB, now specifies the
266: policy under which this subtree of OBJECT IDENTIFIERs is
267: administered. Initially, four nodes are present:
268:
269: directory OBJECT IDENTIFIER ::= { internet 1 }
270: mgmt OBJECT IDENTIFIER ::= { internet 2 }
271: experimental OBJECT IDENTIFIER ::= { internet 3 }
272: private OBJECT IDENTIFIER ::= { internet 4 }
273:
274: 3.1.1. Directory
275:
276: The directory(1) subtree is reserved for use with a future memo that
277: discusses how the OSI Directory may be used in the Internet.
278:
279:
280:
281:
282: Rose & McCloghrie [Page 5]
283:
284: RFC 1155 SMI May 1990
285:
286:
287: 3.1.2. Mgmt
288:
289: The mgmt(2) subtree is used to identify objects which are defined in
290: IAB-approved documents. Administration of the mgmt(2) subtree is
291: delegated by the IAB to the Internet Assigned Numbers Authority for
292: the Internet. As RFCs which define new versions of the Internet-
293: standard Management Information Base are approved, they are assigned
294: an OBJECT IDENTIFIER by the Internet Assigned Numbers Authority for
295: identifying the objects defined by that memo.
296:
297: For example, the RFC which defines the initial Internet standard MIB
298: would be assigned management document number 1. This RFC would use
299: the OBJECT IDENTIFIER
300:
301: { mgmt 1 }
302:
303: or
304:
305: 1.3.6.1.2.1
306:
307: in defining the Internet-standard MIB.
308:
309: The generation of new versions of the Internet-standard MIB is a
310: rigorous process. Section 5 of this memo describes the rules used
311: when a new version is defined.
312:
313: 3.1.3. Experimental
314:
315: The experimental(3) subtree is used to identify objects used in
316: Internet experiments. Administration of the experimental(3) subtree
317: is delegated by the IAB to the Internet Assigned Numbers Authority of
318: the Internet.
319:
320: For example, an experimenter might received number 17, and would have
321: available the OBJECT IDENTIFIER
322:
323: { experimental 17 }
324:
325: or
326:
327: 1.3.6.1.3.17
328:
329: for use.
330:
331: As a part of the assignment process, the Internet Assigned Numbers
332: Authority may make requirements as to how that subtree is used.
333:
334:
335:
336:
337:
338: Rose & McCloghrie [Page 6]
339:
340: RFC 1155 SMI May 1990
341:
342:
343: 3.1.4. Private
344:
345: The private(4) subtree is used to identify objects defined
346: unilaterally. Administration of the private(4) subtree is delegated
347: by the IAB to the Internet Assigned Numbers Authority for the
348: Internet. Initially, this subtree has at least one child:
349:
350: enterprises OBJECT IDENTIFIER ::= { private 1 }
351:
352: The enterprises(1) subtree is used, among other things, to permit
353: parties providing networking subsystems to register models of their
354: products.
355:
356: Upon receiving a subtree, the enterprise may, for example, define new
357: MIB objects in this subtree. In addition, it is strongly recommended
358: that the enterprise will also register its networking subsystems
359: under this subtree, in order to provide an unambiguous identification
360: mechanism for use in management protocols. For example, if the
361: "Flintstones, Inc." enterprise produced networking subsystems, then
362: they could request a node under the enterprises subtree from the
363: Internet Assigned Numbers Authority. Such a node might be numbered:
364:
365: 1.3.6.1.4.1.42
366:
367: The "Flintstones, Inc." enterprise might then register their "Fred
368: Router" under the name of:
369:
370: 1.3.6.1.4.1.42.1.1
371:
372: 3.2. Syntax
373:
374: Syntax is used to define the structure corresponding to object types.
375: ASN.1 constructs are used to define this structure, although the full
376: generality of ASN.1 is not permitted.
377:
378: The ASN.1 type ObjectSyntax defines the different syntaxes which may
379: be used in defining an object type.
380:
381: 3.2.1. Primitive Types
382:
383: Only the ASN.1 primitive types INTEGER, OCTET STRING, OBJECT
384: IDENTIFIER, and NULL are permitted. These are sometimes referred to
385: as non-aggregate types.
386:
387: 3.2.1.1. Guidelines for Enumerated INTEGERs
388:
389: If an enumerated INTEGER is listed as an object type, then a named-
390: number having the value 0 shall not be present in the list of
391:
392:
393:
394: Rose & McCloghrie [Page 7]
395:
396: RFC 1155 SMI May 1990
397:
398:
399: enumerations. Use of this value is prohibited.
400:
401: 3.2.2. Constructor Types
402:
403: The ASN.1 constructor type SEQUENCE is permitted, providing that it
404: is used to generate either lists or tables.
405:
406: For lists, the syntax takes the form:
407:
408: SEQUENCE { <type1>, ..., <typeN> }
409:
410: where each <type> resolves to one of the ASN.1 primitive types listed
411: above. Further, these ASN.1 types are always present (the DEFAULT
412: and OPTIONAL clauses do not appear in the SEQUENCE definition).
413:
414: For tables, the syntax takes the form:
415:
416: SEQUENCE OF <entry>
417:
418: where <entry> resolves to a list constructor.
419:
420: Lists and tables are sometimes referred to as aggregate types.
421:
422: 3.2.3. Defined Types
423:
424: In addition, new application-wide types may be defined, so long as
425: they resolve into an IMPLICITly defined ASN.1 primitive type, list,
426: table, or some other application-wide type. Initially, few
427: application-wide types are defined. Future memos will no doubt
428: define others once a consensus is reached.
429:
430: 3.2.3.1. NetworkAddress
431:
432: This CHOICE represents an address from one of possibly several
433: protocol families. Currently, only one protocol family, the Internet
434: family, is present in this CHOICE.
435:
436: 3.2.3.2. IpAddress
437:
438: This application-wide type represents a 32-bit internet address. It
439: is represented as an OCTET STRING of length 4, in network byte-order.
440:
441: When this ASN.1 type is encoded using the ASN.1 basic encoding rules,
442: only the primitive encoding form shall be used.
443:
444: 3.2.3.3. Counter
445:
446: This application-wide type represents a non-negative integer which
447:
448:
449:
450: Rose & McCloghrie [Page 8]
451:
452: RFC 1155 SMI May 1990
453:
454:
455: monotonically increases until it reaches a maximum value, when it
456: wraps around and starts increasing again from zero. This memo
457: specifies a maximum value of 2^32-1 (4294967295 decimal) for
458: counters.
459:
460: 3.2.3.4. Gauge
461:
462: This application-wide type represents a non-negative integer, which
463: may increase or decrease, but which latches at a maximum value. This
464: memo specifies a maximum value of 2^32-1 (4294967295 decimal) for
465: gauges.
466:
467: 3.2.3.5. TimeTicks
468:
469: This application-wide type represents a non-negative integer which
470: counts the time in hundredths of a second since some epoch. When
471: object types are defined in the MIB which use this ASN.1 type, the
472: description of the object type identifies the reference epoch.
473:
474: 3.2.3.6. Opaque
475:
476: This application-wide type supports the capability to pass arbitrary
477: ASN.1 syntax. A value is encoded using the ASN.1 basic rules into a
478: string of octets. This, in turn, is encoded as an OCTET STRING, in
479: effect "double-wrapping" the original ASN.1 value.
480:
481: Note that a conforming implementation need only be able to accept and
482: recognize opaquely-encoded data. It need not be able to unwrap the
483: data and then interpret its contents.
484:
485: Further note that by use of the ASN.1 EXTERNAL type, encodings other
486: than ASN.1 may be used in opaquely-encoded data.
487:
488: 3.3. Encodings
489:
490: Once an instance of an object type has been identified, its value may
491: be transmitted by applying the basic encoding rules of ASN.1 to the
492: syntax for the object type.
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506: Rose & McCloghrie [Page 9]
507:
508: RFC 1155 SMI May 1990
509:
510:
511: 4. Managed Objects
512:
513: Although it is not the purpose of this memo to define objects in the
514: MIB, this memo specifies a format to be used by other memos which
515: define these objects.
516:
517: An object type definition consists of five fields:
518:
519: OBJECT:
520: -------
521: A textual name, termed the OBJECT DESCRIPTOR, for the object type,
522: along with its corresponding OBJECT IDENTIFIER.
523:
524: Syntax:
525: The abstract syntax for the object type. This must resolve to an
526: instance of the ASN.1 type ObjectSyntax (defined below).
527:
528: Definition:
529: A textual description of the semantics of the object type.
530: Implementations should ensure that their instance of the object
531: fulfills this definition since this MIB is intended for use in
532: multi-vendor environments. As such it is vital that objects have
533: consistent meaning across all machines.
534:
535: Access:
536: One of read-only, read-write, write-only, or not-accessible.
537:
538: Status:
539: One of mandatory, optional, or obsolete.
540:
541: Future memos may also specify other fields for the objects which they
542: define.
543:
544: 4.1. Guidelines for Object Names
545:
546: No object type in the Internet-Standard MIB shall use a sub-
547: identifier of 0 in its name. This value is reserved for use with
548: future extensions.
549:
550: Each OBJECT DESCRIPTOR corresponding to an object type in the
551: internet-standard MIB shall be a unique, but mnemonic, printable
552: string. This promotes a common language for humans to use when
553: discussing the MIB and also facilitates simple table mappings for
554: user interfaces.
555:
556: 4.2. Object Types and Instances
557:
558: An object type is a definition of a kind of managed object; it is
559:
560:
561:
562: Rose & McCloghrie [Page 10]
563:
564: RFC 1155 SMI May 1990
565:
566:
567: declarative in nature. In contrast, an object instance is an
568: instantiation of an object type which has been bound to a value. For
569: example, the notion of an entry in a routing table might be defined
570: in the MIB. Such a notion corresponds to an object type; individual
571: entries in a particular routing table which exist at some time are
572: object instances of that object type.
573:
574: A collection of object types is defined in the MIB. Each such
575: subject type is uniquely named by its OBJECT IDENTIFIER and also has
576: a textual name, which is its OBJECT DESCRIPTOR. The means whereby
577: object instances are referenced is not defined in the MIB. Reference
578: to object instances is achieved by a protocol-specific mechanism: it
579: is the responsibility of each management protocol adhering to the SMI
580: to define this mechanism.
581:
582: An object type may be defined in the MIB such that an instance of
583: that object type represents an aggregation of information also
584: represented by instances of some number of "subordinate" object
585: types. For example, suppose the following object types are defined
586: in the MIB:
587:
588:
589: OBJECT:
590: -------
591: atIndex { atEntry 1 }
592:
593: Syntax:
594: INTEGER
595:
596: Definition:
597: The interface number for the physical address.
598:
599: Access:
600: read-write.
601:
602: Status:
603: mandatory.
604:
605:
606: OBJECT:
607: -------
608: atPhysAddress { atEntry 2 }
609:
610: Syntax:
611: OCTET STRING
612:
613: Definition:
614: The media-dependent physical address.
615:
616:
617:
618: Rose & McCloghrie [Page 11]
619:
620: RFC 1155 SMI May 1990
621:
622:
623: Access:
624: read-write.
625:
626: Status:
627: mandatory.
628:
629:
630: OBJECT:
631: -------
632: atNetAddress { atEntry 3 }
633:
634: Syntax:
635: NetworkAddress
636:
637: Definition:
638: The network address corresponding to the media-dependent physical
639: address.
640:
641: Access:
642: read-write.
643:
644: Status:
645: mandatory.
646:
647: Then, a fourth object type might also be defined in the MIB:
648:
649:
650: OBJECT:
651: -------
652: atEntry { atTable 1 }
653:
654: Syntax:
655:
656: AtEntry ::= SEQUENCE {
657: atIndex
658: INTEGER,
659: atPhysAddress
660: OCTET STRING,
661: atNetAddress
662: NetworkAddress
663: }
664:
665: Definition:
666: An entry in the address translation table.
667:
668: Access:
669: read-write.
670:
671:
672:
673:
674: Rose & McCloghrie [Page 12]
675:
676: RFC 1155 SMI May 1990
677:
678:
679: Status:
680: mandatory.
681:
682: Each instance of this object type comprises information represented
683: by instances of the former three object types. An object type
684: defined in this way is called a list.
685:
686: Similarly, tables can be formed by aggregations of a list type. For
687: example, a fifth object type might also be defined in the MIB:
688:
689:
690: OBJECT:
691: ------
692: atTable { at 1 }
693:
694: Syntax:
695: SEQUENCE OF AtEntry
696:
697: Definition:
698: The address translation table.
699:
700: Access:
701: read-write.
702:
703: Status:
704: mandatory.
705:
706: such that each instance of the atTable object comprises information
707: represented by the set of atEntry object types that collectively
708: constitute a given atTable object instance, that is, a given address
709: translation table.
710:
711: Consider how one might refer to a simple object within a table.
712: Continuing with the previous example, one might name the object type
713:
714: { atPhysAddress }
715:
716: and specify, using a protocol-specific mechanism, the object instance
717:
718: { atNetAddress } = { internet "10.0.0.52" }
719:
720: This pairing of object type and object instance would refer to all
721: instances of atPhysAddress which are part of any entry in some
722: address translation table for which the associated atNetAddress value
723: is { internet "10.0.0.52" }.
724:
725: To continue with this example, consider how one might refer to an
726: aggregate object (list) within a table. Naming the object type
727:
728:
729:
730: Rose & McCloghrie [Page 13]
731:
732: RFC 1155 SMI May 1990
733:
734:
735: { atEntry }
736:
737: and specifying, using a protocol-specific mechanism, the object
738: instance
739:
740: { atNetAddress } = { internet "10.0.0.52" }
741:
742: refers to all instances of entries in the table for which the
743: associated atNetAddress value is { internet "10.0.0.52" }.
744:
745: Each management protocol must provide a mechanism for accessing
746: simple (non-aggregate) object types. Each management protocol
747: specifies whether or not it supports access to aggregate object
748: types. Further, the protocol must specify which instances are
749: "returned" when an object type/instance pairing refers to more than
750: one instance of a type.
751:
752: To afford support for a variety of management protocols, all
753: information by which instances of a given object type may be usefully
754: distinguished, one from another, is represented by instances of
755: object types defined in the MIB.
756:
757: 4.3. Macros for Managed Objects
758:
759: In order to facilitate the use of tools for processing the definition
760: of the MIB, the OBJECT-TYPE macro may be used. This macro permits
761: the key aspects of an object type to be represented in a formal way.
762:
763: OBJECT-TYPE MACRO ::=
764: BEGIN
765: TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
766: "ACCESS" Access
767: "STATUS" Status
768: VALUE NOTATION ::= value (VALUE ObjectName)
769:
770: Access ::= "read-only"
771: | "read-write"
772: | "write-only"
773: | "not-accessible"
774: Status ::= "mandatory"
775: | "optional"
776: | "obsolete"
777: END
778:
779: Given the object types defined earlier, we might imagine the
780: following definitions being present in the MIB:
781:
782: atIndex OBJECT-TYPE
783:
784:
785:
786: Rose & McCloghrie [Page 14]
787:
788: RFC 1155 SMI May 1990
789:
790:
791: SYNTAX INTEGER
792: ACCESS read-write
793: STATUS mandatory
794: ::= { atEntry 1 }
795:
796: atPhysAddress OBJECT-TYPE
797: SYNTAX OCTET STRING
798: ACCESS read-write
799: STATUS mandatory
800: ::= { atEntry 2 }
801:
802: atNetAddress OBJECT-TYPE
803: SYNTAX NetworkAddress
804: ACCESS read-write
805: STATUS mandatory
806: ::= { atEntry 3 }
807:
808: atEntry OBJECT-TYPE
809: SYNTAX AtEntry
810: ACCESS read-write
811: STATUS mandatory
812: ::= { atTable 1 }
813:
814: atTable OBJECT-TYPE
815: SYNTAX SEQUENCE OF AtEntry
816: ACCESS read-write
817: STATUS mandatory
818: ::= { at 1 }
819:
820: AtEntry ::= SEQUENCE {
821: atIndex
822: INTEGER,
823: atPhysAddress
824: OCTET STRING,
825: atNetAddress
826: NetworkAddress
827: }
828:
829: The first five definitions describe object types, relating, for
830: example, the OBJECT DESCRIPTOR atIndex to the OBJECT IDENTIFIER {
831: atEntry 1 }. In addition, the syntax of this object is defined
832: (INTEGER) along with the access permitted (read-write) and status
833: (mandatory). The sixth definition describes an ASN.1 type called
834: AtEntry.
835:
836:
837:
838:
839:
840:
841:
842: Rose & McCloghrie [Page 15]
843:
844: RFC 1155 SMI May 1990
845:
846:
847: 5. Extensions to the MIB
848:
849: Every Internet-standard MIB document obsoletes all previous such
850: documents. The portion of a name, termed the tail, following the
851: OBJECT IDENTIFIER
852:
853: { mgmt version-number }
854:
855: used to name objects shall remain unchanged between versions. New
856: versions may:
857:
858: (1) declare old object types obsolete (if necessary), but not
859: delete their names;
860:
861: (2) augment the definition of an object type corresponding to a
862: list by appending non-aggregate object types to the object types
863: in the list; or,
864:
865: (3) define entirely new object types.
866:
867: New versions may not:
868:
869: (1) change the semantics of any previously defined object without
870: changing the name of that object.
871:
872: These rules are important because they admit easier support for
873: multiple versions of the Internet-standard MIB. In particular, the
874: semantics associated with the tail of a name remain constant
875: throughout different versions of the MIB. Because multiple versions
876: of the MIB may thus coincide in "tail-space," implementations
877: supporting multiple versions of the MIB can be vastly simplified.
878:
879: However, as a consequence, a management agent might return an
880: instance corresponding to a superset of the expected object type.
881: Following the principle of robustness, in this exceptional case, a
882: manager should ignore any additional information beyond the
883: definition of the expected object type. However, the robustness
884: principle requires that one exercise care with respect to control
885: actions: if an instance does not have the same syntax as its
886: expected object type, then those control actions must fail. In both
887: the monitoring and control cases, the name of an object returned by
888: an operation must be identical to the name requested by an operation.
889:
890:
891:
892:
893:
894:
895:
896:
897:
898: Rose & McCloghrie [Page 16]
899:
900: RFC 1155 SMI May 1990
901:
902:
903: 6. Definitions
904:
905: RFC1155-SMI DEFINITIONS ::= BEGIN
906:
907: EXPORTS -- EVERYTHING
908: internet, directory, mgmt,
909: experimental, private, enterprises,
910: OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,
911: ApplicationSyntax, NetworkAddress, IpAddress,
912: Counter, Gauge, TimeTicks, Opaque;
913:
914: -- the path to the root
915:
916: internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
917:
918: directory OBJECT IDENTIFIER ::= { internet 1 }
919:
920: mgmt OBJECT IDENTIFIER ::= { internet 2 }
921:
922: experimental OBJECT IDENTIFIER ::= { internet 3 }
923:
924: private OBJECT IDENTIFIER ::= { internet 4 }
925: enterprises OBJECT IDENTIFIER ::= { private 1 }
926:
927:
928: -- definition of object types
929:
930: OBJECT-TYPE MACRO ::=
931: BEGIN
932: TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
933: "ACCESS" Access
934: "STATUS" Status
935: VALUE NOTATION ::= value (VALUE ObjectName)
936:
937: Access ::= "read-only"
938: | "read-write"
939: | "write-only"
940: | "not-accessible"
941: Status ::= "mandatory"
942: | "optional"
943: | "obsolete"
944: END
945:
946: -- names of objects in the MIB
947:
948: ObjectName ::=
949: OBJECT IDENTIFIER
950:
951:
952:
953:
954: Rose & McCloghrie [Page 17]
955:
956: RFC 1155 SMI May 1990
957:
958:
959: -- syntax of objects in the MIB
960:
961: ObjectSyntax ::=
962: CHOICE {
963: simple
964: SimpleSyntax,
965:
966: -- note that simple SEQUENCEs are not directly
967: -- mentioned here to keep things simple (i.e.,
968: -- prevent mis-use). However, application-wide
969: -- types which are IMPLICITly encoded simple
970: -- SEQUENCEs may appear in the following CHOICE
971:
972: application-wide
973: ApplicationSyntax
974: }
975:
976: SimpleSyntax ::=
977: CHOICE {
978: number
979: INTEGER,
980:
981: string
982: OCTET STRING,
983:
984: object
985: OBJECT IDENTIFIER,
986:
987: empty
988: NULL
989: }
990:
991: ApplicationSyntax ::=
992: CHOICE {
993: address
994: NetworkAddress,
995:
996: counter
997: Counter,
998:
999: gauge
1000: Gauge,
1001:
1002: ticks
1003: TimeTicks,
1004:
1005: arbitrary
1006: Opaque
1007:
1008:
1009:
1010: Rose & McCloghrie [Page 18]
1011:
1012: RFC 1155 SMI May 1990
1013:
1014:
1015: -- other application-wide types, as they are
1016: -- defined, will be added here
1017: }
1018:
1019:
1020: -- application-wide types
1021:
1022: NetworkAddress ::=
1023: CHOICE {
1024: internet
1025: IpAddress
1026: }
1027:
1028: IpAddress ::=
1029: [APPLICATION 0] -- in network-byte order
1030: IMPLICIT OCTET STRING (SIZE (4))
1031:
1032: Counter ::=
1033: [APPLICATION 1]
1034: IMPLICIT INTEGER (0..4294967295)
1035:
1036: Gauge ::=
1037: [APPLICATION 2]
1038: IMPLICIT INTEGER (0..4294967295)
1039:
1040: TimeTicks ::=
1041: [APPLICATION 3]
1042: IMPLICIT INTEGER (0..4294967295)
1043:
1044: Opaque ::=
1045: [APPLICATION 4] -- arbitrary ASN.1 value,
1046: IMPLICIT OCTET STRING -- "double-wrapped"
1047:
1048: END
1049:
1050:
1051:
1052:
1053:
1054:
1055:
1056:
1057:
1058:
1059:
1060:
1061:
1062:
1063:
1064:
1065:
1066: Rose & McCloghrie [Page 19]
1067:
1068: RFC 1155 SMI May 1990
1069:
1070:
1071: 7. Acknowledgements
1072:
1073: This memo was influenced by three sets of contributors to earlier
1074: drafts:
1075:
1076: First, Lee Labarre of the MITRE Corporation, who as author of the
1077: NETMAN SMI [4], presented the basic roadmap for the SMI.
1078:
1079: Second, several individuals who provided valuable comments on this
1080: memo prior to its initial distribution:
1081:
1082: James R. Davin, Proteon
1083: Mark S. Fedor, NYSERNet
1084: Craig Partridge, BBN Laboratories
1085: Martin Lee Schoffstall, Rensselaer Polytechnic Institute
1086: Wengyik Yeong, NYSERNet
1087:
1088:
1089: Third, the IETF MIB working group:
1090:
1091: Karl Auerbach, Epilogue Technology
1092: K. Ramesh Babu, Excelan
1093: Lawrence Besaw, Hewlett-Packard
1094: Jeffrey D. Case, University of Tennessee at Knoxville
1095: James R. Davin, Proteon
1096: Mark S. Fedor, NYSERNet
1097: Robb Foster, BBN
1098: Phill Gross, The MITRE Corporation
1099: Bent Torp Jensen, Convergent Technology
1100: Lee Labarre, The MITRE Corporation
1101: Dan Lynch, Advanced Computing Environments
1102: Keith McCloghrie, The Wollongong Group
1103: Dave Mackie, 3Com/Bridge
1104: Craig Partridge, BBN (chair)
1105: Jim Robertson, 3Com/Bridge
1106: Marshall T. Rose, The Wollongong Group
1107: Greg Satz, cisco
1108: Martin Lee Schoffstall, Rensselaer Polytechnic Institute
1109: Lou Steinberg, IBM
1110: Dean Throop, Data General
1111: Unni Warrier, Unisys
1112:
1113:
1114:
1115:
1116:
1117:
1118:
1119:
1120:
1121:
1122: Rose & McCloghrie [Page 20]
1123:
1124: RFC 1155 SMI May 1990
1125:
1126:
1127: 8. References
1128:
1129: [1] Information processing systems - Open Systems Interconnection,
1130: "Specification of Abstract Syntax Notation One (ASN.1)",
1131: International Organization for Standardization, International
1132: Standard 8824, December 1987.
1133:
1134: [2] McCloghrie K., and M. Rose, "Management Information Base for
1135: Network Management of TCP/IP-based Internets", RFC 1156,
1136: Performance Systems International and Hughes LAN Systems, May
1137: 1990.
1138:
1139: [3] Case, J., M. Fedor, M. Schoffstall, and J. Davin, The Simple
1140: Network Management Protocol", RFC 1157, University of Tennessee
1141: at Knoxville, Performance Systems International, Performance
1142: Systems International, and the MIT Laboratory for Computer
1143: Science, May 1990.
1144:
1145: [4] LaBarre, L., "Structure and Identification of Management
1146: Information for the Internet", Internet Engineering Task Force
1147: working note, Network Information Center, SRI International,
1148: Menlo Park, California, April 1988.
1149:
1150: [5] Cerf, V., "IAB Recommendations for the Development of Internet
1151: Network Management Standards", RFC 1052, IAB, April 1988.
1152:
1153: [6] Cerf, V., "Report of the Second Ad Hoc Network Management Review
1154: Group", RFC 1109, IAB, August 1989.
1155:
1156: [7] Information processing systems - Open Systems Interconnection,
1157: "Specification of Basic Encoding Rules for Abstract Notation One
1158: (ASN.1)", International Organization for Standardization,
1159: International Standard 8825, December 1987.
1160:
1161: Security Considerations
1162:
1163: Security issues are not discussed in this memo.
1164:
1165:
1166:
1167:
1168:
1169:
1170:
1171:
1172:
1173:
1174:
1175:
1176:
1177:
1178: Rose & McCloghrie [Page 21]
1179:
1180: RFC 1155 SMI May 1990
1181:
1182:
1183: Authors' Addresses
1184:
1185: Marshall T. Rose
1186: PSI, Inc.
1187: PSI California Office
1188: P.O. Box 391776
1189: Mountain View, CA 94039
1190:
1191: Phone: (415) 961-3380
1192:
1193: EMail: [email protected]
1194:
1195:
1196: Keith McCloghrie
1197: The Wollongong Group
1198: 1129 San Antonio Road
1199: Palo Alto, CA 04303
1200:
1201: Phone: (415) 962-7160
1202:
1203: EMail: [email protected]
1204:
1205:
1206:
1207:
1208:
1209:
1210:
1211:
1212:
1213:
1214:
1215:
1216:
1217:
1218:
1219:
1220:
1221:
1222:
1223:
1224:
1225:
1226:
1227:
1228:
1229:
1230:
1231:
1232:
1233:
1234: Rose & McCloghrie [Page 22]
1235:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.