Network Working Group                                            D. Levi
Request for Comments: 2263                           SNMP Research, Inc.
Category: Standards Track                                       P. Meyer
                                            Secure Computing Corporation
                                                              B. Stewart
                                                           Cisco Systems
                                                            January 1998
        
Network Working Group                                            D. Levi
Request for Comments: 2263                           SNMP Research, Inc.
Category: Standards Track                                       P. Meyer
                                            Secure Computing Corporation
                                                              B. Stewart
                                                           Cisco Systems
                                                            January 1998
        

SNMPv3 Applications

SNMPv3应用程序

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 (1997). All Rights Reserved.

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

Abstract

摘要

This memo describes five types of SNMP applications which make use of an SNMP engine as described in [RFC2261]. The types of application described are Command Generators, Command Responders, Notification Originators, Notification Receivers, and Proxy Forwarders.

本备忘录描述了使用[RFC2261]中所述SNMP引擎的五种类型的SNMP应用程序。所描述的应用程序类型包括命令生成器、命令响应器、通知发起者、通知接收者和代理转发器。

This memo also defines MIB modules for specifying targets of management operations, for notification filtering, and for proxy forwarding.

此备忘录还定义了MIB模块,用于指定管理操作的目标、通知筛选和代理转发。

Table of Contents

目录

   1 Overview .....................................................    2
   1.1 Command Generator Applications .............................    3
   1.2 Command Responder Applications .............................    3
   1.3 Notification Originator Applications .......................    3
   1.4 Notification Receiver Applications .........................    3
   1.5 Proxy Forwarder Applications ...............................    3
   2 Management Targets ...........................................    5
   3 Elements Of Procedure ........................................    6
   3.1 Command Generator Applications .............................    6
   3.2 Command Responder Applications .............................    8
   3.3 Notification Originator Applications .......................   13
   3.4 Notification Receiver Applications .........................   16
        
   1 Overview .....................................................    2
   1.1 Command Generator Applications .............................    3
   1.2 Command Responder Applications .............................    3
   1.3 Notification Originator Applications .......................    3
   1.4 Notification Receiver Applications .........................    3
   1.5 Proxy Forwarder Applications ...............................    3
   2 Management Targets ...........................................    5
   3 Elements Of Procedure ........................................    6
   3.1 Command Generator Applications .............................    6
   3.2 Command Responder Applications .............................    8
   3.3 Notification Originator Applications .......................   13
   3.4 Notification Receiver Applications .........................   16
        
   3.5 Proxy Forwarder Applications ...............................   18
   3.5.1 Request Forwarding .......................................   19
   3.5.1.1 Processing an Incoming Request .........................   19
   3.5.1.2 Processing an Incoming Response ........................   22
   3.5.1.3 Processing an Incoming Report Indication ...............   23
   3.5.2 Notification Forwarding ..................................   24
   4 The Structure of the MIB Modules .............................   27
   4.1 The Management Target MIB Module ...........................   27
   4.1.1 Tag Lists ................................................   28
   4.1.2 Definitions ..............................................   28
   4.2 The Notification MIB Module ................................   41
   4.2.1 Definitions ..............................................   42
   4.3 The Proxy MIB Module .......................................   53
   4.3.1 Definitions ..............................................   53
   5 Identification of Management Targets in Notification
        Originators ...............................................   59
   6 Notification Filtering .......................................   60
   7 Management Target Translation in Proxy  Forwarder
        Applications ..............................................   61
   7.1 Management Target Translation for Request Forwarding .......   61
   7.2 Management Target Translation for Notification Forwarding
        ...........................................................   62
   8 Intellectual Property ........................................   63
   9 Acknowledgments ..............................................   64
   10 Security Considerations .....................................   65
   11 References ..................................................   65
   12 Editors' Address ............................................   67
   A. Trap Configuration Example ..................................   68
   B. Full Copyright Statement ....................................   70
        
   3.5 Proxy Forwarder Applications ...............................   18
   3.5.1 Request Forwarding .......................................   19
   3.5.1.1 Processing an Incoming Request .........................   19
   3.5.1.2 Processing an Incoming Response ........................   22
   3.5.1.3 Processing an Incoming Report Indication ...............   23
   3.5.2 Notification Forwarding ..................................   24
   4 The Structure of the MIB Modules .............................   27
   4.1 The Management Target MIB Module ...........................   27
   4.1.1 Tag Lists ................................................   28
   4.1.2 Definitions ..............................................   28
   4.2 The Notification MIB Module ................................   41
   4.2.1 Definitions ..............................................   42
   4.3 The Proxy MIB Module .......................................   53
   4.3.1 Definitions ..............................................   53
   5 Identification of Management Targets in Notification
        Originators ...............................................   59
   6 Notification Filtering .......................................   60
   7 Management Target Translation in Proxy  Forwarder
        Applications ..............................................   61
   7.1 Management Target Translation for Request Forwarding .......   61
   7.2 Management Target Translation for Notification Forwarding
        ...........................................................   62
   8 Intellectual Property ........................................   63
   9 Acknowledgments ..............................................   64
   10 Security Considerations .....................................   65
   11 References ..................................................   65
   12 Editors' Address ............................................   67
   A. Trap Configuration Example ..................................   68
   B. Full Copyright Statement ....................................   70
        
1. Overview
1. 概述

This document describes five types of SNMP applications:

本文档介绍五种类型的SNMP应用程序:

- Applications which initiate SNMP Get, GetNext, GetBulk, and/or Set requests, called 'command generators.'

- 启动SNMP Get、GetNext、GetBulk和/或Set请求的应用程序,称为“命令生成器”

- Applications which respond to SNMP Get, GetNext, GetBulk, and/or Set requests, called 'command responders.'

- 响应SNMP Get、GetNext、GetBulk和/或Set请求的应用程序称为“命令响应程序”

- Applications which generate notifications, called 'notification originators.'

- 生成通知的应用程序,称为“通知发起人”

- Applications which receive notifications, called 'notification receivers.'

- 接收通知的应用程序,称为“通知接收者”

- Applications which forward SNMP Get, GetNext, GetBulk, and/or Set requests or notifications, called 'proxy forwarder.'

- 转发SNMP Get、GetNext、GetBulk和/或设置请求或通知的应用程序,称为“代理转发器”

Note that there are no restrictions on which types of applications may be associated with a particular SNMP engine. For example, a single SNMP engine may, in fact, be associated with both command generator and command responder applications.

请注意,对于与特定SNMP引擎关联的应用程序类型没有限制。例如,单个SNMP引擎实际上可能与命令生成器和命令响应程序应用程序都关联。

1.1. Command Generator Applications
1.1. 命令生成器应用程序

A command generator application initiates SNMP Get, GetNext, GetBulk, and/or Set requests, as well as processing the response to a request which it generated.

命令生成器应用程序启动SNMP Get、GetNext、GetBulk和/或Set请求,并处理对其生成的请求的响应。

1.2. Command Responder Applications
1.2. 命令响应程序应用程序

A command responder application receives SNMP Get, GetNext, GetBulk, and/or Set requests destined for the local system as indicated by the fact that the contextEngineID in the received request is equal to that of the local engine through which the request was received. The command responder application will perform the appropriate protocol operation, using access control, and will generate a response message to be sent to the request's originator.

命令响应程序应用程序接收以本地系统为目的地的SNMP Get、GetNext、GetBulk和/或Set请求,这一事实表明,接收到的请求中的contextEngineID与接收请求的本地引擎的contextEngineID相等。命令响应程序应用程序将使用访问控制执行适当的协议操作,并将生成一条响应消息发送给请求的发起人。

1.3. Notification Originator Applications
1.3. 通知发起人申请

A notification originator application conceptually monitors a system for particular events or conditions, and generates Trap and/or Inform messages based on these events or conditions. A notification originator must have a mechanism for determining where to send messages, and what SNMP version and security parameters to use when sending messages. A mechanism and MIB module for this purpose is provided in this document.

通知发起人应用程序在概念上监视系统的特定事件或条件,并基于这些事件或条件生成陷阱和/或通知消息。通知发起人必须具有一种机制,用于确定发送消息的位置,以及发送消息时要使用的SNMP版本和安全参数。本文档中提供了用于此目的的机制和MIB模块。

1.4. Notification Receiver Applications
1.4. 通知接收器应用程序

A notification receiver application listens for notification messages, and generates response messages when a message containing an Inform PDU is received.

通知接收器应用程序侦听通知消息,并在接收到包含Inform PDU的消息时生成响应消息。

1.5. Proxy Forwarder Applications
1.5. 代理转发器应用程序

A proxy forwarder application forwards SNMP messages. Note that implementation of a proxy forwarder application is optional. The sections describing proxy (4.5, 5.3, and 8) may be skipped for implementations that do not include a proxy forwarder application.

代理转发器应用程序转发SNMP消息。请注意,代理转发器应用程序的实现是可选的。对于不包括代理转发器应用程序的实现,可以跳过描述代理的部分(4.5、5.3和8)。

The term "proxy" has historically been used very loosely, with multiple different meanings. These different meanings include (among others):

“代理”一词在历史上使用得非常松散,有多种不同的含义。这些不同含义包括(除其他外):

(1) the forwarding of SNMP requests to other SNMP entities without regard for what managed object types are being accessed; for example, in order to forward an SNMP request from one transport domain to another, or to translate SNMP requests of one version into SNMP requests of another version;

(1) 将SNMP请求转发给其他SNMP实体,而不考虑正在访问的托管对象类型;例如,为了将SNMP请求从一个传输域转发到另一个传输域,或者将一个版本的SNMP请求转换为另一个版本的SNMP请求;

(2) the translation of SNMP requests into operations of some non-SNMP management protocol; and

(2) 将SNMP请求转换为某些非SNMP管理协议的操作;和

(3) support for aggregated managed objects where the value of one managed object instance depends upon the values of multiple other (remote) items of management information.

(3) 支持聚合托管对象,其中一个托管对象实例的值取决于多个其他(远程)管理信息项的值。

Each of these scenarios can be advantageous; for example, support for aggregation of management information can significantly reduce the bandwidth requirements of large-scale management activities. However, using a single term to cover multiple different scenarios causes confusion.

每种情况都是有利的;例如,对管理信息聚合的支持可以显著降低大规模管理活动的带宽需求。然而,使用一个术语来涵盖多个不同的场景会导致混淆。

To avoid such confusion, this document uses the term "proxy" with a much more tightly defined meaning. The term "proxy" is used in this document to refer to a proxy forwarder application which forwards either SNMP requests, notifications, and responses without regard for what managed objects are contained within requests or notifications. This definition is most closely related to the first definition above. Note, however, that in the SNMP architecture [RFC2261], a proxy forwarder is actually an application, and need not be associated with what is traditionally thought of as an SNMP agent.

为了避免这种混淆,本文件使用了“代理”一词,其定义更为严格。本文档中的术语“代理”是指代理转发器应用程序,它转发SNMP请求、通知和响应,而不考虑请求或通知中包含哪些托管对象。这一定义与上述第一个定义关系最为密切。但是,请注意,在SNMP体系结构[RFC2261]中,代理转发器实际上是一个应用程序,不需要与传统上认为的SNMP代理相关联。

Specifically, the distinction between a traditional SNMP agent and a proxy forwarder application is simple:

具体而言,传统SNMP代理和代理转发器应用程序之间的区别很简单:

- a proxy forwarder application forwards requests and/or notifications to other SNMP engines according to the context, and irrespective of the specific managed object types being accessed, and forwards the response to such previously forwarded messages back to the SNMP engine from which the original message was received;

- 代理转发器应用程序根据上下文将请求和/或通知转发给其他SNMP引擎,而与正在访问的特定托管对象类型无关,并将对此类先前转发的消息的响应转发回接收原始消息的SNMP引擎;

- in contrast, the command responder application that is part of what is traditionally thought of as an SNMP agent, and which processes SNMP requests according to the (names of the) individual managed object types and instances being accessed, is NOT a proxy forwarder application from the perspective of this document.

- 相反,从本文档的角度来看,命令响应程序应用程序不是代理转发器应用程序,它是传统上被认为是SNMP代理的一部分,并且根据被访问的单个受管对象类型和实例(名称)处理SNMP请求。

Thus, when a proxy forwarder application forwards a request or notification for a particular contextEngineID / contextName pair, not only is the information on how to forward the request specifically associated with that context, but the proxy forwarder application has no need of a detailed definition of a MIB view (since the proxy forwarder application forwards the request irrespective of the managed object types).

因此,当代理转发器应用程序转发特定contextEngineID/contextName对的请求或通知时,不仅有关如何转发与该上下文具体关联的请求的信息,而且代理转发器应用程序不需要MIB视图的详细定义(因为代理转发器应用程序转发请求,而与托管对象类型无关)。

In contrast, a command responder application must have the detailed definition of the MIB view, and even if it needs to issue requests to other entities, via SNMP or otherwise, that need is dependent on the individual managed object instances being accessed (i.e., not only on the context).

相反,命令响应程序应用程序必须具有MIB视图的详细定义,即使它需要通过SNMP或其他方式向其他实体发出请求,该需要取决于正在访问的单个托管对象实例(即,不仅取决于上下文)。

Note that it is a design goal of a proxy forwarder application to act as an intermediary between the endpoints of a transaction. In particular, when forwarding Inform requests, the associated response is forwarded when it is received from the target to which the Inform request was forwarded, rather than generating a response immediately when an Inform request is received.

请注意,代理转发器应用程序的设计目标是充当事务端点之间的中介。特别是,在转发通知请求时,当从转发通知请求的目标接收到相关响应时,将转发相关响应,而不是在接收到通知请求时立即生成响应。

2. Management Targets
2. 管理目标

Some types of applications (notification generators and proxy forwarders in particular) require a mechanism for determining where and how to send generated messages. This document provides a mechanism and MIB module for this purpose. The set of information that describes where and how to send a message is called a 'Management Target', and consists of two kinds of information:

某些类型的应用程序(特别是通知生成器和代理转发器)需要一种机制来确定在何处以及如何发送生成的消息。本文档提供了用于此目的的机制和MIB模块。描述在何处以及如何发送消息的信息集称为“管理目标”,由两类信息组成:

- Destination information, consisting of a transport domain and a transport address. This is also termed a transport endpoint.

- 目的地信息,由传输域和传输地址组成。这也称为传输端点。

- SNMP parameters, consisting of message processing model, security model, security level, and security name information.

- SNMP参数,包括消息处理模型、安全模型、安全级别和安全名称信息。

The SNMP-TARGET-MIB module described later in this document contains one table for each of these types of information. There can be a many-to-many relationship in the MIB between these two types of information. That is, there may be multiple transport endpoints associated with a particular set of SNMP parameters, or a particular transport endpoint may be associated with several sets of SNMP parameters.

本文档后面介绍的SNMP-TARGET-MIB模块包含每种类型信息的一个表。在MIB中,这两种类型的信息之间可能存在多对多关系。也就是说,可能有多个传输端点与一组特定的SNMP参数相关联,或者一个特定的传输端点可能与多组SNMP参数相关联。

3. Elements Of Procedure
3. 程序要素

The following sections describe the procedures followed by each type of application when generating messages for transmission or when processing received messages. Applications communicate with the Dispatcher using the abstract service interfaces defined in [RFC2261].

以下各节描述了每种类型的应用程序在生成用于传输的消息或处理接收到的消息时所遵循的过程。应用程序使用[RFC2261]中定义的抽象服务接口与调度器通信。

3.1. Command Generator Applications
3.1. 命令生成器应用程序

A command generator initiates an SNMP request by calling the Dispatcher using the following abstract service interface:

命令生成器通过使用以下抽象服务接口调用调度程序来启动SNMP请求:

       statusInformation =              -- sendPduHandle if success
                                        -- errorIndication if failure
         sendPdu(
         IN   transportDomain           -- transport domain to be used
         IN   transportAddress          -- destination network address
         IN   messageProcessingModel    -- typically, SNMP version
         IN   securityModel             -- Security Model to use
         IN   securityName              -- on behalf of this principal
         IN   securityLevel             -- Level of Security requested
         IN   contextEngineID           -- data from/at this entity
         IN   contextName               -- data from/in this context
         IN   pduVersion                -- the version of the PDU
         IN   PDU                       -- SNMP Protocol Data Unit
         IN   expectResponse            -- TRUE or FALSE
              )
        
       statusInformation =              -- sendPduHandle if success
                                        -- errorIndication if failure
         sendPdu(
         IN   transportDomain           -- transport domain to be used
         IN   transportAddress          -- destination network address
         IN   messageProcessingModel    -- typically, SNMP version
         IN   securityModel             -- Security Model to use
         IN   securityName              -- on behalf of this principal
         IN   securityLevel             -- Level of Security requested
         IN   contextEngineID           -- data from/at this entity
         IN   contextName               -- data from/in this context
         IN   pduVersion                -- the version of the PDU
         IN   PDU                       -- SNMP Protocol Data Unit
         IN   expectResponse            -- TRUE or FALSE
              )
        

Where:

哪里:

- The transportDomain is that of the destination of the message.

- transportDomain是消息的目标域。

- The transportAddress is that of the destination of the message.

- transportAddress是消息目的地的地址。

- The messageProcessingModel indicates which Message Processing Model the application wishes to use.

- messageProcessingModel指示应用程序希望使用的消息处理模型。

- The securityModel is the security model that the application wishes to use.

- securityModel是应用程序希望使用的安全模型。

- The securityName is the security model independent name for the principal on whose behalf the application wishes the message is to be generated.

- securityName是应用程序希望代表其生成消息的主体的独立于安全模型的名称。

- The securityLevel is the security level that the application wishes to use.

- securityLevel是应用程序希望使用的安全级别。

- The contextEngineID is provided by the command generator if it wishes to explicitly specify the location of the management information it is requesting.

- 如果命令生成器希望显式指定其请求的管理信息的位置,则contextEngineID由命令生成器提供。

- The contextName is provided by the command generator if it wishes to explicitly specify the local context name for the management information it is requesting.

- 如果命令生成器希望为其请求的管理信息显式指定本地上下文名称,则contextName由命令生成器提供。

- The pduVersion indicates the version of the PDU to be sent.

- PDU版本指示要发送的PDU的版本。

- The PDU is a value constructed by the command generator containing the management operation that the command generator wishes to perform.

- PDU是由命令生成器构造的值,包含命令生成器希望执行的管理操作。

- The expectResponse argument indicates that a response is expected.

- expectResponse参数表示需要响应。

The result of the sendPdu interface indicates whether the PDU was successfully sent. If it was successfully sent, the returned value will be a sendPduHandle. The command generator should store the sendPduHandle so that it can correlate a response to the original request.

sendPdu接口的结果指示PDU是否已成功发送。如果成功发送,返回的值将是sendPduHandle。命令生成器应该存储sendPduHandle,以便将响应与原始请求关联起来。

The Dispatcher is responsible for delivering the response to a particular request to the correct command generator application. The abstract service interface used is:

调度器负责将对特定请求的响应传递给正确的命令生成器应用程序。使用的抽象服务接口是:

       processResponsePdu(              -- process Response PDU
         IN   messageProcessingModel    -- typically, SNMP version
         IN   securityModel             -- Security Model in use
         IN   securityName              -- on behalf of this principal
         IN   securityLevel             -- Level of Security
         IN   contextEngineID           -- data from/at this SNMP entity
         IN   contextName               -- data from/in this context
         IN   pduVersion                -- the version of the PDU
         IN   PDU                       -- SNMP Protocol Data Unit
         IN   statusInformation         -- success or errorIndication
         IN   sendPduHandle             -- handle from sendPDU
              )
        
       processResponsePdu(              -- process Response PDU
         IN   messageProcessingModel    -- typically, SNMP version
         IN   securityModel             -- Security Model in use
         IN   securityName              -- on behalf of this principal
         IN   securityLevel             -- Level of Security
         IN   contextEngineID           -- data from/at this SNMP entity
         IN   contextName               -- data from/in this context
         IN   pduVersion                -- the version of the PDU
         IN   PDU                       -- SNMP Protocol Data Unit
         IN   statusInformation         -- success or errorIndication
         IN   sendPduHandle             -- handle from sendPDU
              )
        

Where:

哪里:

- The messageProcessingModel is the value from the received response.

- messageProcessingModel是接收到的响应的值。

- The securityModel is the value from the received response.

- securityModel是接收到的响应的值。

- The securityName is the value from the received response.

- securityName是接收到的响应中的值。

- The securityLevel is the value from the received response.

- securityLevel是接收到的响应的值。

- The contextEngineID is the value from the received response.

- contextEngineID是接收到的响应中的值。

- The contextName is the value from the received response.

- contextName是接收到的响应中的值。

- The pduVersion indicates the version of the PDU in the received response.

- PDU版本指示接收到的响应中PDU的版本。

- The PDU is the value from the received response.

- PDU是接收到的响应的值。

- The statusInformation indicates success or failure in receiving the response.

- 状态信息表示接收响应的成功或失败。

- The sendPduHandle is the value returned by the sendPdu call which generated the original request to which this is a response.

- sendPduHandle是sendPdu调用返回的值,该调用生成了原始请求,这是对原始请求的响应。

The procedure when a command generator receives a message is as follows:

命令生成器收到消息时的过程如下:

(1) If the received values of messageProcessingModel, securityModel, securityName, contextEngineID, contextName, and pduVersion are not all equal to the values used in the original request, the response is discarded.

(1) 如果收到的messageProcessingModel、securityModel、securityName、contextEngineID、contextName和pduVersion的值与原始请求中使用的值不一致,则丢弃响应。

(2) The operation type, request-id, error-status, error-index, and variable-bindings are extracted from the PDU and saved. If the request-id is not equal to the value used in the original request, the response is discarded.

(2) 从PDU中提取并保存操作类型、请求id、错误状态、错误索引和变量绑定。如果请求id不等于原始请求中使用的值,则丢弃响应。

(3) At this point, it is up to the application to take an appropriate action. The specific action is implementation dependent. If the statusInformation indicates that the request failed, an appropriate action might be to attempt to transmit the request again, or to notify the person operating the application that a failure occurred.

(3) 此时,应由应用程序采取适当的操作。具体操作取决于实现。如果statusInformation指示请求失败,则适当的操作可能是再次尝试传输请求,或通知操作应用程序的人员发生故障。

3.2. Command Responder Applications
3.2. 命令响应程序应用程序

