Network Working Group                 Editors of this version:
Request for Comments: 2580                                 K. McCloghrie
STD: 58                                                    Cisco Systems
Obsoletes: 1904                                               D. Perkins
Category: Standards Track                                       SNMPinfo
                                                        J. Schoenwaelder
                                                         TU Braunschweig
                                      Authors of previous version:
                                                                 J. Case
                                                           SNMP Research
                                                           K. McCloghrie
                                                           Cisco Systems
                                                                 M. Rose
                                                  First Virtual Holdings
                                                           S. Waldbusser
                                          International Network Services
                                                              April 1999
        
Network Working Group                 Editors of this version:
Request for Comments: 2580                                 K. McCloghrie
STD: 58                                                    Cisco Systems
Obsoletes: 1904                                               D. Perkins
Category: Standards Track                                       SNMPinfo
                                                        J. Schoenwaelder
                                                         TU Braunschweig
                                      Authors of previous version:
                                                                 J. Case
                                                           SNMP Research
                                                           K. McCloghrie
                                                           Cisco Systems
                                                                 M. Rose
                                                  First Virtual Holdings
                                                           S. Waldbusser
                                          International Network Services
                                                              April 1999
        

Conformance Statements for SMIv2

SMIv2的一致性声明

Status of this Memo

本备忘录的状况

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (1999). All Rights Reserved.

版权所有(C)互联网协会(1999年)。版权所有。

Table of Contents

目录

   1 Introduction .....................................................3
   1.1 A Note on Terminology ..........................................3
   2 Definitions ......................................................3
   2.1 The OBJECT-GROUP macro .........................................3
   2.2 The NOTIFICATION-GROUP macro ...................................4
   2.3 The MODULE-COMPLIANCE macro ....................................5
   2.4 The AGENT-CAPABILITIES macro ...................................7
   3 Mapping of the OBJECT-GROUP macro ...............................10
   3.1 Mapping of the OBJECTS clause .................................10
   3.2 Mapping of the STATUS clause ..................................11
   3.3 Mapping of the DESCRIPTION clause .............................11
   3.4 Mapping of the REFERENCE clause ...............................11
        
   1 Introduction .....................................................3
   1.1 A Note on Terminology ..........................................3
   2 Definitions ......................................................3
   2.1 The OBJECT-GROUP macro .........................................3
   2.2 The NOTIFICATION-GROUP macro ...................................4
   2.3 The MODULE-COMPLIANCE macro ....................................5
   2.4 The AGENT-CAPABILITIES macro ...................................7
   3 Mapping of the OBJECT-GROUP macro ...............................10
   3.1 Mapping of the OBJECTS clause .................................10
   3.2 Mapping of the STATUS clause ..................................11
   3.3 Mapping of the DESCRIPTION clause .............................11
   3.4 Mapping of the REFERENCE clause ...............................11
        
   3.5 Mapping of the OBJECT-GROUP value .............................11
   3.6 Usage Example .................................................12
   4 Mapping of the NOTIFICATION-GROUP macro .........................12
   4.1 Mapping of the NOTIFICATIONS clause ...........................12
   4.2 Mapping of the STATUS clause ..................................13
   4.3 Mapping of the DESCRIPTION clause .............................13
   4.4 Mapping of the REFERENCE clause ...............................13
   4.5 Mapping of the NOTIFICATION-GROUP value .......................13
   4.6 Usage Example .................................................13
   5 Mapping of the MODULE-COMPLIANCE macro ..........................14
   5.1 Mapping of the STATUS clause ..................................14
   5.2 Mapping of the DESCRIPTION clause .............................14
   5.3 Mapping of the REFERENCE clause ...............................15
   5.4 Mapping of the MODULE clause ..................................15
   5.4.1 Mapping of the MANDATORY-GROUPS clause ......................15
   5.4.2 Mapping of the GROUP clause .................................15
   5.4.3 Mapping of the OBJECT clause ................................16
   5.4.3.1 Mapping of the SYNTAX clause ..............................16
   5.4.3.2 Mapping of the WRITE-SYNTAX clause ........................16
   5.4.3.3 Mapping of the MIN-ACCESS clause ..........................16
   5.4.4 Mapping of the DESCRIPTION clause ...........................17
   5.5 Mapping of the MODULE-COMPLIANCE value ........................17
   5.6 Usage Example .................................................17
   6 Mapping of the AGENT-CAPABILITIES macro .........................19
   6.1 Mapping of the PRODUCT-RELEASE clause .........................19
   6.2 Mapping of the STATUS clause ..................................19
   6.3 Mapping of the DESCRIPTION clause .............................20
   6.4 Mapping of the REFERENCE clause ...............................20
   6.5 Mapping of the SUPPORTS clause ................................20
   6.5.1 Mapping of the INCLUDES clause ..............................20
   6.5.2 Mapping of the VARIATION clause .............................20
   6.5.2.1 Mapping of the SYNTAX clause ..............................21
   6.5.2.2 Mapping of the WRITE-SYNTAX clause ........................21
   6.5.2.3 Mapping of the ACCESS clause ..............................21
   6.5.2.4 Mapping of the CREATION-REQUIRES clause ...................22
   6.5.2.5 Mapping of the DEFVAL clause ..............................22
   6.5.2.6 Mapping of the DESCRIPTION clause .........................22
   6.6 Mapping of the AGENT-CAPABILITIES value .......................22
   6.7 Usage Example .................................................23
   7 Extending an Information Module .................................25
   7.1 Conformance Groups ............................................25
   7.2 Compliance Definitions ........................................26
   7.3 Capabilities Definitions ......................................26
   8 Security Considerations .........................................27
   9 Editors' Addresses ..............................................27
   10 References .....................................................28
   11 Full Copyright Statement .......................................29
        
   3.5 Mapping of the OBJECT-GROUP value .............................11
   3.6 Usage Example .................................................12
   4 Mapping of the NOTIFICATION-GROUP macro .........................12
   4.1 Mapping of the NOTIFICATIONS clause ...........................12
   4.2 Mapping of the STATUS clause ..................................13
   4.3 Mapping of the DESCRIPTION clause .............................13
   4.4 Mapping of the REFERENCE clause ...............................13
   4.5 Mapping of the NOTIFICATION-GROUP value .......................13
   4.6 Usage Example .................................................13
   5 Mapping of the MODULE-COMPLIANCE macro ..........................14
   5.1 Mapping of the STATUS clause ..................................14
   5.2 Mapping of the DESCRIPTION clause .............................14
   5.3 Mapping of the REFERENCE clause ...............................15
   5.4 Mapping of the MODULE clause ..................................15
   5.4.1 Mapping of the MANDATORY-GROUPS clause ......................15
   5.4.2 Mapping of the GROUP clause .................................15
   5.4.3 Mapping of the OBJECT clause ................................16
   5.4.3.1 Mapping of the SYNTAX clause ..............................16
   5.4.3.2 Mapping of the WRITE-SYNTAX clause ........................16
   5.4.3.3 Mapping of the MIN-ACCESS clause ..........................16
   5.4.4 Mapping of the DESCRIPTION clause ...........................17
   5.5 Mapping of the MODULE-COMPLIANCE value ........................17
   5.6 Usage Example .................................................17
   6 Mapping of the AGENT-CAPABILITIES macro .........................19
   6.1 Mapping of the PRODUCT-RELEASE clause .........................19
   6.2 Mapping of the STATUS clause ..................................19
   6.3 Mapping of the DESCRIPTION clause .............................20
   6.4 Mapping of the REFERENCE clause ...............................20
   6.5 Mapping of the SUPPORTS clause ................................20
   6.5.1 Mapping of the INCLUDES clause ..............................20
   6.5.2 Mapping of the VARIATION clause .............................20
   6.5.2.1 Mapping of the SYNTAX clause ..............................21
   6.5.2.2 Mapping of the WRITE-SYNTAX clause ........................21
   6.5.2.3 Mapping of the ACCESS clause ..............................21
   6.5.2.4 Mapping of the CREATION-REQUIRES clause ...................22
   6.5.2.5 Mapping of the DEFVAL clause ..............................22
   6.5.2.6 Mapping of the DESCRIPTION clause .........................22
   6.6 Mapping of the AGENT-CAPABILITIES value .......................22
   6.7 Usage Example .................................................23
   7 Extending an Information Module .................................25
   7.1 Conformance Groups ............................................25
   7.2 Compliance Definitions ........................................26
   7.3 Capabilities Definitions ......................................26
   8 Security Considerations .........................................27
   9 Editors' Addresses ..............................................27
   10 References .....................................................28
   11 Full Copyright Statement .......................................29
        
1. Introduction
1. 介绍

Management information is viewed as a collection of managed objects, residing in a virtual information store, termed the Management Information Base (MIB). Collections of related objects are defined in MIB modules. These modules are written using an adapted subset of OSI's Abstract Syntax Notation One, ASN.1 (1988) [1], termed the Structure of Management Information (SMI) [2].

管理信息被视为托管对象的集合,驻留在虚拟信息存储中,称为管理信息库(MIB)。相关对象的集合在MIB模块中定义。这些模块使用OSI抽象语法符号1的一个子集ASN.1(1988)[1]编写,称为管理信息结构(SMI)[2]。

It may be useful to define the acceptable lower-bounds of implementation, along with the actual level of implementation achieved. It is the purpose of this document to define the notation used for these purposes.

