home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1155.txt < prev    next >
Text File  |  1996-05-07  |  41KB  |  702 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                            M. Rose Request for Comments:  1155            Performance Systems International Obsoletes:  RFC 1065                                       K. McCloghrie                                                       Hughes LAN Systems                                                                 May 1990 
  8.  
  9.  
  10.  
  11.          Structure and Identification of Management Information                        for TCP/IP-based Internets 
  12.  
  13.                            Table of Contents 
  14.  
  15. 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 
  16.  
  17. 1.  Status of this Memo 
  18.  
  19.    This RFC is a re-release of RFC 1065, with a changed "Status of this    Memo", plus a few minor typographical corrections.  The technical 
  20.  
  21.  
  22.  
  23. Rose & McCloghrie                                               [Page 1] 
  24.  RFC 1155                          SMI                           May 1990 
  25.  
  26.     content of the document is unchanged from RFC 1065. 
  27.  
  28.    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. 
  29.  
  30.    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. 
  31.  
  32.    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. 
  33.  
  34.    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. 
  35.  
  36.    Distribution of this memo is unlimited. 
  37.  
  38. 2.  Introduction 
  39.  
  40.    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]. 
  41.  
  42.    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]. 
  43.  
  44.    This memo is based in part on the work of the Internet Engineering 
  45.  
  46.  
  47.  
  48. Rose & McCloghrie                                               [Page 2] 
  49.  RFC 1155                          SMI                           May 1990 
  50.  
  51.     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. 
  52.  
  53.    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. 
  54.  
  55.    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. 
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  Rose & McCloghrie                                               [Page 3] 
  82.  RFC 1155                          SMI                           May 1990 
  83.  
  84.  3.  Structure and Identification of Management Information 
  85.  
  86.    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]. 
  87.  
  88.    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. 
  89.  
  90.    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. 
  91.  
  92.    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]. 
  93.  
  94.    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. 
  95.  
  96. 3.1.  Names 
  97.  
  98.    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.) 
  99.  
  100.    An OBJECT IDENTIFIER is a sequence of integers which traverse a 
  101.  
  102.  
  103.  
  104. Rose & McCloghrie                                               [Page 4] 
  105.  RFC 1155                          SMI                           May 1990 
  106.  
  107.     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. 
  108.  
  109.    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). 
  110.  
  111.    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). 
  112.  
  113.    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: 
  114.  
  115.       internet    OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 } 
  116.  
  117.    That is, the Internet subtree of OBJECT IDENTIFIERs starts with the    prefix: 
  118.  
  119.       1.3.6.1. 
  120.  
  121.    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: 
  122.  
  123.       directory     OBJECT IDENTIFIER ::= { internet 1 }       mgmt          OBJECT IDENTIFIER ::= { internet 2 }       experimental  OBJECT IDENTIFIER ::= { internet 3 }       private       OBJECT IDENTIFIER ::= { internet 4 } 
  124.  
  125. 3.1.1.  Directory 
  126.  
  127.    The directory(1) subtree is reserved for use with a future memo that    discusses how the OSI Directory may be used in the Internet. 
  128.  
  129.  
  130.  
  131.  Rose & McCloghrie                                               [Page 5] 
  132.  RFC 1155                          SMI                           May 1990 
  133.  
  134.  3.1.2.  Mgmt 
  135.  
  136.    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. 
  137.  
  138.    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 
  139.  
  140.       { mgmt 1 } 
  141.  
  142.    or 
  143.  
  144.       1.3.6.1.2.1 
  145.  
  146.    in defining the Internet-standard MIB. 
  147.  
  148.    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. 
  149.  
  150. 3.1.3.  Experimental 
  151.  
  152.    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. 
  153.  
  154.    For example, an experimenter might received number 17, and would have    available the OBJECT IDENTIFIER 
  155.  
  156.       { experimental 17 } 
  157.  
  158.    or 
  159.  
  160.       1.3.6.1.3.17 
  161.  
  162.    for use. 
  163.  
  164.    As a part of the assignment process, the Internet Assigned Numbers    Authority may make requirements as to how that subtree is used. 
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Rose & McCloghrie                                               [Page 6] 
  171.  RFC 1155                          SMI                           May 1990 
  172.  
  173.  3.1.4.  Private 
  174.  
  175.    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: 
  176.  
  177.       enterprises   OBJECT IDENTIFIER ::= { private 1 } 
  178.  
  179.    The enterprises(1) subtree is used, among other things, to permit    parties providing networking subsystems to register models of their    products. 
  180.  
  181.    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: 
  182.  
  183.       1.3.6.1.4.1.42 
  184.  
  185.    The "Flintstones, Inc." enterprise might then register their "Fred    Router" under the name of: 
  186.  
  187.       1.3.6.1.4.1.42.1.1 
  188.  
  189. 3.2.  Syntax 
  190.  
  191.    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. 
  192.  
  193.    The ASN.1 type ObjectSyntax defines the different syntaxes which may    be used in defining an object type. 
  194.  
  195. 3.2.1.  Primitive Types 
  196.  
  197.    Only the ASN.1 primitive types INTEGER, OCTET STRING, OBJECT    IDENTIFIER, and NULL are permitted.  These are sometimes referred to    as non-aggregate types. 
  198.  
  199. 3.2.1.1.  Guidelines for Enumerated INTEGERs 
  200.  
  201.    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 
  202.  
  203.  
  204.  
  205. Rose & McCloghrie                                               [Page 7] 
  206.  RFC 1155                          SMI                           May 1990 
  207.  
  208.     enumerations.  Use of this value is prohibited. 
  209.  
  210. 3.2.2.  Constructor Types 
  211.  
  212.    The ASN.1 constructor type SEQUENCE is permitted, providing that it    is used to generate either lists or tables. 
  213.  
  214.    For lists, the syntax takes the form: 
  215.  
  216.       SEQUENCE { <type1>, ..., <typeN> } 
  217.  
  218.    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). 
  219.  
  220.    For tables, the syntax takes the form: 
  221.  
  222.       SEQUENCE OF <entry> 
  223.  
  224.    where <entry> resolves to a list constructor. 
  225.  
  226.    Lists and tables are sometimes referred to as aggregate types. 
  227.  
  228. 3.2.3.  Defined Types 
  229.  
  230.    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. 
  231.  
  232. 3.2.3.1.  NetworkAddress 
  233.  
  234.    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. 
  235.  
  236. 3.2.3.2.  IpAddress 
  237.  
  238.    This application-wide type represents a 32-bit internet address.  It    is represented as an OCTET STRING of length 4, in network byte-order. 
  239.  
  240.    When this ASN.1 type is encoded using the ASN.1 basic encoding rules,    only the primitive encoding form shall be used. 
  241.  
  242. 3.2.3.3.  Counter 
  243.  
  244.    This application-wide type represents a non-negative integer which 
  245.  
  246.  
  247.  
  248. Rose & McCloghrie                                               [Page 8] 
  249.  RFC 1155                          SMI                           May 1990 
  250.  
  251.     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. 
  252.  
  253. 3.2.3.4.  Gauge 
  254.  
  255.    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. 
  256.  
  257. 3.2.3.5.  TimeTicks 
  258.  
  259.    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. 
  260.  
  261. 3.2.3.6.  Opaque 
  262.  
  263.    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. 
  264.  
  265.    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. 
  266.  
  267.    Further note that by use of the ASN.1 EXTERNAL type, encodings other    than ASN.1 may be used in opaquely-encoded data. 
  268.  
  269. 3.3.  Encodings 
  270.  
  271.    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. 
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285. Rose & McCloghrie                                               [Page 9] 
  286.  RFC 1155                          SMI                           May 1990 
  287.  
  288.  4.  Managed Objects 
  289.  
  290.    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. 
  291.  
  292.    An object type definition consists of five fields: 
  293.  
  294.    OBJECT:    -------       A textual name, termed the OBJECT DESCRIPTOR, for the object type,       along with its corresponding OBJECT IDENTIFIER. 
  295.  
  296.    Syntax:       The abstract syntax for the object type.  This must resolve to an       instance of the ASN.1 type ObjectSyntax (defined below). 
  297.  
  298.    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. 
  299.  
  300.    Access:       One of read-only, read-write, write-only, or not-accessible. 
  301.  
  302.    Status:       One of mandatory, optional, or obsolete. 
  303.  
  304.    Future memos may also specify other fields for the objects which they    define. 
  305.  
  306. 4.1.  Guidelines for Object Names 
  307.  
  308.    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. 
  309.  
  310.    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. 
  311.  
  312. 4.2.  Object Types and Instances 
  313.  
  314.    An object type is a definition of a kind of managed object; it is 
  315.  
  316.  
  317.  
  318. Rose & McCloghrie                                              [Page 10] 
  319.  RFC 1155                          SMI                           May 1990 
  320.  
  321.     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. 
  322.  
  323.    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. 
  324.  
  325.    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: 
  326.  
  327.     OBJECT:    -------       atIndex { atEntry 1 } 
  328.  
  329.    Syntax:       INTEGER 
  330.  
  331.    Definition:       The interface number for the physical address. 
  332.  
  333.    Access:       read-write. 
  334.  
  335.    Status:       mandatory. 
  336.  
  337.     OBJECT:    -------       atPhysAddress { atEntry 2 } 
  338.  
  339.    Syntax:       OCTET STRING 
  340.  
  341.    Definition:       The media-dependent physical address. 
  342.  
  343.  
  344.  
  345. Rose & McCloghrie                                              [Page 11] 
  346.  RFC 1155                          SMI                           May 1990 
  347.  
  348.     Access:       read-write. 
  349.  
  350.    Status:       mandatory. 
  351.  
  352.     OBJECT:    -------       atNetAddress { atEntry 3 } 
  353.  
  354.    Syntax:       NetworkAddress 
  355.  
  356.    Definition:       The network address corresponding to the media-dependent physical       address. 
  357.  
  358.    Access:       read-write. 
  359.  
  360.    Status:       mandatory. 
  361.  
  362.    Then, a fourth object type might also be defined in the MIB: 
  363.  
  364.     OBJECT:    -------       atEntry { atTable 1 } 
  365.  
  366.    Syntax: 
  367.  
  368.       AtEntry ::= SEQUENCE {             atIndex             INTEGER,             atPhysAddress             OCTET STRING,             atNetAddress             NetworkAddress             } 
  369.  
  370.    Definition:       An entry in the address translation table. 
  371.  
  372.    Access:       read-write. 
  373.  
  374.  
  375.  
  376.  Rose & McCloghrie                                              [Page 12] 
  377.  RFC 1155                          SMI                           May 1990 
  378.  
  379.     Status:       mandatory. 
  380.  
  381.    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. 
  382.  
  383.    Similarly, tables can be formed by aggregations of a list type.  For    example, a fifth object type might also be defined in the MIB: 
  384.  
  385.     OBJECT:    ------       atTable { at 1 } 
  386.  
  387.    Syntax:       SEQUENCE OF AtEntry 
  388.  
  389.    Definition:       The address translation table. 
  390.  
  391.    Access:       read-write. 
  392.  
  393.    Status:       mandatory. 
  394.  
  395.    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. 
  396.  
  397.    Consider how one might refer to a simple object within a table.    Continuing with the previous example, one might name the object type 
  398.  
  399.       { atPhysAddress } 
  400.  
  401.    and specify, using a protocol-specific mechanism, the object instance 
  402.  
  403.       { atNetAddress } = { internet "10.0.0.52" } 
  404.  
  405.    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" }. 
  406.  
  407.    To continue with this example, consider how one might refer to an    aggregate object (list) within a table.  Naming the object type 
  408.  
  409.  
  410.  
  411. Rose & McCloghrie                                              [Page 13] 
  412.  RFC 1155                          SMI                           May 1990 
  413.  
  414.        { atEntry } 
  415.  
  416.    and specifying, using a protocol-specific mechanism, the object    instance 
  417.  
  418.       { atNetAddress } = { internet "10.0.0.52" } 
  419.  
  420.    refers to all instances of entries in the table for which the    associated atNetAddress value is { internet "10.0.0.52" }. 
  421.  
  422.    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. 
  423.  
  424.    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. 
  425.  
  426. 4.3.  Macros for Managed Objects 
  427.  
  428.    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. 
  429.  
  430.       OBJECT-TYPE MACRO ::=       BEGIN           TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)                             "ACCESS" Access                             "STATUS" Status           VALUE NOTATION ::= value (VALUE ObjectName) 
  431.  
  432.           Access ::= "read-only"                           | "read-write"                           | "write-only"                           | "not-accessible"           Status ::= "mandatory"                           | "optional"                           | "obsolete"           END 
  433.  
  434.    Given the object types defined earlier, we might imagine the    following definitions being present in the MIB: 
  435.  
  436.                   atIndex OBJECT-TYPE 
  437.  
  438.  
  439.  
  440. Rose & McCloghrie                                              [Page 14] 
  441.  RFC 1155                          SMI                           May 1990 
  442.  
  443.                            SYNTAX  INTEGER                           ACCESS  read-write                           STATUS  mandatory                           ::= { atEntry 1 } 
  444.  
  445.                   atPhysAddress OBJECT-TYPE                           SYNTAX  OCTET STRING                           ACCESS  read-write                           STATUS  mandatory                           ::= { atEntry 2 } 
  446.  
  447.                   atNetAddress OBJECT-TYPE                           SYNTAX  NetworkAddress                           ACCESS  read-write                           STATUS  mandatory                           ::= { atEntry 3 } 
  448.  
  449.                   atEntry OBJECT-TYPE                           SYNTAX  AtEntry                           ACCESS  read-write                           STATUS  mandatory                           ::= { atTable 1 } 
  450.  
  451.                   atTable OBJECT-TYPE                           SYNTAX  SEQUENCE OF AtEntry                           ACCESS  read-write                           STATUS  mandatory                           ::= { at 1 } 
  452.  
  453.                   AtEntry ::= SEQUENCE {                       atIndex                           INTEGER,                       atPhysAddress                           OCTET STRING,                       atNetAddress                           NetworkAddress                   } 
  454.  
  455.    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. 
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463. Rose & McCloghrie                                              [Page 15] 
  464.  RFC 1155                          SMI                           May 1990 
  465.  
  466.  5.  Extensions to the MIB 
  467.  
  468.    Every Internet-standard MIB document obsoletes all previous such    documents.  The portion of a name, termed the tail, following the    OBJECT IDENTIFIER 
  469.  
  470.       { mgmt version-number } 
  471.  
  472.    used to name objects shall remain unchanged between versions.  New    versions may: 
  473.  
  474.       (1) declare old object types obsolete (if necessary), but not       delete their names; 
  475.  
  476.       (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. 
  477.  
  478.    New versions may not: 
  479.  
  480.       (1) change the semantics of any previously defined object without       changing the name of that object. 
  481.  
  482.    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. 
  483.  
  484.    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. 
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494. Rose & McCloghrie                                              [Page 16] 
  495.  RFC 1155                          SMI                           May 1990 
  496.  
  497.  6.  Definitions 
  498.  
  499.            RFC1155-SMI DEFINITIONS ::= BEGIN 
  500.  
  501.            EXPORTS -- EVERYTHING                    internet, directory, mgmt,                    experimental, private, enterprises,                    OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,                    ApplicationSyntax, NetworkAddress, IpAddress,                    Counter, Gauge, TimeTicks, Opaque; 
  502.  
  503.             -- the path to the root 
  504.  
  505.             internet      OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 } 
  506.  
  507.             directory     OBJECT IDENTIFIER ::= { internet 1 } 
  508.  
  509.             mgmt          OBJECT IDENTIFIER ::= { internet 2 } 
  510.  
  511.             experimental  OBJECT IDENTIFIER ::= { internet 3 } 
  512.  
  513.             private       OBJECT IDENTIFIER ::= { internet 4 }             enterprises   OBJECT IDENTIFIER ::= { private 1 } 
  514.  
  515.              -- definition of object types 
  516.  
  517.             OBJECT-TYPE MACRO ::=             BEGIN                 TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)                                   "ACCESS" Access                                   "STATUS" Status                 VALUE NOTATION ::= value (VALUE ObjectName) 
  518.  
  519.                 Access ::= "read-only"                                 | "read-write"                                 | "write-only"                                 | "not-accessible"                 Status ::= "mandatory"                                 | "optional"                                 | "obsolete"             END 
  520.  
  521.                -- names of objects in the MIB 
  522.  
  523.                ObjectName ::=                    OBJECT IDENTIFIER 
  524.  
  525.  
  526.  
  527.  Rose & McCloghrie                                              [Page 17] 
  528.  RFC 1155                          SMI                           May 1990 
  529.  
  530.                 -- syntax of objects in the MIB 
  531.  
  532.                ObjectSyntax ::=                    CHOICE {                        simple                            SimpleSyntax, 
  533.  
  534.                -- 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 
  535.  
  536.                        application-wide                            ApplicationSyntax                    } 
  537.  
  538.                   SimpleSyntax ::=                       CHOICE {                           number                               INTEGER, 
  539.  
  540.                           string                               OCTET STRING, 
  541.  
  542.                           object                               OBJECT IDENTIFIER, 
  543.  
  544.                           empty                               NULL                       } 
  545.  
  546.                   ApplicationSyntax ::=                       CHOICE {                           address                               NetworkAddress, 
  547.  
  548.                           counter                               Counter, 
  549.  
  550.                           gauge                               Gauge, 
  551.  
  552.                           ticks                               TimeTicks, 
  553.  
  554.                           arbitrary                               Opaque 
  555.  
  556.  
  557.  
  558. Rose & McCloghrie                                              [Page 18] 
  559.  RFC 1155                          SMI                           May 1990 
  560.  
  561.                    -- other application-wide types, as they are                   -- defined, will be added here                       } 
  562.  
  563.                    -- application-wide types 
  564.  
  565.                   NetworkAddress ::=                       CHOICE {                           internet                               IpAddress                       } 
  566.  
  567.                   IpAddress ::=                       [APPLICATION 0]          -- in network-byte order                           IMPLICIT OCTET STRING (SIZE (4)) 
  568.  
  569.                   Counter ::=                       [APPLICATION 1]                           IMPLICIT INTEGER (0..4294967295) 
  570.  
  571.                   Gauge ::=                       [APPLICATION 2]                           IMPLICIT INTEGER (0..4294967295) 
  572.  
  573.                   TimeTicks ::=                       [APPLICATION 3]                           IMPLICIT INTEGER (0..4294967295) 
  574.  
  575.                   Opaque ::=                       [APPLICATION 4]          -- arbitrary ASN.1 value,                           IMPLICIT OCTET STRING   --   "double-wrapped" 
  576.  
  577.                   END 
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595. Rose & McCloghrie                                              [Page 19] 
  596.  RFC 1155                          SMI                           May 1990 
  597.  
  598.  7.  Acknowledgements 
  599.  
  600.    This memo was influenced by three sets of contributors to earlier    drafts: 
  601.  
  602.    First, Lee Labarre of the MITRE Corporation, who as author of the    NETMAN SMI [4], presented the basic roadmap for the SMI. 
  603.  
  604.    Second, several individuals who provided valuable comments on this    memo prior to its initial distribution: 
  605.  
  606.          James R. Davin, Proteon          Mark S. Fedor, NYSERNet          Craig Partridge, BBN Laboratories          Martin Lee Schoffstall, Rensselaer Polytechnic Institute          Wengyik Yeong, NYSERNet 
  607.  
  608.     Third, the IETF MIB working group: 
  609.  
  610.          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 
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  Rose & McCloghrie                                              [Page 20] 
  621.  RFC 1155                          SMI                           May 1990 
  622.  
  623.  8.  References 
  624.  
  625.    [1] Information processing systems - Open Systems Interconnection,        "Specification of Abstract Syntax Notation One (ASN.1)",        International Organization for Standardization, International        Standard 8824, December 1987. 
  626.  
  627.    [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. 
  628.  
  629.    [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. 
  630.  
  631.    [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. 
  632.  
  633.    [5] Cerf, V., "IAB Recommendations for the Development of Internet        Network Management Standards", RFC 1052, IAB, April 1988. 
  634.  
  635.    [6] Cerf, V., "Report of the Second Ad Hoc Network Management Review        Group", RFC 1109, IAB, August 1989. 
  636.  
  637.    [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. 
  638.  
  639. Security Considerations 
  640.  
  641.    Security issues are not discussed in this memo. 
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  Rose & McCloghrie                                              [Page 21] 
  656.  RFC 1155                          SMI                           May 1990 
  657.  
  658.  Authors' Addresses 
  659.  
  660.    Marshall T. Rose    PSI, Inc.    PSI California Office    P.O. Box 391776    Mountain View, CA 94039 
  661.  
  662.    Phone: (415) 961-3380 
  663.  
  664.    EMail: mrose@PSI.COM 
  665.  
  666.     Keith McCloghrie    The Wollongong Group    1129 San Antonio Road    Palo Alto, CA 04303 
  667.  
  668.    Phone: (415) 962-7160 
  669.  
  670.    EMail: sytek!kzm@HPLABS.HP.COM 
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  Rose & McCloghrie                                              [Page 22] 
  701.  
  702.