Before a command responder application can process messages, it must first associate itself with an SNMP engine. The abstract service interface used for this purpose is:

命令响应程序应用程序必须先将自身与SNMP引擎关联,然后才能处理消息。用于此目的的抽象服务接口是:

       statusInformation =        -- success or errorIndication
         registerContextEngineID(
         IN   contextEngineID     -- take responsibility for this one
         IN   pduType             -- the pduType(s) to be registered
              )
        
       statusInformation =        -- success or errorIndication
         registerContextEngineID(
         IN   contextEngineID     -- take responsibility for this one
         IN   pduType             -- the pduType(s) to be registered
              )
        

Where:

哪里:

- The statusInformation indicates success or failure of the registration attempt.

- 状态信息表示注册尝试成功或失败。

- The contextEngineID is equal to the snmpEngineID of the SNMP engine with which the command responder is registering.

- contextEngineID等于命令响应程序正在注册的SNMP引擎的snmpEngineID。

- The pduType indicates a Get, GetNext, GetBulk, or Set pdu.

- pduType表示Get、GetNext、GetBulk或Set pdu。

Note that if another command responder application is already registered with an SNMP engine, any further attempts to register with the same contextEngineID and pduType will be denied. This implies that separate command responder applications could register separately for the various pdu types. However, in practice this is undesirable, and only a single command responder application should be registered with an SNMP engine at any given time.

请注意,如果另一个命令响应程序应用程序已在SNMP引擎中注册,则任何进一步尝试使用相同的contextEngineID和pduType注册的操作都将被拒绝。这意味着单独的命令响应程序应用程序可以为各种pdu类型单独注册。然而,在实践中,这是不可取的,在任何给定的时间,只有一个命令响应程序应用程序应该向SNMP引擎注册。

A command responder application can disassociate with an SNMP engine using the following abstract service interface:

命令响应程序应用程序可以使用以下抽象服务接口与SNMP引擎解除关联:

       unregisterContextEngineID(
         IN   contextEngineID     -- give up responsibility for this one
         IN   pduType             -- the pduType(s) to be unregistered
              )
        
       unregisterContextEngineID(
         IN   contextEngineID     -- give up responsibility for this one
         IN   pduType             -- the pduType(s) to be unregistered
              )
        

Where:

哪里:

- The contextEngineID is equal to the snmpEngineID of the SNMP engine with which the command responder is cancelling the registration.

- contextEngineID等于命令响应程序取消注册的SNMP引擎的snmpEngineID。

- The pduType indicates a Get, GetNext, GetBulk, or Set pdu.

- pduType表示Get、GetNext、GetBulk或Set pdu。

Once the command responder has registered with the SNMP engine, it waits to receive SNMP messages. The abstract service interface used for receiving messages is:

命令响应程序在SNMP引擎中注册后,将等待接收SNMP消息。用于接收消息的抽象服务接口是:

   processPdu(                     -- process Request/Notification PDU
     IN   messageProcessingModel   -- typically, SNMP version
     IN   securityModel            -- Security Model in use
     IN   securityName             -- on behalf of this principal
        
   processPdu(                     -- process Request/Notification PDU
     IN   messageProcessingModel   -- typically, SNMP version
     IN   securityModel            -- Security Model in use
     IN   securityName             -- on behalf of this principal
        
     IN   securityLevel            -- Level of Security
     IN   contextEngineID          -- data from/at this SNMP entity
     IN   contextName              -- data from/in this context
     IN   pduVersion               -- the version of the PDU
     IN   PDU                      -- SNMP Protocol Data Unit
     IN   maxSizeResponseScopedPDU -- maximum size of the Response PDU
     IN   stateReference           -- reference to state information
          )                        -- needed when sending a response
        
     IN   securityLevel            -- Level of Security
     IN   contextEngineID          -- data from/at this SNMP entity
     IN   contextName              -- data from/in this context
     IN   pduVersion               -- the version of the PDU
     IN   PDU                      -- SNMP Protocol Data Unit
     IN   maxSizeResponseScopedPDU -- maximum size of the Response PDU
     IN   stateReference           -- reference to state information
          )                        -- needed when sending a response
        

Where:

哪里:

- The messageProcessingModel indicates which Message Processing Model received and processed the message.

- messageProcessingModel指示哪个消息处理模型接收和处理了该消息。

- The securityModel is the value from the received message.

- securityModel是接收到的消息中的值。

- The securityName is the value from the received message.

- securityName是接收到的消息中的值。

- The securityLevel is the value from the received message.

- securityLevel是接收到的消息的值。

- The contextEngineID is the value from the received message.

- contextEngineID是接收到的消息的值。

- The contextName is the value from the received message.

- contextName是接收到的消息中的值。

- The pduVersion indicates the version of the PDU in the received message.

- PDU版本指示接收到的消息中PDU的版本。

- The PDU is the value from the received message.

- PDU是接收到的消息的值。

- The maxSizeResponseScopedPDU is the maximum allowable size of a ScopedPDU containing a Response PDU (based on the maximum message size that the originator of the message can accept).

- maxSizeResponseScopedPDU是包含响应PDU的ScopedPDU允许的最大大小(基于消息的原始发件人可以接受的最大消息大小)。

- The stateReference is a value which references cached information about each received request message. This value must be returned to the Dispatcher in order to generate a response.

- stateReference是一个值,它引用有关每个接收到的请求消息的缓存信息。为了生成响应,必须将该值返回给调度程序。

The procedure when a message is received is as follows.

接收到消息时的过程如下所示。

(1) The operation type is determined from the ASN.1 tag value associated with the PDU parameter. The operation type should always be one of the types previously registered by the application.

(1) 操作类型由与PDU参数关联的ASN.1标记值确定。操作类型应始终是应用程序先前注册的类型之一。

(2) The request-id is extracted from the PDU and saved.

(2) 请求id从PDU中提取并保存。

(3) If the SNMPv2 operation type is GetBulk, the non-repeaters and max-repetitions values are extracted from the PDU and saved.

(3) 如果SNMPv2操作类型为GetBulk,则从PDU中提取并保存非中继器和最大重复次数值。

(4) The variable-bindings are extracted from the PDU and saved.

(4) 变量绑定从PDU中提取并保存。

(5) The management operation represented by the SNMPv2 operation type is performed with respect to the relevant MIB view within the context named by the contextName, according to the procedures set forth in [RFC1905]. The relevant MIB view is determined by the securityLevel, securityModel, contextName, securityName, and SNMPv2 operation type. To determine whether a particular object instance is within the relevant MIB view, the following abstract service interface is called:

(5) 根据[RFC1905]中规定的程序,针对contextName命名的上下文中的相关MIB视图执行由SNMPv2操作类型表示的管理操作。相关MIB视图由securityLevel、securityModel、contextName、securityName和SNMPv2操作类型确定。要确定特定对象实例是否在相关MIB视图中,将调用以下抽象服务接口:

         statusInformation =      -- success or errorIndication
           isAccessAllowed(
           IN   securityModel     -- Security Model in use
           IN   securityName      -- principal who wants to access
           IN   securityLevel     -- Level of Security
           IN   viewType          -- read, write, or notify view
           IN   contextName       -- context containing variableName
           IN   variableName      -- OID for the managed object
                )
        
         statusInformation =      -- success or errorIndication
           isAccessAllowed(
           IN   securityModel     -- Security Model in use
           IN   securityName      -- principal who wants to access
           IN   securityLevel     -- Level of Security
           IN   viewType          -- read, write, or notify view
           IN   contextName       -- context containing variableName
           IN   variableName      -- OID for the managed object
                )
        

Where:

哪里:

- The securityModel is the value from the received message.

- securityModel是接收到的消息中的值。

- The securityName is the value from the received message.

- securityName是接收到的消息中的值。

- The securityLevel is the value from the received message.

- securityLevel是接收到的消息的值。

- The viewType indicates whether the PDU type is a read or write operation.

- viewType指示PDU类型是读操作还是写操作。

- The contextName is the value from the received message.

- contextName是接收到的消息中的值。

- The variableName is the object instance of the variable for which access rights are to be checked.

- variableName是要检查其访问权限的变量的对象实例。

Normally, the result of the management operation will be a new PDU value, and processing will continue in step (6) below. However, at any time during the processing of the management operation:

通常,管理操作的结果将是一个新的PDU值,处理将在下面的步骤(6)中继续。但是,在管理操作过程中的任何时候:

- If the isAccessAllowed ASI returns a noSuchView, noAccessEntry, or noGroupName error, processing of the management operation is halted, a PDU value is contructed using the values from the originally received PDU, but

- 如果isAccessAllowed ASI返回noSuchView、noAccessEntry或noGroupName错误,则停止管理操作的处理,使用最初接收到的PDU的值构造PDU值,但

replacing the error_status with an authorizationError code, and error_index value of 0, and control is passed to step (6) below.

用authorizationError代码替换error_状态,error_索引值为0,控制权传递到下面的步骤(6)。

- If the isAccessAllowed ASI returns an otherError, processing of the management operation is halted, a different PDU value is contructed using the values from the originally received PDU, but replacing the error_status with a genError code, and control is passed to step (6) below.

- 如果isAccessAllowed ASI返回otherError,则管理操作的处理将停止,使用来自原始接收PDU的值构造不同的PDU值,但将错误状态替换为GenerError代码,并将控制传递到下面的步骤(6)。

- If the isAccessAllowed ASI returns a noSuchContext error, processing of the management operation is halted, no result PDU is generated, the snmpUnknownContexts counter is incremented, and control is passed to step (6) below.

- 如果isAccessAllowed ASI返回noSuchContext错误,则停止管理操作的处理,不生成结果PDU,snmpUnknownContexts计数器递增,控制权传递到下面的步骤(6)。

- If the context named by the contextName parameter is unavailable, processing of the management operation is halted, no result PDU is generated, the snmpUnavailableContexts counter is incremented, and control is passed to step (6) below.

- 如果由contextName参数命名的上下文不可用,则管理操作的处理将停止,不生成结果PDU,snmpUnavailableContexts计数器将递增,控制权将传递到下面的步骤(6)。

(6) The Dispatcher is called to generate a response or report message. The abstract service interface is:

(6) 调用调度程序以生成响应或报告消息。抽象服务接口是:

     returnResponsePdu(
       IN   messageProcessingModel   -- typically, SNMP version
       IN   securityModel            -- Security Model in use
       IN   securityName             -- on behalf of this principal
       IN   securityLevel            -- same as on incoming request
       IN   contextEngineID          -- data from/at this SNMP entity
       IN   contextName              -- data from/in this context
       IN   pduVersion               -- the version of the PDU
       IN   PDU                      -- SNMP Protocol Data Unit
       IN   maxSizeResponseScopedPDU -- maximum size of the Response PDU
       IN   stateReference           -- reference to state information
                                     -- as presented with the request
       IN   statusInformation        -- success or errorIndication
            )                        -- error counter OID/value if error
        
     returnResponsePdu(
       IN   messageProcessingModel   -- typically, SNMP version
       IN   securityModel            -- Security Model in use
       IN   securityName             -- on behalf of this principal
       IN   securityLevel            -- same as on incoming request
       IN   contextEngineID          -- data from/at this SNMP entity
       IN   contextName              -- data from/in this context
       IN   pduVersion               -- the version of the PDU
       IN   PDU                      -- SNMP Protocol Data Unit
       IN   maxSizeResponseScopedPDU -- maximum size of the Response PDU
       IN   stateReference           -- reference to state information
                                     -- as presented with the request
       IN   statusInformation        -- success or errorIndication
            )                        -- error counter OID/value if error
        

Where:

哪里:

- The messageProcessingModel is the value from the processPdu call.

- messageProcessingModel是来自processPdu调用的值。

- The securityModel is the value from the processPdu call.

- securityModel是来自processPdu调用的值。

- The securityName is the value from the processPdu call.

- securityName是来自processPdu调用的值。

- The securityLevel is the value from the processPdu call.

- securityLevel是来自processPdu调用的值。

- The contextEngineID is the value from the processPdu call.

- contextEngineID是来自processPdu调用的值。

- The contextName is the value from the processPdu call.

- contextName是来自processPdu调用的值。

- The pduVersion indicates the version of the PDU to be returned. If no result PDU was generated, the pduVersion is an undefined value.

- PDU版本指示要返回的PDU版本。如果未生成结果PDU,则PDU版本为未定义的值。

- The PDU is the result generated in step (5) above. If no result PDU was generated, the PDU is an undefined value.

- PDU是在上述步骤(5)中生成的结果。如果未生成结果PDU,则PDU是未定义的值。

- The maxSizeResponseScopedPDU is a local value indicating the maximum size of a ScopedPDU that the application can accept.

- maxSizeResponseScopedPDU是一个本地值,指示应用程序可以接受的ScopedPDU的最大大小。

- The stateReference is the value from the processPdu call.

- stateReference是来自processPdu调用的值。

- The statusInformation either contains an indication that no error occurred and that a response should be generated, or contains an indication that an error occurred along with the OID and counter value of the appropriate error counter object.

- statusInformation包含未发生错误和应生成响应的指示,或者包含发生错误的指示以及相应错误计数器对象的OID和计数器值。

Note that a command responder application should always call the returnResponsePdu abstract service interface, even in the event of an error such as a resource allocation error. In the event of such an error, the PDU value passed to returnResponsePdu should contain appropriate values for errorStatus and errorIndex.

请注意,命令响应程序应用程序应始终调用returnResponsePdu抽象服务接口,即使在发生错误(如资源分配错误)时也是如此。发生此类错误时,传递给returnResponsePdu的PDU值应包含errorStatus和errorIndex的适当值。

3.3. Notification Originator Applications
3.3. 通知发起人申请

A notification originator application generates SNMP notification messages. A notification message may, for example, contain an SNMPv2-Trap PDU or an Inform PDU. However, a particular implementation is not required to be capable of generating both types of messages.

通知发起人应用程序生成SNMP通知消息。例如,通知消息可以包含SNMPv2陷阱PDU或通知PDU。但是,不要求特定的实现能够生成这两种类型的消息。

Notification originator applications require a mechanism for identifying the management targets to which notifications should be sent. The particular mechanism used is implementation dependent. However, if an implementation makes the configuration of management targets SNMP manageable, it MUST use the SNMP-TARGET-MIB module described in this document.

通知发起人应用程序需要一种机制来识别应向其发送通知的管理目标。所使用的特定机制取决于实现。但是,如果实现使管理目标SNMP的配置可管理,则必须使用本文档中描述的SNMP-TARGET-MIB模块。

When a notification originator wishes to generate a notification, it must first determine in which context the information to be conveyed in the notification exists, i.e., it must determine the contextEngineID and contextName. It must then determine the set of

当通知发起人希望生成通知时,必须首先确定通知中要传达的信息存在于哪个上下文中,即必须确定contextEngineID和contextName。然后,它必须确定

management targets to which the notification should be sent. The application must also determine, for each management target, whether the notification message should contain an SNMPv2-Trap PDU or Inform PDU, and if it is to contain an Inform PDU, the number of retries and retransmission algorithm.

应向其发送通知的管理目标。对于每个管理目标,应用程序还必须确定通知消息是否应包含SNMPv2陷阱PDU或Inform PDU,以及如果要包含Inform PDU,重试次数和重传算法。

The mechanism by which a notification originator determines this information is implementation dependent. Once the application has determined this information, the following procedure is performed for each management target:

通知发起人确定此信息的机制取决于实现。应用程序确定此信息后,将对每个管理目标执行以下程序:

(1) Any appropriate filtering mechanisms are applied to determine whether the notification should be sent to the management target. If such filtering mechanisms determine that the notification should not be sent, processing continues with the next management target. Otherwise,

(1) 应用任何适当的过滤机制来确定是否应将通知发送给管理目标。如果此类过滤机制确定不应发送通知,则处理将继续到下一个管理目标。否则

(2) The appropriate set of variable-bindings is retrieved from local MIB instrumentation within the relevant MIB view. The relevant MIB view is determined by the securityLevel, securityModel, contextName, and securityName of the management target. To determine whether a particular object instance is within the relevant MIB view, the isAccessAllowed abstract service interface is used, in the same manner as described in the preceding section. If the statusInformation returned by isAccessAllowed does not indicate accessAllowed, the notification is not sent to the management target.

(2) 从相关MIB视图中的本地MIB检测中检索适当的变量绑定集。相关MIB视图由管理目标的securityLevel、securityModel、contextName和securityName确定。为了确定特定对象实例是否在相关MIB视图中,将使用isAccessAllowed抽象服务接口,方式与上一节中所述相同。如果isAccessAllowed返回的状态信息不表示accessAllowed,则不会向管理目标发送通知。

(3) A PDU is constructed using a locally unique request-id value, an operation type of SNMPv2-Trap or Inform, an error-status and error-index value of 0, and the variable-bindings supplied previously in step (2).

(3) PDU使用本地唯一的请求id值、SNMPv2 Trap或Inform的操作类型、错误状态和错误索引值0以及前面在步骤(2)中提供的变量绑定来构造。

(4) If the notification contains an SNMPv2-Trap PDU, the Dispatcher is called using the following abstract service interface:

(4) 如果通知包含SNMPv2陷阱PDU,则使用以下抽象服务接口调用调度程序:

         statusInformation =              -- sendPduHandle if success
                                          -- errorIndication if failure
           sendPdu(
           IN   transportDomain           -- transport domain to be used
           IN   transportAddress          -- destination network address
           IN   messageProcessingModel    -- typically, SNMP version
           IN   securityModel             -- Security Model to use
           IN   securityName              -- on behalf of this principal
           IN   securityLevel             -- Level of Security requested
           IN   contextEngineID           -- data from/at this entity
           IN   contextName               -- data from/in this context
           IN   pduVersion                -- the version of the PDU
        
         statusInformation =              -- sendPduHandle if success
                                          -- errorIndication if failure
           sendPdu(
           IN   transportDomain           -- transport domain to be used
           IN   transportAddress          -- destination network address
           IN   messageProcessingModel    -- typically, SNMP version
           IN   securityModel             -- Security Model to use
           IN   securityName              -- on behalf of this principal
           IN   securityLevel             -- Level of Security requested
           IN   contextEngineID           -- data from/at this entity
           IN   contextName               -- data from/in this context
           IN   pduVersion                -- the version of the PDU
        
           IN   PDU                       -- SNMP Protocol Data Unit
           IN   expectResponse            -- TRUE or FALSE
                )
        
           IN   PDU                       -- SNMP Protocol Data Unit
           IN   expectResponse            -- TRUE or FALSE
                )
        

Where:

哪里:

- The transportDomain is that of the management target.

- transportDomain是管理目标的域。

- The transportAddress is that of the management target.

- transportAddress是管理目标的地址。

- The messageProcessingModel is that of the management target.

- messageProcessingModel是管理目标的模型。

- The securityModel is that of the management target.

- 安全模型是管理目标的安全模型。

- The securityName is that of the management target.

- securityName是管理目标的名称。

- The securityLevel is that of the management target.

- 安全级别是管理目标的安全级别。

- The contextEngineID is the value originally determined for the notification.

- contextEngineID是最初为通知确定的值。

- The contextName is the value originally determined for the notification.

- contextName是最初为通知确定的值。

- The pduVersion is the version of the PDU to be sent.

- PDU版本是要发送的PDU的版本。

- The PDU is the value constructed in step (3) above.

- PDU是在上述步骤(3)中构造的值。

- The expectResponse argument indicates that no response is expected.

- expectResponse参数表示不需要响应。

Otherwise,

否则

(5) If the notification contains an Inform PDU, then:

(5) 如果通知包含通知PDU,则:

a) The Dispatcher is called using the sendPdu abstract service interface as described in step (4) above, except that the expectResponse argument indicates that a response is expected.

a) 使用上述步骤(4)中所述的sendPdu抽象服务接口调用Dispatcher,但expectResponse参数表示需要响应。

b) The application caches information about the management target.

b) 应用程序缓存有关管理目标的信息。

c) If a response is received within an appropriate time interval from the transport endpoint of the management target, the notification is considered acknowledged and the cached information is deleted. Otherwise,

c) 如果在适当的时间间隔内从管理目标的传输端点接收到响应,则该通知将被视为已确认,并且缓存的信息将被删除。否则

d) If a response is not received within an appropriate time period, or if a report indication is received, information about the management target is retrieved from the cache, and steps a) through d) are repeated. The number of times these steps are repeated is equal to the previously determined retry count. If this retry count is exceeded, the acknowledgement of the notification is considered to have failed, and processing of the notification for this management target is halted.

d) 如果在适当的时间段内未接收到响应,或者如果接收到报告指示,则从缓存检索关于管理目标的信息,并且重复步骤a)到d)。重复这些步骤的次数等于先前确定的重试次数。如果超过此重试次数,则认为通知确认失败,并停止处理此管理目标的通知。

Responses to Inform PDU notifications will be received via the processResponsePDU abstract service interface.

通知PDU通知的响应将通过processResponsePDU抽象服务接口接收。

3.4. Notification Receiver Applications
3.4. 通知接收器应用程序

Notification receiver applications receive SNMP Notification messages from the Dispatcher. Before any messages can be received, the notification receiver must register with the Dispatcher using the registerContextEngineID abstract service interface. The parameters used are:

通知接收器应用程序从调度程序接收SNMP通知消息。在接收任何消息之前,通知接收方必须使用registerContextEngineID抽象服务接口向调度器注册。使用的参数包括:

- The contextEngineID is an undefined 'wildcard' value. Notifications are delivered to a registered notification receiver regardless of the contextEngineID contained in the notification message.

- contextEngineID是未定义的“通配符”值。无论通知消息中包含的contextEngineID是什么,通知都会传递给已注册的通知接收方。

- The pduType indicates the type of notifications that the application wishes to receive (for example, SNMPv2-Trap PDUs or Inform PDUs).

- pduType指示应用程序希望接收的通知类型(例如,SNMPv2陷阱PDU或通知PDU)。

Once the notification receiver has registered with the Dispatcher, messages are received using the processPdu abstract service interface. Parameters are:

通知接收者向调度器注册后,将使用processPdu抽象服务接口接收消息。参数包括:

- The messageProcessingModel indicates which Message Processing Model received and processed the message.

- messageProcessingModel指示哪个消息处理模型接收和处理了该消息。

- The securityModel is the value from the received message.