定义可接受的实现下限以及实现的实际实现水平可能很有用。本文件旨在定义用于这些目的的符号。

1.1. A Note on Terminology
1.1. 术语注释

For the purpose of exposition, the original Structure of Management Information, as described in RFCs 1156 (STD 16), 1212 (STD 16), and RFC 1215, is termed the SMI version 1 (SMIv1). The current version of the Structure of Management Information is termed SMI version 2 (SMIv2).

为了便于说明,RFCs 1156(STD 16)、1212(STD 16)和RFC 1215中描述的管理信息的原始结构称为SMI版本1(SMIv1)。管理信息结构的当前版本称为SMI版本2(SMIv2)。

2. Definitions
2. 定义
SNMPv2-CONF DEFINITIONS ::= BEGIN
        
SNMPv2-CONF DEFINITIONS ::= BEGIN
        

IMPORTS ObjectName, NotificationName, ObjectSyntax FROM SNMPv2-SMI;

从SNMPv2 SMI导入ObjectName、NotificationName、ObjectSyntax;

-- definitions for conformance groups

--一致性组的定义

OBJECT-GROUP MACRO ::=
BEGIN
    TYPE NOTATION ::=
                  ObjectsPart
                  "STATUS" Status
                  "DESCRIPTION" Text
                  ReferPart
        
OBJECT-GROUP MACRO ::=
BEGIN
    TYPE NOTATION ::=
                  ObjectsPart
                  "STATUS" Status
                  "DESCRIPTION" Text
                  ReferPart
        
    VALUE NOTATION ::=
                  value(VALUE OBJECT IDENTIFIER)
        
    VALUE NOTATION ::=
                  value(VALUE OBJECT IDENTIFIER)
        
    ObjectsPart ::=
                  "OBJECTS" "{" Objects "}"
    Objects ::=
                  Object
                | Objects "," Object
    Object ::=
        
    ObjectsPart ::=
                  "OBJECTS" "{" Objects "}"
    Objects ::=
                  Object
                | Objects "," Object
    Object ::=
        

value(ObjectName)

值(对象名)

    Status ::=
                  "current"
                | "deprecated"
                | "obsolete"
        
    Status ::=
                  "current"
                | "deprecated"
                | "obsolete"
        
    ReferPart ::=
                  "REFERENCE" Text
                | empty
        
    ReferPart ::=
                  "REFERENCE" Text
                | empty
        
    -- a character string as defined in [2]
    Text ::= value(IA5String)
END
        
    -- a character string as defined in [2]
    Text ::= value(IA5String)
END
        

-- more definitions for conformance groups

--一致性组的更多定义

NOTIFICATION-GROUP MACRO ::=
BEGIN
    TYPE NOTATION ::=
                  NotificationsPart
                  "STATUS" Status
                  "DESCRIPTION" Text
                  ReferPart
        
NOTIFICATION-GROUP MACRO ::=
BEGIN
    TYPE NOTATION ::=
                  NotificationsPart
                  "STATUS" Status
                  "DESCRIPTION" Text
                  ReferPart
        
    VALUE NOTATION ::=
                  value(VALUE OBJECT IDENTIFIER)
        
    VALUE NOTATION ::=
                  value(VALUE OBJECT IDENTIFIER)
        
    NotificationsPart ::=
                  "NOTIFICATIONS" "{" Notifications "}"
    Notifications ::=
                  Notification
                | Notifications "," Notification
    Notification ::=
                  value(NotificationName)
        
    NotificationsPart ::=
                  "NOTIFICATIONS" "{" Notifications "}"
    Notifications ::=
                  Notification
                | Notifications "," Notification
    Notification ::=
                  value(NotificationName)
        
    Status ::=
                  "current"
                | "deprecated"
                | "obsolete"
        
    Status ::=
                  "current"
                | "deprecated"
                | "obsolete"
        
    ReferPart ::=
                  "REFERENCE" Text
                | empty
        
    ReferPart ::=
                  "REFERENCE" Text
                | empty
        
    -- a character string as defined in [2]
    Text ::= value(IA5String)
END
        
    -- a character string as defined in [2]
    Text ::= value(IA5String)
END
        

-- definitions for compliance statements

--合规性声明的定义

MODULE-COMPLIANCE MACRO ::=
BEGIN
    TYPE NOTATION ::=
                  "STATUS" Status
                  "DESCRIPTION" Text
                  ReferPart
                  ModulePart
        
MODULE-COMPLIANCE MACRO ::=
BEGIN
    TYPE NOTATION ::=
                  "STATUS" Status
                  "DESCRIPTION" Text
                  ReferPart
                  ModulePart
        
    VALUE NOTATION ::=
                  value(VALUE OBJECT IDENTIFIER)
        
    VALUE NOTATION ::=
                  value(VALUE OBJECT IDENTIFIER)
        
    Status ::=
                  "current"
                | "deprecated"
                | "obsolete"
        
    Status ::=
                  "current"
                | "deprecated"
                | "obsolete"
        
    ReferPart ::=
                  "REFERENCE" Text
                | empty
        
    ReferPart ::=
                  "REFERENCE" Text
                | empty
        
    ModulePart ::=
                  Modules
    Modules ::=
                  Module
                | Modules Module
    Module ::=
                  -- name of module --
                  "MODULE" ModuleName
                  MandatoryPart
                  CompliancePart
        
    ModulePart ::=
                  Modules
    Modules ::=
                  Module
                | Modules Module
    Module ::=
                  -- name of module --
                  "MODULE" ModuleName
                  MandatoryPart
                  CompliancePart
        
    ModuleName ::=
                  -- identifier must start with uppercase letter
                  identifier ModuleIdentifier
                  -- must not be empty unless contained
                  -- in MIB Module
                | empty
    ModuleIdentifier ::=
                  value(OBJECT IDENTIFIER)
                | empty
        
    ModuleName ::=
                  -- identifier must start with uppercase letter
                  identifier ModuleIdentifier
                  -- must not be empty unless contained
                  -- in MIB Module
                | empty
    ModuleIdentifier ::=
                  value(OBJECT IDENTIFIER)
                | empty
        
    MandatoryPart ::=
                  "MANDATORY-GROUPS" "{" Groups "}"
                | empty
        
    MandatoryPart ::=
                  "MANDATORY-GROUPS" "{" Groups "}"
                | empty
        
    Groups ::=
        
    Groups ::=
        
                  Group
                | Groups "," Group
    Group ::=
                  value(OBJECT IDENTIFIER)
        
                  Group
                | Groups "," Group
    Group ::=
                  value(OBJECT IDENTIFIER)
        
    CompliancePart ::=
                  Compliances
                | empty
        
    CompliancePart ::=
                  Compliances
                | empty
        
    Compliances ::=
                  Compliance
                | Compliances Compliance
    Compliance ::=
                  ComplianceGroup
                | Object
        
    Compliances ::=
                  Compliance
                | Compliances Compliance
    Compliance ::=
                  ComplianceGroup
                | Object
        
    ComplianceGroup ::=
                  "GROUP" value(OBJECT IDENTIFIER)
                  "DESCRIPTION" Text
        
    ComplianceGroup ::=
                  "GROUP" value(OBJECT IDENTIFIER)
                  "DESCRIPTION" Text
        
    Object ::=
                  "OBJECT" value(ObjectName)
                  SyntaxPart
                  WriteSyntaxPart
                  AccessPart
                  "DESCRIPTION" Text
        
    Object ::=
                  "OBJECT" value(ObjectName)
                  SyntaxPart
                  WriteSyntaxPart
                  AccessPart
                  "DESCRIPTION" Text
        
    -- must be a refinement for object's SYNTAX clause
    SyntaxPart ::= "SYNTAX" Syntax
                | empty
        
    -- must be a refinement for object's SYNTAX clause
    SyntaxPart ::= "SYNTAX" Syntax
                | empty
        
    -- must be a refinement for object's SYNTAX clause
    WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
                | empty
        
    -- must be a refinement for object's SYNTAX clause
    WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
                | empty
        
    Syntax ::=    -- Must be one of the following:
                       -- a base type (or its refinement),
                       -- a textual convention (or its refinement), or
                       -- a BITS pseudo-type
                  type
                | "BITS" "{" NamedBits "}"
        
    Syntax ::=    -- Must be one of the following:
                       -- a base type (or its refinement),
                       -- a textual convention (or its refinement), or
                       -- a BITS pseudo-type
                  type
                | "BITS" "{" NamedBits "}"
        
    NamedBits ::= NamedBit
                | NamedBits "," NamedBit
        
    NamedBits ::= NamedBit
                | NamedBits "," NamedBit
        
    NamedBit ::= identifier "(" number ")" -- number is nonnegative
        
    NamedBit ::= identifier "(" number ")" -- number is nonnegative
        
    AccessPart ::=
        
    AccessPart ::=
        
                  "MIN-ACCESS" Access
                | empty
    Access ::=
                  "not-accessible"
                | "accessible-for-notify"
                | "read-only"
                | "read-write"
                | "read-create"
        
                  "MIN-ACCESS" Access
                | empty
    Access ::=
                  "not-accessible"
                | "accessible-for-notify"
                | "read-only"
                | "read-write"
                | "read-create"
        
    -- a character string as defined in [2]
    Text ::= value(IA5String)
