📄 rfc1902.txt
字号:
| "AUGMENTS" "{" Entry "}" | empty IndexTypes ::= IndexType | IndexTypes "," IndexType IndexType ::= "IMPLIED" Index | Index Index ::= -- use the SYNTAX value of the -- correspondent OBJECT-TYPE invocation value(Indexobject ObjectName) Entry ::= -- use the INDEX value of the -- correspondent OBJECT-TYPE invocation value(Entryobject ObjectName) DefValPart ::=SNMPv2 Working Group Standards Track [Page 7]RFC 1902 SMI for SNMPv2 January 1996 "DEFVAL" "{" value(Defval Syntax) "}" | empty -- uses the NVT ASCII character set Text ::= """" string """"END-- definitions for notificationsNOTIFICATION-TYPE MACRO ::=BEGIN TYPE NOTATION ::= ObjectsPart "STATUS" Status "DESCRIPTION" Text ReferPart VALUE NOTATION ::= value(VALUE NotificationName) ObjectsPart ::= "OBJECTS" "{" Objects "}" | empty Objects ::= Object | Objects "," Object Object ::= value(Name ObjectName) Status ::= "current" | "deprecated" | "obsolete" ReferPart ::= "REFERENCE" Text | empty -- uses the NVT ASCII character set Text ::= """" string """"END-- definitions of administrative identifierszeroDotZero OBJECT-IDENTITY STATUS current DESCRIPTIONSNMPv2 Working Group Standards Track [Page 8]RFC 1902 SMI for SNMPv2 January 1996 "A value used for null identifiers." ::= { 0 0 }END3. Information Modules An "information module" is an ASN.1 module defining information relating to network management. The SMI describes how to use a subset of ASN.1 to define an information module. Further, additional restrictions are placed on "standard" information modules. It is strongly recommended that "enterprise-specific" information modules also adhere to these restrictions. Typically, there are three kinds of information modules:(1) MIB modules, which contain definitions of inter-related managed objects, make use of the OBJECT-TYPE and NOTIFICATION-TYPE macros;(2) compliance statements for MIB modules, which make use of the MODULE-COMPLIANCE and OBJECT-GROUP macros [2]; and,(3) capability statements for agent implementations which make use of the AGENT-CAPABILITIES macros [2]. This classification scheme does not imply a rigid taxonomy. For example, a "standard" information module will normally include definitions of managed objects and a compliance statement. Similarly, an "enterprise-specific" information module might include definitions of managed objects and a capability statement. Of course, a "standard" information module may not contain capability statements. The constructs of ASN.1 allowed in SNMPv2 information modules include: the IMPORTS clause, value definitions for OBJECT IDENTIFIERs, type definitions for SEQUENCEs (with restrictions), ASN.1 type assignments of the restricted ASN.1 types allowed in SNMPv2, and instances of ASN.1 macros defined in this document and in other documents [2, 3] of the SNMPv2 framework. Additional ASN.1 macros may not be defined in SNMPv2 information modules. The names of all standard information modules must be unique (but different versions of the same information module should have the same name). Developers of enterprise information modules are encouraged to choose names for their information modules that will have a low probability of colliding with standard or other enterpriseSNMPv2 Working Group Standards Track [Page 9]RFC 1902 SMI for SNMPv2 January 1996 information modules. An information module may not use the ASN.1 construct of placing an object identifier value between the module name and the "DEFINITIONS" keyword. All information modules start with exactly one invocation of the MODULE-IDENTITY macro, which provides contact information as well as revision history to distinguish between versions of the same information module. This invocation must appear immediately after any IMPORTs statements.3.1. Macro Invocation Within an information module, each macro invocation appears as: <descriptor> <macro> <clauses> ::= <value> where <descriptor> corresponds to an ASN.1 identifier, <macro> names the macro being invoked, and <clauses> and <value> depend on the definition of the macro. (Note that this definition of a descriptor applies to all macros defined in this memo and in [2].) For the purposes of this specification, an ASN.1 identifier consists of one or more letters or digits, and its initial character must be a lower-case letter. (Note that hyphens are not allowed by this specification, even though hyphen is allowed by [1]. This restriction enables arithmetic expressions in languages which use the minus sign to reference these descriptors without ambiguity.) For all descriptors appearing in an information module, the descriptor shall be unique and mnemonic, and shall not exceed 64 characters in length. (However, descriptors longer than 32 characters are not recommended.) This promotes a common language for humans to use when discussing the information module and also facilitates simple table mappings for user-interfaces. The set of descriptors defined in all "standard" information modules shall be unique. Finally, by convention, if the descriptor refers to an object with a SYNTAX clause value of either Counter32 or Counter64, then the descriptor used for the object should denote plurality.3.1.1. Textual Clauses Some clauses in a macro invocation may take a textual value (e.g., the DESCRIPTION clause). Note that, in order to conform to the ASN.1 syntax, the entire value of these clauses must be enclosed in double quotation marks, and therefore cannot itself contain double quotationSNMPv2 Working Group Standards Track [Page 10]RFC 1902 SMI for SNMPv2 January 1996 marks, although the value may be multi-line.3.2. IMPORTing Symbols To reference an external object, the IMPORTS statement must be used to identify both the descriptor and the module in which the descriptor is defined, where the module is identified by its ASN.1 module name. Note that when symbols from "enterprise-specific" information modules are referenced (e.g., a descriptor), there is the possibility of collision. As such, if different objects with the same descriptor are IMPORTed, then this ambiguity is resolved by prefixing the descriptor with the name of the information module and a dot ("."), i.e., "module.descriptor" (All descriptors must be unique within any information module.) Of course, this notation can be used even when there is no collision when IMPORTing symbols. Finally, the IMPORTS statement may not be used to import an ASN.1 named type which corresponds to either the SEQUENCE or SEQUENCE OF type.3.3. Exporting Symbols The ASN.1 EXPORTS statement is not allowed in SNMPv2 information modules. All items defined in an information module are automatically exported.3.4. ASN.1 Comments Comments in ASN.1 commence with a pair of adjacent hyphens and end with the next pair of adjacent hyphens or at the end of the line, whichever occurs first.3.5. OBJECT IDENTIFIER values An OBJECT IDENTIFIER value is an ordered list of non-negative numbers. For the SNMPv2 framework, each number in the list is referred to as a sub-identifier, there are at most 128 sub- identifiers in a value, and each sub-identifier has a maximum value of 2^32-1 (4294967295 decimal). All OBJECT IDENTIFIER values have at least two sub-identifiers, where the value of the first sub- identifier is one of the following well-known names:SNMPv2 Working Group Standards Track [Page 11]RFC 1902 SMI for SNMPv2 January 1996 Value Name 0 ccitt 1 iso 2 joint-iso-ccitt4. Naming Hierarchy The root of the subtree administered by the Internet Assigned Numbers Authority (IANA) for the Internet is: internet OBJECT IDENTIFIER ::= { iso 3 6 1 } That is, the Internet subtree of OBJECT IDENTIFIERs starts with the prefix: 1.3.6.1. Several branches underneath this subtree are used for network management: mgmt OBJECT IDENTIFIER ::= { internet 2 } experimental OBJECT IDENTIFIER ::= { internet 3 } private OBJECT IDENTIFIER ::= { internet 4 } enterprises OBJECT IDENTIFIER ::= { private 1 } However, the SMI does not prohibit the definition of objects in other portions of the object tree. The mgmt(2) subtree is used to identify "standard" objects. The experimental(3) subtree is used to identify objects being designed by working groups of the IETF. If an information module produced by a working group becomes a "standard" information module, then at the very beginning of its entry onto the Internet standards track, the objects are moved under the mgmt(2) subtree. The private(4) subtree is used to identify objects defined unilaterally. The enterprises(1) subtree beneath private is used, among other things, to permit providers of networking subsystems to register models of their products.5. Mapping of the MODULE-IDENTITY macro The MODULE-IDENTITY macro is used to provide contact and revision history for each information module. It must appear exactly once in every information module. It should be noted that the expansion of the MODULE-IDENTITY macro is something which conceptually happens during implementation and not during run-time.SNMPv2 Working Group Standards Track [Page 12]RFC 1902 SMI for SNMPv2 January 1996 Note that reference in an IMPORTS clause or in clauses of SNMPv2 macros to an information module is NOT through the use of the 'descriptor' of a MODULE-IDENTITY macro; rather, an information module is referenced through specifying its module name.5.1. Mapping of the LAST-UPDATED clause The LAST-UPDATED clause, which must be present, contains the date and time that this information module was last edited. The date and time are represented in UTC Time format (see Appendix B).5.2. Mapping of the ORGANIZATION clause The ORGANIZATION clause, which must be present, contains a textual description of the organization under whose auspices this information module was developed.5.3. Mapping of the CONTACT-INFO clause The CONTACT-INFO clause, which must be present, contains the name, postal address, telephone number, and electronic mail address of the person to whom technical queries concerning this information module should be sent.5.4. Mapping of the DESCRIPTION clause The DESCRIPTION clause, which must be present, contains a high-level textual description of the contents of this information module.5.5. Mapping of the REVISION clause The REVISION clause, which need not be present, is repeatedly used to describe the revisions (including the initial version) made to this information module, in reverse chronological order (i.e., most recent first). Each instance of this clause contains the date and time of the revision. The date and time are represented in UTC Time format (see Appendix B).5.5.1. Mapping of the DESCRIPTION sub-clause The DESCRIPTION clause, which must be present for each REVISION clause, contains a high-level textual description of the revision identified in that REVISION clause.5.6. Mapping of the MODULE-IDENTITY value The value of an invocation of the MODULE-IDENTITY macro is an OBJECT IDENTIFIER. As such, this value may be authoritatively used whenSNMPv2 Working Group Standards Track [Page 13]RFC 1902 SMI for SNMPv2 January 1996 specifying an OBJECT IDENTIFIER value to refer to the information module containing the invocation.5.7. Usage Example Consider how a skeletal MIB module might be constructed: e.g.,FIZBIN-MIB DEFINITIONS ::= BEGINIMPORTS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -