Network Working Group                                            D. Levi
Request for Comments: 3413                               Nortel Networks
STD: 62                                                         P. Meyer
Obsoletes: 2573                             Secure Computing Corporation
Category: Standards Track                                     B. Stewart
                                                                 Retired
                                                           December 2002
        
Network Working Group                                            D. Levi
Request for Comments: 3413                               Nortel Networks
STD: 62                                                         P. Meyer
Obsoletes: 2573                             Secure Computing Corporation
Category: Standards Track                                     B. Stewart
                                                                 Retired
                                                           December 2002
        

Simple Network Management Protocol (SNMP) Applications

简单网络管理协议(SNMP)应用程序

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)。本备忘录的分发不受限制。

Abstract

摘要

This document describes five types of Simple Network Management Protocol (SNMP) applications which make use of an SNMP engine as described in STD 62, RFC 3411. The types of application described are Command Generators, Command Responders, Notification Originators, Notification Receivers, and Proxy Forwarders.

本文档描述了五种类型的简单网络管理协议(SNMP)应用程序,它们使用STD 62、RFC 3411中所述的SNMP引擎。所描述的应用程序类型包括命令生成器、命令响应器、通知发起者、通知接收者和代理转发器。

This document also defines Management Information Base (MIB) modules for specifying targets of management operations, for notification filtering, and for proxy forwarding. This document obsoletes RFC 2573.

本文档还定义了管理信息库(MIB)模块,用于指定管理操作的目标、通知筛选和代理转发。本文件淘汰RFC 2573。

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 ...........................    4
   2       Management Targets .....................................    5
   3       Elements Of Procedure ..................................    6
   3.1     Command Generator Applications .........................    6
   3.2     Command Responder Applications .........................    9
   3.3     Notification Originator Applications ...................   14
   3.4     Notification Receiver Applications .....................   17
   3.5     Proxy Forwarder Applications ...........................   19
   3.5.1   Request Forwarding .....................................   21
        
   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 ...........................    4
   2       Management Targets .....................................    5
   3       Elements Of Procedure ..................................    6
   3.1     Command Generator Applications .........................    6
   3.2     Command Responder Applications .........................    9
   3.3     Notification Originator Applications ...................   14
   3.4     Notification Receiver Applications .....................   17
   3.5     Proxy Forwarder Applications ...........................   19
   3.5.1   Request Forwarding .....................................   21
        
   3.5.1.1 Processing an Incoming Request .........................   21
   3.5.1.2 Processing an Incoming Response ........................   24
   3.5.1.3 Processing an Incoming Internal-Class PDU ..............   25
   3.5.2   Notification Forwarding ................................   26
   4       The Structure of the MIB Modules .......................   29
   4.1     The Management Target MIB Module .......................   29
   4.1.1   Tag Lists .....................,........................   29
   4.1.2   Definitions ..................,.........................   30
   4.2     The Notification MIB Module ............................   44
   4.2.1   Definitions ............................................   44
   4.3     The Proxy MIB Module ...................................   56
   4.3.1   Definitions ............................................   57
   5       Identification of Management Targets in
           Notification Originators ...............................   63
   6       Notification Filtering .................................   64
   7       Management Target Translation in
           Proxy Forwarder Applications ...........................   65
   7.1     Management Target Translation for
           Request Forwarding .....................................   65
   7.2     Management Target Translation for
           Notification Forwarding ................................   66
   8       Intellectual Property ..................................   67
   9       Acknowledgments ........................................   67
   10      Security Considerations ................................   69
   11      References .............................................   69
   A.      Trap Configuration Example .............................   71
           Editors' Addresses .....................................   73
           Full Copyright Statement ...............................   74
        
   3.5.1.1 Processing an Incoming Request .........................   21
   3.5.1.2 Processing an Incoming Response ........................   24
   3.5.1.3 Processing an Incoming Internal-Class PDU ..............   25
   3.5.2   Notification Forwarding ................................   26
   4       The Structure of the MIB Modules .......................   29
   4.1     The Management Target MIB Module .......................   29
   4.1.1   Tag Lists .....................,........................   29
   4.1.2   Definitions ..................,.........................   30
   4.2     The Notification MIB Module ............................   44
   4.2.1   Definitions ............................................   44
   4.3     The Proxy MIB Module ...................................   56
   4.3.1   Definitions ............................................   57
   5       Identification of Management Targets in
           Notification Originators ...............................   63
   6       Notification Filtering .................................   64
   7       Management Target Translation in
           Proxy Forwarder Applications ...........................   65
   7.1     Management Target Translation for
           Request Forwarding .....................................   65
   7.2     Management Target Translation for
           Notification Forwarding ................................   66
   8       Intellectual Property ..................................   67
   9       Acknowledgments ........................................   67
   10      Security Considerations ................................   69
   11      References .............................................   69
   A.      Trap Configuration Example .............................   71
           Editors' Addresses .....................................   73
           Full Copyright Statement ...............................   74
        
1. Overview
1. 概述

This document describes five types of SNMP applications:

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

- Applications which initiate SNMP Read-Class, and/or Write-Class requests, called 'command generators.'

- 启动SNMP读类和/或写类请求的应用程序,称为“命令生成器”

- Applications which respond to SNMP Read-Class, and/or Write-Class requests, called 'command responders.'

- 响应SNMP读类和/或写类请求的应用程序称为“命令响应程序”

- Applications which generate SNMP Notification-Class PDUs, called 'notification originators.'

- 生成SNMP通知类PDU(称为“通知发起人”)的应用程序

- Applications which receive SNMP Notification-Class PDUs, called 'notification receivers.'

- 接收SNMP通知类PDU的应用程序,称为“通知接收器”

- Applications which forward SNMP messages, called 'proxy forwarders.'

- 转发SNMP消息的应用程序,称为“代理转发器”

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引擎实际上可能与命令生成器和命令响应程序应用程序都关联。

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC2119]中所述进行解释。

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

A command generator application initiates SNMP Read-Class and/or Write-Class requests, and processes responses to requests which it generated.

命令生成器应用程序启动SNMP读类和/或写类请求,并处理对其生成的请求的响应。

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

A command responder application receives SNMP Read-Class and/or Write-Class 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读类和/或写类请求,接收请求中的contextEngineID等于接收请求的本地引擎的contextEngineID。命令响应程序应用程序将使用访问控制执行适当的协议操作,并将生成一条响应消息发送给请求的发起人。

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

A notification originator application conceptually monitors a system for particular events or conditions, and generates Notification-Class 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. Note that Notification-Class PDUs generated by a notification originator may be either Confirmed-Class or Unconfirmed-Class PDU types.

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

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

A notification receiver application listens for notification messages, and generates response messages when a message containing a Confirmed-Class PDU is received.

通知接收器应用程序侦听通知消息,并在接收到包含确认类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 (3.5, 4.3, and 7) may be skipped for implementations that do not include a proxy forwarder application.

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

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 messages without regard for what managed objects are contained within those messages. This definition is most closely related to the first definition above. Note, however, that in the SNMP architecture [RFC3411], a proxy forwarder is actually an application, and need not be associated with what is traditionally thought of as an SNMP agent.

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

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

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

- a proxy forwarder application forwards SNMP messages 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引擎,而与正在访问的特定托管对象类型无关,并将对此类先前转发消息的响应转发回接收原始消息的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 Confirmed Notification-Class messages, the associated response is forwarded when it is received from the target to which the Notification-Class message was forwarded, rather than generating a response immediately when the Notification-Class message 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 [RFC3411].

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

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 to be generated.

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

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

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

- The contextEngineID specifies the location of the management information it is requesting. Note that unless the request is being sent to a proxy, this value will usually be equal to the snmpEngineID value of the engine to which the request is being sent.

- contextEngineID指定其请求的管理信息的位置。请注意,除非将请求发送到代理,否则该值通常等于将请求发送到的引擎的snmpEngineID值。

- The contextName specifies 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 Read-Class and/or Write-Class PDU.

- pduType表示读类和/或写类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 Read-Class and/or Write-Class PDU.

- pduType表示读类和/或写类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
     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
        
   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
        

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) Any PDU type specific parameters are extracted from the PDU and saved (for example, if the PDU type is an SNMPv2 GetBulk PDU, the non-repeaters and max-repetitions values are extracted).

(3) 从PDU中提取并保存任何特定于PDU类型的参数(例如,如果PDU类型是SNMPv2 GetBulk PDU,则提取非中继器和最大重复次数值)。

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

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

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

(5) 在由contextName命名的上下文中,针对相关MIB视图执行由PDU类型表示的管理操作(对于SNMPv2 PDU类型,根据[RFC1905]中规定的过程执行操作)。相关的MIB视图由securityLevel、securityModel、contextName、securityName和PDU类型的类确定。要确定特定对象实例是否在相关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-Class or Write-Class 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 constructed using the values from the originally received PDU, but replacing the error-status with an authorizationError code, and error-index value of 0, and control is passed to step (6) below.

- 如果isAccessAllowed ASI返回noSuchView、noAccessEntry或noGroupName错误,则管理操作的处理将停止,将使用来自最初接收的PDU的值构造PDU值,但将错误状态替换为authorizationError code,错误索引值为0,并将控制权传递到下面的步骤(6)。

- If the isAccessAllowed ASI returns an otherError, processing of the management operation is halted, a different PDU value is constructed using the values from the originally received PDU, but replacing the error-status with a genError code and the error-index with the index of the failed variable binding, 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 for generation of a report message.

- 如果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 for generation of a report message.

- 如果由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的适当值。

Note that the text above describes situations where the snmpUnknownContexts counter is incremented, and where the snmpUnavailableContexts counter is incremented. The difference between these is that the snmpUnknownContexts counter is incremented when a request is received for a context which is unknown to the SNMP entity. The snmpUnavailableContexts counter is incremented when a request is received for a context which is known to the SNMP entity, but is currently unavailable. Determining when a context is unavailable is implementation specific, and some implementations may never encounter this situation, and so may never increment the snmpUnavailableContexts counter.

请注意,上面的文字描述了snmpUnknownContexts计数器递增和snmpUnavailableContexts计数器递增的情况。两者之间的区别在于,当接收到SNMP实体未知的上下文请求时,snmpUnknownContexts计数器将递增。当接收到SNMP实体已知但当前不可用的上下文请求时,snmpUnavailableContexts计数器将递增。确定上下文何时不可用是特定于实现的,一些实现可能永远不会遇到这种情况,因此可能永远不会增加snmpUnavailableContexts计数器。

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

A notification originator application generates SNMP messages containing Notification-Class PDUs (for example, SNMPv2-Trap PDUs or Inform PDUs). There is no requirement as to what specific types of Notification-Class PDUs a particular implementation must be capable of generating.

通知发起人应用程序生成包含通知类PDU(例如,SNMPv2陷阱PDU或通知PDU)的SNMP消息。对于特定实现必须能够生成哪些特定类型的通知类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 management targets to which the notification should be sent. The application must also determine, for each management target, what specific PDU type the notification message should contain, and if it is to contain a Confirmed-Class PDU, the number of retries and retransmission algorithm.

当通知发起人希望生成通知时,必须首先确定通知中要传达的信息存在于哪个上下文中,即必须确定contextEngineID和contextName。然后,它必须确定通知应发送到的管理目标集。对于每个管理目标,应用程序还必须确定通知消息应包含的特定PDU类型,如果要包含确认类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, except that the viewType indicates a Notification-Class operation. 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抽象服务接口,其方式与上一节中所述相同,只是viewType指示通知类操作。如果isAccessAllowed返回的状态信息不表示accessAllowed,则不会向管理目标发送通知。

(3) 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) is checked using the isAccessAllowed abstract service interface, using the same parameters used in the preceding step. If the statusInformation returned by isAccessAllowed does not indicate accessAllowed, the notification is not sent to the management target.

(3) 通知的通知类型对象标识符(这是名称为snmpTrapOID.0的变量绑定元素的值,即第二个变量绑定)使用isAccessAllowed抽象服务接口进行检查,使用与上一步相同的参数。如果isAccessAllowed返回的状态信息不表示accessAllowed,则不会向管理目标发送通知。

(4) A PDU is constructed using a locally unique request-id value, a PDU type as determined by the implementation, an error-status and error-index value of 0, and the variable-bindings supplied previously in step (2).

(4) PDU是使用本地唯一的请求id值、由实现确定的PDU类型、错误状态和错误索引值0以及前面在步骤(2)中提供的变量绑定构建的。

(5) If the notification contains an Unconfirmed-Class PDU, the Dispatcher is called using the following abstract service interface:

(5) 如果通知包含未确认的类PDU,则使用以下抽象服务接口调用Dispatcher:

       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 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 (4) above.

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

- The expectResponse argument indicates that no response is expected.

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

Otherwise,

否则

(6) If the notification contains a Confirmed-Class PDU, then:

(6) 如果通知包含已确认的类PDU,则:

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

a) 使用上述步骤(5)中所述的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. Note that some report indications might be considered a failure. Such report indications should be interpreted to mean that the acknowledgement of the notification has failed, and that steps a) through d) need not be repeated.

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

Responses to Confirmed-Class PDU notifications will be received via the processResponsePdu abstract service interface.

对已确认的类PDU通知的响应将通过processResponsePdu抽象服务接口接收。

To summarize, the steps that a notification originator follows when determining where to send a notification are:

总之,通知发起人在确定向何处发送通知时遵循的步骤包括:

- Determine the targets to which the notification should be sent.

- 确定通知应发送到的目标。

- Apply any required filtering to the list of targets.

- 对目标列表应用任何必需的筛选。

- Determine which targets are authorized to receive the notification.

- 确定授权哪些目标接收通知。

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 Unconfirmed-Class 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.

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

When an Unconfirmed-Class 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.

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

When a Confirmed-Class PDU is received, the notification receiver application follows the following procedure:

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

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

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

(2) A Response-Class 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指示未发生错误,应生成响应。

(4) After this, processing depends on the particular implementation.

(4) 在此之后,处理取决于特定的实现。

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 class of PDU type contained in a message. The four basic types of messages are:

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

- Those containing Read-Class or Write-Class PDU types (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 Notification-Class PDU types (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-Class PDU type. Forwarding of Response-Class PDUs always occurs as a result of receiving a response to a previously forwarded message.

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

- Those containing Internal-Class PDU types (for example, a Report PDU). Forwarding of Internal-Class PDU types always occurs as a result of receiving an Internal-Class PDU in response to a previously forwarded message.

- 包含内部类PDU类型的类(例如,报表PDU)。内部类PDU类型的转发总是在收到内部类PDU以响应先前转发的消息时发生。

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 Internal-Class PDU matches, and to forward the Internal-Class PDU back to the initiator of the request or notification.

对于第四种类型,代理转发器的角色是确定内部类PDU匹配的先前转发的请求或通知(如果有),并将内部类PDU转发回请求或通知的发起方。

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 and the outgoing SNMP version support different PDU versions, in which case the proxy forwarder may need to perform a translation on the PDU. (A method for performing such a translation is described in [RFC2576].)

(3) 构造了一个新的PDU。新PDU中应使用请求id的唯一值(该值将使后续响应消息与该请求关联)。新PDU的其余部分与接收到的PDU相同,除非传入的SNMP版本和传出的SNMP版本支持不同的PDU版本,在这种情况下,代理转发器可能需要在PDU上执行转换。(在[RFC2576]中描述了执行这种翻译的方法。)

(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 from the processPdu call.

- contextEngineID是来自processPdu调用的值。

- The contextName is the value from the processPdu call.

- contextName是来自processPdu调用的值。

- 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-Class 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-Class PDU, unless the incoming SNMP version and the outgoing SNMP version support different PDU versions, in which case the proxy forwarder may need to perform a translation on the PDU. (A method for performing such a translation is described in [RFC2576].)

(3) 使用原始转发请求(从缓存中提取)中的请求id值构造新的响应类PDU。所有其他值与接收到的响应类PDU中的值相同,除非传入SNMP版本和传出SNMP版本支持不同的PDU版本,在这种情况下,代理转发器可能需要在PDU上执行转换。(在[RFC2576]中描述了执行这种翻译的方法。)

(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 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 Internal-Class PDU
3.5.1.3. 处理传入的内部类PDU

A proxy forwarder follows the following procedure when an incoming Internal-Class PDU is received:

当接收到传入的内部类PDU时,代理转发器遵循以下过程:

(1) The incoming Internal-Class PDU 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 Internal-Class PDU is halted. Otherwise:

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

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

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

(3) If the original incoming management target information indicates an SNMP version which does not support Report PDUs, processing of the Internal-Class PDU is halted.

(3) 如果原始传入的管理目标信息指示不支持报告PDU的SNMP版本,则停止处理内部类PDU。

(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 contains values specific to the Internal-Class PDU type (for example, for a Report PDU, the statusInformation contains the contextEngineID, contextName, counter OID, and counter value received in the incoming Report PDU).

- statusInformation包含特定于内部类PDU类型的值(例如,对于报表PDU,statusInformation包含传入报表PDU中接收的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 an Unconfirmed-Class PDU, processing of the notification is halted. If appropriate outgoing management target information cannot be found and the notification was a Confirmed-Class PDU, the proxy forwarder increments the snmpProxyDrops object, and calls the Dispatcher using the returnResponsePdu abstract service interface. The parameters are:

(2) 如果找不到适当的传出管理目标信息,并且通知是未确认的类PDU,则停止处理通知。如果找不到适当的传出管理目标信息,并且通知是已确认的类PDU,则代理转发器将递增snmpProxyDrops对象,并使用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 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 value from the processPdu call.

- stateReference是来自processPdu调用的值。

- 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, nor to the value of the variable-binding containing snmpTrapOID.0.

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

- If the original notification contains a Confirmed-Class PDU, then any outgoing management targets for which the outgoing SNMP version does not support any PDU types that are both Notification-Class and Confirmed-Class PDUs will not be used when generating the forwarded notifications.

- 如果原始通知包含确认类PDU,则在生成转发通知时,将不使用传出SNMP版本不支持任何同时为通知类和确认类PDU的PDU类型的传出管理目标。

- If, for any of the outgoing management targets, the incoming SNMP version and the outgoing SNMP version support different PDU versions, the proxy forwarder may need to perform a translation on the PDU. (A method for performing such a translation is described in [RFC2576].)

- 如果对于任何传出管理目标,传入SNMP版本和传出SNMP版本支持不同的PDU版本,则代理转发器可能需要在PDU上执行转换。(在[RFC2576]中描述了执行这种翻译的方法。)

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

(4) 如果原始收到的通知包含未确认的类PDU,则通知的处理现在完成。否则,原始收到的通知必须包含已确认的类PDU,并继续处理。

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

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

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

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

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

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

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

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

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

(7) 使用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 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 value from the processPdu call.

- stateReference是来自processPdu调用的值。

- The statusInformation indicates that no error occurred and that a Response-Class 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 5.

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

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

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

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

- 第7节描述了管理目标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版本的信息以及向特定传输域和地址发送消息时要使用的安全信息。

The Management Target MIB is intended to provide a general-purpose mechanism for specifying transport address, and for specifying parameters of SNMP messages generated by an SNMP entity. It is used within this document for generation of notifications and for proxy forwarding. However, it may be used for other purposes. If another document makes use of this MIB, that document is responsible for specifying how it is used. For example, [RFC2576] uses this MIB for source address validation of SNMPv1 messages.

管理目标MIB旨在提供一种通用机制,用于指定传输地址和指定SNMP实体生成的SNMP消息的参数。它在本文档中用于生成通知和代理转发。但是,它可以用于其他目的。如果另一个文档使用此MIB,则该文档负责指定如何使用它。例如,[RFC2576]将此MIB用于SNMPv1消息的源地址验证。

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 (0x0A).

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

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

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

- a zero-length octet string representing an empty list, or

- 表示空列表的零长度八位字节字符串,或

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

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

- a list of tag values, separated by single delimiter characters.

- 标记值列表,由单个分隔符分隔。

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 characters.

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

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

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

从SNMPv2 SMI导入模块标识、对象类型、snmpModules、计数器32、整数32

TEXTUAL-CONVENTION, TDomain, TAddress, TimeInterval, RowStatus, StorageType,

文本约定、时差、地址、时间间隔、行状态、存储类型、,

TestAndIncr FROM SNMPv2-TC

来自SNMPv2 TC的TestAndIncr

SnmpSecurityModel, SnmpMessageProcessingModel, SnmpSecurityLevel, SnmpAdminString FROM SNMP-FRAMEWORK-MIB

SnmpSecurityModel、SnmpMessageProcessingModel、SnmpSecurityLevel、来自SNMP-FRAMEWORK-MIB的SNMPAdministring

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

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

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

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

Co-Chair: Russ Mundy Network Associates Laboratories Postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA EMail: mundy@tislabs.com Phone: +1 301-947-7107

联席主席:Russ Mundy Network Associates Laboratories邮政编码:15204美国马里兰州罗克维尔欧米茄大道300号套房20850-4601电子邮件:mundy@tislabs.com电话:+1 301-947-7107

Co-Chair: David Harrington Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614

联席主席:David Harrington Enterasys Networks邮政:美国新罕布什尔州罗切斯特市工业路35号邮政信箱5004 03866-5005电子邮件:dbh@enterasys.com电话:+1603-337-2614

Co-editor: David B. Levi Nortel Networks Postal: 3505 Kesterwood Drive Knoxville, Tennessee 37918 EMail: dlevi@nortelnetworks.com Phone: +1 865 686 0432

合编:David B.Levi Nortel Networks邮政:田纳西州诺克斯维尔凯斯特伍德大道3505号37918电子邮件:dlevi@nortelnetworks.com电话:+18656860432

Co-editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road

合编:Paul Meyer安全计算公司邮政:长湖路2675号

Roseville, Minnesota 55113 EMail: paul_meyer@securecomputing.com Phone: +1 651 628 1592

明尼苏达州罗斯维尔55113电子邮件:保罗_meyer@securecomputing.com电话:+16516281592

Co-editor: Bob Stewart Retired" 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.

联合编辑:Bob Stewart已退出“说明”此MIB模块定义MIB对象,该对象提供远程配置SNMP实体用于生成SNMP消息的参数的机制。

            Copyright (C) The Internet Society (2002). This
            version of this MIB module is part of RFC 3413;
            see the RFC itself for full legal notices.
           "
       REVISION    "200210140000Z"             -- 14 October 2002
       DESCRIPTION "Fixed DISPLAY-HINTS for UTF-8 strings, fixed hex
                    value of LF characters, clarified meaning of zero
                    length tag values, improved tag list examples.
                    Published as RFC 3413."
       REVISION    "199808040000Z"             -- 4 August 1998
       DESCRIPTION "Clarifications, published as
                    RFC 2573."
       REVISION    "199707140000Z"             -- 14 July 1997
       DESCRIPTION "The initial revision, published as RFC2273."
       ::= { snmpModules 12 }
        
            Copyright (C) The Internet Society (2002). This
            version of this MIB module is part of RFC 3413;
            see the RFC itself for full legal notices.
           "
       REVISION    "200210140000Z"             -- 14 October 2002
       DESCRIPTION "Fixed DISPLAY-HINTS for UTF-8 strings, fixed hex
                    value of LF characters, clarified meaning of zero
                    length tag values, improved tag list examples.
                    Published as RFC 3413."
       REVISION    "199808040000Z"             -- 4 August 1998
       DESCRIPTION "Clarifications, published as
                    RFC 2573."
       REVISION    "199707140000Z"             -- 14 July 1997
       DESCRIPTION "The initial revision, published as RFC2273."
       ::= { snmpModules 12 }
        
   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 "255t"
       STATUS       current
       DESCRIPTION
           "An octet string containing a tag value.
            Tag values are preferably in human-readable form.
        
   SnmpTagValue ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "255t"
       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 2279.

为了便于国际化,该信息使用ISO/IEC is 10646-1字符集表示,并使用RFC 2279中描述的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 of sub-identifiers for any object instance does 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 (0x0A).

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

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.

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

Note that a tag value of 0 length means that no tag is defined. In other words, a tag value of 0 length would never match anything in a tag list, and would never select any table entries.

请注意,长度为0的标记值表示未定义任何标记。换句话说,长度为0的标记值永远不会匹配标记列表中的任何内容,也永远不会选择任何表条目。

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 "255t"
       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 "255t"
       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 2279.

为了便于国际化,该信息使用ISO/IEC is 10646-1字符集表示,并使用RFC 2279中描述的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 (0x0A).

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

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 list

- ''--一个空列表

- 'acme' -- list of one tag

- “acme”-一个标记的列表

- 'host router bridge' -- list of several tags

- “主机路由器网桥”--多个标记的列表

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
       DESCRIPTION
           "A table of transport addresses to be used in the generation
            of SNMP messages."
       ::= { snmpTargetObjects 2 }
        
   snmpTargetAddrTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpTargetAddrEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of transport addresses to be used in the generation
            of SNMP messages."
       ::= { 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))

SNMPTargetADRDName对象类型语法SnmpAdminString(大小(1..32))

       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpTargetAddrEntry."
       ::= { snmpTargetAddrEntry 1 }
        
       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

请注意,应用程序等待响应的时间间隔实际上可能来自此对象的值。推导实际时间间隔的方法取决于实现。其中一种方法是基于特定的重传算法和已发生的超时数推导预期往返时间。在推导重传的预期往返时间时,也可以考虑消息的类型。例如,如果发送的消息带有指示两者的securityLevel

            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 }
        
            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 }
       ::= { snmpTargetAddrEntry 5 }
        
   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 }
       ::= { 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."
       DEFVAL { "" }
       ::= { 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."
       DEFVAL { "" }
       ::= { 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. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row."

snmpTargetAddrStorageType对象类型语法StorageType MAX-ACCESS读取创建状态当前描述“此概念行的存储类型。值为“permanent”的概念行不允许对该行中的任何列对象进行写访问。”

       DEFVAL { nonVolatile }
       ::= { snmpTargetAddrEntry 8 }
        
       DEFVAL { nonVolatile }
       ::= { 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 instances of snmpTargetAddrTDomain, snmpTargetAddrTAddress, and snmpTargetAddrParams have all been set.

特别是,新创建的行在SNMPTargetADRDTDOMain、SNMPTargetADRDRTAddress和snmpTargetAddrParams的相应实例都设置好之前无法激活。

            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetAddrTDomain
                - snmpTargetAddrTAddress
            An attempt to set these objects while the value of
            snmpTargetAddrRowStatus is active(1) will result in
            an inconsistentValue error."
       ::= { snmpTargetAddrEntry 9 }
        
            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetAddrTDomain
                - snmpTargetAddrTAddress
            An attempt to set these objects while the value of
            snmpTargetAddrRowStatus is active(1) will result in
            an inconsistentValue error."
       ::= { 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 (1..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Security Model to be used when generating SNMP
             messages using this entry.  An implementation may
             choose to return an inconsistentValue error if an
             attempt is made to set this variable to a value
             for a security model which the implementation does
             not support."
       ::= { snmpTargetParamsEntry 3 }
        
   snmpTargetParamsSecurityModel OBJECT-TYPE
       SYNTAX      SnmpSecurityModel (1..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Security Model to be used when generating SNMP
             messages using this entry.  An implementation may
             choose to return an inconsistentValue error if an
             attempt is made to set this variable to a value
             for a security model which the implementation does
             not support."
       ::= { snmpTargetParamsEntry 3 }
        

snmpTargetParamsSecurityName OBJECT-TYPE SYNTAX SnmpAdminString

SNMPTargetParamAssetSecurity对象类型语法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 }
        
       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.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { snmpTargetParamsEntry 6 }
        
   snmpTargetParamsStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { snmpTargetParamsEntry 6 }
        

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

snmpTargetParamsRowStatus对象类型语法RowStatus MAX-ACCESS读取创建状态当前描述“此概念行的状态。

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,

特别是,新创建的行在相应的SNMPTargetParamsPModel、snmpTargetParamsSecurityModel、,

snmpTargetParamsSecurityName, and snmpTargetParamsSecurityLevel have all been set.

snmpTargetParamsSecurityName和snmpTargetParamsSecurityLevel都已设置。

            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetParamsMPModel
                - snmpTargetParamsSecurityModel
                - snmpTargetParamsSecurityName
                - snmpTargetParamsSecurityLevel
            An attempt to set these objects while the value of
            snmpTargetParamsRowStatus is active(1) will result in
            an inconsistentValue error."
       ::= { snmpTargetParamsEntry 7 }
        
            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetParamsMPModel
                - snmpTargetParamsSecurityModel
                - snmpTargetParamsSecurityName
                - snmpTargetParamsSecurityLevel
            An attempt to set these objects while the value of
            snmpTargetParamsRowStatus is active(1) will result in
            an inconsistentValue error."
       ::= { 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 message 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 message 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 message was unknown."
       ::= { snmpTargetObjects 5 }
        
   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 message was unknown."
       ::= { 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
           "A collection of objects providing basic remote
            configuration of management targets."
       ::= { snmpTargetGroups 1 }
        
   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 }
        
   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

snmpTargetCommandResponderGroup对象组

       OBJECTS {
           snmpUnavailableContexts,
           snmpUnknownContexts
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects required for command responder
            applications, used for counting error conditions."
       ::= { snmpTargetGroups 3 }
        
       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, the snmpNotifyFilterProfileTable, sparsely augments the snmpTargetParamsTable with an object which is used to associate a set of filters with a particular management target.

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

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

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

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,

SnmpTagValue,

snmpTargetParamsName FROM SNMP-TARGET-MIB

SNMP-TARGET-MIB中的snmpTargetParamsName

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

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

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

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

Co-Chair: Russ Mundy Network Associates Laboratories Postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA EMail: mundy@tislabs.com Phone: +1 301-947-7107

联席主席:Russ Mundy Network Associates Laboratories邮政编码:15204美国马里兰州罗克维尔欧米茄大道300号套房20850-4601电子邮件:mundy@tislabs.com电话:+1 301-947-7107

Co-Chair: David Harrington Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614

联席主席:David Harrington Enterasys Networks邮政:美国新罕布什尔州罗切斯特市工业路35号邮政信箱5004 03866-5005电子邮件:dbh@enterasys.com电话:+1603-337-2614

Co-editor: David B. Levi Nortel Networks Postal: 3505 Kesterwood Drive Knoxville, Tennessee 37918 EMail: dlevi@nortelnetworks.com Phone: +1 865 686 0432

合编:David B.Levi Nortel Networks邮政:田纳西州诺克斯维尔凯斯特伍德大道3505号37918电子邮件:dlevi@nortelnetworks.com电话:+18656860432

Co-editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road Roseville, Minnesota 55113 EMail: paul_meyer@securecomputing.com Phone: +1 651 628 1592

共同编辑:Paul Meyer安全计算公司邮政:2675 Long Lake Road Roseville,明尼苏达州55113电子邮件:Paul_meyer@securecomputing.com电话:+16516281592

Co-editor: Bob Stewart Retired"

合编:鲍勃·斯图尔特退休了”

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.

DESCRIPTION“此MIB模块定义MIB对象,这些对象提供远程配置SNMP实体用于生成通知的参数的机制。

            Copyright (C) The Internet Society (2002). This
            version of this MIB module is part of RFC 3413;
            see the RFC itself for full legal notices.
           "
       REVISION    "200210140000Z"             -- 14 October 2002
       DESCRIPTION "Clarifications, published as
                    RFC 3413."
       REVISION    "199808040000Z"             -- 4 August 1998
       DESCRIPTION "Clarifications, published as
                    RFC 2573."
       REVISION    "199707140000Z"             -- 14 July 1997
       DESCRIPTION "The initial revision, published as RFC2273."
       ::= { snmpModules 13 }
        
            Copyright (C) The Internet Society (2002). This
            version of this MIB module is part of RFC 3413;
            see the RFC itself for full legal notices.
           "
       REVISION    "200210140000Z"             -- 14 October 2002
       DESCRIPTION "Clarifications, published as
                    RFC 3413."
       REVISION    "199808040000Z"             -- 4 August 1998
       DESCRIPTION "Clarifications, published as
                    RFC 2573."
       REVISION    "199707140000Z"             -- 14 July 1997
       DESCRIPTION "The initial revision, published as RFC2273."
       ::= { snmpModules 13 }
        
   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 STATUS current DESCRIPTION "An entry in this table selects a set of management targets which should receive notifications, as well as the type of

snmpNotifyEntry对象类型语法snmpNotifyEntry MAX-ACCESS NOTABLE STATUS current DESCRIPTION“此表中的一个条目选择一组应接收通知的管理目标,以及

notification which should be sent to each selected management target.

应发送给每个选定管理目标的通知。

            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."
       DEFVAL { "" }
       ::= { 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."
       DEFVAL { "" }
       ::= { snmpNotifyEntry 2 }
        
   snmpNotifyType OBJECT-TYPE
       SYNTAX      INTEGER {
                       trap(1),
                       inform(2)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object determines the type of notification to
        
   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. This value is only used when generating notifications, and is ignored when using the snmpTargetAddrTable for other purposes.

将为snmpNotifyTag的相应实例选择的SNMPTargetADRDR表中的条目生成。此值仅在生成通知时使用,在将SNMPTargetADRDR表用于其他目的时忽略。

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

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

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

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

            Note that if an SNMP entity only supports
            generation of Unconfirmed-Class PDUs (and not
            Confirmed-Class PDUs), then this object may be
            read-only."
       DEFVAL { trap }
       ::= { snmpNotifyEntry 3 }
        
            Note that if an SNMP entity only supports
            generation of Unconfirmed-Class PDUs (and not
            Confirmed-Class PDUs), 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.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { snmpNotifyEntry 4 }
        
   snmpNotifyStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { 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)."
       ::= { snmpNotifyEntry 5 }
        
            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5)."
       ::= { snmpNotifyEntry 5 }
        

snmpNotifyFilterProfileTable OBJECT-TYPE SYNTAX SEQUENCE OF SnmpNotifyFilterProfileEntry MAX-ACCESS not-accessible STATUS current

snmpNotifyFilterProfileTable对象类型语法序列SnmpNotifyFilterProfileEntry MAX-ACCESS不可访问状态当前

       DESCRIPTION
           "This table is used to associate a notification filter
            profile with a particular set of target parameters."
       ::= { snmpNotifyObjects 2 }
        
       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 for this conceptual row.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { snmpNotifyFilterProfileEntry 2 }
        
   snmpNotifyFilterProfileStorType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { snmpNotifyFilterProfileEntry 2 }
        

snmpNotifyFilterProfileRowStatus OBJECT-TYPE

snmpNotifyFilterProfileRowStatus对象类型

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

语法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 snmpNotifyFilterProfileRowStatus column is 'notReady'.

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

            In particular, a newly created row cannot be made
            active until the corresponding instance of
            snmpNotifyFilterProfileName has been set."
       ::= { snmpNotifyFilterProfileEntry 3 }
        
            In particular, a newly created row cannot be made
            active until the corresponding instance of
            snmpNotifyFilterProfileName has been set."
       ::= { 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, in order to determine whether it may be sent to each such management target.

生成通知时,必须将其与配置为接收通知的每个管理目标关联的过滤器进行比较,以确定是否可以将其发送给每个此类管理目标。

            A more complete discussion of notification filtering
            can be found in section 6. of [SNMP-APPL]."
       ::= { snmpNotifyObjects 3 }
        
            A more complete discussion of notification filtering
            can be found in section 6. of [SNMP-APPL]."
       ::= { 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."

snmpNotifyFilterTable中的条目是使用snmpNotifyFilterRowStatus对象创建和删除的。”

       INDEX {         snmpNotifyFilterProfileName,
               IMPLIED snmpNotifyFilterSubtree }
       ::= { snmpNotifyFilterTable 1 }
        
       INDEX {         snmpNotifyFilterProfileName,
               IMPLIED snmpNotifyFilterSubtree }
       ::= { snmpNotifyFilterTable 1 }
        
   SnmpNotifyFilterEntry ::= SEQUENCE {
       snmpNotifyFilterSubtree           OBJECT IDENTIFIER,
       snmpNotifyFilterMask              OCTET STRING,
       snmpNotifyFilterType              INTEGER,
       snmpNotifyFilterStorageType       StorageType,
       snmpNotifyFilterRowStatus         RowStatus
   }
        
   SnmpNotifyFilterEntry ::= SEQUENCE {
       snmpNotifyFilterSubtree           OBJECT IDENTIFIER,
       snmpNotifyFilterMask              OCTET STRING,
       snmpNotifyFilterType              INTEGER,
       snmpNotifyFilterStorageType       StorageType,
       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.  A more detailed discussion of the use of this
            object can be found in section 6. of [SNMP-APPL]."
       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.  A more detailed discussion of the use of this
            object can be found in section 6. of [SNMP-APPL]."
       DEFVAL { included }
       ::= { snmpNotifyFilterEntry 3 }
        

snmpNotifyFilterStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not

SNMPNotifyFiltersStorageType对象类型语法StorageType MAX-ACCESS读取创建状态当前描述“此概念行的存储类型。不需要值为“permanent”的概念行

            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { snmpNotifyFilterEntry 4 }
        
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { 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 Unconfirmed-Class notifications and read-create operations on only the snmpTargetAddrTable." MODULE SNMP-TARGET-MIB MANDATORY-GROUPS { snmpTargetBasicGroup }

snmpNotifyBasicCompliance MODULE-COMPLIANCE状态当前描述“仅实现SNMP未确认类通知并仅对SNMPTargetADRDR表执行读取创建操作的最小SNMP实体的符合性声明。”模块SNMP-TARGET-MIB强制组{snmpTargetBasicGroup}

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

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

OBJECT snmpTargetParamsSecurityModel

对象SNMPTargetParassecurityModel

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

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 DESCRIPTION "Create/delete/modify access is not required."

对象SNMPTargetParamAssetSecurityLevel最小访问权限只读说明“不需要创建/删除/修改访问权限。”

           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)
           }
        
           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."

MIN-ACCESS只读说明“不需要创建/删除/修改访问权限。不需要支持值notify(2)”

           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."
        
           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."
        
           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 Unconfirmed-Class notifications 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 Unconfirmed-Class notifications 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 Confirmed-Class notifications, or both SNMP Unconfirmed-Class and Confirmed-Class notifications,

snmpNotifyFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION“仅实现SNMP确认类通知或同时实现SNMP未确认类和确认类通知的SNMP实体的符合性声明,

            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 }
        
            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 {
           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 }
        
   snmpNotifyGroup OBJECT-GROUP
       OBJECTS {
           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

SNMP-TARGET-MIB中的SnmpTagValue

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

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

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

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

Co-Chair: Russ Mundy Network Associates Laboratories Postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA EMail: mundy@tislabs.com Phone: +1 301-947-7107

联席主席:Russ Mundy Network Associates Laboratories邮政编码:15204美国马里兰州罗克维尔欧米茄大道300号套房20850-4601电子邮件:mundy@tislabs.com电话:+1 301-947-7107

Co-Chair: David Harrington Enterasys Networks Postal: 35 Industrial Way P. O. Box 5004 Rochester, New Hampshire 03866-5005 USA EMail: dbh@enterasys.com Phone: +1 603-337-2614

联席主席:David Harrington Enterasys Networks邮政:美国新罕布什尔州罗切斯特市工业路35号邮政信箱5004 03866-5005电子邮件:dbh@enterasys.com电话:+1603-337-2614

Co-editor: David B. Levi Nortel Networks Postal: 3505 Kesterwood Drive Knoxville, Tennessee 37918 EMail: dlevi@nortelnetworks.com Phone: +1 865 686 0432

合编:David B.Levi Nortel Networks邮政:田纳西州诺克斯维尔凯斯特伍德大道3505号37918电子邮件:dlevi@nortelnetworks.com电话:+18656860432

Co-editor: Paul Meyer Secure Computing Corporation Postal: 2675 Long Lake Road Roseville, Minnesota 55113 EMail: paul_meyer@securecomputing.com Phone: +1 651 628 1592

共同编辑:Paul Meyer安全计算公司邮政:2675 Long Lake Road Roseville,明尼苏达州55113电子邮件:Paul_meyer@securecomputing.com电话:+16516281592

Co-editor: Bob Stewart Retired" DESCRIPTION "This MIB module defines MIB objects which provide mechanisms to remotely configure the parameters used by a proxy forwarding application.

联合编辑:Bob Stewart取消了“说明”此MIB模块定义MIB对象,该对象提供远程配置代理转发应用程序使用的参数的机制。

            Copyright (C) The Internet Society (2002). This
            version of this MIB module is part of RFC 3413;
            see the RFC itself for full legal notices.
           "
       REVISION    "200210140000Z"             -- 14 October 2002
       DESCRIPTION "Clarifications, published as
                    RFC 3413."
       REVISION    "199808040000Z"             -- 4 August 1998
       DESCRIPTION "Clarifications, published as
                    RFC 2573."
       REVISION    "199707140000Z"             -- 14 July 1997
       DESCRIPTION "The initial revision, published as RFC2273."
       ::= { snmpModules 14 }
        
            Copyright (C) The Internet Society (2002). This
            version of this MIB module is part of RFC 3413;
            see the RFC itself for full legal notices.
           "
       REVISION    "200210140000Z"             -- 14 October 2002
       DESCRIPTION "Clarifications, published as
                    RFC 3413."
       REVISION    "199808040000Z"             -- 4 August 1998
       DESCRIPTION "Clarifications, published as
                    RFC 2573."
       REVISION    "199707140000Z"             -- 14 July 1997
       DESCRIPTION "The initial revision, published as RFC2273."
       ::= { snmpModules 14 }
        
   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,
       snmpProxyTargetParamsIn     SnmpAdminString,
       snmpProxySingleTargetOut    SnmpAdminString,
       snmpProxyMultipleTargetOut  SnmpTagValue,
       snmpProxyStorageType        StorageType,
       snmpProxyRowStatus          RowStatus
   }
        
   SnmpProxyEntry ::= SEQUENCE {
       snmpProxyName               SnmpAdminString,
       snmpProxyType               INTEGER,
       snmpProxyContextEngineID    SnmpEngineID,
       snmpProxyContextName        SnmpAdminString,
       snmpProxyTargetParamsIn     SnmpAdminString,
       snmpProxySingleTargetOut    SnmpAdminString,
       snmpProxyMultipleTargetOut  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
       DESCRIPTION
           "The storage type of this conceptual row.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { snmpProxyEntry 8 }
        
   snmpProxyStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type of this conceptual row.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { 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"
       ::= { snmpProxyEntry 9 }
        
            The following objects may not be modified while the
            value of this object is active(1):
                - snmpProxyType
                - snmpProxyContextEngineID
                - snmpProxyContextName
                - snmpProxyTargetParamsIn
                - snmpProxySingleTargetOut
                - snmpProxyMultipleTargetOut"
       ::= { 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."
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup,
                              snmpTargetResponseGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpProxyGroup }
       ::= { snmpProxyCompliances 1 }
        
   snmpProxyCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which include
            a proxy forwarding application."
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup,
                              snmpTargetResponseGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpProxyGroup }
       ::= { snmpProxyCompliances 1 }
        

snmpProxyGroup OBJECT-GROUP OBJECTS { snmpProxyType, snmpProxyContextEngineID, snmpProxyContextName, snmpProxyTargetParamsIn,

snmpProxyGroup对象组对象{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 }
        
           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 }
        

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 all active entries in the snmpNotifyTable to find the management targets to be used for generating notifications. Each active entry in this table selects zero or more entries in the snmpTargetAddrTable. When a notification is generated, it is sent to all of the targets specified by the selected snmpTargetAddrTable entries (subject to the application of access control and notification filtering).

通知发起人使用snmpNotifyTable中的所有活动条目查找用于生成通知的管理目标。此表中的每个活动条目在SNMPTargetADRDR表中选择零个或多个条目。生成通知时,它将被发送到所选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 (this allows, for example, both traps and informs to be sent to the same target).

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 Unconfirmed-Class or a Confirmed-Class PDU is determined by the value of the snmpNotifyType object. If the value of this object is trap(1), the notification should contain an Unconfirmed-Class PDU.

通知应包含未确认类还是已确认类PDU的决定由snmpNotifyType对象的值确定。如果此对象的值为trap(1),则通知应包含未确认的类PDU。

If the value of this object is inform(2), then the notification should contain a Confirmed-Class PDU, and the timeout time and number of retries for the notification are the value of snmpTargetAddrTimeout and snmpTargetAddrRetryCount. Note that the exception to these rules is when the snmpTargetParamsMPModel object indicates an SNMP version which supports a different PDU version. In this case, the notification may be sent using a different PDU type ([RFC2576] defines the PDU type in the case where the outgoing SNMP version is SNMPv1).

如果此对象的值为inform(2),则通知应包含已确认的类PDU,并且通知的超时时间和重试次数为snmpTargetAddrTimeout和snmpTargetAddrRetryCount的值。请注意,这些规则的例外情况是snmpTargetParamsMPModel对象指示支持不同PDU版本的SNMP版本。在这种情况下,可以使用不同的PDU类型发送通知([RFC2576]在传出SNMP版本为SNMPv1的情况下定义PDU类型)。

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) is specifically included, and none of the object instances to be included in the variable-bindings of the notification are 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. For a notification name, if none match, then the notification name is considered excluded, and the notification should not be sent to this management target. For an object instance, if none match, the object instance is considered included, and the notification may 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 value of snmpNotifyFilterType, in the entry among those which match, and whose instance is lexicographically the largest, determines the inclusion or exclusion.

通知名称或对象实例的对象标识符以及每个匹配项。对于通知名称,如果不匹配,则该通知名称被视为已排除,并且不应将该通知发送到此管理目标。对于对象实例,如果不匹配,则视为包含该对象实例,并且可以将通知发送到此管理目标。如果有一个或多个匹配项,则根据snmpNotifyFilterType的值(其snmpNotifyFilterSubtree的值具有最多子标识符)中的snmpNotifyFilterType的值,包含或排除通知名称或对象实例。如果多个条目匹配并且具有相同数量的子标识符,则匹配条目中snmpNotifyFilterType的值,以及其实例在词典中是最大的,确定包含或排除。

A notification name 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中的子标识符数量至少与该条目的snmpNotifyFilterSubtree的值相同,并且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 Read-Class PDU. The snmpProxyType must be write(2) if the request is a Write-Class PDU.

- 如果请求是读取类PDU,则必须读取snmpProxyType(1)。如果请求是写入类PDU,则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, security model, securityName, and securityLevel must match the values of snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, and snmpTargetParamsSecurityLevel of the identified entry in the snmpTargetParamsTable.

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

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 an Unconfirmed-Class PDU. The snmpProxyType must be inform(4) if the request is a Confirmed-Class PDU.

- 如果通知是未确认的类PDU,则snmpProxyType必须为陷阱(3)。如果请求是已确认的类PDU,则必须通知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, security model, securityName, and securityLevel must match the values of snmpTargetParamsMPModel, snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, and snmpTargetParamsSecurityLevel of the identified entry in the snmpTargetParamsTable.

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

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工作组成员:

Harald Tveit Alvestrand (Maxware) Dave Battle (SNMP Research, Inc.) Alan Beard (Disney Worldwide Services) Paul Berrevoets (SWI Systemware/Halcyon Inc.)

Harald Tveit Alvestrand(Maxware)Dave Battle(SNMP研究公司)、Alan Beard(迪士尼全球服务)Paul Berrevoets(SWI Systemware/Halcyon公司)

Martin Bjorklund (Ericsson) Uri Blumenthal (IBM T.J. Watson Research Center) Jeff Case (SNMP Research, Inc.) John Curran (BBN) Mike Daniele (Compaq Computer Corporation) T. Max Devlin (Eltrax Systems) John Flick (Hewlett Packard) Rob Frye (MCI) Wes Hardaker (U.C.Davis, Information Technology - D.C.A.S.) David Harrington (Enterasys Networks) Lauren Heintz (BMC Software, Inc.) N.C. Hien (IBM T.J. Watson Research Center) Michael Kirkham (InterWorking Labs, Inc.) Dave Levi (Nortel Networks) Louis A Mamakos (UUNET Technologies Inc.) Joe Marzot (Nortel Networks) Paul Meyer (Secure Computing Corporation) Keith McCloghrie (Cisco Systems) Bob Moore (IBM) Russ Mundy (TIS Labs at Network Associates) Bob Natale (ACE*COMM Corporation) Mike O'Dell (UUNET Technologies Inc.) Dave Perkins (DeskTalk) Peter Polkinghorne (Brunel University) Randy Presuhn (BMC Software, Inc.) David Reeder (TIS Labs at Network Associates) David Reid (SNMP Research, Inc.) Aleksey Romanov (Quality Quorum) Shawn Routhier (Epilogue) Juergen Schoenwaelder (TU Braunschweig) Bob Stewart (Cisco Systems) Mike Thatcher (Independent Consultant) Bert Wijnen (Lucent Technologies)

Martin Bjorklund(爱立信)Uri Blumenthal(IBM T.J.Watson研究中心)Jeff Case(SNMP研究公司)John Curran(BBN)Mike Daniele(康柏电脑公司)T.Max Devlin(Eltrax Systems)John Flick(惠普)Rob Frye(MCI)Wes Hardaker(加州大学戴维斯分校,信息技术系)David Harrington(企业网络)劳伦·海因茨(BMC软件公司)N.C.海恩(IBM T.J.沃森研究中心)迈克尔·科克姆(InterWorking Labs,Inc.)戴夫·列维(北电网络公司)路易斯·马马科斯(UUNET技术公司)乔·马佐特(北电网络公司)保罗·迈耶(安全计算公司)基思·麦克洛赫里(思科系统公司)鲍勃·摩尔(IBM)罗斯·蒙迪(网络协会的TIS实验室)鲍勃·纳塔莱(ACE*通信公司)迈克·奥戴尔(UUNET技术公司)戴夫·珀金斯(DeskTalk)彼得·波尔金霍恩(布鲁内尔大学)兰迪·普雷森(BMC软件公司)大卫·里德(网络协会的TIS实验室)大卫·里德(SNMP研究公司)亚历克斯·罗曼诺夫(质量仲裁)肖恩·罗希尔(结语)Juergen Schoenwaeld(图布伦瑞克)Bob Stewart(思科系统)Mike Thatcher(独立顾问)Bert Wijnen(朗讯科技)

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 (Enterasys Networks) Jeff Johnson (Cisco Systems) David Levi (Nortel Networks) John Linn (Openvision) Russ Mundy (Trusted Information Systems) chair Shawn Routhier (Epilogue) Glenn Waters (Nortel) Bert Wijnen (Lucent Technologies)

David Harrington(企业网络)Jeff Johnson(思科系统)David Levi(北电网络)John Linn(Openvision)Russ Mundy(可信信息系统)Shawn Routhier(尾声)Glenn Waters(北电)Bert Wijnen(朗讯科技)

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 (Enterasys Networks) David Levi (Nortel Networks) 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(Enterasys Networks)David Levi(Nortel Networks)Keith McCloghrie(Cisco Systems)Brian O'Keefe(Hewlett-Packard)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信息。

Finally, the MIBs described in this document contain potentially sensitive information. A security administrator may wish to limit access to these MIBs.

最后,本文档中描述的MIB包含潜在的敏感信息。安全管理员可能希望限制对这些MIB的访问。

11. References
11. 工具书类
11.1 Normative References
11.1 规范性引用文件

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

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

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

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

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

[RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.

[RFC2580]McCloghrie,K.,Perkins,D.,Schoenwaeld,J.,Case,J.,Rose,M.和S.Waldbusser,“SMIv2的一致性声明”,STD 58,RFC 25801999年4月。

[RFC3411] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002.

[RFC3411]Harrington,D.,Presohn,R.和B.Wijnen,“描述简单网络管理协议(SNMP)管理框架的体系结构”,STD 62,RFC 3411,2002年12月。

[RFC3412] Case, J., Harrington, D., Presuhn, R. and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3412, December 2002.

[RFC3412]Case,J.,Harrington,D.,Presohn,R.和B.Wijnen,“简单网络管理协议(SNMP)的消息处理和调度”,STD 62,RFC 3412,2002年12月。

[RFC3415] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3415, December 2002.

[RFC3415]Wijnen,B.,Presohn,R.和K.McCloghrie,“用于简单网络管理协议(SNMP)的基于视图的访问控制模型(VACM)”,STD 62,RFC 3415,2002年12月。

[RFC3416] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3416, December 2002.

[RFC3416]Presohn,R.,Case,J.,McCloghrie,K.,Rose,M.和S.Waldbusser,“简单网络管理协议(SNMP)的协议操作”,STD 62,RFC 3416,2002年12月。

[RFC3418] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3418, December 2002.

[RFC3418]Presohn,R.,Case,J.,McCloghrie,K.,Rose,M.和S.Waldbusser,“简单网络管理协议(SNMP)的管理信息库(MIB)”,STD 62,RFC 3418,2002年12月。

11.2 Informative References
11.2 资料性引用

[RFC1157] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990.

[RFC1157]Case,J.,Fedor,M.,Schoffstall,M.和J.Davin,“简单网络管理协议”,STD 15,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月。

[RFC2576] Frye, R.,Levi, D., Routhier, S. and B. Wijnen, "Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework", RFC 2576, February 1999.

[RFC2576]Frye,R.,Levi,D.,Routhier,S.和B.Wijnen,“互联网标准网络管理框架第1版、第2版和第3版之间的共存”,RFC 2576,1999年2月。

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, two rows in the snmpTargetTable, and two rows in the snmpNotifyTable.

该配置由snmpTargetAddR表中的三行、snmpTargetTable中的两行和snmpNotify表中的两行组成。

* snmpTargetAddrName = "addr1" snmpTargetAddrTDomain = snmpUDPDomain snmpTargetAddrTAddress = 128.1.2.3/162 snmpTargetAddrTagList = "group1" snmpTargetAddrParams = "AuthNoPriv-joe" snmpTargetAddrStorageType = readOnly(5) snmpTargetAddrRowStatus = active(1)

* snmpTargetAddrName=“addr1”snmptargetaddrdrdtdomain=snmppudpodmain 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.5.9/162 snmpTargetAddrTagList = "group2" snmpTargetAddrParams = "AuthPriv-bob" snmpTargetAddrStorageType = readOnly(5) snmpTargetAddrRowStatus = active(1)

* snmptargetadrname=“addr3”snmptargetadrdrdtdomain=snmppudpodomain snmptargetadrdrtaddress=128.1.5.9/162 snmptargetadrdrttaglist=“group2”snmptargetadrdrrams=“AuthPriv bob”snmptargetadrdstoragetype=readOnly(5)snmptargetadrdrowstatus=active(1)

* snmpTargetParamsName = "AuthNoPriv-joe" snmpTargetParamsMPModel = 3 snmpTargetParamsSecurityModel = 3 (USM) snmpTargetParamsSecurityName = "joe" snmpTargetParamsSecurityLevel = authNoPriv(2) snmpTargetParamsStorageType = readOnly(5) snmpTargetParamsRowStatus = active(1)

* snmpTargetParamsName=“AuthNoPriv-joe”snmpTargetParamsSMPModel=3 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

Editors' Addresses

编辑地址

David B. Levi Nortel Networks 3505 Kesterwood Drive Knoxville, TN 37918 U.S.A.

David B.Levi Nortel Networks美国田纳西州诺克斯维尔凯斯特伍德大道3505号,邮编37918。

   Phone: +1 865 686 0432
   EMail: dlevi@nortelnetworks.com
        
   Phone: +1 865 686 0432
   EMail: dlevi@nortelnetworks.com
        

Paul Meyer Secure Computing Corporation 2675 Long Lake Road Roseville, MN 55113 U.S.A.

美国明尼苏达州罗斯维尔龙湖路2675号保罗·迈耶安全计算公司,邮编:55113。

   Phone: +1 651 628 1592
   EMail: paul_meyer@securecomputing.com
        
   Phone: +1 651 628 1592
   EMail: paul_meyer@securecomputing.com
        

Bob Stewart Retired

鲍勃·斯图尔特退休了

Full Copyright Statement

完整版权声明

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

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

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.

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

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。