END
        
    -- a character string as defined in [2]
    Text ::= value(IA5String)
END
        

-- definitions for capabilities statements

--功能语句的定义

AGENT-CAPABILITIES MACRO ::=
BEGIN
    TYPE NOTATION ::=
                  "PRODUCT-RELEASE" Text
                  "STATUS" Status
                  "DESCRIPTION" Text
                  ReferPart
                  ModulePart
        
AGENT-CAPABILITIES MACRO ::=
BEGIN
    TYPE NOTATION ::=
                  "PRODUCT-RELEASE" Text
                  "STATUS" Status
                  "DESCRIPTION" Text
                  ReferPart
                  ModulePart
        
    VALUE NOTATION ::=
                  value(VALUE OBJECT IDENTIFIER)
        
    VALUE NOTATION ::=
                  value(VALUE OBJECT IDENTIFIER)
        
    Status ::=
                  "current"
                | "obsolete"
        
    Status ::=
                  "current"
                | "obsolete"
        
    ReferPart ::=
                  "REFERENCE" Text
                | empty
        
    ReferPart ::=
                  "REFERENCE" Text
                | empty
        
    ModulePart ::=
                  Modules
                | empty
    Modules ::=
                  Module
                | Modules Module
    Module ::=
                  -- name of module --
                  "SUPPORTS" ModuleName
                  "INCLUDES" "{" Groups "}"
                  VariationPart
        
    ModulePart ::=
                  Modules
                | empty
    Modules ::=
                  Module
                | Modules Module
    Module ::=
                  -- name of module --
                  "SUPPORTS" ModuleName
                  "INCLUDES" "{" Groups "}"
                  VariationPart
        
    ModuleName ::=
        
    ModuleName ::=
        
                  -- identifier must start with uppercase letter
                  identifier ModuleIdentifier
    ModuleIdentifier ::=
                  value(OBJECT IDENTIFIER)
                | empty
        
                  -- identifier must start with uppercase letter
                  identifier ModuleIdentifier
    ModuleIdentifier ::=
                  value(OBJECT IDENTIFIER)
                | empty
        
    Groups ::=
                  Group
                | Groups "," Group
    Group ::=
                  value(OBJECT IDENTIFIER)
        
    Groups ::=
                  Group
                | Groups "," Group
    Group ::=
                  value(OBJECT IDENTIFIER)
        
    VariationPart ::=
                  Variations
                | empty
    Variations ::=
                  Variation
                | Variations Variation
        
    VariationPart ::=
                  Variations
                | empty
    Variations ::=
                  Variation
                | Variations Variation
        
    Variation ::=
                  ObjectVariation
                | NotificationVariation
        
    Variation ::=
                  ObjectVariation
                | NotificationVariation
        
    NotificationVariation ::=
                  "VARIATION" value(NotificationName)
                  AccessPart
                  "DESCRIPTION" Text
        
    NotificationVariation ::=
                  "VARIATION" value(NotificationName)
                  AccessPart
                  "DESCRIPTION" Text
        
    ObjectVariation ::=
                  "VARIATION" value(ObjectName)
                  SyntaxPart
                  WriteSyntaxPart
                  AccessPart
                  CreationPart
                  DefValPart
                  "DESCRIPTION" Text
        
    ObjectVariation ::=
                  "VARIATION" value(ObjectName)
                  SyntaxPart
                  WriteSyntaxPart
                  AccessPart
                  CreationPart
                  DefValPart
                  "DESCRIPTION" Text
        
    -- must be a refinement for object's SYNTAX clause
    SyntaxPart ::= "SYNTAX" Syntax
                | empty
        
    -- must be a refinement for object's SYNTAX clause
    SyntaxPart ::= "SYNTAX" Syntax
                | empty
        
    WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
                | empty
        
    WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
                | empty
        
    Syntax ::=    -- Must be one of the following:
                       -- a base type (or its refinement),
                       -- a textual convention (or its refinement), or
                       -- a BITS pseudo-type
        
    Syntax ::=    -- Must be one of the following:
                       -- a base type (or its refinement),
                       -- a textual convention (or its refinement), or
                       -- a BITS pseudo-type
        

type | "BITS" "{" NamedBits "}"

键入|“BITS”“{”NamedBits“}”

    NamedBits ::= NamedBit
                | NamedBits "," NamedBit
        
    NamedBits ::= NamedBit
                | NamedBits "," NamedBit
        
    NamedBit ::= identifier "(" number ")" -- number is nonnegative
        
    NamedBit ::= identifier "(" number ")" -- number is nonnegative
        
    AccessPart ::=
                  "ACCESS" Access
                | empty
        
    AccessPart ::=
                  "ACCESS" Access
                | empty
        
    Access ::=
                  "not-implemented"
                -- only "not-implemented" for notifications
                | "accessible-for-notify"
                | "read-only"
                | "read-write"
                | "read-create"
                -- following is for backward-compatibility only
                | "write-only"
        
    Access ::=
                  "not-implemented"
                -- only "not-implemented" for notifications
                | "accessible-for-notify"
                | "read-only"
                | "read-write"
                | "read-create"
                -- following is for backward-compatibility only
                | "write-only"
        
    CreationPart ::=
                  "CREATION-REQUIRES" "{" Cells "}"
                | empty
    Cells ::=
                  Cell
                | Cells "," Cell
    Cell ::=
                  value(ObjectName)
        
    CreationPart ::=
                  "CREATION-REQUIRES" "{" Cells "}"
                | empty
    Cells ::=
                  Cell
                | Cells "," Cell
    Cell ::=
                  value(ObjectName)
        
    DefValPart ::= "DEFVAL" "{" Defvalue "}"
                | empty
        
    DefValPart ::= "DEFVAL" "{" Defvalue "}"
                | empty
        
    Defvalue ::=  -- must be valid for the object's syntax
                  -- in this macro's SYNTAX clause, if present,
                  -- or if not, in object's OBJECT-TYPE macro
                  value(ObjectSyntax)
                | "{" BitsValue "}"
        
    Defvalue ::=  -- must be valid for the object's syntax
                  -- in this macro's SYNTAX clause, if present,
                  -- or if not, in object's OBJECT-TYPE macro
                  value(ObjectSyntax)
                | "{" BitsValue "}"
        
    BitsValue ::= BitNames
                | empty
        
    BitsValue ::= BitNames
                | empty
        
    BitNames ::=  BitName
                | BitNames "," BitName
        
    BitNames ::=  BitName
                | BitNames "," BitName
        
    BitName ::= identifier
        
    BitName ::= identifier
        
    -- a character string as defined in [2]
    Text ::= value(IA5String)
END
        
    -- a character string as defined in [2]
    Text ::= value(IA5String)
END
        

END

终止

3. Mapping of the OBJECT-GROUP macro
3. 对象组宏的映射

For conformance purposes, it is useful to define a collection of related managed objects. The OBJECT-GROUP macro is used to define each such collection of related objects. It should be noted that the expansion of the OBJECT-GROUP macro is something which conceptually happens during implementation and not during run-time.

出于一致性目的,定义相关托管对象的集合非常有用。OBJECT-GROUP宏用于定义每个此类相关对象的集合。应该注意,对象组宏的扩展在概念上是在实现过程中发生的,而不是在运行时发生的。

To "implement" an object, an agent must return a reasonably accurate value for management protocol retrieval operations; similarly, if the object is writable, then in response to a management protocol set operation, an agent must accordingly be able to reasonably influence the underlying managed entity. If an agent can not implement an object, the management protocol provides for it to return an exception or error, e.g, noSuchObject [4]. Under no circumstances shall an agent return a value for objects which it does not implement -- it must always return the appropriate exception or error, as described in the protocol specification [4].

要“实现”对象,代理必须为管理协议检索操作返回合理准确的值;类似地,如果对象是可写的,那么响应管理协议集操作,代理必须相应地能够合理地影响底层托管实体。如果代理无法实现某个对象,则管理协议规定它返回异常或错误,例如noSuchObject[4]。在任何情况下,代理都不得为其未实现的对象返回值——它必须始终返回适当的异常或错误,如协议规范[4]中所述。

Note that the OBJECT-GROUP macro itself provides no conformance information. Rather, conformance information is specified through the inclusion of defined groups in a MODULE-COMPLIANCE macro.

请注意,对象组宏本身不提供一致性信息。相反,一致性信息是通过在模块一致性宏中包含定义的组来指定的。

3.1. Mapping of the OBJECTS clause
3.1. OBJECTS子句的映射

The OBJECTS clause, which must be present, is used to specify each object contained in the conformance group. Each of the specified objects must be defined in the same information module as the OBJECT-GROUP macro appears, and must have a MAX-ACCESS clause value of "accessible-for-notify", "read-only", "read-write", or "read-create".

OBJECTS子句必须存在,用于指定一致性组中包含的每个对象。每个指定的对象必须在对象组宏出现时的同一信息模块中定义,并且必须具有MAX-ACCESS子句值“可用于通知”、“只读”、“读写”或“读创建”。

It is required that every object defined in an information module with a MAX-ACCESS clause other than "not-accessible" be contained in at least one object group. This avoids the common error of adding a new object to an information module and forgetting to add the new object to a group.

要求在信息模块中定义的每个对象(具有MAX-ACCESS子句,而不是“不可访问”)至少包含在一个对象组中。这避免了将新对象添加到信息模块以及忘记将新对象添加到组的常见错误。