- securityModel是接收到的消息中的值。

- The securityName is the value from the received message.

- securityName是接收到的消息中的值。

- The securityLevel is the value from the received message.

- securityLevel是接收到的消息的值。

- The contextEngineID is the value from the received message.

- contextEngineID是接收到的消息的值。

- The contextName is the value from the received message.

- contextName是接收到的消息中的值。

- The pduVersion indicates the version of the PDU in the received message.

- PDU版本指示接收到的消息中PDU的版本。

- The PDU is the value from the received message.

- PDU是接收到的消息的值。

- The maxSizeResponseScopedPDU is the maximum allowable size of a ScopedPDU containing a Response PDU (based on the maximum message size that the originator of the message can accept).

- maxSizeResponseScopedPDU是包含响应PDU的ScopedPDU允许的最大大小(基于消息的原始发件人可以接受的最大消息大小)。

- If the message contains an SNMPv2-Trap PDU, the stateReference is undefined and unused. Otherwise, the stateReference is a value which references cached information about the notification. This value must be returned to the Dispatcher in order to generate a response.

- 如果消息包含SNMPv2陷阱PDU,则stateReference未定义且未使用。否则,stateReference是一个引用有关通知的缓存信息的值。为了生成响应,必须将该值返回给调度程序。

When an SNMPv2-Trap PDU is delivered to a notification receiver application, it first extracts the SNMP operation type, request-id, error-status, error-index, and variable-bindings from the PDU. After this, processing depends on the particular implementation.

当SNMPv2陷阱PDU交付给通知接收器应用程序时,它首先从PDU提取SNMP操作类型、请求id、错误状态、错误索引和变量绑定。在此之后,处理取决于特定的实现。

When an Inform PDU is received, the notification receiver application follows the following procedure:

当接收到通知PDU时,通知接收器应用程序遵循以下过程:

(1) The SNMPv2 operation type, request-id, error-status, error-index, and variable-bindings are extracted from the PDU.

(1) SNMPv2操作类型、请求id、错误状态、错误索引和变量绑定从PDU中提取。

(2) A Response PDU is constructed using the extracted request-id and variable-bindings, and with error-status and error-index both set to 0.

(2) 响应PDU是使用提取的请求id和变量绑定构造的,并且错误状态和错误索引都设置为0。

(3) The Dispatcher is called to generate a response message using the returnResponsePdu abstract service interface. Parameters are:

(3) 调用Dispatcher以使用returnResponsePdu抽象服务接口生成响应消息。参数包括:

- The messageProcessingModel is the value from the processPdu call.

- messageProcessingModel是来自processPdu调用的值。

- The securityModel is the value from the processPdu call.

- securityModel是来自processPdu调用的值。

- The securityName is the value from the processPdu call.

- securityName是来自processPdu调用的值。

- The securityLevel is the value from the processPdu call.

- securityLevel是来自processPdu调用的值。

- The contextEngineID is the value from the processPdu call.

- contextEngineID是来自processPdu调用的值。

- The contextName is the value from the processPdu call.

- contextName是来自processPdu调用的值。

- The pduVersion indicates the version of the PDU to be returned.

- PDU版本指示要返回的PDU版本。

- The PDU is the result generated in step (2) above.

- PDU是在上述步骤(2)中生成的结果。

- The maxSizeResponseScopedPDU is a local value indicating the maximum size of a ScopedPDU that the application can accept.

- maxSizeResponseScopedPDU是一个本地值,指示应用程序可以接受的ScopedPDU的最大大小。

- The stateReference is the value from the processPdu call.

- stateReference是来自processPdu调用的值。

- The statusInformation indicates that no error occurred and that a response should be generated.

- statusInformation指示未发生错误,应生成响应。

3.5. Proxy Forwarder Applications
3.5. 代理转发器应用程序

A proxy forwarder application deals with forwarding SNMP messages. There are four basic types of messages which a proxy forwarder application may need to forward. These are grouped according to the PDU type contained in a message, or according to whether a report indication is contained in the message. The four basic types of messages are:

代理转发器应用程序处理转发SNMP消息。代理转发器应用程序可能需要转发四种基本类型的消息。它们根据消息中包含的PDU类型或消息中是否包含报告指示进行分组。消息的四种基本类型是:

- Those containing PDU types which were generated by a command generator application (for example, Get, GetNext, GetBulk, and Set PDU types). These deal with requesting or modifying information located within a particular context.

- 包含由命令生成器应用程序生成的PDU类型(例如Get、GetNext、GetBulk和Set PDU类型)。这些处理请求或修改位于特定上下文中的信息。

- Those containing PDU types which were generated by a notification originator application (for example, SNMPv2-Trap and Inform PDU types). These deal with notifications concerning information located within a particular context.

- 那些包含由通知发起人应用程序生成的PDU类型(例如,SNMPv2陷阱和通知PDU类型)。它们处理与位于特定上下文中的信息有关的通知。

- Those containing a Response PDU type. Forwarding of Response PDUs always occurs as a result of receiving a response to a previously forwarded message.

- 包含响应PDU类型的。响应PDU的转发总是由于接收到对先前转发的消息的响应而发生。

- Those containing a report indication. Forwarding of report indications always occurs as a result of receiving a report indication for a previously forwarded message.

- 包含报告指示的。报告指示的转发总是在收到先前转发消息的报告指示后发生。

For the first type, the proxy forwarder's role is to deliver a request for management information to an SNMP engine which is "closer" or "downstream in the path" to the SNMP engine which has access to that information, and to deliver the response containing the information back to the SNMP engine from which the request was received. The context information in a request is used to determine which SNMP engine has access to the requested information, and this is used to determine where and how to forward the request.

对于第一种类型,代理转发器的角色是将管理信息的请求传递给SNMP引擎,该引擎与能够访问该信息的SNMP引擎“更近”或“路径下游”,并将包含该信息的响应传递回接收该请求的SNMP引擎。请求中的上下文信息用于确定哪个SNMP引擎可以访问请求的信息,这用于确定在何处以及如何转发请求。

For the second type, the proxy forwarder's role is to determine which SNMP engines should receive notifications about management information from a particular location. The context information in a notification message determines the location to which the information contained in the notification applies. This is used to determine which SNMP engines should receive notification about this information.

对于第二种类型,代理转发器的角色是确定哪些SNMP引擎应该从特定位置接收有关管理信息的通知。通知消息中的上下文信息确定通知中包含的信息应用到的位置。这用于确定哪些SNMP引擎应接收有关此信息的通知。

For the third type, the proxy forwarder's role is to determine which previously forwarded request or notification (if any) the response matches, and to forward the response back to the initiator of the request or notification.

对于第三种类型,代理转发器的角色是确定响应与之前转发的请求或通知(如果有)匹配,并将响应转发回请求或通知的发起人。

For the fourth type, the proxy forwarder's role is to determine which previously forwarded request or notification (if any) the report indication matches, and to forward the report indication back to the initiator of the request or notification.

对于第四种类型,代理转发器的角色是确定报告指示与先前转发的请求或通知(如果有)匹配,并将报告指示转发回请求或通知的发起人。

When forwarding messages, a proxy forwarder application must perform a translation of incoming management target information into outgoing management target information. How this translation is performed is implementation specific. In many cases, this will be driven by a preconfigured translation table. If a proxy forwarder application makes the contents of this table SNMP manageable, it MUST use the SNMP-PROXY-MIB module defined in this document.

转发邮件时,代理转发器应用程序必须将传入的管理目标信息转换为传出的管理目标信息。如何执行此转换是特定于实现的。在许多情况下,这将由预配置的翻译表驱动。如果代理转发器应用程序使此表的内容易于管理,则必须使用本文档中定义的SNMP-proxy-MIB模块。

3.5.1. Request Forwarding
3.5.1. 请求转发

There are two phases for request forwarding. First, the incoming request needs to be passed through the proxy application. Then, the resulting response needs to be passed back. These phases are described in the following two sections.

请求转发分为两个阶段。首先,传入的请求需要通过代理应用程序传递。然后,需要将结果响应传回。以下两节将介绍这些阶段。

3.5.1.1. Processing an Incoming Request
3.5.1.1. 处理传入请求

A proxy forwarder application that wishes to forward request messages must first register with the Dispatcher using the registerContextEngineID abstract service interface. The proxy forwarder must register each contextEngineID for which it wishes to forward messages, as well as for each pduType. Note that as the configuration of a proxy forwarder is changed, the particular contextEngineID values for which it is forwarding may change. The proxy forwarder should call the registerContextEngineID and unregisterContextEngineID abstract service interfaces as needed to reflect its current configuration.

希望转发请求消息的代理转发器应用程序必须首先使用registerContextEngineID抽象服务接口向调度器注册。代理转发器必须注册它希望转发消息的每个contextEngineID以及每个pduType。请注意,随着代理转发器配置的更改,其正在转发的特定contextEngineID值可能会更改。代理转发器应根据需要调用registerContextEngineID和unregisterContextEngineID抽象服务接口,以反映其当前配置。

A proxy forwarder application should never attempt to register a value of contextEngineID which is equal to the snmpEngineID of the SNMP engine to which the proxy forwarder is associated.

代理转发器应用程序不应尝试注册contextEngineID的值,该值等于代理转发器关联的SNMP引擎的snmpEngineID。

Once the proxy forwarder has registered for the appropriate contextEngineId values, it can start processing messages. The following procedure is used:

一旦代理转发器注册了相应的contextEngineId值,它就可以开始处理消息。使用以下程序:

(1) A message is received using the processPdu abstract service interface. The incoming management target information received from the processPdu interface is translated into outgoing management target information. Note that this translation may vary for different values of contextEngineID and/or contextName. The translation should result in a single management target.

(1) 使用processPdu抽象服务接口接收消息。从processPdu接口接收的传入管理目标信息被转换为传出管理目标信息。请注意,此转换可能因contextEngineID和/或contextName的不同值而不同。翻译应形成单一的管理目标。

(2) If appropriate outgoing management target information cannot be found, the proxy forwarder increments the snmpProxyDrops counter [RFC1907], and then calls the Dispatcher using the returnResponsePdu abstract service interface. Parameters are:

(2) 如果找不到适当的传出管理目标信息,代理转发器将递增snmpProxyDrops计数器[RFC1907],然后使用returnResponsePdu抽象服务接口调用调度程序。参数包括:

- The messageProcessingModel is the value from the processPdu call.

- messageProcessingModel是来自processPdu调用的值。

- The securityModel is the value from the processPdu call.

- securityModel是来自processPdu调用的值。

- The securityName is the value from the processPdu call.

- securityName是来自processPdu调用的值。

- The securityLevel is the value from the processPdu call.

- securityLevel是来自processPdu调用的值。

- The contextEngineID is the value from the processPdu call.

- contextEngineID是来自processPdu调用的值。

- The contextName is the value from the processPdu call.

- contextName是来自processPdu调用的值。

- The pduVersion is the value from the processPdu call.

- pduVersion是来自processPdu调用的值。

- The PDU is an undefined value.

- PDU是一个未定义的值。

- The maxSizeResponseScopedPDU is a local value indicating the maximum size of a ScopedPDU that the application can accept.

- maxSizeResponseScopedPDU是一个本地值,指示应用程序可以接受的ScopedPDU的最大大小。

- The stateReference is the value from the processPdu call.

- stateReference是来自processPdu调用的值。

- The statusInformation indicates that an error occurred and includes the OID and value of the snmpProxyDrops object.

- statusInformation表示发生了错误,包括snmpProxyDrops对象的OID和值。

Processing of the message stops at this point. Otherwise,

消息的处理在此点停止。否则

(3) A new PDU is constructed. A unique value of request-id should be used in the new PDU (this value will enable a subsequent response message to be correlated with this request). The remainder of the new PDU is identical to the received PDU, unless the incoming SNMP version is SNMPv2 or SNMPv3 and the outgoing SNMP version is SNMPv1, in which case the proxy forwarder must apply the translation rules as documented in [RFC1908].

(3) 构造了一个新的PDU。新PDU中应使用请求id的唯一值(该值将使后续响应消息与该请求关联)。新PDU的其余部分与接收到的PDU相同,除非传入的SNMP版本为SNMPv2或SNMPv3,传出的SNMP版本为SNMPv1,在这种情况下,代理转发器必须应用[RFC1908]中记录的转换规则。

(4) The proxy forwarder calls the Dispatcher to generate the forwarded message, using the sendPdu abstract service interface. The parameters are:

(4) 代理转发器使用sendPdu抽象服务接口调用调度程序生成转发的消息。参数包括:

- The transportDomain is that of the outgoing management target.

- transportDomain是传出管理目标的域。

- The transportAddress is that of the outgoing management target.

- transportAddress是传出管理目标的地址。

- The messageProcessingModel is that of the outgoing management target.

- messageProcessingModel是传出管理目标的messageProcessingModel。

- The securityModel is that of the outgoing management target.

- securityModel是传出管理目标的模型。

- The securityName is that of the outgoing management target.

- securityName是传出管理目标的名称。

- The securityLevel is that of the outgoing management target.

- securityLevel是传出管理目标的级别。

- The contextEngineID is the value originally received.

- contextEngineID是最初收到的值。

- The contextName is the value originally received.

- contextName是最初收到的值。

- The pduVersion is the version of the PDU to be sent.

- PDU版本是要发送的PDU的版本。

- The PDU is the value constructed in step (3) above.

- PDU是在上述步骤(3)中构造的值。

- The expectResponse argument indicates that a response is expected. If the sendPdu call is unsuccessful, the proxy forwarder performs the steps described in (2) above. Otherwise:

- expectResponse参数表示需要响应。如果sendPdu调用不成功,代理转发器将执行上述(2)中所述的步骤。否则:

(5) The proxy forwarder caches the following information in order to match an incoming response to the forwarded request:

(5) 代理转发器缓存以下信息,以便将传入响应与转发的请求相匹配:

- The sendPduHandle returned from the call to sendPdu,

- sendPdu句柄从对sendPdu的调用返回,

- The request-id from the received PDU.

- 来自接收到的PDU的请求id。

- the contextEngineID,

- contextEngineID,

- the contextName,

- 上下文名称,

- the stateReference,

- 州参考号,

- the incoming management target information,

- 传入的管理目标信息,

- the outgoing management information,

- 传出的管理信息,

- any other information needed to match an incoming response to the forwarded request.

- 将传入响应与转发请求匹配所需的任何其他信息。

If this information cannot be cached (possibly due to a lack of resources), the proxy forwarder performs the steps described in (2) above. Otherwise:

如果无法缓存此信息(可能是由于缺乏资源),代理转发器将执行上述(2)中所述的步骤。否则:

(6) Processing of the request stops until a response to the forwarded request is received, or until an appropriate time interval has expired. If this time interval expires before a response has been received, the cached information about this request is removed.

(6) 在收到对转发请求的响应或在适当的时间间隔到期之前,请求的处理将停止。如果此时间间隔在收到响应之前过期,则有关此请求的缓存信息将被删除。

3.5.1.2. Processing an Incoming Response
3.5.1.2. 处理传入响应

A proxy forwarder follows the following procedure when an incoming response is received:

收到传入响应时,代理转发器遵循以下过程:

(1) The incoming response is received using the processResponsePdu interface. The proxy forwarder uses the received parameters to locate an entry in its cache of pending forwarded requests. This is done by matching the received parameters with the cached values of sendPduHandle, contextEngineID, contextName, outgoing management target information, and the request-id contained in the received PDU (the proxy forwarder must extract the request-id for this purpose). If an appropriate cache entry cannot be found, processing of the response is halted. Otherwise:

(1) 使用processResponsePdu接口接收传入响应。代理转发器使用接收到的参数在其缓存中查找未决转发请求的条目。这是通过将接收到的参数与sendPduHandle、contextEngineID、contextName、传出管理目标信息和接收到的PDU中包含的请求id的缓存值相匹配来完成的(为此,代理转发器必须提取请求id)。如果找不到适当的缓存项,则响应的处理将停止。否则:

(2) The cache information is extracted, and removed from the cache.

(2) 将提取缓存信息,并将其从缓存中删除。

(3) A new Response PDU is constructed, using the request-id value from the original forwarded request (as extracted from the cache). All other values are identical to those in the received Response PDU.

(3) 使用原始转发请求(从缓存中提取)中的请求id值构造新的响应PDU。所有其他值与接收到的响应PDU中的值相同。

(4) If the incoming SNMP version is SNMPv1 and the outgoing SNMP version is SNMPv2 or SNMPv3, the proxy forwarder must apply the translation rules documented in [RFC1908].

(4) 如果传入的SNMP版本为SNMPv1,而传出的SNMP版本为SNMPv2或SNMPv3,则代理转发器必须应用[RFC1908]中记录的转换规则。

(5) The proxy forwarder calls the Dispatcher using the returnResponsePdu abstract service interface. Parameters are:

(5) 代理转发器使用returnResponsePdu抽象服务接口调用调度程序。参数包括:

- The messageProcessingModel indicates the Message Processing Model by which the original incoming message was processed.

- messageProcessingModel表示处理原始传入消息的消息处理模型。

- The securityModel is that of the original incoming management target extracted from the cache.

- securityModel是从缓存中提取的原始传入管理目标的模型。

- The securityName is that of the original incoming management target extracted from the cache.

- securityName是从缓存中提取的原始传入管理目标的名称。

- The securityLevel is that of the original incoming management target extracted from the cache.

- securityLevel是从缓存中提取的原始传入管理目标的级别。

- The contextEngineID is the value extracted from the cache.

- contextEngineID是从缓存中提取的值。

- The contextName is the value extracted from the cache.

- contextName是从缓存中提取的值。

- The pduVersion indicates the version of the PDU to be returned.

- PDU版本指示要返回的PDU版本。

- The PDU is the (possibly translated) Response PDU.

- PDU是(可能翻译的)响应PDU。

- The maxSizeResponseScopedPDU is a local value indicating the maximum size of a ScopedPDU that the application can accept.

- maxSizeResponseScopedPDU是一个本地值,指示应用程序可以接受的ScopedPDU的最大大小。

- The stateReference is the value extracted from the cache.

- stateReference是从缓存中提取的值。

- The statusInformation indicates that no error occurred and that a Response PDU message should be generated.

- statusInformation表示未发生错误,应生成响应PDU消息。

3.5.1.3. Processing an Incoming Report Indication
3.5.1.3. 处理传入报告指示

A proxy forwarder follows the following procedure when an incoming report indication is received:

当收到传入报告指示时,代理转发器遵循以下程序:

(1) The incoming report indication is received using the processResponsePdu interface. The proxy forwarder uses the received parameters to locate an entry in its cache of pending forwarded requests. This is done by matching the received parameters with the cached values of sendPduHandle. If an appropriate cache entry cannot be found, processing of the report indication is halted. Otherwise:

(1) 使用processResponsePdu接口接收传入报告指示。代理转发器使用接收到的参数在其缓存中查找未决转发请求的条目。这是通过将接收到的参数与sendPduHandle的缓存值进行匹配来实现的。如果找不到适当的缓存项,则报告指示的处理将停止。否则:

(2) The cache information is extracted, and removed from the cache.

(2) 将提取缓存信息,并将其从缓存中删除。

(3) If the original incoming management target information indicates SNMPv1, processing of the report indication is halted.

(3) 如果原始传入的管理目标信息指示SNMPv1,则报告指示的处理将停止。

(4) The proxy forwarder calls the Dispatcher using the returnResponsePdu abstract service interface. Parameters are:

(4) 代理转发器使用returnResponsePdu抽象服务接口调用调度程序。参数包括:

- The messageProcessingModel indicates the Message Processing Model by which the original incoming message was processed.

- messageProcessingModel表示处理原始传入消息的消息处理模型。

- The securityModel is that of the original incoming management target extracted from the cache.

- securityModel是从缓存中提取的原始传入管理目标的模型。

- The securityName is that of the original incoming management target extracted from the cache.

- securityName是从缓存中提取的原始传入管理目标的名称。

- The securityLevel is that of the original incoming management target extracted from the cache.

- securityLevel是从缓存中提取的原始传入管理目标的级别。

- The contextEngineID is the value extracted from the cache.

- contextEngineID是从缓存中提取的值。

- The contextName is the value extracted from the cache.

- contextName是从缓存中提取的值。

- The pduVersion indicates the version of the PDU to be returned.

- PDU版本指示要返回的PDU版本。

- The PDU is unused.

- PDU未使用。

- The maxSizeResponseScopedPDU is a local value indicating the maximum size of a ScopedPDU that the application can accept.

- maxSizeResponseScopedPDU是一个本地值,指示应用程序可以接受的ScopedPDU的最大大小。

- The stateReference is the value extracted from the cache.

- stateReference是从缓存中提取的值。

- The statusInformation contain the contextEngineID, contextName, counter OID, and counter value received in the report indication.

- 状态信息包含报告指示中接收的contextEngineID、contextName、计数器OID和计数器值。

3.5.2. Notification Forwarding
3.5.2. 通知转发

A proxy forwarder receives notifications in the same manner as a notification receiver application, using the processPdu abstract service interface. The following procedure is used when a notification is received:

代理转发器使用processPdu抽象服务接口以与通知接收器应用程序相同的方式接收通知。收到通知时使用以下程序:

(1) The incoming management target information received from the processPdu interface is translated into outgoing management target information. Note that this translation may vary for different values of contextEngineId and/or contextName. The translation may result in multiple management targets.

(1) 从processPdu接口接收的传入管理目标信息被转换为传出管理目标信息。请注意,此转换可能因contextEngineId和/或contextName的不同值而不同。翻译可能导致多个管理目标。

(2) If appropriate outgoing management target information cannot be found and the notification was a Trap, processing of the notification is halted. If appropriate outgoing management target information cannot be found and the notification was an Inform, the proxy forwarder increments the snmpProxyDrops object, and calls the Dispatcher using the returnResponsePdu abstract service interface.

(2) 如果找不到适当的传出管理目标信息,并且通知是陷阱,则停止处理通知。如果找不到适当的传出管理目标信息,并且通知是通知,则代理转发器将递增snmpProxyDrops对象,并使用returnResponsePdu抽象服务接口调用调度程序。

The parameters are:

参数包括:

- The messageProcessingModel is the received value.

- messageProcessingModel是接收到的值。

- The securityModel is the received value.

- securityModel是接收到的值。

- The securityName is the received value.

- securityName是接收到的值。

