diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1212.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1212.txt')
-rw-r--r-- | doc/rfc/rfc1212.txt | 1067 |
1 files changed, 1067 insertions, 0 deletions
diff --git a/doc/rfc/rfc1212.txt b/doc/rfc/rfc1212.txt new file mode 100644 index 0000000..d16bd5e --- /dev/null +++ b/doc/rfc/rfc1212.txt @@ -0,0 +1,1067 @@ + + + + + + +Network Working Group M. Rose +Request for Comments: 1212 Performance Systems International + K. McCloghrie + Hughes LAN Systems + Editors + March 1991 + + + Concise MIB Definitions +Status of this Memo + + This memo defines a format for producing MIB modules. This RFC + specifies an IAB standards track document for the Internet community, + and requests discussion and suggestions for improvements. Please + refer to the current edition of the "IAB Official Protocol Standards" + for the standardization state and status of this protocol. + Distribution of this memo is unlimited. + +Table of Contents + + 1. Abstract.............................................. 2 + 2. Historical Perspective ............................... 2 + 3. Columnar Objects ..................................... 3 + 3.1 Row Deletion ........................................ 4 + 3.2 Row Addition ........................................ 4 + 4. Defining Objects ..................................... 5 + 4.1 Mapping of the OBJECT-TYPE macro .................... 7 + 4.1.1 Mapping of the SYNTAX clause ...................... 7 + 4.1.2 Mapping of the ACCESS clause ...................... 8 + 4.1.3 Mapping of the STATUS clause ...................... 8 + 4.1.4 Mapping of the DESCRIPTION clause ................. 8 + 4.1.5 Mapping of the REFERENCE clause ................... 8 + 4.1.6 Mapping of the INDEX clause ....................... 8 + 4.1.7 Mapping of the DEFVAL clause ...................... 10 + 4.1.8 Mapping of the OBJECT-TYPE value .................. 11 + 4.2 Usage Example ....................................... 11 + 5. Appendix: DE-osifying MIBs ........................... 13 + 5.1 Managed Object Mapping .............................. 14 + 5.1.1 Mapping to the SYNTAX clause ...................... 15 + 5.1.2 Mapping to the ACCESS clause ...................... 15 + 5.1.3 Mapping to the STATUS clause ...................... 15 + 5.1.4 Mapping to the DESCRIPTION clause ................. 15 + 5.1.5 Mapping to the REFERENCE clause ................... 16 + 5.1.6 Mapping to the INDEX clause ....................... 16 + 5.1.7 Mapping to the DEFVAL clause ...................... 16 + 5.2 Action Mapping ...................................... 16 + 5.2.1 Mapping to the SYNTAX clause ...................... 16 + 5.2.2 Mapping to the ACCESS clause ...................... 16 + + + +SNMP Working Group [Page 1] + +RFC 1212 Concise MIB Definitions March 1991 + + + 5.2.3 Mapping to the STATUS clause ...................... 16 + 5.2.4 Mapping to the DESCRIPTION clause ................. 16 + 5.2.5 Mapping to the REFERENCE clause ................... 16 + 6. Acknowledgements ..................................... 17 + 7. References ........................................... 18 + 8. Security Considerations............................... 19 + 9. Authors' Addresses.................................... 19 + +1. Abstract + + This memo describes a straight-forward approach toward producing + concise, yet descriptive, MIB modules. It is intended that all + future MIB modules be written in this format. + +2. Historical Perspective + + As reported in RFC 1052, IAB Recommendations for the Development of + Internet Network Management Standards [1], a two-prong strategy for + network management of TCP/IP-based internets was undertaken. In the + short-term, the Simple Network Management Protocol (SNMP), defined in + RFC 1067, was to be used to manage nodes in the Internet community. + In the long-term, the use of the OSI network management framework was + to be examined. Two documents were produced to define the management + information: RFC 1065, which defined the Structure of Management + Information (SMI), and RFC 1066, which defined the Management + Information Base (MIB). Both of these documents were designed so as + to be compatible with both the SNMP and the OSI network management + framework. + + This strategy was quite successful in the short-term: Internet-based + network management technology was fielded, by both the research and + commercial communities, within a few months. As a result of this, + portions of the Internet community became network manageable in a + timely fashion. + + As reported in RFC 1109, Report of the Second Ad Hoc Network + Management Review Group [2], the requirements of the SNMP and the OSI + network management frameworks were more different than anticipated. + As such, the requirement for compatibility between the SMI/MIB and + both frameworks was suspended. This action permitted the operational + network management framework, based on the SNMP, to respond to new + operational needs in the Internet community by producing MIB-II. + + In May of 1990, the core documents were elevated to "Standard + Protocols" with "Recommended" status. As such, the Internet-standard + network management framework consists of: Structure and + Identification of Management Information for TCP/IP-based internets, + RFC 1155 [3], which describes how managed objects contained in the + + + +SNMP Working Group [Page 2] + +RFC 1212 Concise MIB Definitions March 1991 + + + MIB are defined; Management Information Base for Network Management + of TCP/IP-based internets, which describes the managed objects + contained in the MIB, RFC 1156 [4]; and, the Simple Network + Management Protocol, RFC 1157 [5], which defines the protocol used to + manage these objects. Consistent with the IAB directive to produce + simple, workable systems in the short-term, the list of managed + objects defined in the Internet-standard MIB was derived by taking + only those elements which are considered essential. However, the SMI + defined three extensibility mechanisms: one, the addition of new + standard objects through the definitions of new versions of the MIB; + two, the addition of widely-available but non-standard objects + through the experimental subtree; and three, the addition of private + objects through the enterprises subtree. Such additional objects can + not only be used for vendor-specific elements, but also for + experimentation as required to further the knowledge of which other + objects are essential. + + As more objects are defined using the second method, experience has + shown that the resulting MIB descriptions contain redundant + information. In order to provide for MIB descriptions which are more + concise, and yet as informative, an enhancement is suggested. This + enhancement allows the author of a MIB to remove the redundant + information, while retaining the important descriptive text. + + Before presenting the approach, a brief presentation of columnar + object handling by the SNMP is necessary. This explains and further + motivates the value of the enhancement. + +3. Columnar Objects + + The SNMP supports operations on MIB objects whose syntax is + ObjectSyntax as defined in the SMI. Informally stated, SNMP + operations apply exclusively to scalar objects. However, it is + convenient for developers of management applications to impose + imaginary, tabular structures on the ordered collection of objects + that constitute the MIB. Each such conceptual table contains zero or + more rows, and each row may contain one or more scalar objects, + termed columnar objects. Historically, this conceptualization has + been formalized by using the OBJECT-TYPE macro to define both an + object which corresponds to a table and an object which corresponds + to a row in that table. (The ACCESS clause for such objects is + "not-accessible", of course.) However, it must be emphasized that, at + the protocol level, relationships among columnar objects in the same + row is a matter of convention, not of protocol. + + Note that there are good reasons why the tabular structure is not a + matter of protocol. Consider the operation of the SNMP Get-Next-PDU + acting on the last columnar object of an instance of a conceptual + + + +SNMP Working Group [Page 3] + +RFC 1212 Concise MIB Definitions March 1991 + + + row; it returns the next column of the first conceptual row or the + first object instance occurring after the table. In contrast, if the + rows were a matter of protocol, then it would instead return an + error. By not returning an error, a single PDU exchange informs the + manager that not only has the end of the conceptual row/table been + reached, but also provides information on the next object instance, + thereby increasing the information density of the PDU exchange. + +3.1. Row Deletion + + Nonetheless, it is highly useful to provide a means whereby a + conceptual row may be removed from a table. In MIB-II, this was + achieved by defining, for each conceptual row, an integer-valued + columnar object. If a management station sets the value of this + object to some value, usually termed "invalid", then the effect is + one of invalidating the corresponding row in the table. However, it + is an implementation-specific matter as to whether an agent removes + an invalidated entry from the table. Accordingly, management + stations must be prepared to receive tabular information from agents + that corresponds to entries not currently in use. Proper + interpretation of such entries requires examination of the columnar + object indicating the in-use status. + +3.2. Row Addition + + It is also highly useful to have a clear understanding of how a + conceptual row may be added to a table. In the SNMP, at the protocol + level, a management station issues an SNMP set operation containing + an arbitrary set of variable bindings. In the case that an agent + detects that one or more of those variable bindings refers to an + object instance not currently available in that agent, it may, + according to the rules of the SNMP, behave according to any of the + following paradigms: + + (1) It may reject the SNMP set operation as referring to + non-existent object instances by returning a response + with the error-status field set to "noSuchName" and the + error-index field set to refer to the first vacuous + reference. + + (2) It may accept the SNMP set operation as requesting the + creation of new object instances corresponding to each + of the object instances named in the variable bindings. + The value of each (potentially) newly created object + instance is specified by the "value" component of the + relevant variable binding. In this case, if the request + specifies a value for a newly (or previously) created + object that it deems inappropriate by reason of value or + + + +SNMP Working Group [Page 4] + +RFC 1212 Concise MIB Definitions March 1991 + + + syntax, then it rejects the SNMP set operation by + responding with the error-status field set to badValue + and the error-index field set to refer to the first + offending variable binding. + + (3) It may accept the SNMP set operation and create new + object instances as described in (2) above and, in + addition, at its discretion, create supplemental object + instances to complete a row in a conceptual table of + which the new object instances specified in the request + may be a part. + + It should be emphasized that all three of the above behaviors are + fully conformant to the SNMP specification and are fully acceptable, + subject to any restrictions which may be imposed by access control + and/or the definitions of the MIB objects themselves. + +4. Defining Objects + + The Internet-standard SMI employs a two-level approach towards object + definition. A MIB definition consists of two parts: a textual part, + in which objects are placed into groups, and a MIB module, in which + objects are described solely in terms of the ASN.1 macro OBJECT-TYPE, + which is defined by the SMI. + + An example of the former definition might be: + + OBJECT: + ------- + sysLocation { system 6 } + + Syntax: + DisplayString (SIZE (0..255)) + + Definition: + The physical location of this node (e.g., "telephone + closet, 3rd floor"). + + Access: + read-only. + + Status: + mandatory. + + An example of the latter definition might be: + + sysLocation OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + + + +SNMP Working Group [Page 5] + +RFC 1212 Concise MIB Definitions March 1991 + + + ACCESS read-only + STATUS mandatory + ::= { system 6 } + + In the interests of brevity and to reduce the chance of + editing errors, it would seem useful to combine the two + definitions. This can be accomplished by defining an + extension to the OBJECT-TYPE macro: + + IMPORTS + ObjectName + FROM RFC1155-SMI + DisplayString + FROM RFC1158-MIB; + + OBJECT-TYPE MACRO ::= + BEGIN + TYPE NOTATION ::= + -- must conform to + -- RFC1155's ObjectSyntax + "SYNTAX" type(ObjectSyntax) + "ACCESS" Access + "STATUS" Status + DescrPart + ReferPart + IndexPart + DefValPart + VALUE NOTATION ::= value (VALUE ObjectName) + + Access ::= "read-only" + | "read-write" + | "write-only" + | "not-accessible" + Status ::= "mandatory" + | "optional" + | "obsolete" + | "deprecated" + + DescrPart ::= + "DESCRIPTION" value (description DisplayString) + | empty + + ReferPart ::= + "REFERENCE" value (reference DisplayString) + | empty + + IndexPart ::= + "INDEX" "{" IndexTypes "}" + + + +SNMP Working Group [Page 6] + +RFC 1212 Concise MIB Definitions March 1991 + + + | empty + IndexTypes ::= + IndexType | IndexTypes "," IndexType + IndexType ::= + -- if indexobject, use the SYNTAX + -- value of the correspondent + -- OBJECT-TYPE invocation + value (indexobject ObjectName) + -- otherwise use named SMI type + -- must conform to IndexSyntax below + | type (indextype) + + DefValPart ::= + "DEFVAL" "{" value (defvalue ObjectSyntax) "}" + | empty + + END + + IndexSyntax ::= + CHOICE { + number + INTEGER (0..MAX), + string + OCTET STRING, + object + OBJECT IDENTIFIER, + address + NetworkAddress, + ipAddress + IpAddress + } + + +4.1. Mapping of the OBJECT-TYPE macro + + It should be noted that the expansion of the OBJECT-TYPE macro is + something which conceptually happens during implementation and not + during run-time. + +4.1.1. Mapping of the SYNTAX clause + + The SYNTAX clause, which must be present, defines the abstract data + structure corresponding to that object type. The ASN.1 language [6] + is used for this purpose. However, the SMI purposely restricts the + ASN.1 constructs which may be used. These restrictions are made + expressly for simplicity. + + + + + +SNMP Working Group [Page 7] + +RFC 1212 Concise MIB Definitions March 1991 + + +4.1.2. Mapping of the ACCESS clause + + The ACCESS clause, which must be present, defines the minimum level + of support required for that object type. As a local matter, + implementations may support other access types (e.g., an + implementation may elect to permitting writing a variable marked as + read-only). Further, protocol-specific "views" (e.g., those + indirectly implied by an SNMP community) may make further + restrictions on access to a variable. + +4.1.3. Mapping of the STATUS clause + + The STATUS clause, which must be present, defines the implementation + support required for that object type. + +4.1.4. Mapping of the DESCRIPTION clause + + The DESCRIPTION clause, which need not be present, contains a textual + definition of that object type which provides all semantic + definitions necessary for implementation, and should embody any + information which would otherwise be communicated in any ASN.1 + commentary annotations associated with the object. Note that, in + order to conform to the ASN.1 syntax, the entire value of this clause + must be enclosed in double quotation marks, although the value may be + multi-line. + + Further, note that if the MIB module does not contain a textual + description of the object type elsewhere then the DESCRIPTION clause + must be present. + +4.1.5. Mapping of the REFERENCE clause + + The REFERENCE clause, which need not be present, contains a textual + cross-reference to an object defined in some other MIB module. This + is useful when de-osifying a MIB produced by some other organization. + +4.1.6. Mapping of the INDEX clause + + The INDEX clause, which may be present only if that object type + corresponds to a conceptual row, defines instance identification + information for that object type. (Historically, each MIB definition + contained a section entitled "Identification of OBJECT instances for + use with the SNMP". By using the INDEX clause, this section need no + longer occur as this clause concisely captures the precise semantics + needed for instance identification.) + + If the INDEX clause is not present, and the object type corresponds + to a non-columnar object, then instances of the object are identified + + + +SNMP Working Group [Page 8] + +RFC 1212 Concise MIB Definitions March 1991 + + + by appending a sub-identifier of zero to the name of that object. + Further, note that if the MIB module does not contain a textual + description of how instance identification information is derived for + columnar objects, then the INDEX clause must be present. + + To define the instance identification information, determine which + object value(s) will unambiguously distinguish a conceptual row. The + syntax of those objects indicate how to form the instance-identifier: + + (1) integer-valued: a single sub-identifier taking the + integer value (this works only for non-negative + integers); + + (2) string-valued, fixed-length strings: `n' sub-identifiers, + where `n' is the length of the string (each octet of the + string is encoded in a separate sub-identifier); + + (3) string-valued, variable-length strings: `n+1' sub- + identifiers, where `n' is the length of the string (the + first sub-identifier is `n' itself, following this, each + octet of the string is encoded in a separate sub- + identifier); + + (4) object identifier-valued: `n+1' sub-identifiers, where + `n' is the number of sub-identifiers in the value (the + first sub-identifier is `n' itself, following this, each + sub-identifier in the value is copied); + + (5) NetworkAddress-valued: `n+1' sub-identifiers, where `n' + depends on the kind of address being encoded (the first + sub-identifier indicates the kind of address, value 1 + indicates an IpAddress); or, + + (6) IpAddress-valued: 4 sub-identifiers, in the familiar + a.b.c.d notation. + + Note that if an "indextype" value is present (e.g., INTEGER rather + than ifIndex), then a DESCRIPTION clause must be present; the text + contained therein indicates the semantics of the "indextype" value. + + + + + + + + + + + + +SNMP Working Group [Page 9] + +RFC 1212 Concise MIB Definitions March 1991 + + + By way of example, in the context of MIB-II [7], the following INDEX + clauses might be present: + + objects under INDEX clause + ----------------- ------------ + ifEntry { ifIndex } + atEntry { atNetIfIndex, + atNetAddress } + ipAddrEntry { ipAdEntAddr } + ipRouteEntry { ipRouteDest } + ipNetToMediaEntry { ipNetToMediaIfIndex, + ipNetToMediaNetAddress } + tcpConnEntry { tcpConnLocalAddress, + tcpConnLocalPort, + tcpConnRemoteAddress, + tcpConnRemotePort } + udpEntry { udpLocalAddress, + udpLocalPort } + egpNeighEntry { egpNeighAddr } + + +4.1.7. Mapping of the DEFVAL clause + + The DEFVAL clause, which need not be present, defines an acceptable + default value which may be used when an object instance is created at + the discretion of the agent acting in conformance with the third + paradigm described in Section 4.2 above. + + During conceptual row creation, if an instance of a columnar object + is not present as one of the operands in the correspondent SNMP set + operation, then the value of the DEFVAL clause, if present, indicates + an acceptable default value that the agent might use. + + The value of the DEFVAL clause must, of course, correspond to the + SYNTAX clause for the object. Note that if an operand to the SNMP + set operation is an instance of a read-only object, then the error + noSuchName will be returned. As such, the DEFVAL clause can be used + to provide an acceptable default value that the agent might use. + + It is possible that no acceptable default value may exist for any of + the columnar objects in a conceptual row for which the creation of + new object instances is allowed. In this case, the objects specified + in the INDEX clause must have a corresponding ACCESS clause value of + read-write. + + + + + + + +SNMP Working Group [Page 10] + +RFC 1212 Concise MIB Definitions March 1991 + + + By way of example, consider the following possible DEFVAL clauses: + + ObjectSyntax DEFVAL clause + ----------------- ------------ + INTEGER 1 -- same for Counter, Gauge, TimeTicks + OCTET STRING 'ffffffffffff'h + DisplayString "any NVT ASCII string" + OBJECT IDENTIFIER sysDescr + OBJECT IDENTIFIER { system 2 } + NULL NULL + NetworkAddress { internet 'c0210415'h } + IpAddress 'c0210415'h -- 192.33.4.21 + + +4.1.8. Mapping of the OBJECT-TYPE value + + The value of an invocation of the OBJECT-TYPE macro is the name of + the object, which is an object identifier. + +4.2. Usage Example + + Consider how the ipNetToMediaTable from MIB-II might be fully + described: + + -- the IP Address Translation tables + + -- The Address Translation tables contain IpAddress to + -- "physical" address equivalences. Some interfaces do not + -- use translation tables for determining address equivalences + -- (e.g., DDN-X.25 has an algorithmic method); if all + -- interfaces are of this type, then the Address Translation + -- table is empty, i.e., has zero entries. + + ipNetToMediaTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpNetToMediaEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "The IP Address Translation table used for mapping + from IP addresses to physical addresses." + ::= { ip 22 } + + ipNetToMediaEntry OBJECT-TYPE + SYNTAX IpNetToMediaEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "Each entry contains one IpAddress to 'physical' + + + +SNMP Working Group [Page 11] + +RFC 1212 Concise MIB Definitions March 1991 + + + address equivalence." + INDEX { ipNetToMediaIfIndex, + ipNetToMediaNetAddress } + ::= { ipNetToMediaTable 1 } + + IpNetToMediaEntry ::= + SEQUENCE { + ipNetToMediaIfIndex + INTEGER, + ipNetToMediaPhysAddress + OCTET STRING, + ipNetToMediaNetAddress + IpAddress, + ipNetoToMediaType + INTEGER + } + + ipNetToMediaIfIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The interface on which this entry's equivalence + is effective. The interface identified by a + particular value of this index is the same + interface as identified by the same value of + ifIndex." + ::= { ipNetToMediaEntry 1 } + + ipNetToMediaPhysAddress OBJECT-TYPE + SYNTAX OCTET STRING + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The media-dependent 'physical' address." + ::= { ipNetToMediaEntry 2 } + + ipNetToMediaNetAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The IpAddress corresponding to the media- + dependent 'physical' address." + ::= { ipNetToMediaEntry 3 } + + ipNetToMediaType OBJECT-TYPE + SYNTAX INTEGER { + + + +SNMP Working Group [Page 12] + +RFC 1212 Concise MIB Definitions March 1991 + + + other(1), -- none of the following + invalid(2), -- an invalidated mapping + dynamic(3), + static(4) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The type of mapping. + + Setting this object to the value invalid(2) has + the effect of invalidating the corresponding entry + in the ipNetToMediaTable. That is, it effectively + disassociates the interface identified with said + entry from the mapping identified with said entry. + It is an implementation-specific matter as to + whether the agent removes an invalidated entry + from the table. Accordingly, management stations + must be prepared to receive tabular information + from agents that corresponds to entries not + currently in use. Proper interpretation of such + entries requires examination of the relevant + ipNetToMediaType object." + ::= { ipNetToMediaEntry 4 } + + +5. Appendix: DE-osifying MIBs + + There has been an increasing amount of work recently on taking MIBs + defined by other organizations (e.g., the IEEE) and de-osifying them + for use with the Internet-standard network management framework. The + steps to achieve this are straight-forward, though tedious. Of + course, it is helpful to already be experienced in writing MIB + modules for use with the Internet-standard network management + framework. + + The first step is to construct a skeletal MIB module, e.g., + + RFC1213-MIB DEFINITIONS ::= BEGIN + + IMPORTS + experimental, OBJECT-TYPE, Counter + FROM RFC1155-SMI; + + -- contact IANA for actual number + root OBJECT IDENTIFIER ::= { experimental xx } + + END + + + +SNMP Working Group [Page 13] + +RFC 1212 Concise MIB Definitions March 1991 + + + The next step is to categorize the objects into groups. For + experimental MIBs, optional objects are permitted. However, when a + MIB module is placed in the Internet-standard space, these optional + objects are either removed, or placed in a optional group, which, if + implemented, all objects in the group must be implemented. For the + first pass, it is wisest to simply ignore any optional objects in the + original MIB: experience shows it is better to define a core MIB + module first, containing only essential objects; later, if experience + demands, other objects can be added. + + It must be emphasized that groups are "units of conformance" within a + MIB: everything in a group is "mandatory" and implementations do + either whole groups or none. + +5.1. Managed Object Mapping + + Next for each managed object class, determine whether there can exist + multiple instances of that managed object class. If not, then for + each of its attributes, use the OBJECT-TYPE macro to make an + equivalent definition. + + Otherwise, if multiple instances of the managed object class can + exist, then define a conceptual table having conceptual rows each + containing a columnar object for each of the managed object class's + attributes. If the managed object class is contained within the + containment tree of another managed object class, then the assignment + of an object type is normally required for each of the "distinguished + attributes" of the containing managed object class. If they do not + already exist within the MIB module, then they can be added via the + definition of additional columnar objects in the conceptual row + corresponding to the contained managed object class. + + In defining a conceptual row, it is useful to consider the + optimization of network management operations which will act upon its + columnar objects. In particular, it is wisest to avoid defining more + columnar objects within a conceptual row, than can fit in a single + PDU. As a rule of thumb, a conceptual row should contain no more + than approximately 20 objects. Similarly, or as a way to abide by + the "20 object guideline", columnar objects should be grouped into + tables according to the expected grouping of network management + operations upon them. As such, the content of conceptual rows should + reflect typical access scenarios, e.g., they should be organized + along functional lines such as one row for statistics and another row + for parameters, or along usage lines such as commonly-needed objects + versus rarely-needed objects. + + On the other hand, the definition of conceptual rows where the number + of columnar objects used as indexes outnumbers the number used to + + + +SNMP Working Group [Page 14] + +RFC 1212 Concise MIB Definitions March 1991 + + + hold information, should also be avoided. In particular, the + splitting of a managed object class's attributes into many conceptual + tables should not be used as a way to obtain the same degree of + flexibility/complexity as is often found in MIB's with a myriad of + optionals. + +5.1.1. Mapping to the SYNTAX clause + + When mapping to the SYNTAX clause of the OBJECT-type macro: + + (1) An object with BOOLEAN syntax becomes an INTEGER taking + either of values true(1) or false(2). + + (2) An object with ENUMERATED syntax becomes an INTEGER, + taking any of the values given. + + (3) An object with BIT STRING syntax containing no more than + 32 bits becomes an INTEGER defined as a sum; otherwise if + more than 32 bits are present, the object becomes an + OCTET STRING, with the bits numbered from left-to-right, + in which the least significant bits of the last octet may + be "reserved for future use". + + (4) An object with a character string syntax becomes either + an OCTET STRING or a DisplayString, depending on the + repertoire of the character string. + + (5) An non-tabular object with a complex syntax, such as REAL + or EXTERNAL, must be decomposed, usually into an OCTET + STRING (if sensible). As a rule, any object with a + complicated syntax should be avoided. + + (6) Tabular objects must be decomposed into rows of columnar + objects. + +5.1.2. Mapping to the ACCESS clause + + This is straight-forward. + +5.1.3. Mapping to the STATUS clause + + This is usually straight-forward; however, some osified-MIBs use the + term "recommended". In this case, a choice must be made between + "mandatory" and "optional". + +5.1.4. Mapping to the DESCRIPTION clause + + This is straight-forward: simply copy the text, making sure that any + + + +SNMP Working Group [Page 15] + +RFC 1212 Concise MIB Definitions March 1991 + + + embedded double quotation marks are sanitized (i.e., replaced with + single-quotes or removed). + +5.1.5. Mapping to the REFERENCE clause + + This is straight-forward: simply include a textual reference to the + object being mapped, the document which defines the object, and + perhaps a page number in the document. + +5.1.6. Mapping to the INDEX clause + + Decide how instance-identifiers for columnar objects are to be formed + and define this clause accordingly. + +5.1.7. Mapping to the DEFVAL clause + + Decide if a meaningful default value can be assigned to the object + being mapped, and if so, define the DEFVAL clause accordingly. + +5.2. Action Mapping + + Actions are modeled as read-write objects, in which writing a + particular value results in the action taking place. + +5.2.1. Mapping to the SYNTAX clause + + Usually an INTEGER syntax is used with a distinguished value provided + for each action that the object provides access to. In addition, + there is usually one other distinguished value, which is the one + returned when the object is read. + +5.2.2. Mapping to the ACCESS clause + + Always use read-write. + +5.2.3. Mapping to the STATUS clause + + This is straight-forward. + +5.2.4. Mapping to the DESCRIPTION clause + + This is straight-forward: simply copy the text, making sure that any + embedded double quotation marks are sanitized (i.e., replaced with + single-quotes or removed). + +5.2.5. Mapping to the REFERENCE clause + + This is straight-forward: simply include a textual reference to the + + + +SNMP Working Group [Page 16] + +RFC 1212 Concise MIB Definitions March 1991 + + + action being mapped, the document which defines the action, and + perhaps a page number in the document. + +6. Acknowledgements + + This document was produced by the SNMP Working Group: + + Anne Ambler, Spider + Karl Auerbach, Sun + Fred Baker, ACC + Ken Brinkerhoff + Ron Broersma, NOSC + Jack Brown, US Army + Theodore Brunner, Bellcore + Jeffrey Buffum, HP + John Burress, Wellfleet + Jeffrey D. Case, University of Tennessee at Knoxville + Chris Chiptasso, Spartacus + Paul Ciarfella, DEC + Bob Collet + John Cook, Chipcom + Tracy Cox, Bellcore + James R. Davin, MIT-LCS + Eric Decker, cisco + Kurt Dobbins, Cabletron + Nadya El-Afandi, Network Systems + Gary Ellis, HP + Fred Engle + Mike Erlinger + Mark S. Fedor, PSI + Richard Fox, Synoptics + Karen Frisa, CMU + Chris Gunner, DEC + Fred Harris, University of Tennessee at Knoxville + Ken Hibbard, Xylogics + Ole Jacobsen, Interop + Ken Jones + Satish Joshi, Synoptics + Frank Kastenholz, Racal-Interlan + Shimshon Kaufman, Spartacus + Ken Key, University of Tennessee at Knoxville + Jim Kinder, Fibercom + Alex Koifman, BBN + Christopher Kolb, PSI + Cheryl Krupczak, NCR + Paul Langille, DEC + Peter Lin, Vitalink + John Lunny, TWG + + + +SNMP Working Group [Page 17] + +RFC 1212 Concise MIB Definitions March 1991 + + + Carl Malamud + Randy Mayhew, University of Tennessee at Knoxville + Keith McCloghrie, Hughes LAN Systems + Donna McMaster, David Systems + Lynn Monsanto, Sun + Dave Perkins, 3COM + Jim Reinstedler, Ungerman Bass + Anil Rijsinghani, DEC + Kathy Rinehart, Arnold AFB + Kary Robertson + Marshall T. Rose, PSI (chair) + L. Michael Sabo, NCSC + Jon Saperia, DEC + Greg Satz, cisco + Martin Schoffstall, PSI + John Seligson + Steve Sherry, Xyplex + Fei Shu, NEC + Sam Sjogren, TGV + Mark Sleeper, Sparta + Lance Sprung + Mike St.Johns + Bob Stewart, Xyplex + Emil Sturniold + Kaj Tesink, Bellcore + Dean Throop, Data General + Bill Townsend, Xylogics + Maurice Turcotte, Racal-Milgo + Kannan Varadhou + Sudhanshu Verma, HP + Bill Versteeg, Network Research Corporation + Warren Vik, Interactive Systems + David Waitzman, BBN + Steve Waldbusser, CMU + Dan Wintringhan + David Wood + Wengyik Yeong, PSI + Jeff Young, Cray Research + +7. References + + [1] Cerf, V., "IAB Recommendations for the Development of Internet + Network Management Standards", RFC 1052, NRI, April 1988. + + [2] Cerf, V., "Report of the Second Ad Hoc Network Management Review + Group", RFC 1109, NRI, August 1989. + + [3] Rose M., and K. McCloghrie, "Structure and Identification of + + + +SNMP Working Group [Page 18] + +RFC 1212 Concise MIB Definitions March 1991 + + + Management Information for TCP/IP-based internets", RFC 1155, + Performance Systems International, Hughes LAN Systems, May 1990. + + [4] McCloghrie K., and M. Rose, "Management Information Base for + Network Management of TCP/IP-based internets", RFC 1156, Hughes + LAN Systems, Performance Systems International, May 1990. + + [5] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple + Network Management Protocol", RFC 1157, SNMP Research, + Performance Systems International, Performance Systems + International, MIT Laboratory for Computer Science, May 1990. + + [6] Information processing systems - Open Systems Interconnection - + Specification of Abstract Syntax Notation One (ASN.1), + International Organization for Standardization International + Standard 8824, December 1987. + + [7] Rose M., Editor, "Management Information Base for Network + Management of TCP/IP-based internets: MIB-II", RFC 1213, + Performance Systems International, March 1991. + +8. Security Considerations + + Security issues are not discussed in this memo. + +9. Authors' Addresses + + Marshall T. Rose + Performance Systems International + 5201 Great America Parkway + Suite 3106 + Santa Clara, CA 95054 + + Phone: +1 408 562 6222 + EMail: mrose@psi.com + X.500: rose, psi, us + + + Keith McCloghrie + Hughes LAN Systems + 1225 Charleston Road + Mountain View, CA 94043 + 1225 Charleston Road + Mountain View, CA 94043 + + Phone: (415) 966-7934 + EMail: kzm@hls.com + + + + +SNMP Working Group [Page 19] +
\ No newline at end of file |