3.2. Mapping of the STATUS clause
3.2. 状态子句的映射

The STATUS clause, which must be present, indicates whether this definition is current or historic.

STATUS子句(必须存在)指示此定义是当前定义还是历史定义。

The value "current" means that the definition is current and valid. The value "obsolete" means the definition is obsolete and the group should no longer be used for defining conformance. While the value "deprecated" also indicates an obsolete definition, it permits new/continued use of conformance definitions using this group.

值“current”表示该定义是当前有效的。值“过时”表示该定义已过时,不应再使用该组定义一致性。虽然值“deprecated”也表示过时的定义,但它允许使用此组重新/继续使用一致性定义。

3.3. Mapping of the DESCRIPTION clause
3.3. 描述子句的映射

The DESCRIPTION clause, which must be present, contains a textual definition of that group, along with a description of any relations to other groups. Note that generic compliance requirements should not be stated in this clause. However, implementation relationships between this group and other groups may be defined in this clause.

必须存在的DESCRIPTION子句包含该组的文本定义,以及与其他组的任何关系的描述。注意,本条款中不应说明一般合规要求。但是,此组和其他组之间的实现关系可以在本条款中定义。

3.4. Mapping of the REFERENCE clause
3.4. 引用子句的映射

The REFERENCE clause, which need not be present, contains a textual cross-reference to some other document, either another information module which defines a related assignment, or some other document which provides additional information relevant to this definition.

REFERENCE子句不需要出现,它包含对其他文档的文本交叉引用,或者是对定义相关分配的其他信息模块的文本交叉引用,或者是对提供与此定义相关的附加信息的其他文档的文本交叉引用。

3.5. Mapping of the OBJECT-GROUP value
3.5. 对象组值的映射

The value of an invocation of the OBJECT-GROUP macro is the name of the group, which is an OBJECT IDENTIFIER, an administratively assigned name.

调用OBJECT-GROUP宏的值是组的名称,它是一个对象标识符,一个管理分配的名称。

3.6. Usage Example
3.6. 用法示例

The SNMP Group [3] is described:

SNMP组[3]描述如下:

   snmpGroup OBJECT-GROUP
       OBJECTS { snmpInPkts,
                 snmpInBadVersions,
                 snmpInASNParseErrs,
                 snmpBadOperations,
                 snmpSilentDrops,
                 snmpProxyDrops,
                 snmpEnableAuthenTraps }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing basic instrumentation
               and control of an agent."
      ::= { snmpMIBGroups 8 }
        
   snmpGroup OBJECT-GROUP
       OBJECTS { snmpInPkts,
                 snmpInBadVersions,
                 snmpInASNParseErrs,
                 snmpBadOperations,
                 snmpSilentDrops,
                 snmpProxyDrops,
                 snmpEnableAuthenTraps }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing basic instrumentation
               and control of an agent."
      ::= { snmpMIBGroups 8 }
        

According to this invocation, the conformance group named

根据此调用,一致性组命名为

{ snmpMIBGroups 8 }

{snmpmib8}

contains 7 objects.

包含7个对象。

4. Mapping of the NOTIFICATION-GROUP macro
4. 通知组宏的映射

For conformance purposes, it is useful to define a collection of notifications. The NOTIFICATION-GROUP macro serves this purpose. It should be noted that the expansion of the NOTIFICATION-GROUP macro is something which conceptually happens during implementation and not during run-time.

出于一致性目的,定义通知集合非常有用。NOTIFICATION-GROUP宏用于此目的。应该注意的是,NOTIFICATION-GROUP宏的扩展在概念上是在实现过程中发生的,而不是在运行时发生的。

4.1. Mapping of the NOTIFICATIONS clause
4.1. 通知子句的映射

The NOTIFICATIONS clause, which must be present, is used to specify each notification contained in the conformance group. Each of the specified notifications must be defined in the same information module as the NOTIFICATION-GROUP macro appears.

必须存在的NOTIFICATIONS子句用于指定一致性组中包含的每个通知。必须在显示NOTIFICATION-GROUP宏的同一信息模块中定义每个指定的通知。

It is required that every notification defined in an information module be contained in at least one notification group.

要求信息模块中定义的每个通知至少包含在一个通知组中。

4.2. Mapping of the STATUS clause
4.2. 状态子句的映射

The STATUS clause, which must be present, indicates whether this definition is current or historic.

STATUS子句(必须存在)指示此定义是当前定义还是历史定义。

The value "current" means that the definition is current and valid. The value "obsolete" means the definition is obsolete and this group should no longer be used for defining conformance. While the value "deprecated" also indicates an obsolete definition, it permits new/continued use of conformance definitions using this group.

值“current”表示该定义是当前有效的。值“过时”表示定义已过时,此组不应再用于定义一致性。虽然值“deprecated”也表示过时的定义,但它允许使用此组重新/继续使用一致性定义。

4.3. Mapping of the DESCRIPTION clause
4.3. 描述子句的映射

The DESCRIPTION clause, which must be present, contains a textual definition of the group, along with a description of any relations to other groups. Note that generic compliance requirements should not be stated in this clause. However, implementation relationships between this group and other groups may be defined in this clause.

必须存在的DESCRIPTION子句包含组的文本定义,以及与其他组的任何关系的描述。注意,本条款中不应说明一般合规要求。但是,此组和其他组之间的实现关系可以在本条款中定义。

4.4. Mapping of the REFERENCE clause
4.4. 引用子句的映射

The REFERENCE clause, which need not be present, contains a textual cross-reference to some other document, either another information module which defines a related assignment, or some other document which provides additional information relevant to this definition.

REFERENCE子句不需要出现,它包含对其他文档的文本交叉引用,或者是对定义相关分配的其他信息模块的文本交叉引用,或者是对提供与此定义相关的附加信息的其他文档的文本交叉引用。

4.5. Mapping of the NOTIFICATION-GROUP value
4.5. 通知组值的映射

The value of an invocation of the NOTIFICATION-GROUP macro is the name of the group, which is an OBJECT IDENTIFIER, an administratively assigned name.

NOTIFICATION-GROUP宏调用的值是组的名称,它是一个对象标识符,是一个管理分配的名称。

4.6. Usage Example
4.6. 用法示例

The SNMP Basic Notifications Group [3] is described:

SNMP基本通知组[3]描述如下:

   snmpBasicNotificationsGroup NOTIFICATION-GROUP
       NOTIFICATIONS { coldStart, authenticationFailure }
       STATUS        current
       DESCRIPTION
               "The two notifications which an agent is required to
               implement."
      ::= { snmpMIBGroups 7 }
        
   snmpBasicNotificationsGroup NOTIFICATION-GROUP
       NOTIFICATIONS { coldStart, authenticationFailure }
       STATUS        current
       DESCRIPTION
               "The two notifications which an agent is required to
               implement."
      ::= { snmpMIBGroups 7 }
        

According to this invocation, the conformance group named

根据此调用,一致性组命名为

{ snmpMIBGroups 7 }

{snmpmib7}

contains 2 notifications.

包含2个通知。

5. Mapping of the MODULE-COMPLIANCE macro
5. 模块符合性宏的映射

The MODULE-COMPLIANCE macro is used to convey a minimum set of requirements with respect to implementation of one or more MIB modules. It should be noted that the expansion of the MODULE-COMPLIANCE macro is something which conceptually happens during implementation and not during run-time.

MODULE-COMPLIANCE宏用于传达与一个或多个MIB模块的实现相关的最低要求集。应该注意的是,MODULE-COMPLIANCE宏的扩展在概念上是在实现过程中发生的,而不是在运行时发生的。

A requirement on all "standard" MIB modules is that a corresponding MODULE-COMPLIANCE specification is also defined, either in the same information module or in a companion information module.

所有“标准”MIB模块的要求是,在同一信息模块或配套信息模块中也定义相应的模块合规性规范。

5.1. Mapping of the STATUS clause
5.1. 状态子句的映射

The STATUS clause, which must be present, indicates whether this definition is current or historic.

STATUS子句(必须存在)指示此定义是当前定义还是历史定义。

The value "current" means that the definition is current and valid. The value "obsolete" means the definition is obsolete, and this MODULE-COMPLIANCE specification no longer specifies a valid definition of conformance. While the value "deprecated" also indicates an obsolete definition, it permits new/continued use of the MODULE-COMPLIANCE specification.

值“current”表示该定义是当前有效的。值“过时”表示该定义已过时,并且该模块合规性规范不再指定有效的合规性定义。虽然值“deprecated”也表示过时的定义,但它允许新的/继续使用MODULE-COMPLIANCE规范。

5.2. Mapping of the DESCRIPTION clause
5.2. 描述子句的映射

The DESCRIPTION clause, which must be present, contains a textual definition of this compliance statement and should embody any information which would otherwise be communicated in any ASN.1 commentary annotations associated with the statement.

说明条款(必须存在)包含本合规声明的文本定义,并应包含与该声明相关的任何ASN.1评注注释中可能传达的任何信息。

5.3. Mapping of the REFERENCE clause
5.3. 引用子句的映射

The REFERENCE clause, which need not be present, contains a textual cross-reference to some other document, either another information module which defines a related assignment, or some other document which provides additional information relevant to this definition.