- The securityLevel is the received value.

- securityLevel是接收到的值。

- The contextEngineID is the received value.

- contextEngineID是接收到的值。

- The contextName is the received value.

- contextName是接收到的值。

- The pduVersion is the received value.

- pduVersion是接收到的值。

- The PDU is an undefined and unused value.

- PDU是一个未定义且未使用的值。

- The maxSizeResponseScopedPDU is a local value indicating the maximum size of a ScopedPDU that the application can accept.

- maxSizeResponseScopedPDU是一个本地值,指示应用程序可以接受的ScopedPDU的最大大小。

- The stateReference is the received value.

- stateReference是接收到的值。

- The statusInformation indicates that an error occurred and that a Report message should be generated.

- statusInformation表示发生了错误,应生成报告消息。

Processing of the message stops at this point. Otherwise,

消息的处理在此点停止。否则

(3) The proxy forwarder generates a notification using the procedures described in the preceding section on Notification Originators, with the following exceptions:

(3) 代理转发器使用上一节关于通知发起人的程序生成通知,但以下例外情况除外:

- The contextEngineID and contextName values from the original received notification are used.

- 将使用原始收到的通知中的contextEngineID和contextName值。

- The outgoing management targets previously determined are used.

- 使用先前确定的传出管理目标。

- No filtering mechanisms are applied.

- 没有应用过滤机制。

- The variable-bindings from the original received notification are used, rather than retrieving variable-bindings from local MIB instrumentation. In particular, no access-control is applied to these variable-bindings.

- 使用原始接收到的通知中的变量绑定,而不是从本地MIB检测中检索变量绑定。特别是,没有对这些变量绑定应用访问控制。

- If for any of the outgoing management targets, the incoming SNMP version is SNMPv1 and the outgoing SNMP version is SNMPv2 or SNMPv3, the proxy forwarder must apply the translation rules as documented in [RFC1908].

- 如果对于任何传出管理目标,传入SNMP版本为SNMPv1,传出SNMP版本为SNMPv2或SNMPv3,则代理转发器必须应用[RFC1908]中记录的转换规则。

- If for any of the outgoing management targets, the incoming SNMP version is SNMPv2 or SNMPv3, and the outgoing SNMP version is SNMPv1, this outgoing management target is not used when generating the forwarded notifications.

- 如果对于任何传出管理目标,传入SNMP版本为SNMPv2或SNMPv3,传出SNMP版本为SNMPv1,则在生成转发通知时不使用此传出管理目标。

(4) If the original received notification contains an SNMPv2-Trap PDU, processing of the notification is now completed. Otherwise, the original received notification must contain an Inform PDU, and processing continues.

(4) 如果原始接收到的通知包含SNMPv2陷阱PDU,则通知的处理现在完成。否则,原始收到的通知必须包含Inform PDU,并且处理将继续。

(5) If the forwarded notifications included any Inform PDUs, processing continues when the procedures described in the section for Notification Originators determine that either:

(5) 如果转发的通知包含任何通知PDU,则当通知发起人章节中描述的程序确定:

- None of the generated notifications containing Inform PDUs have been successfully acknowledged within the longest of the time intervals, in which case processing of the original notification is halted, or,

- 在最长的时间间隔内,未成功确认生成的包含Inform PDU的通知,在这种情况下,原始通知的处理会停止,或者,

- At least one of the generated notifications containing Inform PDUs is successfully acknowledged, in which case a response to the original received notification containing an Inform PDU is generated as described in the following steps.

- 成功确认包含Inform PDU的至少一个生成的通知,在这种情况下,按照以下步骤中所述生成对包含Inform PDU的原始接收通知的响应。

(6) A Response PDU is constructed, using the values of request-id and variable-bindings from the original received Inform PDU, and error-status and error-index values of 0.

(6) 使用来自原始接收的Inform PDU的请求id和变量绑定值,以及错误状态和错误索引值0,构造响应PDU。

(7) The Dispatcher is called using the returnResponsePdu abstract service interface. Parameters are:

(7) 使用returnResponsePdu抽象服务接口调用调度程序。参数包括:

- The messageProcessingModel is the originally received value.

- messageProcessingModel是最初收到的值。

- The securityModel is the originally received value.

- securityModel是最初收到的值。

- The securityName is the originally received value.

- securityName是最初收到的值。

- The securityLevel is the originally received value.

- securityLevel是最初收到的值。

- The contextEngineID is the originally received value.

- contextEngineID是最初收到的值。

- The contextName is the originally received value.

- contextName是最初收到的值。

- The pduVersion indicates the version of the PDU constructed in step (6) above.

- PDU版本表示在上述步骤(6)中构造的PDU的版本。

- The PDU is the value constructed in step (6) above.

- PDU是在上述步骤(6)中构造的值。

- The maxSizeResponseScopedPDU is a local value indicating the maximum size of a ScopedPDU that the application can accept.

- maxSizeResponseScopedPDU是一个本地值,指示应用程序可以接受的ScopedPDU的最大大小。

- The stateReference is the originally received value.

- stateReference是最初收到的值。

- The statusInformation indicates that no error occurred and that a Response PDU message should be generated.

- statusInformation表示未发生错误,应生成响应PDU消息。

4. The Structure of the MIB Modules
4. MIB模块的结构

There are three separate MIB modules described in this document, the management target MIB, the notification MIB, and the proxy MIB. The following sections describe the structure of these three MIB modules.

本文档中描述了三个独立的MIB模块:管理目标MIB、通知MIB和代理MIB。以下各节介绍这三个MIB模块的结构。

The use of these MIBs by particular types of applications is described later in this document:

本文档后面将介绍特定类型应用程序对这些MIB的使用:

- The use of the management target MIB and the notification MIB in notification originator applications is described in section 6.

- 第6节介绍了在通知发起人应用程序中使用管理目标MIB和通知MIB。

- The use of the notification MIB for filtering notifications in notification originator applications is described in section 7.

- 第7节介绍了使用通知MIB过滤通知发起人应用程序中的通知。

- The use of the management target MIB and the proxy MIB in proxy forwarding applications is described in section 8.

- 第8节描述了管理目标MIB和代理MIB在代理转发应用程序中的使用。

4.1. The Management Target MIB Module
4.1. 管理目标MIB模块

The SNMP-TARGET-MIB module contains objects for defining management targets. It consists of two tables and conformance/compliance statements.

SNMP-TARGET-MIB模块包含用于定义管理目标的对象。它由两个表和一致性/一致性声明组成。

The first table, the snmpTargetAddrTable, contains information about transport domains and addresses. It also contains an object, snmpTargetAddrTagList, which provides a mechanism for grouping entries.

第一个表SNMPTargetADRDR表包含有关传输域和地址的信息。它还包含一个对象snmpTargetAddrTagList,它提供了一种对条目进行分组的机制。

The second table, the snmpTargetParamsTable, contains information about SNMP version and security information to be used when sending messages to particular transport domains and addresses.

第二个表snmpTargetParamsTable包含有关SNMP版本的信息以及向特定传输域和地址发送消息时要使用的安全信息。

4.1.1. Tag Lists
4.1.1. 标记列表

The snmpTargetAddrTagList object is used for grouping entries in the snmpTargetAddrTable. The value of this object contains a list of tag values which are used to select target addresses to be used for a particular operation.

SNMPTargetADRDTagList对象用于对SNMPTargetADRDR表中的条目进行分组。此对象的值包含一个标记值列表,用于选择要用于特定操作的目标地址。

A tag value, which may also be used in MIB objects other than snmpTargetAddrTagList, is an arbitrary string of octets, but may not contain a delimiter character. Delimiter characters are defined to be one of the following characters:

标记值(也可用于SNMPTargetADRDTagList以外的MIB对象)是八位字节的任意字符串,但不能包含分隔符字符。分隔符字符定义为以下字符之一:

- An ASCII space character (0x20).

- ASCII空格字符(0x20)。

- An ASCII TAB character (0x09).

- ASCII制表符(0x09)。

- An ASCII carriage return (CR) character (0x0D).

- ASCII回车(CR)字符(0x0D)。

- An ASCII line feed (LF) character (0x0B).

- ASCII换行符(LF)字符(0x0B)。

In addition, a tag value may not have a zero length. Generally, a particular MIB object may contain either

此外,标记值的长度不能为零。通常,特定的MIB对象可能包含

- a single tag value, in which case the value of the MIB object may not contain a delimiter character, or:

- 单个标记值,在这种情况下,MIB对象的值可能不包含分隔符,或者:

- a MIB object may contain a list of tag values, separated by single delimiter characters.

- MIB对象可能包含由单个分隔符分隔的标记值列表。

For a list of tag values, these constraints imply certain restrictions on the value of a MIB object:

对于标记值列表,这些约束意味着对MIB对象值的某些限制:

- There cannot be a leading or trailing delimiter character.

- 不能有前导或尾随分隔符字符。

- There cannot be multiple adjacent delimiter charaters.

- 不能有多个相邻的分隔符字符。

4.1.2. Definitions
4.1.2. 定义
   SNMP-TARGET-MIB DEFINITIONS ::= BEGIN
        
   SNMP-TARGET-MIB DEFINITIONS ::= BEGIN
        

IMPORTS TEXTUAL-CONVENTION, MODULE-IDENTITY, OBJECT-TYPE,

导入文本约定、模块标识、对象类型、,

snmpModules, Integer32 FROM SNMPv2-SMI

SNMPv2 SMI中的snmpModules、Integer32

TDomain, TAddress, TimeInterval, RowStatus, StorageType, TestAndIncr FROM SNMPv2-TC SnmpSecurityModel, SnmpMessageProcessingModel, SnmpSecurityLevel, SnmpAdminString FROM SNMP-FRAMEWORK-MIB

来自SNMPv2 TC SnmpSecurityModel的TDomain、TAddress、TimeInterval、RowStatus、StorageType、TestAndIncr、来自SNMP-FRAMEWORK-MIB的SnmpMessageProcessingModel、SnmpSecurityLevel、SNMPAdministring

OBJECT-GROUP FROM SNMPv2-CONF;

snmpv2conf中的对象组;

snmpTargetMIB MODULE-IDENTITY LAST-UPDATED "9711210000Z" ORGANIZATION "IETF SNMPv3 Working Group" CONTACT-INFO "WG-email: snmpv3@tis.com Subscribe: majordomo@tis.com In message body: subscribe snmpv3

snmpTargetMIB MODULE-IDENTITY上次更新的“9711210000Z”组织“IETF SNMPv3工作组”联系方式工作组电子邮件:snmpv3@tis.com订阅:majordomo@tis.com在消息正文中:订阅snmpv3

Chair: Russ Mundy Trusted Information Systems Postal: 3060 Washington Rd Glenwood MD 21738 USA Email: mundy@tis.com Phone: +1-301-854-6889

主席:Russ Mundy Trusted Information Systems邮政:美国马里兰州格伦伍德华盛顿路3060号21738电子邮件:mundy@tis.com电话:+1-301-854-6889

Co-editor: David B. Levi SNMP Research, Inc. Postal: 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 E-mail: levi@snmp.com Phone: +1 423 573 1434

合编:David B.Levi SNMP Research,Inc.邮政:美国田纳西州诺克斯维尔金伯利高地路3001号37920-9716电子邮件:levi@snmp.com电话:+1 423 573 1434

Co-editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road Roseville, MN 55113 E-mail: paul_meyer@securecomputing.com

合编:Paul Meyer安全计算公司邮政:2675 Long Lake Road Roseville,MN 55113电子邮件:Paul_meyer@securecomputing.com

Phone: +1 612 628 1592

电话:+16126281592

            Co-editor:  Bob Stewart
                        Cisco Systems, Inc.
            Postal:     170 West Tasman Drive
                        San Jose, CA 95134-1706
            E-mail:     bstewart@cisco.com
            Phone:      +1 603 654 6923"
       DESCRIPTION
           "This MIB module defines MIB objects which provide
            mechanisms to remotely configure the parameters used
            by an SNMP entity for the generation of SNMP messages."
       REVISION        "9707140000Z"
       DESCRIPTION
           "The initial revision."
       ::= { snmpModules 7 }
        
            Co-editor:  Bob Stewart
                        Cisco Systems, Inc.
            Postal:     170 West Tasman Drive
                        San Jose, CA 95134-1706
            E-mail:     bstewart@cisco.com
            Phone:      +1 603 654 6923"
       DESCRIPTION
           "This MIB module defines MIB objects which provide
            mechanisms to remotely configure the parameters used
            by an SNMP entity for the generation of SNMP messages."
       REVISION        "9707140000Z"
       DESCRIPTION
           "The initial revision."
       ::= { snmpModules 7 }
        
   snmpTargetObjects       OBJECT IDENTIFIER ::= { snmpTargetMIB 1 }
   snmpTargetConformance   OBJECT IDENTIFIER ::= { snmpTargetMIB 3 }
        
   snmpTargetObjects       OBJECT IDENTIFIER ::= { snmpTargetMIB 1 }
   snmpTargetConformance   OBJECT IDENTIFIER ::= { snmpTargetMIB 3 }
        
   SnmpTagValue ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "255a"
       STATUS       current
       DESCRIPTION
           "An octet string containing a tag value.
            Tag values are preferably in human-readable form.
        
   SnmpTagValue ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "255a"
       STATUS       current
       DESCRIPTION
           "An octet string containing a tag value.
            Tag values are preferably in human-readable form.
        

To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 character encoding scheme described in RFC 2044.

为了便于国际化,该信息使用ISO/IEC is 10646-1字符集表示,并使用RFC 2044中描述的UTF-8字符编码方案编码为八位字符串。

Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff.

由于额外的代码点是通过对10646标准的不时修订而添加的,因此实现必须准备好遇到从0x00000000到0x7FFFFF的任何代码点。

The use of control codes should be avoided, and certain control codes are not allowed as described below.

应避免使用控制代码,某些控制代码不允许使用,如下所述。

For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided.

对于用户界面硬件或软件不直接支持的代码点,可提供其他输入和显示方式,如十六进制。

For information encoded in 7-bit US-ASCII, the UTF-8 representation is identical to the US-ASCII encoding.

对于以7位US-ASCII编码的信息,UTF-8表示与US-ASCII编码相同。

Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction must be specified so that the number sub-identifiers for any object instance do not exceed the limit of 128, as defined by [RFC1905].

请注意,当此TC用于用作或预期用作索引的对象时,必须指定大小限制,以便任何对象实例的子标识符数量不超过[RFC1905]定义的128的限制。

An object of this type contains a single tag value which is used to select a set of entries in a table. A tag value is an arbitrary string of octets, but may not contain a delimiter character. Delimiter characters are defined to be one of the following:

此类型的对象包含单个标记值,用于选择表中的一组条目。标记值是八位字节的任意字符串,但不能包含分隔符字符。分隔符字符定义为以下字符之一:

- An ASCII space character (0x20).

- ASCII空格字符(0x20)。

- An ASCII TAB character (0x09).

- ASCII制表符(0x09)。

- An ASCII carriage return (CR) character (0x0D).

- ASCII回车(CR)字符(0x0D)。

- An ASCII line feed (LF) character (0x0B).

- ASCII换行符(LF)字符(0x0B)。

Delimiter characters are used to separate tag values in a tag list. An object of this type may only contain a single tag value, and so delimiter characters are not allowed in a value of this type.

分隔符用于分隔标记列表中的标记值。此类型的对象只能包含一个标记值,因此此类型的值中不允许使用分隔符。

Some examples of valid tag values are:

有效标记值的一些示例如下:

- 'acme'

- “极致”

- 'router'

- “路由器”

- 'host'

- “主持人”

The use of a tag value to select table entries is application and MIB specific." SYNTAX OCTET STRING (SIZE (0..255))

使用标记值选择表项是应用程序和MIB特有的。“语法八位字节字符串(大小(0..255))

   SnmpTagList ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "255a"
       STATUS       current
       DESCRIPTION
           "An octet string containing a list of tag values.
            Tag values are preferably in human-readable form.
        
   SnmpTagList ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "255a"
       STATUS       current
       DESCRIPTION
           "An octet string containing a list of tag values.
            Tag values are preferably in human-readable form.
        

To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 character encoding scheme described in RFC 2044.

为了便于国际化,该信息使用ISO/IEC is 10646-1字符集表示,并使用RFC 2044中描述的UTF-8字符编码方案编码为八位字符串。

Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff.

由于额外的代码点是通过对10646标准的不时修订而添加的,因此实现必须准备好遇到从0x00000000到0x7FFFFF的任何代码点。

The use of control codes should be avoided, except as described below.

除下述情况外,应避免使用控制代码。

For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided.

对于用户界面硬件或软件不直接支持的代码点,可提供其他输入和显示方式,如十六进制。

For information encoded in 7-bit US-ASCII, the UTF-8 representation is identical to the US-ASCII encoding.

对于以7位US-ASCII编码的信息,UTF-8表示与US-ASCII编码相同。

An object of this type contains a list of tag values which are used to select a set of entries in a table.

此类型的对象包含用于选择表中一组条目的标记值列表。

A tag value is an arbitrary string of octets, but may not contain a delimiter character. Delimiter characters are defined to be one of the following:

标记值是八位字节的任意字符串,但不能包含分隔符字符。分隔符字符定义为以下字符之一:

- An ASCII space character (0x20).

- ASCII空格字符(0x20)。

- An ASCII TAB character (0x09).

- ASCII制表符(0x09)。

- An ASCII carriage return (CR) character (0x0D).

- ASCII回车(CR)字符(0x0D)。

- An ASCII line feed (LF) character (0x0B).

- ASCII换行符(LF)字符(0x0B)。

Delimiter characters are used to separate tag values in a tag list. Only a single delimiter character may occur between two tag values. A tag value may not have a zero length. These constraints imply certain restrictions on the contents of this object:

分隔符用于分隔标记列表中的标记值。两个标记值之间只能出现一个分隔符。标记值的长度不能为零。这些约束意味着对该对象内容的某些限制:

- There cannot be a leading or trailing delimiter character.

- 不能有前导或尾随分隔符字符。

- There cannot be multiple adjacent delimiter characters.

- 不能有多个相邻的分隔符字符。

Some examples of valid tag lists are:

有效标记列表的一些示例如下:

- An empty string

- 空字符串

- 'acme router'

- “acme路由器”

- 'host managerStation'

- “主机管理站”

Note that although a tag value may not have a length of zero, an empty string is still valid. This indicates an empty list (i.e. there are no tag values in the list).

请注意,尽管标记值的长度可能不为零,但空字符串仍然有效。这表示列表为空(即列表中没有标记值)。

The use of the tag list to select table entries is application and MIB specific. Typically, an application will provide one or more tag values, and any entry which contains some combination of these tag values will be selected." SYNTAX OCTET STRING (SIZE (0..255))

使用标记列表选择表条目是特定于应用程序和MIB的。通常,应用程序将提供一个或多个标记值,并且将选择任何包含这些标记值的组合的条目

-- -- -- The snmpTargetObjects group -- --

----snmpTargetObjects组----

snmpTargetSpinLock OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to facilitate modification of table entries in the SNMP-TARGET-MIB module by multiple managers. In particular, it is useful when modifying the value of the snmpTargetAddrTagList object.

snmpTargetSpinLock对象类型语法TestAndIncr MAX-ACCESS读写状态当前描述“此对象用于帮助多个管理器修改SNMP-TARGET-MIB模块中的表项。特别是在修改snmpTargetAddrTagList对象的值时,它非常有用。

The procedure for modifying the snmpTargetAddrTagList object is as follows:

修改snmpTargetAddrTagList对象的过程如下:

1. Retrieve the value of snmpTargetSpinLock and of snmpTargetAddrTagList.

1. 检索snmpTargetSpinLock和snmpTargetAddrTagList的值。

2. Generate a new value for snmpTargetAddrTagList.

2. 为snmpTargetAddrTagList生成新值。

                3.  Set the value of snmpTargetSpinLock to the
                    retrieved value, and the value of
                    snmpTargetAddrTagList to the new value.  If
                    the set fails for the snmpTargetSpinLock
                    object, go back to step 1."
       ::= { snmpTargetObjects 1 }
        
                3.  Set the value of snmpTargetSpinLock to the
                    retrieved value, and the value of
                    snmpTargetAddrTagList to the new value.  If
                    the set fails for the snmpTargetSpinLock
                    object, go back to step 1."
       ::= { snmpTargetObjects 1 }
        

snmpTargetAddrTable OBJECT-TYPE SYNTAX SEQUENCE OF SnmpTargetAddrEntry MAX-ACCESS not-accessible STATUS current

snmpTargetAddrTable SnmpTargetAddrEntry MAX-ACCESS的对象类型语法序列不可访问状态当前

DESCRIPTION "A table of transport addresses to be used in the generation of SNMP messages."

描述“用于生成SNMP消息的传输地址表。”

       ::= { snmpTargetObjects 2 }
        
       ::= { snmpTargetObjects 2 }
        

snmpTargetAddrEntry OBJECT-TYPE SYNTAX SnmpTargetAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A transport address to be used in the generation of SNMP operations.

SNMPTargetADrentry对象类型语法SNMPTargetADrentry MAX-ACCESS不可访问状态当前描述“生成SNMP操作时使用的传输地址。

            Entries in the snmpTargetAddrTable are created and
            deleted using the snmpTargetAddrRowStatus object."
       INDEX { IMPLIED snmpTargetAddrName }
       ::= { snmpTargetAddrTable 1 }
        
            Entries in the snmpTargetAddrTable are created and
            deleted using the snmpTargetAddrRowStatus object."
       INDEX { IMPLIED snmpTargetAddrName }
       ::= { snmpTargetAddrTable 1 }
        
   SnmpTargetAddrEntry ::= SEQUENCE {
       snmpTargetAddrName         SnmpAdminString,
       snmpTargetAddrTDomain      TDomain,
       snmpTargetAddrTAddress     TAddress,
       snmpTargetAddrTimeout      TimeInterval,
       snmpTargetAddrRetryCount   Integer32,
       snmpTargetAddrTagList      SnmpTagList,
       snmpTargetAddrParams       SnmpAdminString,
       snmpTargetAddrStorageType  StorageType,
       snmpTargetAddrRowStatus    RowStatus
   }
        
   SnmpTargetAddrEntry ::= SEQUENCE {
       snmpTargetAddrName         SnmpAdminString,
       snmpTargetAddrTDomain      TDomain,
       snmpTargetAddrTAddress     TAddress,
       snmpTargetAddrTimeout      TimeInterval,
       snmpTargetAddrRetryCount   Integer32,
       snmpTargetAddrTagList      SnmpTagList,
       snmpTargetAddrParams       SnmpAdminString,
       snmpTargetAddrStorageType  StorageType,
       snmpTargetAddrRowStatus    RowStatus
   }
        
   snmpTargetAddrName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpTargetAddrEntry."
       ::= { snmpTargetAddrEntry 1 }
        
   snmpTargetAddrName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpTargetAddrEntry."
       ::= { snmpTargetAddrEntry 1 }
        
   snmpTargetAddrTDomain OBJECT-TYPE
       SYNTAX      TDomain
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object indicates the transport type of the address
            contained in the snmpTargetAddrTAddress object."
       ::= { snmpTargetAddrEntry 2 }
        
   snmpTargetAddrTDomain OBJECT-TYPE
       SYNTAX      TDomain
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object indicates the transport type of the address
            contained in the snmpTargetAddrTAddress object."
       ::= { snmpTargetAddrEntry 2 }
        
   snmpTargetAddrTAddress OBJECT-TYPE
       SYNTAX      TAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a transport address.  The format of
            this address depends on the value of the
            snmpTargetAddrTDomain object."
       ::= { snmpTargetAddrEntry 3 }
        
   snmpTargetAddrTAddress OBJECT-TYPE
       SYNTAX      TAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a transport address.  The format of
            this address depends on the value of the
            snmpTargetAddrTDomain object."
       ::= { snmpTargetAddrEntry 3 }
        

snmpTargetAddrTimeout OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-create STATUS current DESCRIPTION "This object should reflect the expected maximum round trip time for communicating with the transport address defined by this row. When a message is sent to this address, and a response (if one is expected) is not received within this time period, an implementation may assume that the response will not be delivered.

SNMPTargetADRDTimeout对象类型语法TimeInterval MAX-ACCESS read create STATUS current DESCRIPTION“此对象应反映与此行定义的传输地址通信的预期最大往返时间。当消息发送到此地址时,以及响应(如果预期的话)如果在该时间段内未收到响应,则实现可能会假定响应不会被交付。

            Note that the time interval that an application waits
            for a response may actually be derived from the value
            of this object.  The method for deriving the actual time
            interval is implementation dependent.  One such method
            is to derive the expected round trip time based on a
            particular retransmission algorithm and on the number
            of timeouts which have occurred.  The type of message may
            also be considered when deriving expected round trip
            times for retransmissions.  For example, if a message is
            being sent with a securityLevel that indicates both
            authentication and privacy, the derived value may be
            increased to compensate for extra processing time spent
            during authentication and encryption processing."
       DEFVAL { 1500 }
       ::= { snmpTargetAddrEntry 4 }
        
            Note that the time interval that an application waits
            for a response may actually be derived from the value
            of this object.  The method for deriving the actual time
            interval is implementation dependent.  One such method
            is to derive the expected round trip time based on a
            particular retransmission algorithm and on the number
            of timeouts which have occurred.  The type of message may
            also be considered when deriving expected round trip
            times for retransmissions.  For example, if a message is
            being sent with a securityLevel that indicates both
            authentication and privacy, the derived value may be
            increased to compensate for extra processing time spent
            during authentication and encryption processing."
       DEFVAL { 1500 }
       ::= { snmpTargetAddrEntry 4 }
        

snmpTargetAddrRetryCount OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies a default number of retries to be attempted when a response is not received for a generated message. An application may provide its own retry count, in which case the value of this object is ignored." DEFVAL { 3 }

snmpTargetAddrRetryCount对象类型语法整数32(0..255)MAX-ACCESS read create STATUS current DESCRIPTION“此对象指定在未收到生成消息的响应时尝试的默认重试次数。应用程序可以提供自己的重试次数,在这种情况下,将忽略此对象的值。”

       ::= { snmpTargetAddrEntry 5 }
        
       ::= { snmpTargetAddrEntry 5 }
        
   snmpTargetAddrTagList OBJECT-TYPE
       SYNTAX      SnmpTagList
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a list of tag values which are
            used to select target addresses for a particular
            operation."
       ::= { snmpTargetAddrEntry 6 }
        
   snmpTargetAddrTagList OBJECT-TYPE
       SYNTAX      SnmpTagList
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a list of tag values which are
            used to select target addresses for a particular
            operation."
       ::= { snmpTargetAddrEntry 6 }
        
   snmpTargetAddrParams OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of this object identifies an entry in the
            snmpTargetParamsTable.  The identified entry
            contains SNMP parameters to be used when generating
            messages to be sent to this transport address."
       ::= { snmpTargetAddrEntry 7 }
        
   snmpTargetAddrParams OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of this object identifies an entry in the
            snmpTargetParamsTable.  The identified entry
            contains SNMP parameters to be used when generating
            messages to be sent to this transport address."
       ::= { snmpTargetAddrEntry 7 }
        
   snmpTargetAddrStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row."
       ::= { snmpTargetAddrEntry 8 }
        
   snmpTargetAddrStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row."
       ::= { snmpTargetAddrEntry 8 }
        

snmpTargetAddrRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row.

snmpTargetAddrRowStatus对象类型语法RowStatus MAX-ACCESS read create STATUS current DESCRIPTION“此概念行的状态。

To create a row in this table, a manager must set this object to either createAndGo(4) or createAndWait(5).

要在此表中创建行,管理器必须将此对象设置为createAndGo(4)或createAndWait(5)。

Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the snmpTargetAddrRowStatus column is 'notReady'.

在正确配置所有对应列的实例之前,snmpTargetAddrRowStatus列的对应实例的值为“notReady”。

In particular, a newly created row cannot be made

特别是,无法创建新创建的行

active until the corresponding snmpTargetAddrTDomain and snmpTargetAddrTAddress have both been set.

激活,直到相应的SNMPTargetADRDTDOMain和SNMPTargetADRDDRTAddress都已设置。

            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetAddrTDomain
                - snmpTargetAddrTAddress"
       ::= { snmpTargetAddrEntry 9 }
        
            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetAddrTDomain
                - snmpTargetAddrTAddress"
       ::= { snmpTargetAddrEntry 9 }
        
   snmpTargetParamsTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpTargetParamsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of SNMP target information to be used
            in the generation of SNMP messages."
       ::= { snmpTargetObjects 3 }
        
   snmpTargetParamsTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpTargetParamsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of SNMP target information to be used
            in the generation of SNMP messages."
       ::= { snmpTargetObjects 3 }
        

snmpTargetParamsEntry OBJECT-TYPE SYNTAX SnmpTargetParamsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of SNMP target information.