REFERENCE子句不需要出现,它包含对其他文档的文本交叉引用,或者是对定义相关分配的其他信息模块的文本交叉引用,或者是对提供与此定义相关的附加信息的其他文档的文本交叉引用。

5.4. Mapping of the MODULE clause
5.4. MODULE子句的映射

The MODULE clause, which must be present, is repeatedly used to name each MIB module for which compliance requirements are being specified. Each MIB module is named by its module name, and optionally, by its associated OBJECT IDENTIFIER as well. The module name can be omitted when the MODULE-COMPLIANCE invocation occurs inside a MIB module, to refer to the encompassing MIB module.

必须存在的MODULE子句被反复用于命名每个MIB模块,并为其指定符合性要求。每个MIB模块都由其模块名命名,还可以选择由其关联的对象标识符命名。当module-COMPLIANCE调用发生在MIB模块内部时,可以省略模块名,以引用包含的MIB模块。

5.4.1. Mapping of the MANDATORY-GROUPS clause
5.4.1. 强制-GROUPS子句的映射

The MANDATORY-GROUPS clause, which need not be present, names the one or more object or notification groups within the correspondent MIB module which are unconditionally mandatory for implementation. If an agent claims compliance to the MIB module, then it must implement each and every object and notification within each conformance group listed. That is, if an agent returns a noSuchObject exception in response to a management protocol get operation [4] for any object within any mandatory conformance group for every possible MIB view, or if the agent cannot generate each notification listed in any conformance group under the appropriate circumstances, then that agent is not a conformant implementation of the MIB module.

MANDATORY-GROUPS子句(不需要出现)命名了相应MIB模块中的一个或多个对象或通知组,这些对象或通知组对于实现是无条件强制的。如果代理声明符合MIB模块,那么它必须实现列出的每个一致性组中的每个对象和通知。也就是说,如果代理返回noSuchObject异常以响应针对每个可能的MIB视图的任何强制一致性组中的任何对象的管理协议get操作[4],或者如果代理在适当的情况下无法生成任何一致性组中列出的每个通知,那么该代理不是MIB模块的一致性实现。

5.4.2. Mapping of the GROUP clause
5.4.2. GROUP子句的映射

The GROUP clause, which need not be present, is repeatedly used to name each object and notification group which is conditionally mandatory for compliance to the MIB module. The GROUP clause can also be used to name unconditionally optional groups. A group named in a GROUP clause must be absent from the correspondent MANDATORY-GROUPS clause.

GROUP子句(不需要出现)被反复用于命名每个对象和通知组,这对于遵守MIB模块是有条件的强制性的。GROUP子句还可用于无条件命名可选组。在group子句中命名的组必须不在相应的强制-GROUPS子句中。

Conditionally mandatory groups include those which are mandatory only if a particular protocol is implemented, or only if another group is implemented. A GROUP clause's DESCRIPTION specifies the conditions under which the group is conditionally mandatory.

条件强制组包括仅在实现特定协议或仅在实现另一个组时才强制的组。GROUP子句的说明指定了在哪些条件下该组是有条件强制的。

A group which is named in neither a MANDATORY-GROUPS clause nor a GROUP clause, is unconditionally optional for compliance to the MIB module.

无论在MANDATORY-GROUPS子句还是group子句中都没有命名的组都是符合MIB模块的无条件可选组。

5.4.3. Mapping of the OBJECT clause
5.4.3. OBJECT子句的映射

The OBJECT clause, which need not be present, is repeatedly used to specify each MIB object for which compliance has a refined requirement with respect to the MIB module definition. The MIB object must be present in one of the conformance groups named in the correspondent MANDATORY-GROUPS clause or GROUP clauses.

OBJECT子句(不需要出现)反复用于指定每个MIB对象,对于这些MIB对象,法规遵从性对MIB模块定义有完善的要求。MIB对象必须存在于相应的MANDATORY-groups子句或GROUP子句中指定的一个一致性组中。

By definition, each object specified in an OBJECT clause follows a MODULE clause which names the information module in which that object is defined. Therefore, the use of an IMPORTS statement, to specify from where such objects are imported, is redundant and is not required in an information module.

根据定义,object子句中指定的每个对象都跟在MODULE子句之后,MODULE子句命名了定义该对象的信息模块。因此,使用IMPORTS语句来指定从何处导入这些对象是多余的,并且在信息模块中不是必需的。

5.4.3.1. Mapping of the SYNTAX clause
5.4.3.1. 语法子句的映射

The SYNTAX clause, which need not be present, is used to provide a refined SYNTAX for the object named in the correspondent OBJECT clause. Note that if this clause and a WRITE-SYNTAX clause are both present, then this clause only applies when instances of the object named in the correspondent OBJECT clause are read.

SYNTAX子句(不需要出现)用于为相应的object子句中命名的对象提供精确的语法。请注意,如果此子句和WRITE-SYNTAX子句都存在,则此子句仅在读取相应对象子句中命名的对象实例时适用。

Consult Section 9 of [2] for more information on refined syntax.

有关优化语法的更多信息,请参阅[2]第9节。

5.4.3.2. Mapping of the WRITE-SYNTAX clause
5.4.3.2. WRITE-SYNTAX子句的映射

The WRITE-SYNTAX clause, which need not be present, is used to provide a refined SYNTAX for the object named in the correspondent OBJECT clause when instances of that object are written.

WRITE-SYNTAX子句(不需要出现)用于在写入相应对象的实例时,为相应对象子句中命名的对象提供精确的语法。

Consult Section 9 of [2] for more information on refined syntax.

有关优化语法的更多信息,请参阅[2]第9节。

5.4.3.3. Mapping of the MIN-ACCESS clause
5.4.3.3. MIN-ACCESS子句的映射

The MIN-ACCESS clause, which need not be present, is used to define the minimal level of access for the object named in the correspondent OBJECT clause. If this clause is absent, the minimal level of access is the same as the maximal level specified in the correspondent invocation of the OBJECT-TYPE macro. If present, this clause must not specify a greater level of access than is specified in the correspondent invocation of the OBJECT-TYPE macro.

MIN-ACCESS子句(不需要存在)用于定义对应object子句中命名的对象的最小访问级别。如果缺少此子句,则最小访问级别与在相应的对象类型宏调用中指定的最大级别相同。如果存在,则该子句指定的访问级别不得高于相应的对象类型宏调用中指定的级别。

The level of access for certain types of objects is fixed according to their syntax definition. These types include: conceptual tables and rows, auxiliary objects, and objects with the syntax of Counter32, Counter64 (and possibly, certain types of textual conventions). A MIN-ACCESS clause should not be present for such

特定类型对象的访问级别根据其语法定义是固定的。这些类型包括:概念表和行、辅助对象和语法为Counter32、Counter64(可能还有某些类型的文本约定)的对象。对于这种情况,不应存在MIN-ACCESS子句

objects.

物体。

An implementation is compliant if the level of access it provides is greater or equal to the minimal level in the MODULE-COMPLIANCE macro and less or equal to the maximal level in the OBJECT-TYPE macro.

如果实现提供的访问级别大于或等于MODULE-COMPLIANCE宏中的最小级别,小于或等于OBJECT-TYPE宏中的最大级别,则实现是兼容的。

5.4.4. Mapping of the DESCRIPTION clause
5.4.4. 描述子句的映射

The DESCRIPTION clause must be present for each use of the GROUP or OBJECT clause. For an OBJECT clause, it contains a textual description of the refined compliance requirement. For a GROUP clause, it contains a textual description of the conditions under which the group is conditionally mandatory or unconditionally optional.

每次使用GROUP或OBJECT子句时,必须提供DESCRIPTION子句。对于OBJECT子句,它包含细化的符合性需求的文本描述。对于GROUP子句,它包含对条件的文本描述,在这些条件下,GROUP是有条件强制的或无条件可选的。

5.5. Mapping of the MODULE-COMPLIANCE value
5.5. 模块符合性值的映射

The value of an invocation of the MODULE-COMPLIANCE macro is an OBJECT IDENTIFIER. As such, this value may be authoritatively used when referring to the compliance statement embodied by that invocation of the macro.

MODULE-COMPLIANCE宏调用的值是对象标识符。因此,在引用宏调用所体现的符合性声明时,可以授权使用该值。

5.6. Usage Example
5.6. 用法示例

The compliance statement contained in the (hypothetical) XYZv2-MIB might be:

(假设)XYZv2 MIB中包含的合规性声明可能是:

xyzMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for XYZv2 entities which implement the XYZv2 MIB." MODULE -- compliance to the containing MIB module MANDATORY-GROUPS { xyzSystemGroup, xyzStatsGroup, xyzTrapGroup, xyzSetGroup, xyzBasicNotificationsGroup }

XYZMIB2符合性模块-符合性状态当前描述“实现XYZv2 MIB的XYZv2实体的符合性声明”。模块-符合包含MIB模块的强制组{xyzSystemGroup、xyzStatsGroup、xyzTrapGroup、xyzSetGroup、xyzBasicNotificationsGroup}

          GROUP   xyzV1Group
          DESCRIPTION
              "The xyzV1 group is mandatory only for those
               XYZv2 entities which also implement XYZv1."
  ::= { xyzMIBCompliances 1 }
        
          GROUP   xyzV1Group
          DESCRIPTION
              "The xyzV1 group is mandatory only for those
               XYZv2 entities which also implement XYZv1."
  ::= { xyzMIBCompliances 1 }
        

According to this invocation, to claim alignment with the compliance statement named

根据此调用,声明与名为

{ xyzMIBCompliances 1 }

{xyzmib符合性1}

a system must implement the XYZv2-MIB's xyzSystemGroup, xyzStatsGroup, xyzTrapGroup, and xyzSetGroup object conformance groups, as well as the xyzBasicNotificationsGroup notifications group. Furthermore, if the XYZv2 entity also implements XYZv1, then it must also support the XYZv1Group group, if compliance is to be claimed.

系统必须实现XYZv2 MIB的xyzSystemGroup、xyzStatsGroup、xyzTrapGroup和xyzSetGroup对象一致性组,以及xyzBasicNotificationsGroup通知组。此外,如果XYZv2实体还实现了XYZv1,那么如果要声明符合性,那么它还必须支持XYZv1组。

6. Mapping of the AGENT-CAPABILITIES macro
6. AGENT-CAPABILITIES宏的映射

The AGENT-CAPABILITIES macro is used to convey a set of capabilities present in an agent. It should be noted that the expansion of the AGENT-CAPABILITIES macro is something which conceptually happens during implementation and not during run-time.

AGENT-CAPABILITIES宏用于传递代理中存在的一组功能。应该注意,AGENT-CAPABILITIES宏的扩展在概念上是在实现过程中发生的,而不是在运行时发生的。

When a MIB module is written, it is divided into units of conformance termed groups. If an agent claims to implement a group, then it must implement each and every object, or each and every notification, within that group. Of course, for whatever reason, an agent might implement only a subset of the groups within a MIB module. In addition, the definition of some MIB objects/notifications leave some aspects of the definition to the discretion of an implementor.

当写入MIB模块时,它被划分为称为组的一致性单元。如果代理声明实现一个组,那么它必须实现该组中的每个对象或每个通知。当然,无论出于何种原因,代理可能只实现MIB模块中的一部分组。此外,某些MIB对象/通知的定义将定义的某些方面留给实现者自行决定。

Practical experience has demonstrated a need for concisely describing the capabilities of an agent with respect to one or more MIB modules. The AGENT-CAPABILITIES macro allows an agent implementor to describe the precise level of support which an agent claims in regards to a MIB group, and to bind that description to the value of an instance of sysORID [3]. In particular, some objects may have restricted or augmented syntax or access-levels.

实践经验表明,需要简洁地描述一个代理相对于一个或多个MIB模块的能力。AGENT-CAPABILITIES宏允许代理实现者描述代理声明的有关MIB组的精确支持级别,并将该描述绑定到sysORID实例的值[3]。特别是,某些对象可能具有受限或增强的语法或访问级别。

If the AGENT-CAPABILITIES invocation is given to a management-station implementor, then that implementor can build management applications which optimize themselves when communicating with a particular agent. For example, the management-station can maintain a database of these invocations. When a management-station interacts with an agent, it retrieves from the agent the values of all instances of sysORID [3]. Based on this, it consults the database to locate each entry matching one of the retrieved values of sysORID. Using the located entries, the management application can now optimize its behavior accordingly.

如果将AGENT-CAPABILITIES调用提供给管理站实现者,那么该实现者可以构建管理应用程序,在与特定代理通信时对自身进行优化。例如,管理站可以维护这些调用的数据库。当管理站与代理交互时,它从代理检索sysORID[3]的所有实例的值。基于此,它参考数据库来定位与sysORID的检索值之一匹配的每个条目。使用定位的条目,管理应用程序现在可以相应地优化其行为。

Note that the AGENT-CAPABILITIES macro specifies refinements or variations with respect to OBJECT-TYPE and NOTIFICATION-TYPE macros in MIB modules, NOT with respect to MODULE-COMPLIANCE macros in compliance statements.

请注意,AGENT-CAPABILITIES宏指定了与MIB模块中的对象类型宏和通知类型宏相关的改进或变化,而不是与符合性语句中的模块符合性宏相关的改进或变化。

6.1. Mapping of the PRODUCT-RELEASE clause
6.1. 产品发布条款的映射

The PRODUCT-RELEASE clause, which must be present, contains a textual description of the product release which includes this set of capabilities.

必须存在的PRODUCT-RELEASE子句包含产品发布的文本描述,其中包括这组功能。

6.2. Mapping of the STATUS clause
6.2. 状态子句的映射

The STATUS clause, which must be present, indicates whether this

STATUS子句(必须存在)指示

definition is current or historic.

定义是当前的或历史的。

The value "current" means that the definition is current and valid. The value "obsolete" means the definition is obsolete and this capabilities statement is no longer in use.

值“current”表示该定义是当前有效的。值“过时”表示该定义已过时,且此能力语句不再使用。

6.3. Mapping of the DESCRIPTION clause
6.3. 描述子句的映射

The DESCRIPTION clause, which must be present, contains a textual description of this set of capabilities.

必须存在的DESCRIPTION子句包含这组功能的文本描述。

6.4. Mapping of the REFERENCE clause
6.4. 引用子句的映射

The REFERENCE clause, which need not be present, contains a textual cross-reference to some other document, either another information module which defines a related assignment, or some other document which provides additional information relevant to this definition.

REFERENCE子句不需要出现,它包含对其他文档的文本交叉引用,或者是对定义相关分配的其他信息模块的文本交叉引用,或者是对提供与此定义相关的附加信息的其他文档的文本交叉引用。

6.5. Mapping of the SUPPORTS clause
6.5. SUPPORTS子句的映射

The SUPPORTS clause, which need not be present, is repeatedly used to name each MIB module for which the agent claims a complete or partial implementation. Each MIB module is named by its module name, and optionally, by its associated OBJECT IDENTIFIER (as registered by the MODULE-IDENTITY macro, see [2]) as well.

SUPPORTS子句(不需要存在)被反复用于命名代理声明其完整或部分实现的每个MIB模块。每个MIB模块都由其模块名命名,也可以由其关联的对象标识符命名(由module-IDENTITY宏注册,请参见[2])。

6.5.1. Mapping of the INCLUDES clause
6.5.1. INCLUDES子句的映射

The INCLUDES clause, which must follow each and every use of the SUPPORTS clause, is used to name each MIB group associated with the SUPPORTS clause, which the agent claims to implement.

INCLUDES子句必须在每次使用SUPPORTS子句之后,用于命名与SUPPORTS子句相关联的每个MIB组,代理声称要实现该MIB组。

6.5.2. Mapping of the VARIATION clause
6.5.2. 变更条款的映射

The VARIATION clause, which need not be present, is repeatedly used to name each object or notification which the agent implements in some variant or refined fashion with respect to the correspondent invocation of the OBJECT-TYPE or NOTIFICATION-TYPE macro.

variance子句(不需要出现)被反复用于命名代理以某种变体或改进的方式实现的每个对象或通知,这些对象或通知与对象类型或通知类型宏的相应调用有关。

Note that the variation concept is meant for generic implementation restrictions, e.g., if the variation for an object depends on the values of other objects, then this should be noted in the appropriate DESCRIPTION clause.

请注意,变体概念用于一般实现限制,例如,如果对象的变体取决于其他对象的值,则应在适当的描述子句中注明。

By definition, each object specified in a VARIATION clause follows a SUPPORTS clause which names the information module in which that object is defined. Therefore, the use of an IMPORTS statement, to specify from where such objects are imported, is redundant and is not

根据定义,VARIATION子句中指定的每个对象都遵循一个SUPPORTS子句,该子句命名了定义该对象的信息模块。因此,使用IMPORTS语句来指定从何处导入这些对象是多余的,并且不是必需的

required in an information module.

信息模块中需要。

6.5.2.1. Mapping of the SYNTAX clause
6.5.2.1. 语法子句的映射

The SYNTAX clause, which need not be present, is used to provide a refined SYNTAX for the object named in the correspondent VARIATION clause. Note that if this clause and a WRITE-SYNTAX clause are both present, then this clause only applies when instances of the object named in the correspondent VARIATION clause are read.

SYNTAX子句(不需要出现)用于为相应的variance子句中命名的对象提供一个精确的语法。请注意,如果此子句和WRITE-SYNTAX子句都存在,则此子句仅在读取相应的VARIATION子句中命名的对象实例时适用。

Consult Section 9 of [2] for more information on refined syntax.

有关优化语法的更多信息,请参阅[2]第9节。

Note that for enumerated INTEGERs and for the BITS construct, the changes allowed when updating a MIB module include the addition of enumerations and/or changing the labels of existing enumerations (see Section 10.2 of [2]). This type of change can cause problems for an AGENT-CAPABILITIES macro written against the old revision of a MIB module. One way to avoid such problems is to explicitly list all objects having an enumerated syntax in a VARIATION clause, even when all enumerations are currently supported.

请注意,对于枚举整数和BITS结构,更新MIB模块时允许的更改包括添加枚举和/或更改现有枚举的标签(见[2]第10.2节)。这种类型的更改可能会导致针对旧版本的MIB模块编写的AGENT-CAPABILITIES宏出现问题。避免此类问题的一种方法是在variance子句中显式列出具有枚举语法的所有对象,即使当前支持所有枚举。