snmpTargetParamsEntry对象类型语法snmpTargetParamsEntry MAX-ACCESS不可访问状态当前描述“一组SNMP目标信息。

            Entries in the snmpTargetParamsTable are created and
            deleted using the snmpTargetParamsRowStatus object."
       INDEX { IMPLIED snmpTargetParamsName }
       ::= { snmpTargetParamsTable 1 }
        
            Entries in the snmpTargetParamsTable are created and
            deleted using the snmpTargetParamsRowStatus object."
       INDEX { IMPLIED snmpTargetParamsName }
       ::= { snmpTargetParamsTable 1 }
        
   SnmpTargetParamsEntry ::= SEQUENCE {
       snmpTargetParamsName           SnmpAdminString,
       snmpTargetParamsMPModel        SnmpMessageProcessingModel,
       snmpTargetParamsSecurityModel  SnmpSecurityModel,
       snmpTargetParamsSecurityName   SnmpAdminString,
       snmpTargetParamsSecurityLevel  SnmpSecurityLevel,
       snmpTargetParamsStorageType    StorageType,
       snmpTargetParamsRowStatus      RowStatus
   }
        
   SnmpTargetParamsEntry ::= SEQUENCE {
       snmpTargetParamsName           SnmpAdminString,
       snmpTargetParamsMPModel        SnmpMessageProcessingModel,
       snmpTargetParamsSecurityModel  SnmpSecurityModel,
       snmpTargetParamsSecurityName   SnmpAdminString,
       snmpTargetParamsSecurityLevel  SnmpSecurityLevel,
       snmpTargetParamsStorageType    StorageType,
       snmpTargetParamsRowStatus      RowStatus
   }
        
   snmpTargetParamsName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpTargetParamsEntry."
       ::= { snmpTargetParamsEntry 1 }
        
   snmpTargetParamsName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpTargetParamsEntry."
       ::= { snmpTargetParamsEntry 1 }
        
   snmpTargetParamsMPModel OBJECT-TYPE
       SYNTAX      SnmpMessageProcessingModel
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Message Processing Model to be used when generating
            SNMP messages using this entry."
       ::= { snmpTargetParamsEntry 2 }
        
   snmpTargetParamsMPModel OBJECT-TYPE
       SYNTAX      SnmpMessageProcessingModel
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Message Processing Model to be used when generating
            SNMP messages using this entry."
       ::= { snmpTargetParamsEntry 2 }
        
   snmpTargetParamsSecurityModel OBJECT-TYPE
       SYNTAX      SnmpSecurityModel (0..254 | 256..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Security Model to be used when generating SNMP
             messages using this entry."
       ::= { snmpTargetParamsEntry 3 }
        
   snmpTargetParamsSecurityModel OBJECT-TYPE
       SYNTAX      SnmpSecurityModel (0..254 | 256..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Security Model to be used when generating SNMP
             messages using this entry."
       ::= { snmpTargetParamsEntry 3 }
        
   snmpTargetParamsSecurityName OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The securityName which identifies the Principal on
            whose behalf SNMP messages will be generated using
            this entry."
       ::= { snmpTargetParamsEntry 4 }
        
   snmpTargetParamsSecurityName OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The securityName which identifies the Principal on
            whose behalf SNMP messages will be generated using
            this entry."
       ::= { snmpTargetParamsEntry 4 }
        
   snmpTargetParamsSecurityLevel OBJECT-TYPE
       SYNTAX      SnmpSecurityLevel
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Level of Security to be used when generating
            SNMP messages using this entry."
       ::= { snmpTargetParamsEntry 5 }
        
   snmpTargetParamsSecurityLevel OBJECT-TYPE
       SYNTAX      SnmpSecurityLevel
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Level of Security to be used when generating
            SNMP messages using this entry."
       ::= { snmpTargetParamsEntry 5 }
        
   snmpTargetParamsStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row."
       ::= { snmpTargetParamsEntry 6 }
        
   snmpTargetParamsStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row."
       ::= { snmpTargetParamsEntry 6 }
        

snmpTargetParamsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create

snmpTargetParamsRowStatus对象类型语法RowStatus MAX-ACCESS read create

STATUS current DESCRIPTION "The status of this conceptual row.

STATUS current DESCRIPTION“此概念行的状态。

To create a row in this table, a manager must set this object to either createAndGo(4) or createAndWait(5).

要在此表中创建行,管理器必须将此对象设置为createAndGo(4)或createAndWait(5)。

Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the snmpTargetParamsRowStatus column is 'notReady'.

在正确配置所有对应列的实例之前,snmpTargetParamsRowStatus列的对应实例的值为“notReady”。

In particular, a newly created row cannot be made active until the corresponding snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, and snmpTargetParamsSecurityLevel have all been set.

特别是,在相应的snmpTargetParamsMPModel、snmpTargetParamsSecurityModel、snmpTargetParamsSecurityName和snmpTargetParamsSecurityLevel都设置好之前,新创建的行无法激活。

            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetParamsMPModel
                - snmpTargetParamsSecurityModel
                - snmpTargetParamsSecurityName
                - snmpTargetParamsSecurityLevel"
       ::= { snmpTargetParamsEntry 7 }
        
            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetParamsMPModel
                - snmpTargetParamsSecurityModel
                - snmpTargetParamsSecurityName
                - snmpTargetParamsSecurityLevel"
       ::= { snmpTargetParamsEntry 7 }
        
   snmpUnavailableContexts OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "The total number of packets received by the SNMP
            engine which were dropped because the context
            contained in the mesage was unavailable."
       ::= { snmpTargetObjects 4 }
        
   snmpUnavailableContexts OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "The total number of packets received by the SNMP
            engine which were dropped because the context
            contained in the mesage was unavailable."
       ::= { snmpTargetObjects 4 }
        

snmpUnknownContexts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMP engine which were dropped because the context contained in the mesage was unknown."

snmpUnknownContexts对象类型语法计数器32 MAX-ACCESS只读状态当前描述“SNMP引擎接收到的由于mesage中包含的上下文未知而丢弃的数据包总数。”

       ::= { snmpTargetObjects 5 }
        
       ::= { snmpTargetObjects 5 }
        

-- -- -- Conformance information -- --

----一致性信息----

   snmpTargetCompliances OBJECT IDENTIFIER ::=
                                           { snmpTargetConformance 1 }
   snmpTargetGroups      OBJECT IDENTIFIER ::=
                                           { snmpTargetConformance 2 }
        
   snmpTargetCompliances OBJECT IDENTIFIER ::=
                                           { snmpTargetConformance 1 }
   snmpTargetGroups      OBJECT IDENTIFIER ::=
                                           { snmpTargetConformance 2 }
        

-- -- -- Compliance statements -- --

----合规性声明----

   snmpTargetCommandResponderCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which include
            a command responder application."
       MODULE -- This Module
           MANDATORY-GROUPS { snmpTargetCommandResponderGroup }
       ::= { snmpTargetCompliances 1 }
        
   snmpTargetCommandResponderCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which include
            a command responder application."
       MODULE -- This Module
           MANDATORY-GROUPS { snmpTargetCommandResponderGroup }
       ::= { snmpTargetCompliances 1 }
        
   snmpTargetBasicGroup OBJECT-GROUP
       OBJECTS {
           snmpTargetSpinLock,
           snmpTargetAddrTDomain,
           snmpTargetAddrTAddress,
           snmpTargetAddrTagList,
           snmpTargetAddrParams,
           snmpTargetAddrStorageType,
           snmpTargetAddrRowStatus,
           snmpTargetParamsMPModel,
           snmpTargetParamsSecurityModel,
           snmpTargetParamsSecurityName,
           snmpTargetParamsSecurityLevel,
           snmpTargetParamsStorageType,
           snmpTargetParamsRowStatus
       }
       STATUS      current
       DESCRIPTION
        
   snmpTargetBasicGroup OBJECT-GROUP
       OBJECTS {
           snmpTargetSpinLock,
           snmpTargetAddrTDomain,
           snmpTargetAddrTAddress,
           snmpTargetAddrTagList,
           snmpTargetAddrParams,
           snmpTargetAddrStorageType,
           snmpTargetAddrRowStatus,
           snmpTargetParamsMPModel,
           snmpTargetParamsSecurityModel,
           snmpTargetParamsSecurityName,
           snmpTargetParamsSecurityLevel,
           snmpTargetParamsStorageType,
           snmpTargetParamsRowStatus
       }
       STATUS      current
       DESCRIPTION
        

"A collection of objects providing basic remote configuration of management targets."

“提供管理目标基本远程配置的对象集合。”

       ::= { snmpTargetGroups 1 }
        
       ::= { snmpTargetGroups 1 }
        
   snmpTargetResponseGroup OBJECT-GROUP
       OBJECTS {
           snmpTargetAddrTimeout,
           snmpTargetAddrRetryCount
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing remote configuration
            of management targets for applications which generate
            SNMP messages for which a response message would be
            expected."
       ::= { snmpTargetGroups 2 }
        
   snmpTargetResponseGroup OBJECT-GROUP
       OBJECTS {
           snmpTargetAddrTimeout,
           snmpTargetAddrRetryCount
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing remote configuration
            of management targets for applications which generate
            SNMP messages for which a response message would be
            expected."
       ::= { snmpTargetGroups 2 }
        
   snmpTargetCommandResponderGroup OBJECT-GROUP
       OBJECTS {
           snmpUnavailableContexts,
           snmpUnknownContexts
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects required for command responder
            applications, used for counting error conditions."
       ::= { snmpTargetGroups 3 }
        
   snmpTargetCommandResponderGroup OBJECT-GROUP
       OBJECTS {
           snmpUnavailableContexts,
           snmpUnknownContexts
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects required for command responder
            applications, used for counting error conditions."
       ::= { snmpTargetGroups 3 }
        

END

终止

4.2. The Notification MIB Module
4.2. 通知MIB模块

The SNMP-NOTIFICATION-MIB module contains objects for the remote configuration of the parameters used by an SNMP entity for the generation of notifications. It consists of three tables and conformance/compliance statements. The first table, the snmpNotifyTable, contains entries which select which entries in the snmpTargetAddrTable should be used for generating notifications, and the type of notifications to be generated.

SNMP-NOTIFICATION-MIB模块包含用于远程配置SNMP实体用于生成通知的参数的对象。它由三个表和合规性/合规性声明组成。第一个表snmpNotifyTable包含一些条目,这些条目选择SNMPTargetADRDR表中哪些条目应用于生成通知,以及要生成的通知的类型。

The second table sparsely augments the snmpTargetAddrTable with an object which is used to associate a set of filters with a particular management target.

第二个表使用一个对象稀疏地扩充SNMPTargetADRDR表,该对象用于将一组筛选器与特定的管理目标关联起来。

The third table defines filters which are used to limit the number of notifications which are generated using particular management targets.

第三个表定义了用于限制使用特定管理目标生成的通知数量的筛选器。

4.2.1. Definitions
4.2.1. 定义
   SNMP-NOTIFICATION-MIB DEFINITIONS ::= BEGIN
        
   SNMP-NOTIFICATION-MIB DEFINITIONS ::= BEGIN
        

IMPORTS MODULE-IDENTITY, OBJECT-TYPE, snmpModules FROM SNMPv2-SMI

从SNMPv2 SMI导入模块标识、对象类型和snmpModules

RowStatus, StorageType FROM SNMPv2-TC

SNMPv2 TC中的RowStatus、StorageType

SnmpAdminString FROM SNMP-FRAMEWORK-MIB

SNMP-FRAMEWORK-MIB中的snmpadmin安装

SnmpTagValue, snmpTargetParamsName FROM SNMP-TARGET-MIB

SnmpTagValue,snmpTargetParamsName来自SNMP-TARGET-MIB

MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;

SNMPv2 CONF中的模块合规性、对象组;

snmpNotificationMIB MODULE-IDENTITY LAST-UPDATED "9711210000Z" ORGANIZATION "IETF SNMPv3 Working Group" CONTACT-INFO "WG-email: snmpv3@tis.com Subscribe: majordomo@tis.com In message body: subscribe snmpv3

snmpNotificationMIB MODULE-IDENTITY上次更新的“9711210000Z”组织“IETF SNMPv3工作组”联系方式工作组电子邮件:snmpv3@tis.com订阅:majordomo@tis.com在消息正文中:订阅snmpv3

Chair: Russ Mundy Trusted Information Systems Postal: 3060 Washington Rd Glenwood MD 21738 USA Email: mundy@tis.com Phone: +1-301-854-6889

主席:Russ Mundy Trusted Information Systems邮政:美国马里兰州格伦伍德华盛顿路3060号21738电子邮件:mundy@tis.com电话:+1-301-854-6889

Co-editor: David B. Levi SNMP Research, Inc. Postal: 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 E-mail: levi@snmp.com Phone: +1 423 573 1434

合编:David B.Levi SNMP Research,Inc.邮政:美国田纳西州诺克斯维尔金伯利高地路3001号37920-9716电子邮件:levi@snmp.com电话:+1 423 573 1434

Co-editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road Roseville, MN 55113 E-mail: paul_meyer@securecomputing.com Phone: +1 612 628 1592

合编:Paul Meyer安全计算公司邮政:2675 Long Lake Road Roseville,MN 55113电子邮件:Paul_meyer@securecomputing.com电话:+16126281592

            Co-editor:  Bob Stewart
                        Cisco Systems, Inc.
            Postal:     170 West Tasman Drive
                        San Jose, CA 95134-1706
            E-mail:     bstewart@cisco.com
            Phone:      +1 603 654 6923"
       DESCRIPTION
           "This MIB module defines MIB objects which provide
            mechanisms to remotely configure the parameters
            used by an SNMP entity for the generation of
            notifications."
       REVISION    "9707140000Z"
       DESCRIPTION
           "The initial revision."
       ::= { snmpModules 8 }
        
            Co-editor:  Bob Stewart
                        Cisco Systems, Inc.
            Postal:     170 West Tasman Drive
                        San Jose, CA 95134-1706
            E-mail:     bstewart@cisco.com
            Phone:      +1 603 654 6923"
       DESCRIPTION
           "This MIB module defines MIB objects which provide
            mechanisms to remotely configure the parameters
            used by an SNMP entity for the generation of
            notifications."
       REVISION    "9707140000Z"
       DESCRIPTION
           "The initial revision."
       ::= { snmpModules 8 }
        
   snmpNotifyObjects       OBJECT IDENTIFIER ::=
                                             { snmpNotificationMIB 1 }
   snmpNotifyConformance   OBJECT IDENTIFIER ::=
                                             { snmpNotificationMIB 3 }
        
   snmpNotifyObjects       OBJECT IDENTIFIER ::=
                                             { snmpNotificationMIB 1 }
   snmpNotifyConformance   OBJECT IDENTIFIER ::=
                                             { snmpNotificationMIB 3 }
        

-- -- -- The snmpNotifyObjects group -- --

----snmpNotifyObjects组----

   snmpNotifyTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpNotifyEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table is used to select management targets which should
            receive notifications, as well as the type of notification
            which should be sent to each selected management target."
       ::= { snmpNotifyObjects 1 }
        
   snmpNotifyTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpNotifyEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table is used to select management targets which should
            receive notifications, as well as the type of notification
            which should be sent to each selected management target."
       ::= { snmpNotifyObjects 1 }
        

snmpNotifyEntry OBJECT-TYPE SYNTAX SnmpNotifyEntry MAX-ACCESS not-accessible

snmpNotifyEntry对象类型语法snmpNotifyEntry MAX-ACCESS不可访问

STATUS current DESCRIPTION "An entry in this table selects a set of management targets which should receive notifications, as well as the type of notification which should be sent to each selected management target.

STATUS current DESCRIPTION“此表中的一个条目选择一组应接收通知的管理目标,以及应发送给每个选定管理目标的通知类型。

            Entries in the snmpNotifyTable are created and
            deleted using the snmpNotifyRowStatus object."
       INDEX { IMPLIED snmpNotifyName }
       ::= { snmpNotifyTable 1 }
        
            Entries in the snmpNotifyTable are created and
            deleted using the snmpNotifyRowStatus object."
       INDEX { IMPLIED snmpNotifyName }
       ::= { snmpNotifyTable 1 }
        
   SnmpNotifyEntry ::= SEQUENCE {
       snmpNotifyName         SnmpAdminString,
       snmpNotifyTag          SnmpTagValue,
       snmpNotifyType         INTEGER,
       snmpNotifyStorageType  StorageType,
       snmpNotifyRowStatus    RowStatus
   }
        
   SnmpNotifyEntry ::= SEQUENCE {
       snmpNotifyName         SnmpAdminString,
       snmpNotifyTag          SnmpTagValue,
       snmpNotifyType         INTEGER,
       snmpNotifyStorageType  StorageType,
       snmpNotifyRowStatus    RowStatus
   }
        
   snmpNotifyName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpNotifyEntry."
       ::= { snmpNotifyEntry 1 }
        
   snmpNotifyName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpNotifyEntry."
       ::= { snmpNotifyEntry 1 }
        
   snmpNotifyTag OBJECT-TYPE
       SYNTAX      SnmpTagValue
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a single tag value which is used
            to select entries in the snmpTargetAddrTable.  Any entry
            in the snmpTargetAddrTable which contains a tag value
            which is equal to the value of an instance of this
            object is selected.  If this object contains a value
            of zero length, no entries are selected."
       ::= { snmpNotifyEntry 2 }
        
   snmpNotifyTag OBJECT-TYPE
       SYNTAX      SnmpTagValue
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a single tag value which is used
            to select entries in the snmpTargetAddrTable.  Any entry
            in the snmpTargetAddrTable which contains a tag value
            which is equal to the value of an instance of this
            object is selected.  If this object contains a value
            of zero length, no entries are selected."
       ::= { snmpNotifyEntry 2 }
        
   snmpNotifyType OBJECT-TYPE
       SYNTAX      INTEGER {
                       trap(1),
                       inform(2)
                   }
       MAX-ACCESS  read-create
        
   snmpNotifyType OBJECT-TYPE
       SYNTAX      INTEGER {
                       trap(1),
                       inform(2)
                   }
       MAX-ACCESS  read-create
        

STATUS current DESCRIPTION "This object determines the type of notification to be generated for entries in the snmpTargetAddrTable selected by the corresponding instance of snmpNotifyTag.

STATUS current DESCRIPTION“此对象确定要为snmpNotifyTag的相应实例选择的SNMPTargetADRDR表中的条目生成的通知类型。

If the value of this object is trap(1), then any messages generated for selected rows will contain SNMPv2-Trap PDUs.

如果此对象的值为trap(1),则为选定行生成的任何消息都将包含SNMPv2 trap pdu。

If the value of this object is inform(2), then any messages generated for selected rows will contain Inform PDUs.

如果此对象的值为inform(2),则为选定行生成的任何消息都将包含inform PDU。

            Note that if an SNMP entity only supports
            generation of traps (and not informs), then this
            object may be read-only."
       DEFVAL { trap }
       ::= { snmpNotifyEntry 3 }
        
            Note that if an SNMP entity only supports
            generation of traps (and not informs), then this
            object may be read-only."
       DEFVAL { trap }
       ::= { snmpNotifyEntry 3 }
        
   snmpNotifyStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row."
       ::= { snmpNotifyEntry 4 }
        
   snmpNotifyStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row."
       ::= { snmpNotifyEntry 4 }
        

snmpNotifyRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row.

snmpNotifyRowStatus对象类型语法RowStatus MAX-ACCESS read create STATUS current DESCRIPTION“此概念行的状态。

To create a row in this table, a manager must set this object to either createAndGo(4) or createAndWait(5).

要在此表中创建行,管理器必须将此对象设置为createAndGo(4)或createAndWait(5)。

Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the snmpNotifyRowStatus column is 'notReady'.

在正确配置所有对应列的实例之前,snmpNotifyRowStatus列的对应实例的值为“notReady”。

In particular, a newly created row cannot be made active until the corresponding snmpNotifyTag has been set."

特别是,在设置相应的snmpNotifyTag之前,新创建的行不能被激活。”

       ::= { snmpNotifyEntry 5 }
        
       ::= { snmpNotifyEntry 5 }
        
   snmpNotifyFilterProfileTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpNotifyFilterProfileEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table is used to associate a notification filter
            profile with a particular set of target parameters."
       ::= { snmpNotifyObjects 2 }
        
   snmpNotifyFilterProfileTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpNotifyFilterProfileEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table is used to associate a notification filter
            profile with a particular set of target parameters."
       ::= { snmpNotifyObjects 2 }
        

snmpNotifyFilterProfileEntry OBJECT-TYPE SYNTAX SnmpNotifyFilterProfileEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table indicates the name of the filter profile to be used when generating notifications using the corresponding entry in the snmpTargetParamsTable.

snmpNotifyFilterProfileEntry对象类型语法snmpNotifyFilterProfileEntry MAX-ACCESS不可访问状态当前描述“此表中的一个条目表示在使用snmpTargetParamsTable中的相应条目生成通知时要使用的筛选器配置文件的名称。

            Entries in the snmpNotifyFilterProfileTable are created
            and deleted using the snmpNotifyFilterProfileRowStatus
            object."
       INDEX { IMPLIED snmpTargetParamsName }
       ::= { snmpNotifyFilterProfileTable 1 }
        
            Entries in the snmpNotifyFilterProfileTable are created
            and deleted using the snmpNotifyFilterProfileRowStatus
            object."
       INDEX { IMPLIED snmpTargetParamsName }
       ::= { snmpNotifyFilterProfileTable 1 }
        
   SnmpNotifyFilterProfileEntry ::= SEQUENCE {
       snmpNotifyFilterProfileName         SnmpAdminString,
       snmpNotifyFilterProfileStorType     StorageType,
       snmpNotifyFilterProfileRowStatus    RowStatus
   }
        
   SnmpNotifyFilterProfileEntry ::= SEQUENCE {
       snmpNotifyFilterProfileName         SnmpAdminString,
       snmpNotifyFilterProfileStorType     StorageType,
       snmpNotifyFilterProfileRowStatus    RowStatus
   }
        
   snmpNotifyFilterProfileName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The name of the filter profile to be used when generating
            notifications using the corresponding entry in the
            snmpTargetAddrTable."
       ::= { snmpNotifyFilterProfileEntry 1 }
        
   snmpNotifyFilterProfileName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The name of the filter profile to be used when generating
            notifications using the corresponding entry in the
            snmpTargetAddrTable."
       ::= { snmpNotifyFilterProfileEntry 1 }
        

snmpNotifyFilterProfileStorType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type of this conceptual row."

snmpNotifyFilterProfileStorType对象类型语法StorageType MAX-ACCESS读取创建状态当前描述“此概念行的存储类型。”

       ::= { snmpNotifyFilterProfileEntry 2 }
        
       ::= { snmpNotifyFilterProfileEntry 2 }
        

snmpNotifyFilterProfileRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row.

snmpNotifyFilterProfileRowStatus对象类型语法RowStatus MAX-ACCESS read create STATUS current DESCRIPTION“此概念行的状态。

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5)."
       ::= { snmpNotifyFilterProfileEntry 3 }
        
            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5)."
       ::= { snmpNotifyFilterProfileEntry 3 }
        

snmpNotifyFilterTable OBJECT-TYPE SYNTAX SEQUENCE OF SnmpNotifyFilterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of filter profiles. Filter profiles are used to determine whether particular management targets should receive particular notifications.

snmpNotifyFilterTable对象类型语法序列SnmpNotifyFilterEntry MAX-ACCESS不可访问状态当前描述“筛选器配置文件表。筛选器配置文件用于确定特定管理目标是否应接收特定通知。

            When a notification is generated, it must be compared
            with the filters associated with each management target
            which is configured to receive notifications.  If the
            notification is matched by a filter, it is not sent to
            the management target with which the filter is
            associated."
       ::= { snmpNotifyObjects 3 }
        
            When a notification is generated, it must be compared
            with the filters associated with each management target
            which is configured to receive notifications.  If the
            notification is matched by a filter, it is not sent to
            the management target with which the filter is
            associated."
       ::= { snmpNotifyObjects 3 }
        

snmpNotifyFilterEntry OBJECT-TYPE SYNTAX SnmpNotifyFilterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An element of a filter profile.

snmpNotifyFilterEntry对象类型语法snmpNotifyFilterEntry MAX-ACCESS不可访问状态当前描述“筛选器配置文件的元素。

            Entries in the snmpNotifyFilterTable are created and
            deleted using the snmpNotifyFilterRowStatus object."
       INDEX {         snmpNotifyFilterProfileName,
               IMPLIED snmpNotifyFilterSubtree }
       ::= { snmpNotifyFilterTable 1 }
        
            Entries in the snmpNotifyFilterTable are created and
            deleted using the snmpNotifyFilterRowStatus object."
       INDEX {         snmpNotifyFilterProfileName,
               IMPLIED snmpNotifyFilterSubtree }
       ::= { snmpNotifyFilterTable 1 }
        
   SnmpNotifyFilterEntry ::= SEQUENCE {
       snmpNotifyFilterSubtree           OBJECT IDENTIFIER,
       snmpNotifyFilterMask              OCTET STRING,
       snmpNotifyFilterType              INTEGER,
        
   SnmpNotifyFilterEntry ::= SEQUENCE {
       snmpNotifyFilterSubtree           OBJECT IDENTIFIER,
       snmpNotifyFilterMask              OCTET STRING,
       snmpNotifyFilterType              INTEGER,
        

snmpNotifyFilterStorageType StorageType, snmpNotifyFilterRowStatus RowStatus }

snmpNotifyFilterStorageType存储类型,snmpNotifyFilterRowStatus RowStatus}

   snmpNotifyFilterSubtree OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The MIB subtree which, when combined with the corresponding
            instance of snmpNotifyFilterMask, defines a family of
            subtrees which are included in or excluded from the
            filter profile."
       ::= { snmpNotifyFilterEntry 1 }
        
   snmpNotifyFilterSubtree OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The MIB subtree which, when combined with the corresponding
            instance of snmpNotifyFilterMask, defines a family of
            subtrees which are included in or excluded from the
            filter profile."
       ::= { snmpNotifyFilterEntry 1 }
        

snmpNotifyFilterMask OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..16)) MAX-ACCESS read-create STATUS current DESCRIPTION "The bit mask which, in combination with the corresponding instance of snmpNotifyFilterSubtree, defines a family of subtrees which are included in or excluded from the filter profile.

snmpNotifyFilterMask对象类型语法八位字符串(大小(0..16))MAX-ACCESS read create STATUS current DESCRIPTION“位掩码,它与snmpNotifyFilterSubtree的相应实例相结合,定义了过滤器配置文件中包含或排除的子树族。

Each bit of this bit mask corresponds to a sub-identifier of snmpNotifyFilterSubtree, with the most significant bit of the i-th octet of this octet string value (extended if necessary, see below) corresponding to the (8*i - 7)-th sub-identifier, and the least significant bit of the i-th octet of this octet string corresponding to the (8*i)-th sub-identifier, where i is in the range 1 through 16.

该位掩码的每一位对应于snmpNotifyFilterSubtree的子标识符,该八位字节字符串值的第i个八位字节的最高有效位(如有必要,请扩展,见下文)对应于第(8*i-7)个子标识符,该八位字节字符串的第i个八位字节的最低有效位对应于第(8*i)个八位字节-th子标识符,其中i在1到16的范围内。

Each bit of this bit mask specifies whether or not the corresponding sub-identifiers must match when determining if an OBJECT IDENTIFIER matches this family of filter subtrees; a '1' indicates that an exact match must occur; a '0' indicates 'wild card', i.e., any sub-identifier value matches.

此位掩码的每一位指定在确定对象标识符是否与此筛选子树族匹配时,相应的子标识符是否必须匹配;“1”表示必须发生精确匹配;“0”表示“通配符”,即任何子标识符值匹配。

Thus, the OBJECT IDENTIFIER X of an object instance is contained in a family of filter subtrees if, for each sub-identifier of the value of snmpNotifyFilterSubtree, either:

因此,如果对于snmpNotifyFilterSubtree的值的每个子标识符,或者:

the i-th bit of snmpNotifyFilterMask is 0, or

snmpNotifyFilterMask的第i位为0,或

the i-th sub-identifier of X is equal to the i-th sub-identifier of the value of snmpNotifyFilterSubtree.

X的第i子标识符等于snmpNotifyFilterSubtree的值的第i子标识符。

If the value of this bit mask is M bits long and there are more than M sub-identifiers in the corresponding instance of snmpNotifyFilterSubtree, then the bit mask is extended with 1's to be the required length.

如果该位掩码的值为M位长,并且snmpNotifyFilterSubtree的相应实例中有M个以上的子标识符,则该位掩码将扩展为1,以达到所需的长度。

            Note that when the value of this object is the
            zero-length string, this extension rule results in
            a mask of all-1's being used (i.e., no 'wild card'),
            and the family of filter subtrees is the one
            subtree uniquely identified by the corresponding
            instance of snmpNotifyFilterSubtree."
       DEFVAL { ''H }
       ::= { snmpNotifyFilterEntry 2 }
        
            Note that when the value of this object is the
            zero-length string, this extension rule results in
            a mask of all-1's being used (i.e., no 'wild card'),
            and the family of filter subtrees is the one
            subtree uniquely identified by the corresponding
            instance of snmpNotifyFilterSubtree."
       DEFVAL { ''H }
       ::= { snmpNotifyFilterEntry 2 }
        
   snmpNotifyFilterType OBJECT-TYPE
       SYNTAX      INTEGER {
                       included(1),
                       excluded(2)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object indicates whether the family of filter subtrees
            defined by this entry are included in or excluded from a
            filter."
       DEFVAL { included }
       ::= { snmpNotifyFilterEntry 3 }
        
   snmpNotifyFilterType OBJECT-TYPE
       SYNTAX      INTEGER {
                       included(1),
                       excluded(2)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object indicates whether the family of filter subtrees
            defined by this entry are included in or excluded from a
            filter."
       DEFVAL { included }
       ::= { snmpNotifyFilterEntry 3 }
        
   snmpNotifyFilterStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type of this conceptual row."
       ::= { snmpNotifyFilterEntry 4 }
        
   snmpNotifyFilterStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type of this conceptual row."
       ::= { snmpNotifyFilterEntry 4 }
        

snmpNotifyFilterRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row.

snmpNotifyFilterRowStatus对象类型语法RowStatus MAX-ACCESS read create STATUS current DESCRIPTION“此概念行的状态。

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5)."
       ::= { snmpNotifyFilterEntry 5 }
        
            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5)."
       ::= { snmpNotifyFilterEntry 5 }
        

-- -- -- Conformance information -- --

----一致性信息----

   snmpNotifyCompliances OBJECT IDENTIFIER ::=
                                           { snmpNotifyConformance 1 }
   snmpNotifyGroups      OBJECT IDENTIFIER ::=
                                           { snmpNotifyConformance 2 }
        
   snmpNotifyCompliances OBJECT IDENTIFIER ::=
                                           { snmpNotifyConformance 1 }
   snmpNotifyGroups      OBJECT IDENTIFIER ::=
                                           { snmpNotifyConformance 2 }
        

-- -- -- Compliance statements -- --

----合规性声明----

snmpNotifyBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for minimal SNMP entities which implement only SNMP Traps and read-create operations on only the snmpTargetAddrTable." MODULE SNMP-TARGET-MIB MANDATORY-GROUPS { snmpTargetBasicGroup }

snmpNotifyBasicCompliance MODULE-COMPLIANCE STATUS当前描述“仅对SNMPTargetADRDR表实施SNMP陷阱和读创建操作的最小SNMP实体的符合性声明。”模块SNMP-TARGET-MIB强制-GROUPS{snmpTargetBasicGroup}

OBJECT snmpTargetParamsMPModel MIN-ACCESS read-only DESCRIPTION "Create/delete/modify access is not required."

对象snmpTargetParamsMPModel MIN-ACCESS只读说明“不需要创建/删除/修改访问权限。”

OBJECT snmpTargetParamsSecurityModel MIN-ACCESS read-only DESCRIPTION "Create/delete/modify access is not required."

对象snmpTargetParamsSecurityModel MIN-ACCESS只读说明“不需要创建/删除/修改访问权限。”

OBJECT snmpTargetParamsSecurityName MIN-ACCESS read-only DESCRIPTION "Create/delete/modify access is not required."

对象SNMPTargetParamAssetSecurity名称MIN-ACCESS只读说明“不需要创建/删除/修改访问权限。”

OBJECT snmpTargetParamsSecurityLevel MIN-ACCESS read-only

对象snmpTargetParamsSecurityLevel最小访问只读

DESCRIPTION "Create/delete/modify access is not required."

说明“不需要创建/删除/修改访问权限。”

           OBJECT snmpTargetParamsStorageType
           SYNTAX INTEGER {
               readOnly(5)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required.
                Support of the values other(1), volatile(2),
                nonVolatile(3), and permanent(4) is not required."
        
           OBJECT snmpTargetParamsStorageType
           SYNTAX INTEGER {
               readOnly(5)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required.
                Support of the values other(1), volatile(2),
                nonVolatile(3), and permanent(4) is not required."
        
           OBJECT snmpTargetParamsRowStatus
           SYNTAX INTEGER {
               active(1)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access to the
                snmpTargetParamsTable is not required.
                Support of the values notInService(2), notReady(3),
                createAndGo(4), createAndWait(5), and destroy(6) is
                not required."
        
           OBJECT snmpTargetParamsRowStatus
           SYNTAX INTEGER {
               active(1)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access to the
                snmpTargetParamsTable is not required.
                Support of the values notInService(2), notReady(3),
                createAndGo(4), createAndWait(5), and destroy(6) is
                not required."
        

MODULE -- This Module MANDATORY-GROUPS { snmpNotifyGroup }

MODULE——此模块为强制组{snmpNotifyGroup}

OBJECT snmpNotifyTag MIN-ACCESS read-only DESCRIPTION "Create/delete/modify access is not required."

对象snmpNotifyTag MIN-ACCESS只读说明“不需要创建/删除/修改访问权限。”

           OBJECT snmpNotifyType
           SYNTAX INTEGER {
               trap(1)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required.
                Support of the value notify(2) is not required."
        
           OBJECT snmpNotifyType
           SYNTAX INTEGER {
               trap(1)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required.
                Support of the value notify(2) is not required."
        
           OBJECT snmpNotifyStorageType
           SYNTAX INTEGER {
               readOnly(5)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
        
           OBJECT snmpNotifyStorageType
           SYNTAX INTEGER {
               readOnly(5)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
        
               "Create/delete/modify access is not required.
                Support of the values other(1), volatile(2),
                nonVolatile(3), and permanent(4) is not required."
        
               "Create/delete/modify access is not required.
                Support of the values other(1), volatile(2),
                nonVolatile(3), and permanent(4) is not required."
        
           OBJECT snmpNotifyRowStatus
           SYNTAX INTEGER {
               active(1)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access to the
                snmpNotifyTable is not required.
                Support of the values notInService(2), notReady(3),
                createAndGo(4), createAndWait(5), and destroy(6) is
                not required."
        
           OBJECT snmpNotifyRowStatus
           SYNTAX INTEGER {
               active(1)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access to the
                snmpNotifyTable is not required.
                Support of the values notInService(2), notReady(3),
                createAndGo(4), createAndWait(5), and destroy(6) is
                not required."
        
       ::= { snmpNotifyCompliances 1 }
        
       ::= { snmpNotifyCompliances 1 }
        
   snmpNotifyBasicFiltersCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which implement
            SNMP Traps with filtering, and read-create operations on
            all related tables."
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpNotifyGroup,
                              snmpNotifyFilterGroup }
       ::= { snmpNotifyCompliances 2 }
        
   snmpNotifyBasicFiltersCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which implement
            SNMP Traps with filtering, and read-create operations on
            all related tables."
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpNotifyGroup,
                              snmpNotifyFilterGroup }
       ::= { snmpNotifyCompliances 2 }
        
   snmpNotifyFullCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which either
            implement only SNMP Informs, or both SNMP Traps and SNMP
            Informs, plus filtering and read-create operations on
            all related tables."
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup,
                              snmpTargetResponseGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpNotifyGroup,
                              snmpNotifyFilterGroup }
       ::= { snmpNotifyCompliances 3 }
        
   snmpNotifyFullCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which either
            implement only SNMP Informs, or both SNMP Traps and SNMP
            Informs, plus filtering and read-create operations on
            all related tables."
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup,
                              snmpTargetResponseGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpNotifyGroup,
                              snmpNotifyFilterGroup }
       ::= { snmpNotifyCompliances 3 }
        

snmpNotifyGroup OBJECT-GROUP OBJECTS {

snmpNotifyGroup对象组对象{

           snmpNotifyTag,
           snmpNotifyType,
           snmpNotifyStorageType,
           snmpNotifyRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects for selecting which management
            targets are used for generating notifications, and the
            type of notification to be generated for each selected
            management target."
       ::= { snmpNotifyGroups 1 }
        
           snmpNotifyTag,
           snmpNotifyType,
           snmpNotifyStorageType,
           snmpNotifyRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects for selecting which management
            targets are used for generating notifications, and the
            type of notification to be generated for each selected
            management target."
       ::= { snmpNotifyGroups 1 }
        
   snmpNotifyFilterGroup OBJECT-GROUP
       OBJECTS {
           snmpNotifyFilterProfileName,
           snmpNotifyFilterProfileStorType,
           snmpNotifyFilterProfileRowStatus,
           snmpNotifyFilterMask,
           snmpNotifyFilterType,
           snmpNotifyFilterStorageType,
           snmpNotifyFilterRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing remote configuration
            of notification filters."
       ::= { snmpNotifyGroups 2 }
        
   snmpNotifyFilterGroup OBJECT-GROUP
       OBJECTS {
           snmpNotifyFilterProfileName,
           snmpNotifyFilterProfileStorType,
           snmpNotifyFilterProfileRowStatus,
           snmpNotifyFilterMask,
           snmpNotifyFilterType,
           snmpNotifyFilterStorageType,
           snmpNotifyFilterRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing remote configuration
            of notification filters."
       ::= { snmpNotifyGroups 2 }
        

END

终止

4.3. The Proxy MIB Module
4.3. 代理MIB模块

The SNMP-PROXY-MIB module, which defines MIB objects that provide mechanisms to remotely configure the parameters used by an SNMP entity for proxy forwarding operations, contains a single table. This table, snmpProxyTable, is used to define translations between management targets for use when forwarding messages.

SNMP-PROXY-MIB模块包含一个表,该模块定义了MIB对象,这些对象提供了远程配置SNMP实体用于代理转发操作的参数的机制。此表snmpProxyTable用于定义转发消息时使用的管理目标之间的转换。

4.3.1. Definitions
4.3.1. 定义
   SNMP-PROXY-MIB DEFINITIONS ::= BEGIN
        
   SNMP-PROXY-MIB DEFINITIONS ::= BEGIN
        

IMPORTS MODULE-IDENTITY, OBJECT-TYPE, snmpModules FROM SNMPv2-SMI

从SNMPv2 SMI导入模块标识、对象类型和snmpModules

RowStatus, StorageType FROM SNMPv2-TC

SNMPv2 TC中的RowStatus、StorageType

SnmpEngineID, SnmpAdminString FROM SNMP-FRAMEWORK-MIB

SnmpEngineID,snmpadmin从SNMP-FRAMEWORK-MIB安装

SnmpTagValue, FROM SNMP-TARGET-MIB

SnmpTagValue,来自SNMP-TARGET-MIB

MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;

SNMPv2 CONF中的模块合规性、对象组;

snmpProxyMIB MODULE-IDENTITY LAST-UPDATED "9711210000Z" ORGANIZATION "IETF SNMPv3 Working Group" CONTACT-INFO "WG-email: snmpv3@tis.com Subscribe: majordomo@tis.com In message body: subscribe snmpv3

snmpProxyMIB模块标识最后更新的“9711210000Z”组织“IETF SNMPv3工作组”联系方式工作组电子邮件:snmpv3@tis.com订阅:majordomo@tis.com在消息正文中:订阅snmpv3

Chair: Russ Mundy Trusted Information Systems Postal: 3060 Washington Rd Glenwood MD 21738 USA Email: mundy@tis.com Phone: +1-301-854-6889

主席:Russ Mundy Trusted Information Systems邮政:美国马里兰州格伦伍德华盛顿路3060号21738电子邮件:mundy@tis.com电话:+1-301-854-6889

Co-editor: David B. Levi SNMP Research, Inc. Postal: 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 E-mail: levi@snmp.com Phone: +1 423 573 1434

合编:David B.Levi SNMP Research,Inc.邮政:美国田纳西州诺克斯维尔金伯利高地路3001号37920-9716电子邮件:levi@snmp.com电话:+1 423 573 1434

Co-editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road Roseville, MN 55113 E-mail: paul_meyer@securecomputing.com Phone: +1 612 628 1592

合编:Paul Meyer安全计算公司邮政:2675 Long Lake Road Roseville,MN 55113电子邮件:Paul_meyer@securecomputing.com电话:+16126281592

Co-editor: Bob Stewart Cisco Systems, Inc. Postal: 170 West Tasman Drive

合编:Bob Stewart Cisco Systems,Inc.邮政编码:西塔斯曼大道170号

                        San Jose, CA 95134-1706
            E-mail:     bstewart@cisco.com
            Phone:      +1 603 654 6923"
       DESCRIPTION
           "This MIB module defines MIB objects which provide
            mechanisms to remotely configure the parameters
            used by a proxy forwarding application."
       REVISION    "9707140000Z"
       DESCRIPTION
           "The initial revision."
       ::= { snmpModules 9 }
        
                        San Jose, CA 95134-1706
            E-mail:     bstewart@cisco.com
            Phone:      +1 603 654 6923"
       DESCRIPTION
           "This MIB module defines MIB objects which provide
            mechanisms to remotely configure the parameters
            used by a proxy forwarding application."
       REVISION    "9707140000Z"
       DESCRIPTION
           "The initial revision."
       ::= { snmpModules 9 }
        
   snmpProxyObjects        OBJECT IDENTIFIER ::= { snmpProxyMIB 1 }
   snmpProxyConformance    OBJECT IDENTIFIER ::= { snmpProxyMIB 3 }
        
   snmpProxyObjects        OBJECT IDENTIFIER ::= { snmpProxyMIB 1 }
   snmpProxyConformance    OBJECT IDENTIFIER ::= { snmpProxyMIB 3 }
        

-- -- -- The snmpProxyObjects group -- --

----snmpProxyObjects组----

   snmpProxyTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpProxyEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The table of translation parameters used by proxy forwarder
            applications for forwarding SNMP messages."
       ::= { snmpProxyObjects 2 }
        
   snmpProxyTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpProxyEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The table of translation parameters used by proxy forwarder
            applications for forwarding SNMP messages."
       ::= { snmpProxyObjects 2 }
        

snmpProxyEntry OBJECT-TYPE SYNTAX SnmpProxyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of translation parameters used by a proxy forwarder application for forwarding SNMP messages.

snmpProxyEntry对象类型语法snmpProxyEntry MAX-ACCESS不可访问状态当前描述“代理转发器应用程序用于转发SNMP消息的一组转换参数。

            Entries in the snmpProxyTable are created and deleted
            using the snmpProxyRowStatus object."
       INDEX { IMPLIED snmpProxyName }
       ::= { snmpProxyTable 1 }
        
            Entries in the snmpProxyTable are created and deleted
            using the snmpProxyRowStatus object."
       INDEX { IMPLIED snmpProxyName }
       ::= { snmpProxyTable 1 }
        
   SnmpProxyEntry ::= SEQUENCE {
       snmpProxyName               SnmpAdminString,
       snmpProxyType               INTEGER,
       snmpProxyContextEngineID    SnmpEngineID,
       snmpProxyContextName        SnmpAdminString,
        
   SnmpProxyEntry ::= SEQUENCE {
       snmpProxyName               SnmpAdminString,
       snmpProxyType               INTEGER,
       snmpProxyContextEngineID    SnmpEngineID,
       snmpProxyContextName        SnmpAdminString,
        

snmpProxyTargetParamsIn SnmpAdminString, snmpProxySingleTargetOut SnmpAdminString, snmpProxyMultipleTargetOut SnmpTagValue, snmpProxyStorageType StorageType, snmpProxyRowStatus RowStatus }

snmpProxyTargetParamsIn SNMPAdministring,snmpProxySingleTargetOut SNMPAdministring,SNMPProxyMultipleTagOut SnmpTagValue,snmpProxyStorageType StorageType,snmpProxyRowStatus RowStatus}

   snmpProxyName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpProxyEntry."
       ::= { snmpProxyEntry 1 }
        
   snmpProxyName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpProxyEntry."
       ::= { snmpProxyEntry 1 }
        
   snmpProxyType OBJECT-TYPE
       SYNTAX      INTEGER {
                       read(1),
                       write(2),
                       trap(3),
                       inform(4)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of message that may be forwarded using
            the translation parameters defined by this entry."
       ::= { snmpProxyEntry 2 }
        
   snmpProxyType OBJECT-TYPE
       SYNTAX      INTEGER {
                       read(1),
                       write(2),
                       trap(3),
                       inform(4)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of message that may be forwarded using
            the translation parameters defined by this entry."
       ::= { snmpProxyEntry 2 }
        
   snmpProxyContextEngineID OBJECT-TYPE
       SYNTAX      SnmpEngineID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The contextEngineID contained in messages that
            may be forwarded using the translation parameters
            defined by this entry."
       ::= { snmpProxyEntry 3 }
        
   snmpProxyContextEngineID OBJECT-TYPE
       SYNTAX      SnmpEngineID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The contextEngineID contained in messages that
            may be forwarded using the translation parameters
            defined by this entry."
       ::= { snmpProxyEntry 3 }
        

snmpProxyContextName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "The contextName contained in messages that may be forwarded using the translation parameters defined by this entry.

snmpProxyContextName对象类型语法SnmpAdminString MAX-ACCESS read create STATUS current DESCRIPTION“消息中包含的contextName,可使用此项定义的转换参数转发。

            This object is optional, and if not supported, the
            contextName contained in a message is ignored when
            selecting an entry in the snmpProxyTable."
       ::= { snmpProxyEntry 4 }
        
            This object is optional, and if not supported, the
            contextName contained in a message is ignored when
            selecting an entry in the snmpProxyTable."
       ::= { snmpProxyEntry 4 }
        
   snmpProxyTargetParamsIn OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object selects an entry in the snmpTargetParamsTable.
            The selected entry is used to determine which row of the
            snmpProxyTable to use for forwarding received messages."
       ::= { snmpProxyEntry 5 }
        
   snmpProxyTargetParamsIn OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object selects an entry in the snmpTargetParamsTable.
            The selected entry is used to determine which row of the
            snmpProxyTable to use for forwarding received messages."
       ::= { snmpProxyEntry 5 }
        

snmpProxySingleTargetOut OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "This object selects a management target defined in the snmpTargetAddrTable (in the SNMP-TARGET-MIB). The selected target is defined by an entry in the snmpTargetAddrTable whose index value (snmpTargetAddrName) is equal to this object.

snmpProxySingleTargetOut对象类型语法SNMPAdministring MAX-ACCESS read create STATUS current DESCRIPTION“此对象选择SNMPTargetADRDR表(在SNMP-target-MIB中)中定义的管理目标。所选目标由SNMPTargetADRDR表中索引值(SNMPTargetADRDName)等于此对象的条目定义。

            This object is only used when selection of a single
            target is required (i.e. when forwarding an incoming
            read or write request)."
       ::= { snmpProxyEntry 6 }
        
            This object is only used when selection of a single
            target is required (i.e. when forwarding an incoming
            read or write request)."
       ::= { snmpProxyEntry 6 }
        

snmpProxyMultipleTargetOut OBJECT-TYPE SYNTAX SnmpTagValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object selects a set of management targets defined in the snmpTargetAddrTable (in the SNMP-TARGET-MIB).

SNMPProxyMultipleTaGetOut对象类型语法SnmpTagValue MAX-ACCESS读取创建状态当前描述“此对象选择SNMPTargetADRDR表(在SNMP-TARGET-MIB中)中定义的一组管理目标。

            This object is only used when selection of multiple
            targets is required (i.e. when forwarding an incoming
            notification)."
       ::= { snmpProxyEntry 7 }
        
            This object is only used when selection of multiple
            targets is required (i.e. when forwarding an incoming
            notification)."
       ::= { snmpProxyEntry 7 }
        

snmpProxyStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current

snmpProxyStorageType对象类型语法StorageType MAX-ACCESS读取创建状态当前

       DESCRIPTION
           "The storage type of this conceptual row."
       ::= { snmpProxyEntry 8 }
        
       DESCRIPTION
           "The storage type of this conceptual row."
       ::= { snmpProxyEntry 8 }
        

snmpProxyRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row.

snmpProxyRowStatus对象类型语法RowStatus MAX-ACCESS read create STATUS current DESCRIPTION“此概念行的状态。

To create a row in this table, a manager must set this object to either createAndGo(4) or createAndWait(5).

要在此表中创建行,管理器必须将此对象设置为createAndGo(4)或createAndWait(5)。

The following objects may not be modified while the value of this object is active(1): - snmpProxyType - snmpProxyContextEngineID - snmpProxyContextName - snmpProxyTargetParamsIn - snmpProxySingleTargetOut - snmpProxyMultipleTargetOut"

当此对象的值处于活动状态时,不能修改以下对象(1):-snmpProxyType-snmpProxyContextEngineID-snmpProxyContextName-snmpProxyTargetParamsIn-snmpProxySingleTargetOut-snmpProxyMultipleTargetOut”

       ::= { snmpProxyEntry 9 }
        
       ::= { snmpProxyEntry 9 }
        

-- -- -- Conformance information -- --

----一致性信息----

   snmpProxyCompliances OBJECT IDENTIFIER ::=
                                            { snmpProxyConformance 1 }
   snmpProxyGroups      OBJECT IDENTIFIER ::=
                                            { snmpProxyConformance 2 }
        
   snmpProxyCompliances OBJECT IDENTIFIER ::=
                                            { snmpProxyConformance 1 }
   snmpProxyGroups      OBJECT IDENTIFIER ::=
                                            { snmpProxyConformance 2 }
        

-- -- -- Compliance statements -- --

----合规性声明----

snmpProxyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities which include a proxy forwarding application."

snmpProxyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION“包含代理转发应用程序的SNMP实体的符合性声明。”

       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup,
                              snmpTargetResponseGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpProxyGroup }
       ::= { snmpProxyCompliances 1 }
        
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup,
                              snmpTargetResponseGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpProxyGroup }
       ::= { snmpProxyCompliances 1 }
        
   snmpProxyGroup OBJECT-GROUP
       OBJECTS {
           snmpProxyType,
           snmpProxyContextEngineID,
           snmpProxyContextName,
           snmpProxyTargetParamsIn,
           snmpProxySingleTargetOut,
           snmpProxyMultipleTargetOut,
           snmpProxyStorageType,
           snmpProxyRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing remote configuration of
            management target translation parameters for use by
            proxy forwarder applications."
        
   snmpProxyGroup OBJECT-GROUP
       OBJECTS {
           snmpProxyType,
           snmpProxyContextEngineID,
           snmpProxyContextName,
           snmpProxyTargetParamsIn,
           snmpProxySingleTargetOut,
           snmpProxyMultipleTargetOut,
           snmpProxyStorageType,
           snmpProxyRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing remote configuration of
            management target translation parameters for use by
            proxy forwarder applications."
        
       ::= { snmpProxyGroups 3 }
        
       ::= { snmpProxyGroups 3 }
        

END

终止

5. Identification of Management Targets in Notification Originators
5. 通知发起人中管理目标的识别

This section describes the mechanisms used by a notification originator application when using the MIB module described in this document to determine the set of management targets to be used when generating a notification.

本节描述了通知发起人应用程序在使用本文档中描述的MIB模块确定生成通知时要使用的管理目标集时所使用的机制。

A notification originator uses the snmpNotifyTable to find the management targets to be used for generating notifications. Each active entry in this table identifies zero or more entries in the snmpTargetAddrTable. Any entry in the snmpTargetAddrTable whose snmpTargetAddrTagList object contains a tag value which is equal to a value of snmpNotifyTag is selected by the snmpNotifyEntry which contains that instance of snmpNotifyTag. Note that a particular snmpTargetAddrEntry may be selected by multiple entries in the snmpNotifyTable, resulting in multiple notifications being generated using that snmpTargetAddrEntry.

通知发起人使用snmpNotifyTable查找用于生成通知的管理目标。此表中的每个活动条目标识SNMPTargetADRDR表中的零个或多个条目。snmpTargetAddrTable中的任何条目,如果其snmpTargetAddrTagList对象包含等于snmpNotifyTag值的标记值,则由包含该snmpNotifyTag实例的snmpNotifyEntry选择。请注意,snmpNotifyTable中的多个条目可以选择特定的SNMPTargetAddress,从而使用该SNMPTargetAddress生成多个通知。

Each snmpTargetAddrEntry contains a pointer to the snmpTargetParamsTable (snmpTargetAddrParams). This pointer selects a set of SNMP parameters to be used for generating notifications. If the selected entry in the snmpTargetParamsTable does not exist, the management target is not used to generate notifications.

每个SNMPTargetAddress包含一个指向snmpTargetParamsTable(snmpTargetAddrParams)的指针。此指针选择用于生成通知的一组SNMP参数。如果snmpTargetParamsTable中的所选条目不存在,则管理目标不用于生成通知。

The decision as to whether a notification should contain an SNMPv2- Trap or Inform PDU is determined by the value of the snmpNotifyType object. If the value of this object is trap(1), the notification should contain an SNMPv2-Trap PDU. If the value of this object is inform(2), then the notification should contain an Inform PDU, and the timeout time and number of retries for the Inform are the value of snmpTargetAddrTimeout and snmpTargetAddrRetryCount. Note that the exception to these rules is when the snmpTargetParamsMPModel object indicates SNMPv1. In this case, the notification is sent as a Trap if the value of snmpNotifyTargetType is either trap(1) or inform(2).

关于通知是否应该包含SNMPv2-Trap或Inform PDU的决定由snmpNotifyType对象的值确定。如果此对象的值为陷阱(1),则通知应包含SNMPv2陷阱PDU。如果此对象的值为inform(2),则通知应包含inform PDU,且inform的超时时间和重试次数为snmpTargetAddrTimeout和snmpTargetAddrRetryCount的值。请注意,这些规则的例外情况是snmpTargetParamsMPModel对象指示SNMPv1时。在这种情况下,如果snmpNotifyTargetType的值为Trap(1)或inform(2),则通知将作为陷阱发送。

6. Notification Filtering
6. 通知过滤

This section describes the mechanisms used by a notification originator application when using the MIB module described in this document to filter generation of notifications.

本节描述了通知发起人应用程序在使用本文档中描述的MIB模块过滤通知生成时使用的机制。

A notification originator uses the snmpNotifyFilterTable to filter notifications. A notification filter profile may be associated with a particular entry in the snmpTargetParamsTable. The associated filter profile is identified by an entry in the snmpNotifyFilterProfileTable whose index is equal to the index of the entry in the snmpTargetParamsTable. If no such entry exists in the snmpNotifyFilterProfileTable, no filtering is performed for that management target.

通知发起人使用snmpNotifyFilterTable筛选通知。通知筛选器配置文件可以与snmpTargetParamsTable中的特定条目相关联。关联的筛选器配置文件由SNMPNotifyFilterProfile表中的一个条目标识,该条目的索引等于snmpTargetParamsTable中该条目的索引。如果SNMPNotifyFilterProfile表中不存在此类条目,则不会对该管理目标执行筛选。

If such an entry does exist, the value of snmpNotifyFilterProfileName of the entry is compared with the corresponding portion of the index of all active entries in the snmpNotifyFilterTable. All such entries for which this comparison results in an exact match are used for filtering a notification generated using the associated snmpTargetParamsEntry. If no such entries exist, no filtering is performed, and a notification may be sent to the management target.

如果确实存在这样的条目,则将该条目的snmpNotifyFilterProfileName的值与snmpNotifyFilterTable中所有活动条目的索引的相应部分进行比较。此比较结果完全匹配的所有此类条目用于过滤使用关联snmpTargetParamsEntry生成的通知。如果不存在这样的条目,则不执行过滤,并且可以向管理目标发送通知。

Otherwise, if matching entries do exist, a notification may be sent if the NOTIFICATION-TYPE OBJECT IDENTIFIER of the notification (this is the value of the element of the variable bindings whose name is snmpTrapOID.0, i.e., the second variable binding), and all of the object instances to be included in the variable-bindings of the notification, are not specifically excluded by the matching entries.

否则,如果确实存在匹配项,则如果通知的通知类型对象标识符(这是名称为snmpTrapOID.0的变量绑定元素的值,即第二个变量绑定)以及要包含在通知的变量绑定中的所有对象实例,未被匹配条目明确排除。

Each set of snmpNotifyFilterTable entries is divided into two collections of filter subtrees: the included filter subtrees, and the excluded filter subtrees. The snmpNotifyFilterType object defines the collection to which each matching entry belongs.

每组snmpNotifyFilterTable条目分为两个筛选器子树集合:包含的筛选器子树和排除的筛选器子树。snmpNotifyFilterType对象定义每个匹配项所属的集合。

To determine whether a particular notification name or object instance is excluded by the set of matching entries, compare the notification name's or object instance's OBJECT IDENTIFIER with each of the matching entries. If none match, then the notification name or object instance is considered excluded, and the notification should not be sent to this management target. If one or more match, then the notification name or object instance is included or excluded, according to the value of snmpNotifyFilterType in the entry whose value of snmpNotifyFilterSubtree has the most sub-identifiers. If multiple entries match and have the same number of sub-identifiers, then the lexicographically greatest instance of snmpNotifyFilterType among those which match determines the inclusion or exclusion.

要确定特定通知名称或对象实例是否被匹配项集排除,请将通知名称或对象实例的对象标识符与每个匹配项进行比较。如果不匹配,则通知名称或对象实例被视为已排除,并且不应将通知发送到此管理目标。如果有一个或多个匹配项,则根据snmpNotifyFilterType的值(其snmpNotifyFilterSubtree的值具有最多子标识符)中的snmpNotifyFilterType的值,包含或排除通知名称或对象实例。如果多个条目匹配并且具有相同数量的子标识符,则匹配的条目中snmpNotifyFilterType的词典编纂最大实例将确定包含或排除。

A notification name's or object instance's OBJECT IDENTIFIER X matches an entry in the snmpNotifyFilterTable when the number of sub-identifiers in X is at least as many as in the value of snmpNotifyFilterSubtree for the entry, and each sub-identifier in the value of snmpNotifyFilterSubtree matches its corresponding sub-identifier in X. Two sub-identifiers match either if the corresponding bit of snmpNotifyFilterMask is zero (the 'wild card' value), or if the two sub-identifiers are equal.

当通知名称或对象实例的对象标识符X中的子标识符的数量至少与条目的snmpNotifyFilterTable的值相同时,通知名称或对象实例的对象标识符X与snmpNotifyFilterTable中的条目匹配,并且snmpNotifyFilterSubtree的值中的每个子标识符与X中对应的子标识符匹配。如果snmpNotifyFilterMask的对应位为零(“通配符”值),或者如果两个子标识符相等,则两个子标识符匹配。

7. Management Target Translation in Proxy Forwarder Applications
7. 代理转发器应用中的管理目标转换

This section describes the mechanisms used by a proxy forwarder application when using the MIB module described in this document to translate incoming management target information into outgoing management target information for the purpose of forwarding messages. There are actually two mechanisms a proxy forwarder may use, one for forwarding request messages, and one for forwarding notification messages.

本节介绍代理转发器应用程序在使用本文档中描述的MIB模块将传入管理目标信息转换为传出管理目标信息以转发消息时使用的机制。代理转发器实际上可以使用两种机制,一种用于转发请求消息,另一种用于转发通知消息。

7.1. Management Target Translation for Request Forwarding
7.1. 请求转发的管理目标转换

When forwarding request messages, the proxy forwarder will select a single entry in the snmpProxyTable. To select this entry, it will perform the following comparisons:

转发请求消息时,代理转发器将在snmpProxyTable中选择一个条目。要选择此条目,它将执行以下比较:

- The snmpProxyType must be read(1) if the request is a Get, GetNext, or GetBulk request. The snmpProxyType must be write(2) if the request is a Set request.

- 如果请求是Get、GetNext或GetBulk请求,则必须读取(1)snmpProxyType。如果请求是Set请求,则snmpProxyType必须为write(2)。

- The contextEngineId must equal the snmpProxyContextEngineID object.

- contextEngineId必须等于snmpProxyContextEngineID对象。

- If the snmpProxyContextName object is supported, it must equal the contextName.

- 如果支持snmpProxyContextName对象,则它必须等于contextName。

- The snmpProxyTargetParamsIn object identifies an entry in the snmpTargetParamsTable. The messageProcessingModel, securityLevel, security model, and securityName must match the values of snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, and snmpTargetParamsSecurityLevel of the identified entry in the snmpTargetParamsTable.

- snmpProxyTargetParamsIn对象标识snmpTargetParamsTable中的条目。messageProcessingModel、securityLevel、security model和securityName必须与SNMPTargetParamsPModel、snmpTargetParamsSecurityModel、snmpTargetParamsSecurityName和snmpTargetParamsSecurityLevel中标识的条目的值相匹配。

There may be multiple entries in the snmpProxyTable for which these comparisons succeed. The entry whose snmpProxyName has the lexicographically smallest value and for which the comparisons succeed will be selected by the proxy forwarder.

snmpProxyTable中可能有多个条目可以成功进行这些比较。代理转发器将选择snmpProxyName的值按字典顺序最小且比较成功的条目。

The outgoing management target information is identified by the value of the snmpProxySingleTargetOut object of the selected entry. This object identifies an entry in the snmpTargetAddrTable. The identified entry in the snmpTargetAddrTable also contains a reference to the snmpTargetParamsTable (snmpTargetAddrParams). If either the identified entry in the snmpTargetAddrTable does not exist, or the identified entry in the snmpTargetParamsTable does not exist, then this snmpProxyEntry does not identify valid forwarding information, and the proxy forwarder should attempt to identify another row.

传出管理目标信息由所选条目的snmpProxySingleTargetOut对象的值标识。此对象标识SNMPTargetADRDR表中的一个条目。snmpTargetAddrTable中标识的条目还包含对snmpTargetParamsTable(snmpTargetAddrParams)的引用。如果SNMPTargetAddR表中标识的条目不存在,或者snmpTargetParamsTable中标识的条目不存在,则此snmpProxyEntry不标识有效的转发信息,代理转发器应尝试标识另一行。

If there is no entry in the snmpProxyTable for which all of the conditions above may be met, then there is no appropriate forwarding information, and the proxy forwarder should take appropriate actions.

如果snmpProxyTable中没有满足上述所有条件的条目,则不存在适当的转发信息,代理转发器应采取适当的措施。

Otherwise, The snmpTargetAddrTDomain, snmpTargetAddrTAddress, snmpTargetAddrTimeout, and snmpTargetRetryCount of the identified snmpTargetAddrEntry, and the snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, and snmpTargetParamsSecurityLevel of the identified snmpTargetParamsEntry are used as the destination management target.

否则,识别的SNMPTargetAddress的SNMPTargetAddress、SNMPTargetAddress、SNMPTargetAddress和SNMPTargetRetry计数,以及SNMPTargetParamsPMModel、snmpTargetParamsSecurityModel、snmpTargetParamsSecurityName、,将识别出的snmpTargetParamsEntry的snmpTargetParamsSecurityLevel用作目的地管理目标。

7.2. Management Target Translation for Notification Forwarding
7.2. 通知转发的管理目标转换

When forwarding notification messages, the proxy forwarder will select multiple entries in the snmpProxyTable. To select these entries, it will perform the following comparisons:

转发通知消息时,代理转发器将在snmpProxyTable中选择多个条目。要选择这些条目,它将执行以下比较:

- The snmpProxyType must be trap(3) if the notification is a Trap. The snmpProxyType must be inform(4) if the request is an Inform.

- 如果通知是陷阱,则snmpProxyType必须是陷阱(3)。如果请求是通知,则snmpProxyType必须是通知(4)。

- The contextEngineId must equal the snmpProxyContextEngineID object.

- contextEngineId必须等于snmpProxyContextEngineID对象。

- If the snmpProxyContextName object is supported, it must equal the contextName.

- 如果支持snmpProxyContextName对象,则它必须等于contextName。

- The snmpProxyTargetParamsIn object identifies an entry in the snmpTargetParamsTable. The messageProcessingModel, securityLevel, security model, and securityName must match the values of snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, and snmpTargetParamsSecurityLevel of the identified entry in the snmpTargetParamsTable.

- snmpProxyTargetParamsIn对象标识snmpTargetParamsTable中的条目。messageProcessingModel、securityLevel、security model和securityName必须与SNMPTargetParamsPModel、snmpTargetParamsSecurityModel、snmpTargetParamsSecurityName和snmpTargetParamsSecurityLevel中标识的条目的值相匹配。

All entries for which these conditions are met are selected. The snmpProxyMultipleTargetOut object of each such entry is used to select a set of entries in the snmpTargetAddrTable. Any snmpTargetAddrEntry whose snmpTargetAddrTagList object contains a tag value equal to the value of snmpProxyMultipleTargetOut, and whose snmpTargetAddrParams object references an existing entry in the snmpTargetParamsTable, is selected as a destination for the forwarded notification.

将选择满足这些条件的所有条目。每个这样的条目的snmpProxyMultipleTargetOut对象用于选择SNMPTargetADRDR表中的一组条目。任何SNMPTargetADRDTagList对象包含等于SNMPProxyMultipleTagGetOut值的标记值,且其snmpTargetAddrParams对象引用snmpTargetParamsTable中的现有条目的snmpTargetAddrTagList都将被选为转发通知的目标。

8. Intellectual Property
8. 知识产权

The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat.

IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何努力来确定任何此类权利。有关IETF在标准跟踪和标准相关文件中权利的程序信息,请参见BCP-11。可从IETF秘书处获得可供发布的权利声明副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果。

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.

IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涉及实施本标准所需技术的专有权利。请将信息发送给IETF执行董事。

9. Acknowledgments
9. 致谢

This document is the result of the efforts of the SNMPv3 Working Group. Some special thanks are in order to the following SNMPv3 WG members:

本文件是SNMPv3工作组努力的结果。特别感谢以下SNMPv3工作组成员:

Dave Battle (SNMP Research, Inc.) Uri Blumenthal (IBM T.J. Watson Research Center) Jeff Case (SNMP Research, Inc.) John Curran (BBN) T. Max Devlin (Hi-TECH Connections) John Flick (Hewlett Packard) David Harrington (Cabletron Systems Inc.) N.C. Hien (IBM T.J. Watson Research Center) Dave Levi (SNMP Research, Inc.) Louis A Mamakos (UUNET Technologies Inc.) Paul Meyer (Secure Computing Corporation) Keith McCloghrie (Cisco Systems) Russ Mundy (Trusted Information Systems, Inc.) Bob Natale (ACE*COMM Corporation) Mike O'Dell (UUNET Technologies Inc.) Dave Perkins (DeskTalk) Peter Polkinghorne (Brunel University) Randy Presuhn (BMC Software, Inc.) David Reid (SNMP Research, Inc.) Shawn Routhier (Epilogue) Juergen Schoenwaelder (TU Braunschweig) Bob Stewart (Cisco Systems) Bert Wijnen (IBM T.J. Watson Research Center)

Dave Battle(SNMP研究公司)Uri Blumenthal(IBM T.J.Watson研究中心)Jeff Case(SNMP研究公司)John Curran(BBN)T.Max Devlin(高科技连接)John Flick(惠普)David Harrington(Cabletron Systems Inc.)N.C.Hien(IBM T.J.Watson研究中心)Dave Levi(SNMP研究公司)Louis A Mamakos(UUnit Technologies Inc.)保罗·迈耶(安全计算公司)基思·麦克洛赫里(思科系统公司)罗斯·蒙迪(可信信息系统公司)鲍勃·纳塔莱(ACE*通信公司)迈克·奥戴尔(UUnited Technologies Inc.)戴夫·珀金斯(DeskTalk)彼得·波尔金霍恩(布鲁内尔大学)兰迪·普雷森(BMC软件公司)大卫·里德(SNMP研究公司)肖恩·劳希尔(结语)尤尔根·舍恩瓦埃尔德(图布伦瑞克)鲍勃·斯图尔特(思科系统)伯特·维恩(IBM T.J.沃森研究中心)

The document is based on recommendations of the IETF Security and Administrative Framework Evolution for SNMP Advisory Team. Members of that Advisory Team were:

本文件基于IETF安全和管理框架演进SNMP咨询团队的建议。该咨询小组的成员是:

David Harrington (Cabletron Systems Inc.) Jeff Johnson (Cisco Systems) David Levi (SNMP Research Inc.) John Linn (Openvision) Russ Mundy (Trusted Information Systems) chair Shawn Routhier (Epilogue) Glenn Waters (Nortel) Bert Wijnen (IBM T. J. Watson Research Center)

David Harrington(Cabletron Systems Inc.)Jeff Johnson(Cisco Systems)David Levi(SNMP Research Inc.)John Linn(Openvision)Russ Mundy(Trusted Information Systems)Shawn Routhier(尾声)Glenn Waters(Nortel)Bert Wijnen(IBM T.J.Watson研究中心)

As recommended by the Advisory Team and the SNMPv3 Working Group Charter, the design incorporates as much as practical from previous RFCs and drafts. As a result, special thanks are due to the authors of previous designs known as SNMPv2u and SNMPv2*:

根据咨询小组和SNMPv3工作组章程的建议,该设计尽可能多地结合了先前RFC和草案中的实际内容。因此,我们特别感谢以前设计的SNMPv2u和SNMPv2*的作者:

Jeff Case (SNMP Research, Inc.) David Harrington (Cabletron Systems Inc.) David Levi (SNMP Research, Inc.) Keith McCloghrie (Cisco Systems) Brian O'Keefe (Hewlett Packard) Marshall T. Rose (Dover Beach Consulting) Jon Saperia (BGS Systems Inc.) Steve Waldbusser (International Network Services) Glenn W. Waters (Bell-Northern Research Ltd.)

Jeff Case(SNMP Research,Inc.)David Harrington(Cabletron Systems Inc.)David Levi(SNMP Research,Inc.)Keith McCloghrie(Cisco Systems)Brian O'Keefe(惠普)Marshall T.Rose(多佛海滩咨询)Jon Saperia(BGS Systems Inc.)Steve Waldbusser(国际网络服务)Glenn W.Waters(贝尔北方研究有限公司)

10. Security Considerations
10. 安全考虑

The SNMP applications described in this document typically have direct access to MIB instrumentation. Thus, it is very important that these applications be strict in their application of access control as described in this document.

本文档中描述的SNMP应用程序通常可以直接访问MIB检测。因此,这些应用程序必须严格执行本文档中描述的访问控制。

In addition, there may be some types of notification generator applications which, rather than accessing MIB instrumentation using access control, will obtain MIB information through other means (such as from a command line). The implementors and users of such applications must be responsible for not divulging MIB information that normally would be inaccessible due to access control.

此外,可能存在一些类型的通知生成器应用程序,它们将通过其他方式(例如从命令行)获取MIB信息,而不是使用访问控制访问MIB工具。此类应用程序的实现者和用户必须负责不泄露通常由于访问控制而无法访问的MIB信息。

11. References
11. 工具书类

[RFC1157] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network Management Protocol", RFC 1157, May 1990.

[RFC1157]Case,J.,Fedor,M.,Schoffstall,M.和J.Davin,“简单网络管理协议”,RFC 1157,1990年5月。

[RFC1213] McCloghrie, K. and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213, March 1991.

[RFC1213]McCloghrie,K.和M.Rose,编辑,“基于TCP/IP的互联网网络管理的管理信息库:MIB-II”,STD 17,RFC 1213,1991年3月。

[RFC1902] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996.

[RFC1902]Case,J.,McCloghrie,K.,Rose,M.和S.Waldbusser,“简单网络管理协议(SNMPv2)版本2的管理信息结构”,RFC 1902,1996年1月。

[RFC1903] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1903, January 1996.

[RFC1903]Case,J.,McCloghrie,K.,Rose,M.和S.Waldbusser,“简单网络管理协议(SNMPv2)版本2的文本约定”,RFC 1903,1996年1月。

[RFC1905] 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.

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

[RFC1907] 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.

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

[RFC1908] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Coexistence between Version 1 and Version 2 of the Internet-standard Network Management Framework", RFC 1908, January 1996.

[RFC1908]SNMPv2工作组,Case,J.,McCloghrie,K.,Rose,M.,和S.Waldbusser,“互联网标准网络管理框架版本1和版本2之间的共存”,RFC 1908,1996年1月。

[RFC2261] Harrington, D., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2261, January 1998.

[RFC2261]Harrington,D.和B.Wijnen,“描述SNMP管理框架的体系结构”,RFC 2261,1998年1月。

[RFC2262] Case, J., Harrington, D., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2262, January 1998.

[RFC2262]Case,J.,Harrington,D.,和B.Wijnen,“简单网络管理协议(SNMP)的消息处理和调度”,RFC 2262,1998年1月。

[RFC2265] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model for the Simple Network Management Protocol (SNMP)", RFC 2265, January 1998.

[RFC2265]Wijnen,B.,Presuhn,R.,和K.McCloghrie,“简单网络管理协议(SNMP)基于视图的访问控制模型”,RFC 2265,1998年1月。

12. Editors' Addresses
12. 编辑地址

David B. Levi SNMP Research, Inc. 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 U.S.A.

David B.Levi SNMP Research,Inc.美国田纳西州诺克斯维尔金伯利高地路3001号,邮编37920-9716。

   Phone: +1 423 573 1434
   EMail: levi@snmp.com
        
   Phone: +1 423 573 1434
   EMail: levi@snmp.com
        

Paul Meyer Secure Computing Corporation 2675 Long Lake Road Roseville, MN 55113 U.S.A.

美国明尼苏达州罗斯维尔龙湖路2675号保罗·迈耶安全计算公司,邮编:55113。

   Phone: +1 612 628 1592
   EMail: paul_meyer@securecomputing.com
        
   Phone: +1 612 628 1592
   EMail: paul_meyer@securecomputing.com
        

Bob Stewart Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 U.S.A.

Bob Stewart Cisco Systems,Inc.美国加利福尼亚州圣何塞西塔斯曼大道170号,邮编95134-1706。

   Phone: +1 603 654 6923
   EMail: bstewart@cisco.com
        
   Phone: +1 603 654 6923
   EMail: bstewart@cisco.com
        

APPENDIX A - Trap Configuration Example

附录A-陷阱配置示例

This section describes an example configuration for a Notification Generator application which implements the snmpNotifyBasicCompliance level. The example configuration specifies that the Notification Generator should send notifications to 3 separate managers, using authentication and no privacy for the first 2 managers, and using both authentication and privacy for the third manager.

本节介绍实现snmpNotifyBasicCompliance级别的通知生成器应用程序的示例配置。示例配置指定通知生成器应向3个单独的管理器发送通知,前2个管理器使用身份验证和无隐私,第三个管理器使用身份验证和隐私。

The configuration consists of three rows in the snmpTargetAddrTable, and two rows in the snmpTargetTable.

该配置由snmpTargetTable中的三行和snmpTargetTable中的两行组成。

snmpTargetAddrName SnmpAdminString, snmpTargetAddrTDomain TDomain, snmpTargetAddrTAddress TAddress, snmpTargetAddrTimeout TimeInterval, snmpTargetAddrRetryCount Integer32, snmpTargetAddrTagList SnmpAdminString, snmpTargetAddrParams SnmpAdminString, snmpTargetAddrStorageType StorageType, snmpTargetAddrRowStatus RowStatus

snmpTargetAddrName SNMPAdministring,snmpTargetAddrTDomain TDomain,SNMPTargetADDRTADDAddress,SNMPTargetADDRTimeInterval,snmpTargetAddrRetryCount整数32,snmpTargetAddrTagList SNMPAdministring,snmpTargetAddrParams SNMPAdministring,snmpTargetAddrStorageType StorageType,snmpTargetAddrRowStatus RowStatus行状态

* snmpTargetAddrName = "addr1" snmpTargetAddrTDomain = snmpUDPDomain snmpTargetAddrTAddress = 128.1.2.3:162 snmpTargetAddrTagList = "group1" snmpTargetAddrParams = "AuthNoPriv joe" snmpTargetAddrStorageType = readOnly(5) snmpTargetAddrRowStatus = active(1)

* snmpTargetAddrName=“addr1”snmptargetaddrdrdtdomain=snmppudpodomain snmptargetaddrdrtaddress=128.1.2.3:162 snmptargetaddrdrttaglist=“group1”snmptargetaddrrams=“AuthNoPriv joe”snmptargetaddrdstoragetype=readOnly(5)snmpTargetAddrRowStatus=active(1)

* snmpTargetAddrName = "addr2" snmpTargetAddrTDomain = snmpUDPDomain snmpTargetAddrTAddress = 128.2.4.6:162 snmpTargetAddrTagList = "group1" snmpTargetAddrParams = "AuthNoPriv-joe" snmpTargetAddrStorageType = readOnly(5) snmpTargetAddrRowStatus = active(1)

* snmptargetadrname=“addr2”snmptargetadrdrdtdomain=snmppudpodomain snmptargetadrdrtaddress=128.2.4.6:162 snmptargetadrdtaglist=“group1”snmptargetadrdrrams=“AuthNoPriv joe”snmptargetadrdstoragetype=readOnly(5)snmptargetadrdrowstatus=active(1)

* snmpTargetAddrName = "addr3" snmpTargetAddrTDomain = snmpUDPDomain snmpTargetAddrTAddress = 128.1.2.3:162 snmpTargetAddrTagList = "group2" snmpTargetAddrParams = "AuthPriv-bob" snmpTargetAddrStorageType = readOnly(5) snmpTargetAddrRowStatus = active(1)

* snmptargetadrname=“addr3”snmptargetadrdrdtdomain=snmppudpodomain snmptargetadrdrtaddress=128.1.2.3:162 snmptargetadrdrttaglist=“group2”snmptargetadrdrrams=“AuthPriv bob”snmptargetadrdstoragetype=readOnly(5)snmptargetadrdrowstatus=active(1)

* snmpTargetParamsName = "AuthNoPriv-joe" snmpTargetParamsMPModel = 3

* snmptagetparamsname=“AuthNoPriv joe”snmptagetparamsmpmodel=3

          snmpTargetParamsSecurityModel          = 3 (USM)
          snmpTargetParamsSecurityName           = "joe"
          snmpTargetParamsSecurityLevel          = authNoPriv(2)
          snmpTargetParamsStorageType            = readOnly(5)
          snmpTargetParamsRowStatus              = active(1)
        
          snmpTargetParamsSecurityModel          = 3 (USM)
          snmpTargetParamsSecurityName           = "joe"
          snmpTargetParamsSecurityLevel          = authNoPriv(2)
          snmpTargetParamsStorageType            = readOnly(5)
          snmpTargetParamsRowStatus              = active(1)
        

* snmpTargetParamsName = "AuthPriv-bob" snmpTargetParamsMPModel = 3 snmpTargetParamsSecurityModel = 3 (USM) snmpTargetParamsSecurityName = "bob" snmpTargetParamsSecurityLevel = authPriv(3) snmpTargetParamsStorageType = readOnly(5) snmpTargetParamsRowStatus = active(1)

* snmpTargetParamsName=“AuthPriv bob”SNMPTargetParamsSMPModel=3 snmpTargetParamsSecurityModel=3(USM)snmpTargetParamsSecurityName=“bob”snmpTargetParamsSecurityLevel=AuthPriv(3)snmpTargetParamsStorageType=readOnly(5)snmpTargetParamsRowStatus=active(1)

* snmpNotifyName = "group1" snmpNotifyTag = "group1" snmpNotifyType = trap(1) snmpNotifyStorageType = readOnly(5) snmpNotifyRowStatus = active(1)

* snmpNotifyName=“group1”snmpNotifyTag=“group1”snmpNotifyType=trap(1)snmpNotifyStorageType=readOnly(5)snmpNotifyRowStatus=active(1)

* snmpNotifyName = "group2" snmpNotifyTag = "group2" snmpNotifyType = trap(1) snmpNotifyStorageType = readOnly(5) snmpNotifyRowStatus = active(1)

* snmpNotifyName=“group2”snmpNotifyTag=“group2”snmpNotifyType=trap(1)snmpNotifyStorageType=readOnly(5)snmpNotifyRowStatus=active(1)

These entries define two groups of management targets. The first group contains two management targets:

这些条目定义了两组管理目标。第一组包含两个管理目标:

                                first target      second target
                                ------------      -------------
       messageProcessingModel   SNMPv3            SNMPv3
                securityModel   3 (USM)           3 (USM)
                 securityName   "joe"             "joe"
                securityLevel   authNoPriv(2)     authNoPriv(2)
              transportDomain   snmpUDPDomain     snmpUDPDomain
             transportAddress   128.1.2.3:162     128.2.4.6:162
        
                                first target      second target
                                ------------      -------------
       messageProcessingModel   SNMPv3            SNMPv3
                securityModel   3 (USM)           3 (USM)
                 securityName   "joe"             "joe"
                securityLevel   authNoPriv(2)     authNoPriv(2)
              transportDomain   snmpUDPDomain     snmpUDPDomain
             transportAddress   128.1.2.3:162     128.2.4.6:162
        

And the second group contains a single management target:

第二组包含一个管理目标:

messageProcessingModel SNMPv3 securityLevel authPriv(3) securityModel 3 (USM) securityName "bob" transportDomain snmpUDPDomain transportAddress 128.1.5.9:162

messageProcessingModel SNMPv3 securityLevel authPriv(3)securityModel 3(USM)securityName“bob”传输域snmpUDPDomain传输地址128.1.5.9:162

B. Full Copyright Statement

B.完整的版权声明

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.

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