6.5.2.2. Mapping of the WRITE-SYNTAX clause
6.5.2.2. WRITE-SYNTAX子句的映射

The WRITE-SYNTAX clause, which need not be present, is used to provide a refined SYNTAX for the object named in the correspondent VARIATION clause when instances of that object are written.

WRITE-SYNTAX子句(不需要出现)用于在编写对象的实例时,为相应的variance子句中命名的对象提供精确的语法。

Consult Section 9 of [2] for more information on refined syntax.

有关优化语法的更多信息,请参阅[2]第9节。

6.5.2.3. Mapping of the ACCESS clause
6.5.2.3. ACCESS子句的映射

The ACCESS clause, which need not be present, is used to indicate the agent provides less than the maximal level of access to the object or notification named in the correspondent VARIATION clause.

ACCESS子句(无需存在)用于指示代理提供的访问权限低于对应的VARIATION子句中指定的对象或通知的最大级别。

The only value applicable to notifications is "not-implemented".

唯一适用于通知的值是“未实现”。

The value "not-implemented" indicates the agent does not implement the object or notification, and in the ordering of possible values is equivalent to "not-accessible".

值“not implemented”(未实现)表示代理未实现对象或通知,并且在可能值的顺序中相当于“not accessible”(不可访问)。

The value "write-only" is provided solely for backward compatibility, and shall not be used for newly-defined object types. In the ordering of possible values, "write-only" is less than "not-accessible".

值“仅写”仅用于向后兼容,不得用于新定义的对象类型。在可能值的排序中,“仅写”小于“不可访问”。

6.5.2.4. Mapping of the CREATION-REQUIRES clause
6.5.2.4. CREATION-REQUIRES子句的映射

The CREATION-REQUIRES clause, which need not be present, is used to name the columnar objects of a conceptual row to which values must be explicitly assigned, by a management protocol set operation, before the agent will allow the instance of the status column of that row to be set to `active'. (Consult the definition of RowStatus [5].)

CREATION-REQUIRES子句(不需要存在)用于命名概念行的列对象,在代理允许将该行的status列的实例设置为“active”之前,必须通过管理协议集操作将值显式分配给该概念行。(请参阅RowStatus的定义[5]。)

If the conceptual row does not have a status column (i.e., the objects corresponding to the conceptual table were defined using the mechanisms in [6,7]), then the CREATION-REQUIRES clause, which need not be present, is used to name the columnar objects of a conceptual row to which values must be explicitly assigned, by a management protocol set operation, before the agent will create new instances of objects in that row.

如果概念行没有状态列(即,与概念表相对应的对象是使用[6,7]中的机制定义的),则不需要存在的CREATION-REQUIRES子句用于命名概念行中必须显式指定值的列对象,通过管理协议集操作,在代理将在该行中创建对象的新实例之前。

This clause must not be present unless the object named in the correspondent VARIATION clause is a conceptual row, i.e., has a syntax which resolves to a SEQUENCE containing columnar objects. The objects named in the value of this clause usually will refer to columnar objects in that row. However, objects unrelated to the conceptual row may also be specified.

除非相应变体子句中命名的对象是概念行,即具有解析为包含列对象的序列的语法,否则不得出现此子句。此子句的值中命名的对象通常会引用该行中的列对象。但是,也可以指定与概念行无关的对象。

All objects which are named in the CREATION-REQUIRES clause for a conceptual row, and which are columnar objects of that row, must have an access level of "read-create".

在概念行的CREATION-REQUIRES子句中命名的所有对象,以及该行的列对象,都必须具有“read create”的访问级别。

6.5.2.5. Mapping of the DEFVAL clause
6.5.2.5. deffal子句的映射

The DEFVAL clause, which need not be present, is used to provide a alternate DEFVAL value for the object named in the correspondent VARIATION clause. The semantics of this value are identical to those of the OBJECT-TYPE macro's DEFVAL clause.

DEFVAL子句(不需要存在)用于为相应的VARIANCE子句中命名的对象提供备用DEFVAL值。此值的语义与对象类型宏的DEFVAL子句的语义相同。

6.5.2.6. Mapping of the DESCRIPTION clause
6.5.2.6. 描述子句的映射

The DESCRIPTION clause, which must be present for each use of the VARIATION clause, contains a textual description of the variant or refined implementation of the object or notification.

每次使用VARIATION子句时都必须出现DESCRIPTION子句,它包含对象或通知的变体或优化实现的文本描述。

6.6. Mapping of the AGENT-CAPABILITIES value
6.6. AGENT-CAPABILITIES值的映射

The value of an invocation of the AGENT-CAPABILITIES macro is an OBJECT IDENTIFIER, which names the value of sysORID [3] for which this capabilities statement is valid.

调用AGENT-CAPABILITIES宏的值是一个对象标识符,它命名sysORID[3]的值,该CAPABILITIES语句对该值有效。

6.7. Usage Example
6.7. 用法示例

Consider how a capabilities statement for an agent might be described:

考虑代理的能力声明如何描述:

exampleAgent AGENT-CAPABILITIES PRODUCT-RELEASE "ACME Agent release 1.1 for 4BSD." STATUS current DESCRIPTION "ACME agent for 4BSD."

例如AGENT-AGENT-CAPABILITIES产品发布版“适用于4BSD的ACME AGENT 1.1版”。状态当前描述“适用于4BSD的ACME AGENT”

SUPPORTS SNMPv2-MIB INCLUDES { systemGroup, snmpGroup, snmpSetGroup, snmpBasicNotificationsGroup }

支持SNMPv2 MIB包括{systemGroup、snmpGroup、snmpSetGroup、snmpBasicNotificationsGroup}

VARIATION coldStart DESCRIPTION "A coldStart trap is generated on all reboots."

变体coldStart DESCRIPTION“在所有重新启动时都会生成coldStart陷阱。”

SUPPORTS IF-MIB INCLUDES { ifGeneralGroup, ifPacketGroup }

支持IF-MIB包含{ifGeneralGroup,ifPacketGroup}

VARIATION ifAdminStatus SYNTAX INTEGER { up(1), down(2) } DESCRIPTION "Unable to set test mode on 4BSD."

变量ifAdminStatus语法整数{up(1),down(2)}说明“无法在4BSD上设置测试模式。”

VARIATION ifOperStatus SYNTAX INTEGER { up(1), down(2) } DESCRIPTION "Information limited on 4BSD."

变体ifOperStatus语法整数{up(1),down(2)}说明“4BSD上的信息有限。”

SUPPORTS IP-MIB INCLUDES { ipGroup, icmpGroup }

支持IP-MIB包括{ipGroup,icmpGroup}

VARIATION ipDefaultTTL SYNTAX INTEGER (255..255) DESCRIPTION "Hard-wired on 4BSD."

变体ipDefaultTTL语法整数(255..255)说明“在4BSD上硬连线”

VARIATION ipInAddrErrors ACCESS not-implemented DESCRIPTION "Information not available on 4BSD."

变体IPinaddErrors访问未实现描述“信息在4BSD上不可用。”

VARIATION ipNetToMediaEntry CREATION-REQUIRES { ipNetToMediaPhysAddress } DESCRIPTION "Address mappings on 4BSD require both protocol and media addresses."

变体ipNetToMediaEntry CREATION-REQUIRES{ipNetToMediaPhysAddress}说明“4BSD上的地址映射需要协议和媒体地址。”

SUPPORTS TCP-MIB INCLUDES { tcpGroup } VARIATION tcpConnState

支持TCP-MIB包含{tcpGroup}变量tcpConnState

ACCESS read-only DESCRIPTION "Unable to set this on 4BSD."

ACCESS只读说明“无法在4BSD上设置此项。”

SUPPORTS UDP-MIB INCLUDES { udpGroup }

支持UDP-MIB包括{udpGroup}

       SUPPORTS             EVAL-MIB
           INCLUDES         { functionsGroup, expressionsGroup }
           VARIATION        exprEntry
               CREATION-REQUIRES { evalString, evalStatus }
               DESCRIPTION  "Conceptual row creation is supported."
        
       SUPPORTS             EVAL-MIB
           INCLUDES         { functionsGroup, expressionsGroup }
           VARIATION        exprEntry
               CREATION-REQUIRES { evalString, evalStatus }
               DESCRIPTION  "Conceptual row creation is supported."
        
       ::= { acmeAgents 1 }
        
       ::= { acmeAgents 1 }
        

According to this invocation, an agent with a sysORID value of

根据此调用,sysORID值为的代理

{ acmeAgents 1 }

{acmeAgents 1}

supports objects defined in six MIB modules.

支持在六个MIB模块中定义的对象。

From SNMPv2-MIB, five conformance groups are supported.

SNMPv2 MIB支持五个一致性组。

From IF-MIB, the ifGeneralGroup and ifPacketGroup groups are supported. However, the objects ifAdminStatus and ifOperStatus have a restricted syntax.

在IF-MIB中,支持ifGeneralGroup和ifPacketGroup组。但是,对象ifAdminStatus和ifOperStatus具有受限语法。

From IP-MIB, all objects in the ipGroup and icmpGroup are supported except ipInAddrErrors, while ipDefaultTTL has a restricted range, and when creating a new instance in the ipNetToMediaTable, the set-request must create an instance of ipNetToMediaPhysAddress.

在IP-MIB中,ipGroup和icmpGroup中的所有对象都受支持,但IPinaddErrors除外,而ipDefaultTTL的范围有限,在ipNetToMediaTable中创建新实例时,set请求必须创建ipNetToMediaPhysAddress的实例。

From TCP-MIB, the tcpGroup is supported except that tcpConnState is available only for reading.

TCP-MIB支持tcpGroup,但tcpConnState仅可用于读取。

From UDP-MIB, the udpGroup is fully supported.

UDP-MIB完全支持udpGroup。

From the EVAL-MIB, all the objects contained in the functionsGroup and expressionsGroup conformance groups are supported, without variation. In addition, creation of new instances in the expr table is supported, and requires both of the objects: evalString and evalStatus, to be assigned a value.

从EVAL-MIB中,支持functionsGroup和ExpressionGroup一致性组中包含的所有对象,没有任何变化。此外,支持在expr表中创建新实例,并且需要为两个对象:evalString和evalStatus分配一个值。

7. Extending an Information Module
7. 扩展信息模块

As experience is gained with a published information module, it may be desirable to revise that information module.

由于已发布的信息模块获得了经验,因此可能需要修改该信息模块。

Section 10 of [2] defines the rules for extending an information module. The remainder of this section defines how conformance groups, compliance statements, and capabilities statements may be extended.

[2]的第10节定义了扩展信息模块的规则。本节的其余部分定义了如何扩展一致性组、一致性声明和功能声明。

7.1. Conformance Groups
7.1. 一致性组

It may be desirable to revise the definition of a conformance group (an OBJECT-GROUP or a NOTIFICATION-GROUP) after experience is gained with it. However, conformance groups can be referenced by compliance and/or capabilities definitions. Therefore, a change to a conformance group is not allowed if it has the potential to cause a reference to the group's original definition to be different from a reference to the updated definition. Such changes can only be accommodated by defining a new conformance group with a new descriptor and a new OBJECT IDENTIFIER value.

在获得一致性组(对象组或通知组)的经验后,可能需要修改一致性组的定义。但是,合规性组可以由合规性和/或能力定义引用。因此,如果一致性组的变更可能导致对该组原始定义的引用与对更新定义的引用不同,则不允许对一致性组进行变更。只有通过使用新描述符和新对象标识符值定义新的一致性组,才能适应这种更改。

The following revisions are allowed:

允许进行以下修订:

(1) A STATUS clause value of "current" may be revised as "deprecated" or "obsolete". Similarly, a STATUS clause value of "deprecated" may be revised as "obsolete". When making such a change, the DESCRIPTION clause should be updated to explain the rationale.

(1) 状态子句值“current”可以修改为“deprecated”或“过时”。同样,状态子句值“不推荐”也可以修改为“过时”。进行此类更改时,应更新描述条款,以解释基本原理。

(2) A REFERENCE clause may be added or updated.

(2) 可以添加或更新引用子句。

(3) Clarifications and additional information may be included in the DESCRIPTION clause.

(3) 说明条款中可能包含澄清和附加信息。

(4) Any editorial change.

(4) 任何编辑上的改动。

It is not necessary to change the STATUS value of a conformance group when the status of a member of the group is changed.

当一致性组成员的状态更改时,无需更改一致性组的状态值。

7.2. Compliance Definitions
7.2. 合规性定义

It may be desirable to revise the definition of a compliance definition (MODULE-COMPLIANCE) after experience is gained with it. However, changes are not allowed if they cause the requirements specified by the original definition to be different from the requirements of the updated definition. Such changes can only be accommodated by defining a new compliance definition with a new

在获得经验后,可能需要修改合规性定义(模块合规性)的定义。但是,如果变更导致原始定义规定的要求与更新定义的要求不同,则不允许进行变更。只有通过使用新的法规定义来定义新的法规遵从性定义,才能适应这种变化

descriptor and a new OBJECT IDENTIFIER value.

描述符和新的对象标识符值。

The following revisions are allowed:

允许进行以下修订:

(1) A STATUS clause value of "current" may be revised as "deprecated" or "obsolete". Similarly, a STATUS clause value of "deprecated" may be revised as "obsolete". When making such a change, the DESCRIPTION clause should be updated to explain the rationale.

(1) 状态子句值“current”可以修改为“deprecated”或“过时”。同样,状态子句值“不推荐”也可以修改为“过时”。进行此类更改时,应更新描述条款,以解释基本原理。

(2) A REFERENCE clause may be added or updated.

(2) 可以添加或更新引用子句。

(3) Clarifications and additional information may be included in the DESCRIPTION clause(s).

(3) 说明条款中可能包含澄清和附加信息。

(4) Any editorial change.

(4) 任何编辑上的改动。

It is not necessary to change the STATUS value of a compliance definition due to a change in the STATUS value of a definition it references.

由于其引用的定义的状态值发生更改,因此无需更改合规性定义的状态值。

7.3. Capabilities Definitions
7.3. 能力定义

It may be desirable to revise the definition of a capabilities definition (AGENT-CAPABILITIES) after experience is gained with it. However, changes are not allowed if they cause the capabilities specified by the original specification to be different from the capabilities of the updated specification. Such changes can only be accommodated by defining a new capabilities definition with a new descriptor and a new OBJECT IDENTIFIER value.

在获得经验后,可能需要修改能力定义(代理能力)的定义。但是,如果更改导致原始规范指定的功能与更新规范的功能不同,则不允许进行更改。只有通过使用新的描述符和新的对象标识符值定义新的功能定义,才能适应这种更改。

The following revisions are allowed:

允许进行以下修订:

(1) A STATUS clause value of "current" may be revised as "obsolete". When making such a change, the DESCRIPTION clause should be updated to explain the rationale.

(1) 状态条款值“当前”可修改为“过时”。进行此类更改时,应更新描述条款,以解释基本原理。

(2) A REFERENCE clause may be added or updated.

(2) 可以添加或更新引用子句。

(3) Clarifications and additional information may be included in the DESCRIPTION clause(s).

(3) 说明条款中可能包含澄清和附加信息。

(4) Any editorial change.

(4) 任何编辑上的改动。

It is not necessary to change the STATUS value of a capabilities definition due to a change in the STATUS value of a definition it references.

由于功能定义引用的定义的状态值发生更改,因此无需更改功能定义的状态值。

8. Security Considerations
8. 安全考虑

This document defines the means to define conformance requirements for implementing on documents describing management information. This method of defining conformance requirements has no security impact on the Internet.

本文件定义了在描述管理信息的文件上实施一致性要求的方法。这种定义一致性要求的方法对Internet没有安全影响。

9. Editors' Addresses
9. 编辑地址

Keith McCloghrie Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA Phone: +1 408 526 5260 EMail: kzm@cisco.com

Keith McCloghrie Cisco Systems,Inc.美国加利福尼亚州圣何塞西塔斯曼大道170号95134-1706电话:+1 408 526 5260电子邮件:kzm@cisco.com

David Perkins SNMPinfo 3763 Benton Street Santa Clara, CA 95051 USA Phone: +1 408 221-8702 Email: dperkins@snmpinfo.com

David Perkins SNMPinfo 3763 Benton Street Santa Clara,CA 95051美国电话:+1 408 221-8702电子邮件:dperkins@snmpinfo.com

Juergen Schoenwaelder TU Braunschweig Bueltenweg 74/75 38106 Braunschweig Germany Phone: +49 531 391-3283 EMail: schoenw@ibr.cs.tu-bs.de

Juergen Schoenwaelder TU Braunchweig Bueltenweg 74/75 38106 Braunchweig Germany电话:+49 531 391-3283电子邮件:schoenw@ibr.cs.tu-理学士

10. References
10. 工具书类

[1] Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1), International Organization for Standardization. International Standard 8824, (December, 1987).

[1] 信息处理系统.开放系统互连.国际标准化组织抽象语法符号1(ASN.1)规范。国际标准8824(1987年12月)。

[2] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

[2] McCloghrie,K.,Perkins,D.,Schoenwaeld,J.,Case,J.,Rose,M.和S.Waldbusser,“管理信息的结构版本2(SMIv2)”,STD 58,RFC 2578,1999年4月。

[3] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Management Information Base for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1907, January 1996.

[3] SNMPv2工作组,Case,J.,McCloghrie,K.,Rose,M.和S.Waldbusser,“简单网络管理协议(SNMPv2)版本2的管理信息库”,RFC 1907,1996年1月。

[4] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996.

[4] SNMPv2工作组,Case,J.,McCloghrie,K.,Rose,M.和S.Waldbusser,“简单网络管理协议(SNMPv2)版本2的协议操作”,RFC 1905,1996年1月。

[5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.

[5] McCloghrie,K.,Perkins,D.,Schoenwaeld,J.,Case,J.,Rose,M.和S.Waldbusser,“SMIv2的文本约定”,STD 58,RFC 2579,1999年4月。

[6] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based internets", STD 16, RFC 1155, May 1990.

[6] Rose,M.和K.McCloghrie,“基于TCP/IP的互联网管理信息的结构和识别”,STD 16,RFC 1155,1990年5月。

[7] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991.

[7] Rose,M.和K.McCloghrie,“简明MIB定义”,STD 16,RFC 1212,1991年3月。

11. Full Copyright Statement
11. 完整版权声明

Copyright (C) The Internet Society (1999). All Rights Reserved.

版权所有(C)互联网协会(1999年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。”