[要約] RFC 2572は、SNMPのメッセージ処理とディスパッチに関する標準仕様です。このRFCの目的は、SNMPエージェントとマネージャ間の効率的な通信を実現するための手順とプロトコルを提供することです。

Network Working Group                                            J. Case
Request for Comments: 2572                            SNMP Research Inc.
Obsoletes: 2272                                            D. Harrington
Category: Standards Track                        Cabletron Systems, Inc.
                                                              R. Presuhn
                                                      BMC Software, Inc.
                                                               B. Wijnen
                                               IBM T. J. Watson Research
                                                              April 1999
        

Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)

シンプルなネットワーク管理プロトコル(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)の現在のエディションを参照してください。このメモの配布は無制限です。

Copyright Notice

著作権表示

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

Copyright(c)The Internet Society(1999)。無断転載を禁じます。

Abstract

概要

This document describes the Message Processing and Dispatching for SNMP messages within the SNMP architecture [RFC2571]. It defines the procedures for dispatching potentially multiple versions of SNMP messages to the proper SNMP Message Processing Models, and for dispatching PDUs to SNMP applications. This document also describes one Message Processing Model - the SNMPv3 Message Processing Model.

このドキュメントでは、SNMPアーキテクチャ内のSNMPメッセージのメッセージ処理とディスパッチについて説明します[RFC2571]。SNMPメッセージの潜在的に複数のバージョンを適切なSNMPメッセージ処理モデルにディスパッチし、PDUをSNMPアプリケーションにディスパッチする手順を定義します。このドキュメントは、1つのメッセージ処理モデル、つまりSNMPV3メッセージ処理モデルについても説明しています。

Table of Contents

目次

   1. Introduction ................................................    3
   2. Overview ....................................................    3
   2.1. The Dispatcher.  ..........................................    5
   2.2. Message Processing Subsystem ..............................    5
   3. Elements of Message Processing and Dispatching ..............    5
   3.1. messageProcessingModel ....................................    6
   3.2. pduVersion ................................................    6
   3.3. pduType ...................................................    7
   3.4. sendPduHandle .............................................    7
   4. Dispatcher Elements of Procedure ............................    7
   4.1. Sending an SNMP Message to the Network ....................    7
      4.1.1. Sending a Request or Notification .......................    7
   4.1.2. Sending a Response to the Network .......................    9
   4.2. Receiving an SNMP Message from the Network ................   11
   4.2.1. Message Dispatching of received SNMP Messages ...........   11
   4.2.2. PDU Dispatching for Incoming Messages ...................   12
   4.2.2.1. Incoming Requests and Notifications ...................   12
   4.2.2.2. Incoming Responses ....................................   14
   4.3. Application Registration for Handling PDU types ...........   15
   4.4. Application Unregistration for Handling PDU Types .........   16
   5. Definitions .................................................   16
   5.1. Definitions for SNMP Message Processing and Dispatching ...   16
   6. The SNMPv3 Message Format ...................................   20
   6.1. msgVersion ................................................   21
   6.2. msgID .....................................................   21
   6.3. msgMaxSize ................................................   21
   6.4. msgFlags ..................................................   22
   6.5. msgSecurityModel ..........................................   24
   6.6. msgSecurityParameters .....................................   24
   6.7. scopedPduData .............................................   24
   6.8. scopedPDU .................................................   25
   6.8.1. contextEngineID .........................................   25
   6.8.2. contextName .............................................   25
   6.8.3. data ....................................................   25
   7. Elements of Procedure for v3MP ..............................   25
   7.1. Prepare an Outgoing SNMP Message ..........................   36
   7.2. Prepare Data Elements from an Incoming SNMP Message .......   31
   8. Intellectual Property .......................................   37
   9. Acknowledgements ............................................   37
   10. Security Considerations ....................................   39
   11. References .................................................   40
   12. Editors' Addresses .........................................   41
   13. Changes From RFC 2272 ......................................   42
   14. Full Copyright Statement ...................................   44
        
1. Introduction
1. はじめに

The Architecture for describing Internet Management Frameworks [RFC2571] describes that an SNMP engine is composed of:

インターネット管理フレームワーク[RFC2571]を説明するためのアーキテクチャは、SNMPエンジンが構成されていることを説明しています。

1) a Dispatcher 2) a Message Processing Subsystem, 3) a Security Subsystem, and 4) an Access Control Subsystem.

1) ディスパッチャー2)メッセージ処理サブシステム、3)セキュリティサブシステム、および4)アクセス制御サブシステム。

Applications make use of the services of these subsystems.

アプリケーションは、これらのサブシステムのサービスを利用しています。

It is important to understand the SNMP architecture and its terminology to understand where the Message Processing Subsystem and Dispatcher described in this document fit into the architecture and interact with other subsystems within the architecture. The reader is expected to have read and understood the description of the SNMP architecture, defined in [RFC2571].

このドキュメントで説明されているメッセージ処理サブシステムとディスパッチャーがアーキテクチャに適合し、アーキテクチャ内の他のサブシステムと対話する場所を理解するには、SNMPアーキテクチャとその用語を理解することが重要です。読者は、[RFC2571]で定義されているSNMPアーキテクチャの説明を読んで理解することが期待されています。

The Dispatcher in the SNMP engine sends and receives SNMP messages. It also dispatches SNMP PDUs to SNMP applications. When an SNMP message needs to be prepared or when data needs to be extracted from an SNMP message, the Dispatcher delegates these tasks to a message version-specific Message Processing Model within the Message Processing Subsystem.

SNMPエンジンのディスパッチャーは、SNMPメッセージを送信および受信します。また、SNMP PDUSをSNMPアプリケーションに発送します。SNMPメッセージを準備する必要がある場合、またはSNMPメッセージからデータを抽出する必要がある場合、ディスパッチャーはこれらのタスクをメッセージ処理サブシステム内のメッセージバージョン固有のメッセージ処理モデルに委任します。

A Message Processing Model is responsible for processing a SNMP version-specific message and for coordinating the interaction with the Security Subsystem to ensure proper security is applied to the SNMP message being handled.

メッセージ処理モデルは、SNMPバージョン固有のメッセージを処理し、セキュリティサブシステムとの相互作用を調整して、処理中のSNMPメッセージに適切なセキュリティが適用されるようにする責任があります。

Interactions between the Dispatcher, the Message Processing Subsystem, and applications are modeled using abstract data elements and abstract service interface primitives defined by the SNMP architecture.

ディスパッチャー、メッセージ処理サブシステム、およびアプリケーション間の相互作用は、SNMPアーキテクチャによって定義された抽象データ要素と抽象サービスインターフェイスプリミティブを使用してモデル化されます。

Similarly, interactions between the Message Processing Subsystem and the Security Subsystem are modeled using abstract data elements and abstract service interface primitives as defined by the SNMP architecture.

同様に、メッセージ処理サブシステムとセキュリティサブシステム間の相互作用は、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 RFC 2119.

「必須」、「そうしない」、「必須」、「必要」、「「しない」、「そうでない」、「そうではない」、「そうでない」、「推奨」、「5月」、および「オプション」は、RFC 2119に記載されているとおりに解釈されます。

2. Overview
2. 概要

The following illustration depicts the Message Processing in relation to SNMP applications, the Security Subsystem and Transport Mappings.

次の図は、SNMPアプリケーション、セキュリティサブシステム、およびトランスポートマッピングに関連するメッセージ処理を示しています。

   +-------------------------------------------------------------------+
   | SNMP Entity                                                       |
   |                                                                   |
   | +---------------------------------------------------------------+ |
   | | Applications                                                  | |
   | | +-----------+  +--------------+                               | |
   | | | Command   |  | Notification |                               | |
   | | | Generator |  | Originator   | +-----------+ +--------------+| |
   | | +-----------+  +--------------+ | Proxy     | | Other         | |
   | | +-----------+  +--------------+ | Forwarder | |Application(s)|| |
   | | | Command   |  | Notification | +-----------+ +--------------+| |
   | | | Responder |  | Receiver     |                               | |
   | | +-----------+  +--------------+                               | |
   | +---------------------------------------------------------------+ |
   |        ^                ^               ^           ^             |
   |        |                |               |           |             |
   |        v                v               v           v             |
   |        +--------+-------+---------------+-----------+             |
   |                 ^                                                 |
   |                 |    +---------------------+  +-----------------+ |
   |                 |    | Message Processing  |  | Security        | |
   | Dispatcher      v    | Subsystem           |  | Subsystem       | |
   | +------------------+ |     +------------+  |  |                 | |
   | | PDU Dispatcher   | |  +->| v1MP     * |<--->| +-------------+ | |
   | |                  | |  |  +------------+  |  | | Other       | | |
   | |                  | |  |  +------------+  |  | | Security    | | |
   | |                  | |  +->| v2cMP    * |<--->| | Model       | | |
   | | Message          | |  |  +------------+  |  | +-------------+ | |
   | | Dispatcher  <-------->+                  |  |                 | |
   | |                  | |  |  +------------+  |  | +-------------+ | |
   | |                  | |  +->| v3MP     * |<--->| | User-based  | | |
   | | Transport        | |  |  +------------+  |  | | Security    | | |
   | | Mapping          | |  |  +------------+  |  | | Model       | | |
   | | (e.g RFC 1906)   | |  +->| otherMP  * |<--->| +-------------+ | |
   | +------------------+ |     +------------+  |  |                 | |
   |          ^           +---------------------+  +-----------------+ |
   |          |                                                        |
   +----------|--------------------------------------------------------+
              v
     +------------------+
     |   Network        |
     +------------------+
        

2.1. The Dispatcher.

2.1. ディスパッチャー。

The Dispatcher is a key piece of an SNMP engine. There is only one in an SNMP engine, and its job is to dispatch tasks to the multiple version-specific Message Processing Models, and to dispatch PDUs to various applications.

ディスパッチャーは、SNMPエンジンの重要な部分です。SNMPエンジンには1つしかありません。その仕事は、複数のバージョン固有のメッセージ処理モデルにタスクを派遣し、PDUをさまざまなアプリケーションにディスパッチすることです。

For outgoing messages, an application provides a PDU to be sent, plus the data needed to prepare and send the message, and the application specifies which version-specific Message Processing Model will be used to prepare the message with the desired security processing. Once the message is prepared, the Dispatcher sends the message.

発信メッセージの場合、アプリケーションは送信されるPDUに加えて、メッセージの準備と送信に必要なデータを提供し、アプリケーションは、目的のセキュリティ処理を使用してメッセージを準備するために使用されるバージョン固有のメッセージ処理モデルを指定します。メッセージが準備されたら、ディスパッチャーがメッセージを送信します。

For incoming messages, the Dispatcher determines the SNMP version of the incoming message and passes the message to the version-specific Message Processing Model to extract the components of the message and to coordinate the processing of security services for the message. After version-specific processing, the PDU Dispatcher determines which application, if any, should receive the PDU for processing and forwards it accordingly.

着信メッセージの場合、ディスパッチャーは着信メッセージのSNMPバージョンを決定し、メッセージをバージョン固有のメッセージ処理モデルに渡して、メッセージのコンポーネントを抽出し、メッセージのセキュリティサービスの処理を調整します。バージョン固有の処理後、PDUディスパッチャーは、どのアプリケーションが処理のためにPDUを受信し、それに応じて転送するかを決定します。

The Dispatcher, while sending and receiving SNMP messages, collects statistics about SNMP messages and the behavior of the SNMP engine in managed objects to make them accessible to remote SNMP entities. This document defines these managed objects, the MIB module which contains them, and how these managed objects might be used to provide useful management.

ディスパッチャーは、SNMPメッセージの送信と受信中に、SNMPメッセージと管理されたオブジェクトのSNMPエンジンの動作に関する統計を収集して、リモートSNMPエンティティにアクセスできるようにします。このドキュメントでは、これらの管理されたオブジェクト、それらを含むMIBモジュール、およびこれらの管理されたオブジェクトを使用して有用な管理を提供する方法を定義します。

2.2. Message Processing Subsystem
2.2. メッセージ処理サブシステム

The SNMP Message Processing Subsystem is the part of an SNMP engine which interacts with the Dispatcher to handle the version-specific SNMP messages. It contains one or more Message Processing Models.

SNMPメッセージ処理サブシステムは、ディスパッチャーと対話してバージョン固有のSNMPメッセージを処理するSNMPエンジンの一部です。1つ以上のメッセージ処理モデルが含まれています。

This document describes one Message Processing Model, the SNMPv3 Message Processing Model, in Section 6. The SNMPv3 Message Processing Model is defined in a separate section to show that multiple (independent) Message Processing Models can exist at the same time and that such Models can be described in different documents. The SNMPv3 Message Processing Model can be replaced or supplemented with other Message Processing Models in the future. Two Message Processing Models which are expected to be developed in the future are the SNMPv1 message format [RFC1157] and the SNMPv2c message format [RFC1901]. Others may be developed as needed.

このドキュメントでは、セクション6の1つのメッセージ処理モデルであるSNMPV3メッセージ処理モデルについて説明します。SNMPV3メッセージ処理モデルは、複数の(独立した)メッセージ処理モデルが同時に存在する可能性があり、そのようなモデルができることを示す別のセクションで定義されています。さまざまなドキュメントで説明されます。SNMPV3メッセージ処理モデルは、将来、他のメッセージ処理モデルに置き換えるか、補充することができます。将来開発されると予想される2つのメッセージ処理モデルは、SNMPV1メッセージ形式[RFC1157]とSNMPV2Cメッセージ形式[RFC1901]です。その他は必要に応じて開発される場合があります。

3. Elements of Message Processing and Dispatching
3. メッセージ処理と発送の要素

See [RFC2571] for the definitions of contextEngineID contextName scopedPDU maxSizeResponseScopedPDU securityModel securityName securityLevel messageProcessingModel

ContextEngineID ContextName scopedpdu maxsizeresponseScopedpdu SecurityModel SecurityName SecurityLevel MessageProcessingModelの定義については[RFC2571]を参照してください

For incoming messages, a version-specific message processing module provides these values to the Dispatcher. For outgoing messages, an application provides these values to the Dispatcher.

着信メッセージの場合、バージョン固有のメッセージ処理モジュールは、これらの値をディスパッチャーに提供します。発信メッセージの場合、アプリケーションはこれらの値をディスパッチャーに提供します。

For some version-specific processing, the values may be extracted from received messages; for other versions, the values may be determined by algorithm, or by an implementation-defined mechanism. The mechanism by which the value is determined is irrelevant to the Dispatcher.

一部のバージョン固有の処理では、値を受信したメッセージから抽出できます。他のバージョンの場合、値はアルゴリズムによって、または実装定義のメカニズムによって決定される場合があります。値が決定されるメカニズムは、ディスパッチャーとは無関係です。

The following additional or expanded definitions are for use within the Dispatcher.

次の追加または拡張された定義は、ディスパッチャー内で使用するためのものです。

3.1. messageProcessingModel
3.1. MessageProcessingModel

The value of messageProcessingModel identifies a Message Processing Model. A Message Processing Model describes the version-specific procedures for extracting data from messages, generating messages, calling upon a securityModel to apply its security services to messages, for converting data from a version-specific message format into a generic format usable by the Dispatcher, and for converting data from Dispatcher format into a version-specific message format.

MessageProcessingModelの値は、メッセージ処理モデルを識別します。メッセージ処理モデルは、メッセージからデータを抽出し、メッセージを生成し、セキュリティモデルを呼び出してセキュリティサービスをメッセージに適用するためのバージョン固有の手順を説明し、バージョン固有のメッセージ形式からデータをディスパッチャーが使用可能な一般的な形式に変換するために、データをディスパッチャー形式からバージョン固有のメッセージ形式に変換するため。

3.2. pduVersion
3.2. pduversion

The value of pduVersion represents a specific version of protocol operation and its associated PDU formats, such as SNMPv1 or SNMPv2 [RFC1905]. The values of pduVersion are specific to the version of the PDU contained in a message, and the PDUs processed by applications. The Dispatcher does not use the value of pduVersion directly.

PDuversionの値は、プロトコル操作の特定のバージョンと、SNMPV1またはSNMPV2 [RFC1905]などの関連するPDU形式を表します。PDuversionの値は、メッセージに含まれるPDUのバージョンと、アプリケーションで処理されるPDUに固有です。ディスパッチャーは、pduversionの値を直接使用しません。

An application specifies the pduVersion when it requests the PDU Dispatcher to send a PDU to another SNMP engine. The Dispatcher passes the pduVersion to a Message Processing Model, so it knows how to handle the PDU properly.

アプリケーションは、PDUディスパッチャーにPDUを別のSNMPエンジンに送信するように要求するときにPDuversionを指定します。ディスパッチャーは、PDUversionをメッセージ処理モデルに渡すため、PDUを適切に処理する方法を知っています。

For incoming messages, pduVersion is provided to the Dispatcher by a version-specific Message Processing module. The PDU Dispatcher passes the pduVersion to the application so it knows how to handle the PDU properly. For example, a command responder application needs to know whether to use [RFC1905] elements of procedure and syntax instead of those specified for SNMPv1.

着信メッセージの場合、バージョン固有のメッセージ処理モジュールによってディスパッチャーにpduversionが提供されます。PDUディスパッチャーはPDUversionをアプリケーションに渡し、PDUを適切に処理する方法を知っています。たとえば、コマンドレスポンダーアプリケーションは、SNMPV1に指定されたものではなく、手順と構文の要素を使用するかどうかを知る必要があります。

3.3. pduType
3.3. pdutype

A value of pduType represents a specific type of protocol operation. The values of pduType are specific to the version of the PDU contained in a message.

PDUTypeの値は、特定のタイプのプロトコル操作を表します。PDUTypeの値は、メッセージに含まれるPDUのバージョンに固有です。

Applications register to support particular pduTypes for particular contextEngineIDs.

アプリケーションは、特定のContextEngineIDの特定のpduTypesをサポートするために登録します。

For incoming messages, pduType is provided to the Dispatcher by a version-specific Message Processing module. It is subsequently used to dispatch the PDU to the application which registered for the pduType for the contextEngineID of the associated scopedPDU.

着信メッセージの場合、バージョン固有のメッセージ処理モジュールによってPDUTypeがディスパッチャーに提供されます。その後、関連するScopedPDUのContextEngineIDのPDUTypeに登録されたアプリケーションにPDUを派遣するために使用されます。

3.4. sendPduHandle
3.4. sendpduhandle

This handle is generated for coordinating the processing of requests and responses between the SNMP engine and an application. The handle must be unique across all version-specific Message Processing Models, and is of local significance only.

このハンドルは、SNMPエンジンとアプリケーション間のリクエストと応答の処理を調整するために生成されます。ハンドルは、すべてのバージョン固有のメッセージ処理モデルにわたって一意でなければならず、局所的な重要性のみです。

4. Dispatcher Elements of Procedure
4. 手順のディスパッチャー要素

This section describes the procedures followed by the Dispatcher when generating and processing SNMP messages.

このセクションでは、SNMPメッセージを生成および処理するときにディスパッチャーが続く手順について説明します。

4.1. Sending an SNMP Message to the Network
4.1. ネットワークにSNMPメッセージを送信します

This section describes the procedure followed by an SNMP engine whenever it sends an SNMP message.

このセクションでは、SNMPメッセージを送信するたびにSNMPエンジンが続く手順について説明します。

4.1.1. Sending a Request or Notification
4.1.1. リクエストまたは通知の送信

The following procedures are followed by the Dispatcher when an application wants to send an SNMP PDU to another (remote) application, i.e., to initiate a communication by originating a message, such as one containing a request or a trap.

次の手順の後に、アプリケーションがSNMP PDUを別の(リモート)アプリケーションに送信する場合、つまり、リクエストやトラップを含むメッセージなどのメッセージを発信することにより通信を開始する場合、ディスパッチャーが続きます。

1) The application requests this using the abstract service primitive:

1) アプリケーションは、抽象サービスのPrimitiveを使用してこれを要求します。

       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
              )
        

2) If the messageProcessingModel value does not represent a Message Processing Model known to the Dispatcher, then an errorIndication (implementation-dependent) is returned to the calling application. No further processing is performed.

2) MessageProcessingModel値がディスパッチャーに知られているメッセージ処理モデルを表していない場合、エラーインディケーション(実装依存)が呼び出しアプリケーションに返されます。それ以上の処理は実行されません。

3) The Dispatcher generates a sendPduHandle to coordinate subsequent processing.

3) ディスパッチャーは、sendpduhandleを生成して、後続の処理を調整します。

   4) The Message Dispatcher sends the request to the version-specific
      Message Processing module identified by messageProcessingModel
      using the abstract service primitive:
         statusInformation =              - success or error indication
        prepareOutgoingMessage(
        IN   transportDomain           -- as specified by application
        IN   transportAddress          -- as specified by application
        IN   messageProcessingModel    -- as specified by application
        IN   securityModel             -- as specified by application
        IN   securityName              -- as specified by application
        IN   securityLevel             -- as specified by application
        IN   contextEngineID           -- as specified by application
        IN   contextName               -- as specified by application
        IN   pduVersion                -- as specified by application
        IN   PDU                       -- as specified by application
        IN   expectResponse            -- as specified by application
        IN   sendPduHandle             -- as determined in step 3.
        OUT  destTransportDomain       -- destination transport domain
        OUT  destTransportAddress      -- destination transport address
        OUT  outgoingMessage           -- the message to send
        OUT  outgoingMessageLength     -- the message length
             )
        

5) If the statusInformation indicates an error, the errorIndication is returned to the calling application. No further processing is performed.

5) StatusInformationがエラーを示した場合、エラーインジケーションは呼び出しアプリケーションに返されます。それ以上の処理は実行されません。

6) If the statusInformation indicates success, the sendPduHandle is returned to the application, and the outgoingMessage is sent via the transport specified by the transportDomain to the address specified by the transportAddress.

6) StatusInformationが成功を示した場合、sendpduhandleはアプリケーションに返され、輸送ドメインによって指定された輸送輸送を介して輸送路が指定されたアドレスに指定された輸送を介して送信されます。

Outgoing Message Processing is complete.

発信メッセージ処理が完了しました。

4.1.2. Sending a Response to the Network
4.1.2. ネットワークへの応答を送信します

The following procedure is followed when an application wants to return a response back to the originator of an SNMP Request.

アプリケーションが応答をSNMPリクエストのオリジネーターに戻したい場合に、次の手順に従います。

   1) An application can request this using the abstract service
      primitive:
         result =
      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 Response PDU
       IN   stateReference           -- reference to state information
                                     -- as presented with the request
       IN   statusInformation        -- success or errorIndication
       )                             -- (error counter OID and value
                                     -- when errorIndication)
        

2) The Message Dispatcher sends the request to the appropriate Message Processing Model indicated by the received value of messageProcessingModel using the abstract service primitive:

2) メッセージディスパッチャーは、抽象サービスPrimitiveを使用してMessageProcessingModelの受信値によって示される適切なメッセージ処理モデルにリクエストを送信します。

      result =                        -- SUCCESS or errorIndication
       prepareResponseMessage(
       IN   messageProcessingModel   -- specified by application
       IN   securityModel            -- specified by application
       IN   securityName             -- specified by application
       IN   securityLevel            -- specified by application
       IN   contextEngineID          -- specified by application
       IN   contextName              -- specified by application
       IN   pduVersion               -- specified by application
       IN   PDU                      -- specified by application
       IN   maxSizeResponseScopedPDU -- specified by application
       IN   stateReference           -- specified by application
       IN   statusInformation        -- specified by application
       OUT  destTransportDomain      -- destination transport domain
       OUT  destTransportAddress     -- destination transport address
       OUT  outgoingMessage          -- the message to send
       OUT  outgoingMessageLength    -- the message length
            )
        

3) If the result is an errorIndication, the errorIndication is returned to the calling application. No further processing is performed.

3) 結果がエラーインド化の場合、エラーインジケーションは呼び出しアプリケーションに返されます。それ以上の処理は実行されません。

4) If the result is success, the outgoingMessage is sent over the transport specified by the transportDomain to the address specified by the transportAddress.

4) 結果が成功した場合、輸送ドメインによって指定されたトランスポート上に発信が送信され、TransportAddressが指定したアドレスに送信されます。

Message Processing is complete.

メッセージ処理が完了しました。

4.2. Receiving an SNMP Message from the Network
4.2. ネットワークからSNMPメッセージを受信します

This section describes the procedure followed by an SNMP engine whenever it receives an SNMP message.

このセクションでは、SNMPメッセージを受信するたびにSNMPエンジンが続く手順について説明します。

Please note, that for the sake of clarity and to prevent the text from being even longer and more complicated, some details were omitted from the steps below. In particular, The elements of procedure do not always explicitly indicate when state information needs to be released. The general rule is that if state information is available when a message is to be "discarded without further processing", then the state information must also be released at that same time.

明確にし、テキストがさらに長く複雑になるのを防ぐために、以下の手順からいくつかの詳細が省略されたことに注意してください。特に、手順の要素は、州の情報をいつリリースする必要があるかを常に明示的に示すとは限りません。一般的なルールは、メッセージが「さらなる処理なしで廃棄される」場合に州の情報が利用可能である場合、同時に状態情報もリリースする必要があるということです。

4.2.1. Message Dispatching of received SNMP Messages
4.2.1. 受信したSNMPメッセージのメッセージディスパッチ

1) The snmpInPkts counter [RFC1907] is incremented.

1) SNMPINPKTSカウンター[RFC1907]が増加します。

2) The version of the SNMP message is determined in an implementation-dependent manner. If the packet cannot be sufficiently parsed to determine the version of the SNMP message, then the snmpInASNParseErrs [RFC1907] counter is incremented, and the message is discarded without further processing. If the version is not supported, then the snmpInBadVersions [RFC1907] counter is incremented, and the message is discarded without further processing.

2) SNMPメッセージのバージョンは、実装依存的に決定されます。SNMPメッセージのバージョンを決定するのにパケットを十分に解析できない場合、SNMPINASNPARSEERRS [RFC1907]カウンターがインクリメントされ、メッセージがさらなる処理なしで破棄されます。バージョンがサポートされていない場合、snmpinbadversions [rfc1907]カウンターが増加し、メッセージがさらなる処理なしで破棄されます。

3) The origin transportDomain and origin transportAddress are determined.

3) Origin TransportDomainおよびOrigin TransportAddressが決定されます。

   4) The message is passed to the version-specific Message Processing
      Model which returns the abstract data elements required by the
      Dispatcher.  This is performed using the abstract service
      primitive:
         result =                        -- SUCCESS or errorIndication
        prepareDataElements(
        IN   transportDomain          -- origin as determined in step 3.
        IN   transportAddress         -- origin as determined in step 3.
        IN   wholeMsg                 -- as received from the network
        IN   wholeMsgLength           -- as received from the network
        OUT  messageProcessingModel   -- typically, SNMP version
        OUT  securityModel            -- Security Model specified
        OUT  securityName             -- on behalf of this principal
        OUT  securityLevel            -- Level of Security specified
        OUT  contextEngineID          -- data from/at this entity
        OUT  contextName              -- data from/in this context
        OUT  pduVersion               -- the version of the PDU
        OUT  PDU                      -- SNMP Protocol Data Unit
        OUT  pduType                  -- SNMP PDU type
        OUT  sendPduHandle            -- handle for a matched request
        OUT  maxSizeResponseScopedPDU -- maximum size of Response PDU
        OUT  statusInformation        -- success or errorIndication
                                      -- (error counter OID and value
                                      -- when errorIndication)
        OUT  stateReference           -- reference to state information
                                      -- to be used for a possible
             )                        -- Response
        

5) If the result is a FAILURE errorIndication, the message is discarded without further processing.

5) 結果が障害のエラーインジケーションである場合、メッセージはさらに処理せずに破棄されます。

6) At this point, the abstract data elements have been prepared and processing continues as described in Section 4.2.2, PDU Dispatching for Incoming Messages.

6) この時点で、抽象的なデータ要素が準備され、セクション4.2.2、PDUディスパッチが着信メッセージのために説明されているように処理が継続されています。

4.2.2. PDU Dispatching for Incoming Messages
4.2.2. 着信メッセージのPDU発送

The elements of procedure for the dispatching of PDUs depends on the value of sendPduHandle. If the value of sendPduHandle is <none>, then this is a request or notification and the procedures specified in Section 4.2.2.1 apply. If the value of snmpPduHandle is not <none>, then this is a response and the procedures specified in Section 4.2.2.2 apply.

PDUの派遣の手順の要素は、sendpduhandleの値に依存します。sendpduhandleの値が<なし>の場合、これはリクエストまたは通知であり、セクション4.2.2.1で指定された手順が適用されます。snmppduhandleの値が<なし>ではない場合、これは応答であり、セクション4.2.2.2で指定されている手順が適用されます。

4.2.2.1. Incoming Requests and Notifications
4.2.2.1. 着信要求と通知

The following procedures are followed for the dispatching of PDUs when the value of sendPduHandle is <none>, indicating this is a request or notification.

sendpduhandleの値が<なし>の場合、PDUの派遣のために次の手順が続き、これがリクエストまたは通知であることを示しています。

1) The combination of contextEngineID and pduType is used to determine which application has registered for this request or notification.

1) ContextEngineIDとPDUTypeの組み合わせを使用して、このリクエストまたは通知に登録したアプリケーションを決定します。

2) If no application has registered for the combination, then

2) 組み合わせの申請が登録されていない場合、

a) The snmpUnknownPDUHandlers counter is incremented.

a) snmpunknownpduhandlersカウンターが増加します。

b) A Response message is generated using the abstract service primitive:

b) 応答メッセージは、抽象サービスPrimitiveを使用して生成されます。

         result =                         -- SUCCESS or FAILURE
         prepareResponseMessage(
         IN   messageProcessingModel    -- as provided by MP module
         IN   securityModel             -- as provided by MP module
         IN   securityName              -- as provided by MP module
         IN   securityLevel             -- as provided by MP module
         IN   contextEngineID           -- as provided by MP module
         IN   contextName               -- as provided by MP module
         IN   pduVersion                -- as provided by MP module
         IN   PDU                       -- as provided by MP module
         IN   maxSizeResponseScopedPDU  -- as provided by MP module
         IN   stateReference            -- as provided by MP module
         IN   statusInformation         -- errorIndication plus
                                        -- snmpUnknownPDUHandlers OID
                                        -- value pair.
         OUT  destTransportDomain       -- destination transportDomain
         OUT  destTransportAddress      -- destination transportAddress
         OUT  outgoingMessage           -- the message to send
         OUT  outgoingMessageLength     -- its length
         )
        

c) If the result is SUCCESS, then the prepared message is sent to the originator of the request as identified by the transportDomain and transportAddress.

c) 結果が成功した場合、準備されたメッセージは、TransportDomainとTransportAddressによって識別されたリクエストの発信者に送信されます。

d) The incoming message is discarded without further processing. Message Processing for this message is complete.

d) 着信メッセージは、さらに処理することなく破棄されます。このメッセージのメッセージ処理は完了しました。

   3) The PDU is dispatched to the application, using the abstract
      service primitive:
         processPdu(                     -- process Request/Notification
        IN   messageProcessingModel   -- as provided by MP module
        IN   securityModel            -- as provided by MP module
        IN   securityName             -- as provided by MP module
        IN   securityLevel            -- as provided by MP module
        IN   contextEngineID          -- as provided by MP module
        IN   contextName              -- as provided by MP module
        IN   pduVersion               -- as provided by MP module
        IN   PDU                      -- as provided by MP module
        IN   maxSizeResponseScopedPDU -- as provided by MP module
        IN   stateReference           -- as provided by MP module
                                      -- needed when sending response
             )
        

Message processing for this message is complete.

このメッセージのメッセージ処理は完了しました。

4.2.2.2. Incoming Responses
4.2.2.2. 着信回答

The following procedures are followed for the dispatching of PDUs when the value of sendPduHandle is not <none>, indicating this is a response.

sendpduhandleの値が<なし>ではない場合、PDUの派遣については、次の手順に従います。これは応答であることを示しています。

1) The value of sendPduHandle is used to determine, in an implementation-defined manner, which application is waiting for a response associated with this sendPduHandle.

1) sendpduhandleの値は、実装定義の方法で、どのアプリケーションがこのsendpduhandleに関連付けられた応答を待っているかを決定するために使用されます。

2) If no waiting application is found, the message is discarded without further processing, and the stateReference is released. The snmpUnknownPDUHandlers counter is incremented. Message Processing is complete for this message.

2) 待機アプリケーションが見つからない場合、メッセージはさらに処理せずに破棄され、統計がリリースされます。snmpunknownpduhandlersカウンターが増加します。このメッセージのメッセージ処理は完了です。

3) Any cached information, including stateReference, about the message is discarded.

3) メッセージに関する統計を含むキャッシュされた情報は破棄されます。

      4) The response is dispatched to the application using the
         abstract service primitive:
               processResponsePdu(              -- process Response PDU
           IN   messageProcessingModel    -- provided by the MP module
           IN   securityModel             -- provided by the MP module
           IN   securityName              -- provided by the MP module
           IN   securityLevel             -- provided by the MP module
           IN   contextEngineID           -- provided by the MP module
           IN   contextName               -- provided by the MP module
           IN   pduVersion                -- provided by the MP module
           IN   PDU                       -- provided by the MP module
           IN   statusInformation         -- provided by the MP module
           IN   sendPduHandle             -- provided by the MP module
                )
        

Message Processing is complete for this message.

このメッセージのメッセージ処理は完了です。

4.3. Application Registration for Handling PDU types
4.3. PDUタイプを処理するためのアプリケーション登録

Applications that want to process certain PDUs must register with the PDU Dispatcher. Applications specify the combination of contextEngineID and pduType(s) for which they want to take responsibility

特定のPDUを処理するアプリケーションは、PDUディスパッチャーに登録する必要があります。アプリケーション責任を負いたいContextEngineIDとPDUTypeの組み合わせを指定します

1) An application registers according to the abstract interface primitive:

1) アプリケーションは、抽象インターフェイスプリミティブに従って登録します。

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

Note: implementations may provide a means of requesting registration for simultaneous multiple contextEngineID values, e.g., all contextEngineID values, and may also provide means for requesting simultaneous registration for multiple values of pduType.

注:実装は、同時複数のコンテキストエンジン値の登録を要求する手段を提供する場合があります。たとえば、すべてのContextEngineID値を提供し、PDUTypeの複数の値の同時登録を要求する手段を提供する場合があります。

2) The parameters may be checked for validity; if they are not, then an errorIndication (invalidParameter) is returned to the application.

2) パラメーターの有効性を確認できます。そうでない場合は、エラーインジケーション(InvalidParameter)がアプリケーションに返されます。

3) Each combination of contextEngineID and pduType can be registered only once. If another application has already registered for the specified combination, then an errorIndication (alreadyRegistered) is returned to the application.

3) ContextEngineIDとPDUTypeの各組み合わせは、1回だけ登録できます。指定された組み合わせに別のアプリケーションが既に登録されている場合、エラーインディケーション(既に登録されている)がアプリケーションに返されます。

4) Otherwise, the registration is saved so that SNMP PDUs can be dispatched to this application.

4) それ以外の場合、登録は保存され、SNMP PDUをこのアプリケーションに発送できるようにします。

4.4. Application Unregistration for Handling PDU Types
4.4. PDUタイプを処理するためのアプリケーションの登録

Applications that no longer want to process certain PDUs must unregister with the PDU Dispatcher.

特定のPDUを処理したくないアプリケーションは、PDUディスパッチャーに登録解除する必要があります。

1) An application unregisters using the abstract service primitive:

1) 抽象サービスプリミティブを使用したアプリケーションの未登録者:

      unregisterContextEngineID(
       IN   contextEngineID        -- give up responsibility for this
       IN   pduType                -- the pduType(s) to be unregistered
             )
      Note: implementations may provide means for requesting
      unregistration for simultaneous multiple contextEngineID values,
      e.g., all contextEngineID values, and may also provide means for
      requesting simultaneous unregistration for multiple values of
      pduType.
        

2) If the contextEngineID and pduType combination has been registered, then the registration is deleted.

2) ContextEngineIDとPDUTypeの組み合わせが登録されている場合、登録は削除されます。

If no such registration exists, then the request is ignored.

そのような登録が存在しない場合、リクエストは無視されます。

5. Definitions
5. 定義
5.1. Definitions for SNMP Message Processing and Dispatching
5.1. SNMPメッセージ処理とディスパッチの定義
   SNMP-MPD-MIB DEFINITIONS ::= BEGIN
        

IMPORTS MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF MODULE-IDENTITY, OBJECT-TYPE, snmpModules, Counter32 FROM SNMPv2-SMI;

Module Compliance、SNMPV2-CONFモジュールアイデンティティ、オブジェクトタイプ、SNMPMODULES、SNMPV2-SMIのカウンター32からのオブジェクトグループをインポートします。

snmpMPDMIB MODULE-IDENTITY LAST-UPDATED "9905041636Z" -- 4 April 1999 ORGANIZATION "SNMPv3 Working Group" CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In message body: subscribe snmpv3

SNMPMPDMIBモジュールIDIDINTITY最終処分「9905041636Z " - 1999年4月4日組織「SNMPV3ワーキンググループ」連絡先INFO"SNMPV3

Chair: Russ Mundy TIS Labs at Network Associates postal: 3060 Washington Road Glenwood, MD 21738 USA EMail: mundy@tislabs.com phone: +1 301-854-6889 Co-editor: Jeffrey Case SNMP Research, Inc. postal: 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 USA EMail: case@snmp.com phone: +1 423-573-1434

議長:Network AssociatesのRuss Mundy Tis Labs Postal:3060 Washington Road Glenwood、MD 21738 USAメール:mundy@tislabs.com電話:1 301-854-6889共同編集者:Jeffrey Case SNMP Research、Inc。Postal:3001 Kimberlin Heightssロードノックスビル、テネシー州37920-9716 USAメール:case@snmp.com電話:1 423-573-1434

Co-editor Dave Harrington Cabletron Systems, Inc. postal: Post Office Box 5005 MailStop: Durham 35 Industrial Way Rochester, NH 03867-5005 USA EMail: dbh@ctron.com phone: +1 603-337-7357

共同編集者のDave Harrington Cabletron Systems、Inc。Postal:Post Office Box 5005 MailStop:Durham 35 Industrial Way Rochester、NH 03867-5005 USAメール:dbh@ctron.com電話:1 603-337-7357

Co-editor: Randy Presuhn BMC Software, Inc. postal: 965 Stewart Drive Sunnyvale, CA 94086 USA EMail: randy_presuhn@bmc.com phone: +1 408-616-3100

共同編集者:Randy Presuhn BMC Software、Inc。Postal:965 Stewart Drive Sunnyvale、CA 94086 USAメール:Randy_presuhn@bmc.com電話:1 408-616-3100

Co-editor: Bert Wijnen IBM T. J. Watson Research postal: Schagen 33 3461 GL Linschoten Netherlands EMail: wijnen@vnet.ibm.com phone: +31 348-432-794

共同編集者:Bert Wijnen Ibm T. J. Watson Research Postal:Schagen 33 3461 GL Linschoten Otherlandsメール:wijnen@vnet.ibm.com電話:31 348-432-794

                    "
       DESCRIPTION  "The MIB for Message Processing and Dispatching"
       REVISION     "9905041636Z"              -- 4 April 1999
       DESCRIPTION  "Updated addresses, published as RFC 2572."
       REVISION     "9709300000Z"              -- 30 September 1997
       DESCRIPTION  "Original version, published as RFC 2272."
       ::= { snmpModules 11 }
        
   -- Administrative assignments ***************************************
        
   snmpMPDAdmin           OBJECT IDENTIFIER ::= { snmpMPDMIB 1 }
   snmpMPDMIBObjects      OBJECT IDENTIFIER ::= { snmpMPDMIB 2 }
   snmpMPDMIBConformance  OBJECT IDENTIFIER ::= { snmpMPDMIB 3 }
        
   -- Statistics for SNMP Messages *************************************
        
   snmpMPDStats           OBJECT IDENTIFIER ::= { snmpMPDMIBObjects 1 }
        
   snmpUnknownSecurityModels 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 they referenced a
                    securityModel that was not known to or supported by
                    the SNMP engine.
                   "
       ::= { snmpMPDStats 1 }
        
   snmpInvalidMsgs 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 there were invalid
                    or inconsistent components in the SNMP message.
                   "
       ::= { snmpMPDStats 2 }
        
   snmpUnknownPDUHandlers 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 PDU contained
                    in the packet could not be passed to an application
                    responsible for handling the pduType, e.g. no SNMP
                    application had registered for the proper
                    combination of the contextEngineID and the pduType.
                   "
       ::= { snmpMPDStats 3 }
        
   -- Conformance information ******************************************
        
   snmpMPDMIBCompliances OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 1}
   snmpMPDMIBGroups      OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 2}
        

-- Compliance statements

- コンプライアンスステートメント

snmpMPDCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities which

snmpmpdcomplianceモジュールコンプライアンスステータス現在の説明 "snmpエンティティのコンプライアンスステートメント

implement the SNMP-MPD-MIB. "

SNMP-MPD-MIBを実装します。「

MODULE -- this module MANDATORY-GROUPS { snmpMPDGroup }

モジュール - このモジュールの必須グループ{snmpmpdgroup}

       ::= { snmpMPDMIBCompliances 1 }
        
   snmpMPDGroup OBJECT-GROUP
       OBJECTS {
                 snmpUnknownSecurityModels,
                 snmpInvalidMsgs,
                 snmpUnknownPDUHandlers
               }
       STATUS       current
       DESCRIPTION "A collection of objects providing for remote
                    monitoring of the SNMP Message Processing and
                    Dispatching process.
                   "
       ::= { snmpMPDMIBGroups 1 }
        

END

終わり

6. The SNMPv3 Message Format
6. SNMPV3メッセージ形式
   This section defines the SNMPv3 message format and the corresponding
   SNMP version 3 Message Processing Model (v3MP).
   SNMPv3MessageSyntax DEFINITIONS IMPLICIT TAGS ::= BEGIN
        
       SNMPv3Message ::= SEQUENCE {
           -- identify the layout of the SNMPv3Message
           -- this element is in same position as in SNMPv1
           -- and SNMPv2c, allowing recognition
           -- the value 3 is used for snmpv3
           msgVersion INTEGER ( 0 .. 2147483647 ),
           -- administrative parameters
           msgGlobalData HeaderData,
           -- security model-specific parameters
           -- format defined by Security Model
           msgSecurityParameters OCTET STRING,
           msgData  ScopedPduData
       }
        
       HeaderData ::= SEQUENCE {
           msgID      INTEGER (0..2147483647),
           msgMaxSize INTEGER (484..2147483647),
        
           msgFlags   OCTET STRING (SIZE(1)),
                      --  .... ...1   authFlag
                      --  .... ..1.   privFlag
                      --  .... .1..   reportableFlag
                      --              Please observe:
                      --  .... ..00   is OK, means noAuthNoPriv
                      --  .... ..01   is OK, means authNoPriv
                      --  .... ..10   reserved, must NOT be used.
                      --  .... ..11   is OK, means authPriv
        

msgSecurityModel INTEGER (1..2147483647) }

msgsecuritymodel integer(1..2147483647)}

       ScopedPduData ::= CHOICE {
           plaintext    ScopedPDU,
           encryptedPDU OCTET STRING  -- encrypted scopedPDU value
       }
        
       ScopedPDU ::= SEQUENCE {
           contextEngineID  OCTET STRING,
           contextName      OCTET STRING,
           data             ANY -- e.g., PDUs as defined in RFC 1905
       }
   END
        
6.1. msgVersion
6.1. msgversion

The msgVersion field is set to snmpv3(3) and identifies the message as an SNMP version 3 Message.

MSGVersionフィールドはSNMPV3(3)に設定されており、メッセージをSNMPバージョン3メッセージとして識別します。

6.2. msgID
6.2. msgid

The msgID is used between two SNMP entities to coordinate request messages and responses, and by the v3MP to coordinate the processing of the message by different subsystem models within the architecture.

MSGIDは、2つのSNMPエンティティ間で使用され、要求メッセージと応答を調整し、V3MPによってアーキテクチャ内の異なるサブシステムモデルによってメッセージの処理を調整するために使用されます。

Values for msgID SHOULD be generated in a manner that avoids re-use of any outstanding values. Doing so provides protection against some replay attacks. One possible implementation strategy would be to use the low-order bits of snmpEngineBoots [RFC2571] as the high-order portion of the msgID value and a monotonically increasing integer for the low-order portion of msgID.

MSGIDの値は、未払いの値の再利用を避ける方法で生成する必要があります。そうすることで、いくつかのリプレイ攻撃に対する保護が提供されます。可能な実装戦略の1つは、SNMPENGINEBOUTS [RFC2571]の低次ビットをMSGID値の高次部分として使用し、MSGIDの低次部分の単調に増加する整数として使用することです。

Note that the request-id in a PDU may be used by SNMP applications to identify the PDU; the msgID is used by the engine to identify the message which carries a PDU. The engine needs to identify the message even if decryption of the PDU (and request-id) fails. No assumption should be made that the value of the msgID and the value of the request-id are equivalent.

PDUのリクエストIDは、SNMPアプリケーションでPDUを識別するために使用できることに注意してください。MSGIDは、PDUを運ぶメッセージを識別するためにエンジンによって使用されます。PDU(およびリクエストID)の復号化が失敗した場合でも、エンジンはメッセージを識別する必要があります。MSGIDの値とRequest-IDの値が同等であるという仮定を立てるべきではありません。

The value of the msgID field for a response takes the value of the msgID field from the message to which it is a response. By use of the msgID value, an engine can distinguish the (potentially multiple) outstanding requests, and thereby correlate incoming responses with outstanding requests. In cases where an unreliable datagram service is used, the msgID also provides a simple means of identifying messages duplicated by the network. If a request is retransmitted, a new msgID value SHOULD be used for each retransmission.

応答のMSGIDフィールドの値は、それが応答であるメッセージからMSGIDフィールドの値を取得します。MSGID値を使用することにより、エンジンは(潜在的に複数の)未解決のリクエストを区別し、それによって着信応答を未解決のリクエストと相関させることができます。信頼できないデータグラムサービスが使用されている場合、MSGIDはネットワークによって複製されたメッセージを識別する簡単な手段も提供します。リクエストが再送信された場合、各再送信に新しいMSGID値を使用する必要があります。

6.3. msgMaxSize
6.3. msgmaxsize

The msgMaxSize field of the message conveys the maximum message size supported by the sender of the message, i.e., the maximum message size that the sender can accept when another SNMP engine sends an SNMP message (be it a response or any other message) to the sender of this message on the transport in use for this message.

メッセージのMSGMAXSIZEフィールドは、メッセージの送信者によってサポートされている最大メッセージサイズ、つまり、別のSNMPエンジンがSNMPメッセージ(応答または他のメッセージであろうと)を送信したときに送信者が受け入れることができる最大メッセージサイズを伝えます。このメッセージに使用されているトランスポートに関するこのメッセージの送信者。

When an SNMP message is being generated, the msgMaxSize is provided by the SNMP engine which generates the message. At the receiving SNMP engine, the msgMaxSize is used to determine the maximum message size the sender can accommodate.

SNMPメッセージが生成されている場合、MSGMAXSIZEはメッセージを生成するSNMPエンジンによって提供されます。受信SNMPエンジンでは、MSGMAXSIZEを使用して、送信者が収容できる最大メッセージサイズを決定します。

6.4. msgFlags
6.4. msgflags

The msgFlags field of the message contains several bit fields which control processing of the message.

メッセージのMSGFLAGSフィールドには、メッセージの処理を制御するいくつかのビットフィールドが含まれています。

The reportableFlag is a secondary aid in determining whether a Report PDU must be sent. It is only used in cases where the PDU portion of a message cannot be decoded, due to, for example, an incorrect encryption key. If the PDU can be decoded, the PDU type forms the basis for decisions on sending Report PDUs.

ReportableFlagは、レポートPDUを送信する必要があるかどうかを判断するための二次援助です。たとえば、誤った暗号化キーのために、メッセージのPDU部分をデコードできない場合にのみ使用されます。PDUをデコードできる場合、PDUタイプは、レポートPDUを送信する決定の基礎を形成します。

When the reportableFlag is used, if its value is one, a Report PDU MUST be returned to the sender under those conditions which can cause the generation of Report PDUs. Similarly, when the reportableFlag is used and its value is zero, then a Report PDU MUST NOT be sent. The reportableFlag MUST always be zero when the message contains a PDU from the Unconfirmed Class, such as a Report PDU, a response-type PDU (such as a Response PDU), or an unacknowledged notification-type PDU (such as an SNMPv2-trap PDU). The reportableFlag MUST always be one for a PDU from the Confirmed Class, include request-type PDUs (such as a Get PDU) and an acknowledged notification-type PDUs (such as an Inform PDU).

ReportableFlagが使用される場合、その値が1つである場合、レポートPDUの生成を引き起こす可能性のある条件下でPDUを送信者に返送する必要があります。同様に、ReportableFlagが使用され、その値がゼロの場合、PDUを送信してはなりません。レポートPDU、応答型PDU(応答PDUなど)、または未把握の通知型PDU(SNMPV2-TRAPなど)など、メッセージが未確認のクラスからのPDUが含まれている場合、レポート可能なフラグは常にゼロでなければなりませんPDU)。ReportableFlagは、常に確認されたクラスからのPDUの1つである必要があります。リクエスト型PDU(GET PDUなど)および承認された通知型PDU(Inform PDUなど)が含まれます。

If the reportableFlag is set to one for a message containing a PDU from the Unconfirmed Class, such as a Report PDU, a response-type PDU (such as a Response PDU), or an unacknowledged notification-type PDU (such as an SNMPv2-trap PDU), then the receiver of that message MUST process it as though the reportableFlag had been set to zero.

報告可能なFlagが、レポートPDU、応答型PDU(応答PDUなど)、または未充填通知型PDUなど、未確認のクラスからのPDUを含むメッセージに対して1つに設定されている場合(SNMPV2-など。trap pdu)、そのメッセージの受信者は、報告可能なフラグがゼロに設定されているかのように処理する必要があります。

If the reportableFlag is set to zero for a message containing a request-type PDU (such as a Get PDU) or an acknowledged notification-type PDU (such as an Inform PDU), then the receiver of that message must process it as though the reportableFlag had been set to one.

ReportableFlagが、リクエストタイプのPDU(GET PDUなど)または承認された通知タイプのPDU(情報PDUなど)を含むメッセージの場合、ゼロに設定されている場合、そのメッセージの受信者はそれを処理する必要があります。ReportableFlagは1つに設定されていました。

Report PDUs are generated directly by the SNMPv3 Message Processing Model, and support engine-to-engine communications, but may be passed to applications for processing.

レポートPDUは、SNMPV3メッセージ処理モデルとエンジン間通信をサポートすることによって直接生成されますが、処理のためのアプリケーションに渡される場合があります。

An SNMP engine that receives a reportPDU may use it to determine what kind of problem was detected by the remote SNMP engine. It can do so based on the error counter included as the first (and only) varBind of the reportPDU. Based on the detected error, the SNMP engine may try to send a corrected SNMP message. If that is not possible, it may pass an indication of the error to the application on whose behalf the failed SNMP request was issued.

ReportPDUを受信するSNMPエンジンは、それを使用して、リモートSNMPエンジンによってどのような問題が検出されたかを判断する場合があります。ReportPDUの最初の(およびのみ)VARBINDとして含まれるエラーカウンターに基づいて、これを行うことができます。検出されたエラーに基づいて、SNMPエンジンは修正されたSNMPメッセージを送信しようとする場合があります。それが不可能な場合、失敗したSNMP要求が発行されたアプリケーションのエラーの兆候を渡すことができます。

The authFlag and privFlag portions of the msgFlags field are set by the sender to indicate the securityLevel that was applied to the message before it was sent on the wire. The receiver of the message MUST apply the same securityLevel when the message is received and the contents are being processed.

MSGFLAGSフィールドのAuthFlagおよびPrivflagの部分は、送信者によって設定され、ワイヤーに送信される前にメッセージに適用されたセキュリティレベルを示します。メッセージの受信者は、メッセージが受信され、内容が処理されているときに同じセキュリティレベルを適用する必要があります。

There are three securityLevels, namely noAuthNoPriv, which is less than authNoPriv, which is in turn less than authPriv. See the SNMP architecture document [RFC2571] for details about the securityLevel.

3つのセキュリティレベル、すなわちnoauthnoprivがありますが、これはauthnoprivよりも少ないため、authprivよりも少ないです。SecurityLevelの詳細については、SNMPアーキテクチャドキュメント[RFC2571]を参照してください。

a) authFlag

a) authflag

If the authFlag is set to one, then the securityModel used by the SNMP engine which sent the message MUST identify the securityName on whose behalf the SNMP message was generated and MUST provide, in a securityModel-specific manner, sufficient data for the receiver of the message to be able to authenticate that identification. In general, this authentication will allow the receiver to determine with reasonable certainty that the message was:

AuthFlagが1に設定されている場合、メッセージを送信したSNMPエンジンが使用するセキュリティモデルは、SNMPメッセージが生成されたセキュリティ名を識別する必要があり、セキュリティモデル固有の方法で、受信者の十分なデータを提供する必要があります。その識別を認証できるようにメッセージ。一般に、この認証により、受信者はメッセージが次のことを合理的な確実性で決定することができます。

- sent on behalf of the principal associated with the securityName,

- SecurityNameに関連する校長に代わって送信され、

- was not redirected,

- リダイレクトされなかった、

- was not modified in transit, and

- 輸送中に変更されませんでした

- was not replayed.

- 再生されませんでした。

If the authFlag is zero, then the securityModel used by the SNMP engine which sent the message must identify the securityName on whose behalf the SNMP message was generated but it does not need to provide sufficient data for the receiver of the message to authenticate the identification, as there is no need to authenticate the message in this case.

AuthFlagがゼロの場合、メッセージを送信したSNMPエンジンで使用されるセキュリティモデルは、SNMPメッセージが生成されたセキュリティ名を識別する必要がありますが、メッセージの受信者に識別を認証するために十分なデータを提供する必要はありません。この場合、メッセージを認証する必要はないためです。

b) privFlag

b) privflag

If the privFlag is set, then the securityModel used by the SNMP engine which sent the message MUST also protect the scopedPDU in an SNMP message from disclosure, i.e., it MUST encrypt/decrypt the scopedPDU. If the privFlag is zero, then the securityModel in use does not need to protect the data from disclosure.

PRIVFLAGが設定されている場合、メッセージを送信したSNMPエンジンが使用するセキュリティモデルは、SCOPEDPDUを開示からSNMPメッセージで保護する必要があります。つまり、ScopedPDUを暗号化/解読する必要があります。privflagがゼロの場合、使用中のSecurityModelはデータを開示から保護する必要はありません。

It is an explicit requirement of the SNMP architecture that if privacy is selected, then authentication is also required. That means that if the privFlag is set, then the authFlag MUST also be set to one.

これは、SNMPアーキテクチャの明示的な要件であり、プライバシーが選択されている場合、認証も必要です。つまり、privflagが設定されている場合、Authflagも1つに設定する必要があります。

      The combination of the authFlag and the privFlag comprises a Level
      of Security as follows:
         authFlag zero, privFlag zero -> securityLevel is noAuthNoPriv
         authFlag zero, privFlag one  -> invalid combination, see below
         authFlag one,  privFlag zero -> securityLevel is authNoPriv
         authFlag one,  privFlag one  -> securityLevel is authPriv
        

The elements of procedure (see below) describe the action to be taken when the invalid combination of authFlag equal to zero and privFlag equal to one is encountered.

手順の要素(以下を参照)は、ゼロに等しいAuthFlagと1つに等しいprivflagの無効な組み合わせが発生したときに実行されるアクションを説明します。

The remaining bits in msgFlags are reserved, and MUST be set to zero when sending a message and SHOULD be ignored when receiving a message.

MSGFLAGSの残りのビットは予約されており、メッセージを送信するときにゼロに設定する必要があり、メッセージを受信するときは無視する必要があります。

6.5. msgSecurityModel
6.5. msgsecurityModel

The v3MP supports the concurrent existence of multiple Security Models to provide security services for SNMPv3 messages. The msgSecurityModel field in an SNMPv3 Message identifies which Security Model was used by the sender to generate the message and therefore which securityModel must be used by the receiver to perform security processing for the message. The mapping to the appropriate securityModel implementation within an SNMP engine is accomplished in an implementation-dependent manner.

V3MPは、複数のセキュリティモデルの同時存在をサポートし、SNMPV3メッセージのセキュリティサービスを提供します。SNMPV3メッセージのMSGSeCurityModelフィールドは、メッセージを生成するために送信者がどのセキュリティモデルを使用したかを識別し、したがって、メッセージのセキュリティ処理を実行するために受信機が使用する必要があるセキュリティモデルを識別します。SNMPエンジン内の適切なSecurityModel実装へのマッピングは、実装依存的に達成されます。

6.6. msgSecurityParameters
6.6. msgsecurityparameters

The msgSecurityParameters field of the SNMPv3 Message is used for communication between the Security Model modules in the sending and receiving SNMP engines. The data in the msgSecurityParameters field is used exclusively by the Security Model, and the contents and format of the data is defined by the Security Model. This OCTET STRING is not interpreted by the v3MP, but is passed to the local implementation of the Security Model indicated by the msgSecurityModel field in the message.

SNMPV3メッセージのMSGSeCurityParametersフィールドは、SNMPエンジンの送信および受信のセキュリティモデルモジュール間の通信に使用されます。MSGSecurityParametersフィールドのデータは、セキュリティモデルによってのみ使用され、データの内容と形式はセキュリティモデルによって定義されます。このオクテット文字列は、V3MPによって解釈されるのではなく、メッセージ内のMSGSeCurityModelフィールドによって示されるセキュリティモデルのローカル実装に渡されます。

6.7. scopedPduData
6.7. scopedpdudata

The scopedPduData field represents either the plain text scopedPDU if the privFlag in the msgFlags is zero, or it represents an encryptedPDU (encoded as an OCTET STRING) which must be decrypted by the securityModel in use to produce a plaintext scopedPDU.

scopedpdudataフィールドは、msgflagsのprivflagがゼロの場合、プレーンテキストscopedpduのいずれかを表します。または、プラーンテキストScopedpduを生成するために使用されるセキュリティモデルによって解読されなければならない暗号化(オクテット文字列としてエンコード)を表します。

6.8. scopedPDU
6.8. scopedpdu

The scopedPDU contains information to identify an administratively unique context and a PDU. The object identifiers in the PDU refer to managed objects which are (expected to be) accessible within the specified context.

ScopedPDUには、管理上一意のコンテキストとPDUを識別するための情報が含まれています。PDUのオブジェクト識別子は、指定されたコンテキスト内でアクセス可能な(予想される)管理されたオブジェクトを参照しています。

6.8.1. contextEngineID
6.8.1. ContextEngineID

The contextEngineID in the SNMPv3 message, uniquely identifies, within an administrative domain, an SNMP entity that may realize an instance of a context with a particular contextName.

SNMPV3メッセージのContextEngineIDは、管理ドメイン内で、特定のコンテキスト名を持つコンテキストのインスタンスを実現できるSNMPエンティティを一意に識別します。

For incoming messages, the contextEngineID is used in conjunction with pduType to determine to which application the scopedPDU will be sent for processing.

着信メッセージの場合、ContextEngineIDはPDUTypeと組み合わせて使用され、ScopedPDUが処理のために送信されるアプリケーションを決定します。

For outgoing messages, the v3MP sets the contextEngineID to the value provided by the application in the request for a message to be sent.

発信メッセージの場合、V3MPは、送信されるメッセージのリクエストでアプリケーションによって提供される値にContextEngineIDを設定します。

6.8.2. contextName
6.8.2. コンテキスト名

The contextName field in an SNMPv3 message, in conjunction with the contextEngineID field, identifies the particular context associated with the management information contained in the PDU portion of the message. The contextName is unique within the SNMP entity specified by the contextEngineID, which may realize the managed objects referenced within the PDU. An application which originates a message provides the value for the contextName field and this value may be used during processing by an application at the receiving SNMP Engine.

contextEngineIDフィールドと併せて、SNMPV3メッセージのコンテキスト名フィールドは、メッセージのPDU部分に含まれる管理情報に関連付けられた特定のコンテキストを識別します。ContextNameは、PDU内で参照されている管理オブジェクトを実現する場合があるContextEngineIDによって指定されたSNMPエンティティ内で一意です。メッセージを発信するアプリケーションは、ContextNameフィールドの値を提供し、この値は受信SNMPエンジンでのアプリケーションで処理中に使用できます。

6.8.3. data
6.8.3. データ資料与件素子

The data field of the SNMPv3 Message contains the PDU. Among other things, the PDU contains the PDU type that is used by the v3MP to determine the type of the incoming SNMP message. The v3MP specifies that the PDU must be one of those specified in [RFC1905].

SNMPV3メッセージのデータフィールドにはPDUが含まれています。とりわけ、PDUには、V3MPが使用するPDUタイプが含まれており、着信SNMPメッセージのタイプを決定します。V3MPは、PDUが[RFC1905]で指定されているものの1つでなければならないことを指定します。

7. Elements of Procedure for v3MP
7. V3MPの手順の要素

This section describes the procedures followed by an SNMP engine when generating and processing SNMP messages according to the SNMPv3 Message Processing Model.

このセクションでは、SNMPV3メッセージ処理モデルに従ってSNMPメッセージを生成および処理するときにSNMPエンジンが続く手順について説明します。

Please note, that for the sake of clarity and to prevent the text from being even longer and more complicated, some details were omitted from the steps below.

明確にし、テキストがさらに長く複雑になるのを防ぐために、以下の手順からいくつかの詳細が省略されたことに注意してください。

a) Some steps specify that when some error conditions are encountered when processing a received message, a message containing a Report PDU is generated and the received message is discarded without further processing. However, a Report-PDU must not be generated unless the PDU causing generation of the Report PDU can be determine to be a member of the Confirmed Class, or the reportableFlag is set to one and the PDU class cannot be determined.

a) いくつかの手順では、受信したメッセージの処理時にいくつかのエラー条件が発生した場合、レポートPDUを含むメッセージが生成され、受信したメッセージがさらに処理せずに破棄されることを指定します。ただし、PDUを引き起こすPDUの生成PDUが確認されたクラスのメンバーであると判断したり、ReportableFlagが1つに設定されていて、PDUクラスを決定できない場合を除き、Report-PDUを生成してはなりません。

b) The elements of procedure do not always explicitly indicate when state information needs to be released. The general rule is that if state information is available when a message is to be "discarded without further processing", then the state information should also be released at that same time.

b) 手順の要素は、状態情報をいつリリースする必要があるかを常に明示的に示すとは限りません。一般的なルールは、メッセージが「さらなる処理なしで廃棄される」場合に州の情報が利用可能である場合、同時に状態情報もリリースする必要があるということです。

7.1. Prepare an Outgoing SNMP Message
7.1. 発信SNMPメッセージを準備します

This section describes the procedure followed to prepare an SNMPv3 message from the data elements passed by the Message Dispatcher.

このセクションでは、メッセージディスパッチャーによって渡されたデータ要素からSNMPV3メッセージを準備するための手順について説明します。

1) The Message Dispatcher may request that an SNMPv3 message containing a Read Class, Write Class, or Notification Class PDU be prepared for sending.

1) メッセージディスパッチャーは、読み取りクラス、書き込みクラス、または通知クラスを含むSNMPV3メッセージを送信用に準備することを要求できます。

a) It makes such a request according to the abstract service primitive:

a) 抽象サービスの原始に従ってそのような要求をします:

         statusInformation =           -- success or errorIndication
           prepareOutgoingMessage(
           IN   transportDomain        -- requested transport domain
           IN   transportAddress       -- requested destination 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             -- version of the PDU
           IN   PDU                    -- SNMP Protocol Data Unit
           IN   expectResponse         -- TRUE or FALSE *
           IN   sendPduHandle          -- the handle for matching
                                       -- incoming responses
           OUT  destTransportDomain    -- destination transport domain
           OUT  destTransportAddress   -- destination transport address
           OUT  outgoingMessage        -- the message to send
           OUT  outgoingMessageLength  -- the length of the message
           )
        

* The SNMPv3 Message Processing Model does not use the values of expectResponse or pduVersion.

* SNMPV3メッセージ処理モデルは、expectResponseまたはpduversionの値を使用しません。

b) A unique msgID is generated. The number used for msgID should not have been used recently, and must not be the same as was used for any outstanding request.

b) 一意のMSGIDが生成されます。MSGIDに使用される数は最近使用されるべきではなく、未解決のリクエストに使用されたものと同じであってはなりません。

2) The Message Dispatcher may request that an SNMPv3 message containing a Response Class or Internal Class PDU be prepared for sending.

2) メッセージディスパッチャーは、応答クラスまたは内部クラスPDUを含むSNMPV3メッセージを送信用に準備することを要求できます。

a) It makes such a request according to the abstract service primitive:

a) 抽象サービスの原始に従ってそのような要求をします:

         result =                        -- SUCCESS or FAILURE
         prepareResponseMessage(
          IN   messageProcessingModel   -- typically, SNMP version
          IN   securityModel            -- same as on incoming request
          IN   securityName             -- same as on incoming request
          IN   securityLevel            -- same as on incoming request
          IN   contextEngineID          -- data from/at this SNMP entity
          IN   contextName              -- data from/in this context
          IN   pduVersion               -- version of the PDU
          IN   PDU                      -- SNMP Protocol Data Unit
          IN   maxSizeResponseScopedPDU -- maximum size sender can accept
          IN   stateReference           -- reference to state
                                        -- information presented with
                                        -- the request
          IN   statusInformation        -- success or errorIndication
                                        -- error counter OID and value
                                        -- when errorIndication
          OUT  destTransportDomain      -- destination transport domain
          OUT  destTransportAddress     -- destination transport address
          OUT  outgoingMessage          -- the message to send
          OUT  outgoingMessageLength    -- the length of the message
          )
        

b) The cached information for the original request is retrieved via the stateReference, including

b) 元のリクエストのキャッシュされた情報は、統計を介して取得されます。

- msgID, - contextEngineID, - contextName, - securityModel, - securityName, - securityLevel, - securityStateReference, - reportableFlag, - transportDomain, and - transportAddress.

- msgid、 - contextEngineID、 - contextName、 - securitymodel、 - securityName、 - securityLevel、 - securitystatereference、 - ReportableFlag、 - TransportDomain、および - TransportAddress。

The SNMPv3 Message Processing Model does not allow cached data to be overridden, except by error indications as detailed in (3) below.

SNMPV3メッセージ処理モデルでは、以下の(3)に詳述されているエラー表示による場合を除き、キャッシュされたデータをオーバーライドすることはできません。

3) If statusInformation contains values for an OID/value combination (potentially also containing a securityLevel value, contextEngineID value, or contextName value), then

3) StatusInformationにOID/値の組み合わせの値が含まれている場合(潜在的にセキュリティレベルの値、ContextEngineID値、またはContextName値も含まれています)、次に、

a) If reportableFlag is zero, then the original message is discarded, and no further processing is done. A result of FAILURE is returned. SNMPv3 Message Processing is complete.

a) ReportableFlagがゼロの場合、元のメッセージが破棄され、それ以上の処理は行われません。失敗の結果が返されます。SNMPV3メッセージ処理が完了しました。

b) If a PDU is provided, it is the PDU from the original request. If possible, extract the request-id.

b) PDUが提供されている場合、それは元のリクエストからのPDUです。可能であれば、リクエストIDを抽出します。

c) A Report PDU is prepared:

c) レポートPDUが準備されています:

1) the varBindList is set to contain the OID and value from the statusInformation

1) varbindListは、StatusInformationからOIDと値を含めるように設定されています

2) error-status is set to 0

2) エラーステータスは0に設定されています

3) error-index is set to 0.

3) Error-Indexは0に設定されています。

4) request-id is set to the value extracted in step b) Otherwise, request-id is set to 0

4) Request-IDはステップb)で抽出された値に設定されます。

d) The errorIndication in statusInformation may be accompanied by a securityLevel value, a contextEngineID value, or a contextName value.

d) StatusInformationのエラーインジケーションには、セキュリティレベルの値、ContextEngineID値、またはContextName値が伴う場合があります。

1) If statusInformation contains a value for securityLevel, then securityLevel is set to that value, otherwise it is set to noAuthNoPriv.

1) StatusInformationにSecurityLevelの値が含まれている場合、SecurityLevelはその値に設定されます。

2) If statusInformation contains a value for contextEngineID, then contextEngineID is set to that value, otherwise it is set to the value of this entity's snmpEngineID.

2) StatusInformationにContextEngineIDの値が含まれている場合、ContextEngineIDはその値に設定されます。そうしないと、このエンティティのSNMPengineIDの値に設定されます。

3) If statusInformation contains a value for contextName, then contextName is set to that value, otherwise it is set to the default context of "" (zero-length string).

3) StatusInFormationにContextNameの値が含まれている場合、ContextNameはその値に設定されます。それ以外の場合は、「」(ゼロ長文字列)のデフォルトコンテキストに設定されます。

e) PDU is set to refer to the new Report-PDU. The old PDU is discarded.

e) PDUは、新しいReport-PDUを参照するように設定されています。古いPDUは破棄されます。

f) Processing continues with step 6) below.

f) 処理はステップ6)以下で続きます。

4) If contextEngineID is not yet determined, then the contextEngineID is determined, in an implementation-dependent manner, possibly using the transportDomain and transportAddress.

4) ContextEngineIDがまだ決定されていない場合、ContextEngineIDは、実装依存的に、おそらくTransportDomainとTransportAddressを使用して決定されます。

5) If the contextName is not yet determined, the contextName is set to the default context.

5) コンテキスト名がまだ決定されていない場合、コンテキスト名はデフォルトのコンテキストに設定されます。

6) A scopedPDU is prepared from the contextEngineID, contextName, and PDU.

6) ScopedPDUは、ContextEngineID、ContextName、およびPDUから準備されています。

7) msgGlobalData is constructed as follows

7) MSGGLOBALDATAは次のように構築されています

a) The msgVersion field is set to snmpv3(3).

a) MSGVersionフィールドはSNMPV3に設定されています(3)。

b) msgID is set as determined in step 1 or 2 above.

b) MSGIDは、上記のステップ1または2で決定されているように設定されています。

c) msgMaxSize is set to an implementation-dependent value.

c) MSGMAXSIZEは、実装依存の値に設定されています。

d) msgFlags are set as follows:

d) msgflagsは次のように設定されています。

- If securityLevel specifies noAuthNoPriv, then authFlag and privFlag are both set to zero.

- SecurityLevelがnoauthnoprivを指定する場合、Authflagとprivflagは両方ともゼロに設定されます。

- If securityLevel specifies authNoPriv, then authFlag is set to one and privFlag is set to zero.

- SecurityLevelがauthnoprivを指定する場合、Authflagは1に設定され、privflagはゼロに設定されます。

- If securityLevel specifies authPriv, then authFlag is set to one and privFlag is set to one.

- SecurityLevelがAuthPrivを指定する場合、AuthFlagは1に設定され、Privflagは1に設定されます。

- If the PDU is from the Unconfirmed Class, then the reportableFlag is set to zero.

- PDUが未確認のクラスからのものである場合、ReportableFlagはゼロに設定されます。

- If the PDU is from the Confirmed Class then the reportableFlag is set to one.

- PDUが確認されたクラスからのものである場合、報告可能なフラグは1に設定されます。

- All other msgFlags bits are set to zero.

- 他のすべてのMSGFLAGSビットはゼロに設定されています。

e) msgSecurityModel is set to the value of securityModel

e) MSGSeCurityModelは、SecurityModelの値に設定されています

8) If the PDU is from the Response Class or the Internal Class, then

8) PDUが応答クラスまたは内部クラスからのものである場合、

a) The specified Security Model is called to generate the message according to the primitive:

a) 指定されたセキュリティモデルが呼び出されて、プリミティブに従ってメッセージを生成します。

         statusInformation =
           generateResponseMsg(
           IN   messageProcessingModel -- SNMPv3 Message Processing
                                       -- Model
           IN   globalData             -- msgGlobalData from step 7
           IN   maxMessageSize         -- from msgMaxSize (step 7c)
           IN   securityModel          -- as determined in step 7e
           IN   securityEngineID       -- the value of snmpEngineID
           IN   securityName           -- on behalf of this principal
           IN   securityLevel          -- for the outgoing message
           IN   scopedPDU              -- as prepared in step 6)
           IN   securityStateReference -- as determined in step 2
           OUT  securityParameters     -- filled in by Security Module
           OUT  wholeMsg               -- complete generated message
           OUT  wholeMsgLength         -- length of generated message
           )
        

If, upon return from the Security Model, the statusInformation includes an errorIndication, then any cached information about the outstanding request message is discarded, and an errorIndication is returned, so it can be returned to the calling application. SNMPv3 Message Processing is complete.

セキュリティモデルから戻ってきた場合、StatusInformationにエラーインド化が含まれている場合、未解決のリクエストメッセージに関するキャッシュされた情報が破棄され、エラーインドが返されるため、呼び出しアプリケーションに返すことができます。SNMPV3メッセージ処理が完了しました。

b) A SUCCESS result is returned. SNMPv3 Message Processing is complete.

b) 成功結果が返されます。SNMPV3メッセージ処理が完了しました。

9) If the PDU is from the Confirmed Class or the Notification Class, then

9) PDUが確認されたクラスまたは通知クラスからの場合、

a) If the PDU is from the Unconfirmed Class, then securityEngineID is set to the value of this entity's snmpEngineID.

a) PDUが未確認のクラスからのものである場合、SecurityEngineIDはこのエンティティのSNMPengineIDの価値に設定されます。

Otherwise, the snmpEngineID of the target entity is determined, in an implementation-dependent manner, possibly using transportDomain and transportAddress. The value of securityEngineID is set to the value of the target entity's snmpEngineID.

それ以外の場合、ターゲットエンティティのsnmpengineidは、実装に依存する方法で、おそらくTransportdomainとTransportAddressを使用して決定されます。SecurityEngineIDの価値は、ターゲットエンティティのSNMPengineIDの価値に設定されます。

b) The specified Security Model is called to generate the message according to the primitive:

b) 指定されたセキュリティモデルが呼び出されて、プリミティブに従ってメッセージを生成します。

statusInformation = generateRequestMsg( IN messageProcessingModel -- SNMPv3 Message Processing Model IN globalData -- msgGlobalData, from step 7 IN maxMessageSize -- from msgMaxSize in step 7 c) IN securityModel -- as provided by caller IN securityEngineID -- authoritative SNMP entity -- from step 9 a) IN securityName -- as provided by caller IN securityLevel -- as provided by caller IN scopedPDU -- as prepared in step 6 OUT securityParameters -- filled in by Security Module OUT wholeMsg -- complete generated message OUT wholeMsgLength -- length of the generated message )

StatusInformation = generateRequestmsg(MessageProcessingModel -snmpv3 GlobalDataのメッセージ処理モデル、MSGGLOBALDATA、MSGGLOBALDATA、MSGGLOBALDATAのMAXMESSAGESIZEIZE-ステップ7のMSGMAXSIZEから - セキュリティモデルのMSGMAXSIZE - SecurityEngineIDのCallerが提供する - 権限のSNMPエンティティ - ステップ9 a)securityName - セキュリティレベルの発信者が提供するように - scopedpduの発信者が提供するように - ステップ6で準備されたセキュリティモジュールで記入された - wholemsgのセキュリティモジュール - 完全な生成メッセージ - 長さ - 長さ生成されたメッセージの)

If, upon return from the Security Model, the statusInformation includes an errorIndication, then the message is discarded, and the errorIndication is returned, so it can be returned to the calling application, and no further processing is done. SNMPv3 Message Processing is complete.

セキュリティモデルから戻ってきた場合、StatusInformationにエラーインド化が含まれている場合、メッセージが破棄され、エラーインド化が返されるため、呼び出しアプリケーションに返すことができ、さらに処理は行われません。SNMPV3メッセージ処理が完了しました。

c) If the PDU is from the Confirmed Class, information about the outgoing message is cached, and a (implementation-specific) stateReference is created. Information to be cached includes the values of:

c) PDUが確認されたクラスからのものである場合、発信メッセージに関する情報はキャッシュされ、(実装固有の)統計が作成されます。キャッシュされる情報には、次の値が含まれます。

- sendPduHandle - msgID - snmpEngineID - securityModel - securityName - securityLevel - contextEngineID - contextName

- sendpduhandle -msgid -snmpengineid -securitymodel -securityname -securityLevel -ContextEngineID -ContextName

d) A SUCCESS result is returned. SNMPv3 Message Processing is complete.

d) 成功結果が返されます。SNMPV3メッセージ処理が完了しました。

7.2. Prepare Data Elements from an Incoming SNMP Message
7.2. 着信SNMPメッセージからデータ要素を準備します

This section describes the procedure followed to extract data from an SNMPv3 message, and to prepare the data elements required for further processing of the message by the Message Dispatcher.

このセクションでは、SNMPV3メッセージからデータを抽出し、メッセージディスパッチャーによるメッセージのさらなる処理に必要なデータ要素を準備するための手順について説明します。

1) The message is passed in from the Message Dispatcher according to the abstract service primitive:

1) メッセージは、抽象サービスPrimitiveに従ってメッセージディスパッチャーから渡されます。

       result =                         -- SUCCESS or errorIndication
         prepareDataElements(
         IN  transportDomain          -- origin transport domain
         IN  transportAddress         -- origin transport address
         IN  wholeMsg                 -- as received from the network
         IN  wholeMsgLength           -- as received from the network
         OUT messageProcessingModel   -- typically, SNMP version
         OUT securityModel            -- Security Model to use
         OUT securityName             -- on behalf of this principal
         OUT securityLevel            -- Level of Security requested
         OUT contextEngineID          -- data from/at this entity
         OUT contextName              -- data from/in this context
         OUT pduVersion               -- version of the PDU
         OUT PDU                      -- SNMP Protocol Data Unit
         OUT pduType                  -- SNMP PDU type
         OUT sendPduHandle            -- handle for matched request
         OUT maxSizeResponseScopedPDU -- maximum size sender can accept
         OUT statusInformation        -- success or errorIndication
                                      -- error counter OID and value
                                      -- when errorIndication
         OUT stateReference           -- reference to state information
                                      -- to be used for a possible
         )                            -- Response
        

2) If the received message is not the serialization (according to the conventions of [RFC1906]) of an SNMPv3Message value, then the snmpInASNParseErrs counter [RFC1907] is incremented, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.

2) 受信したメッセージがSNMPV3MESSAGE値のシリアル化([RFC1906]の規則に従って)ではない場合、SNMPINASNPARSEERRSカウンター[RFC1907]が削除され、メッセージがさらなる処理なしで破棄され、障害結果が返されます。SNMPV3メッセージ処理が完了しました。

3) The values for msgVersion, msgID, msgMaxSize, msgFlags, msgSecurityModel, msgSecurityParameters, and msgData are extracted from the message.

3) msgversion、msgid、msgmaxsize、msgflags、msgsecuritymodel、msgsecurityparameters、およびmsgdataの値がメッセージから抽出されます。

4) If the value of the msgSecurityModel component does not match a supported securityModel, then the snmpUnknownSecurityModels counter is incremented, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.

4) MSGSecurityModelコンポーネントの値がサポートされているSecurityModelと一致しない場合、SNMPunknownSecurityModelsカウンターが増加し、メッセージがさらに処理せずに破棄され、障害結果が返されます。SNMPV3メッセージ処理が完了しました。

5) The securityLevel is determined from the authFlag and the privFlag bits of the msgFlags component as follows:

5) SecurityLevelは、MSGFLAGSコンポーネントのAuthFlagおよびPrivflagビットから次のように決定されます。

a) If the authFlag is not set and the privFlag is not set, then securityLevel is set to noAuthNoPriv.

a) authflagが設定されておらず、privflagが設定されていない場合、securitylevelはnoauthnoprivに設定されます。

b) If the authFlag is set and the privFlag is not set, then securityLevel is set to authNoPriv.

b) authflagが設定され、privflagが設定されていない場合、securtylevelはauthnoprivに設定されます。

c) If the authFlag is set and the privFlag is set, then securityLevel is set to authPriv.

c) authflagが設定され、privflagが設定されている場合、securitylevelはauthprivに設定されます。

d) If the authFlag is not set and privFlag is set, then the snmpInvalidMsgs counter is incremented, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.

d) authflagが設定されておらず、privflagが設定されている場合、snmpinvalidmsgsカウンターがインクリメントされ、メッセージがさらなる処理なしで破棄され、障害結果が返されます。SNMPV3メッセージ処理が完了しました。

e) Any other bits in the msgFlags are ignored.

e) MSGFLAGSの他のビットは無視されます。

6) The security module implementing the Security Model as specified by the securityModel component is called for authentication and privacy services. This is done according to the abstract service primitive:

6) SecurityModelコンポーネントで指定されているセキュリティモデルを実装するセキュリティモジュールは、認証とプライバシーサービスのために呼び出されます。これは、抽象サービスプリミティブに従って行われます。

       statusInformation =            -- errorIndication or success
                                      -- error counter OID and
                                      -- value if error
         processIncomingMsg(
         IN  messageProcessingModel   -- SNMPv3 Message Processing Model
         IN  maxMessageSize           -- of the sending SNMP entity
         IN  securityParameters       -- for the received message
         IN  securityModel            -- for the received message
         IN  securityLevel            -- Level of Security
         IN  wholeMsg                 -- as received on the wire
         IN  wholeMsgLength           -- length as received on the wire
         OUT securityEngineID         -- authoritative SNMP entity
         OUT securityName             -- identification of the principal
         OUT scopedPDU,               -- message (plaintext) payload
         OUT maxSizeResponseScopedPDU -- maximum size sender can accept
         OUT securityStateReference   -- reference to security state
         )                            -- information, needed for
                                      -- response
        

If an errorIndication is returned by the security module, then

セキュリティモジュールによってエラーインジケーションが返された場合、

a) If statusInformation contains values for an OID/value pair, then generation of a Report PDU is attempted (see step 3 in section 7.1).

a) StatusInformationにOID/値ペアの値が含まれている場合、レポートPDUの生成が試みられます(セクション7.1のステップ3を参照)。

1) If the scopedPDU has been returned from processIncomingMsg then determine contextEngineID, contextName, and PDU.

1) ScopedPDUがProcessIncomingMsgから返された場合、ContextEngineID、ContextName、およびPDUを決定します。

2) Information about the message is cached and a stateReference is created (implementation-specific).

2) メッセージに関する情報はキャッシュされ、統計が作成されます(実装固有)。

Information to be cached includes the values of:

キャッシュされる情報には、次の値が含まれます。

msgVersion, msgID, securityLevel, msgFlags, msgMaxSize, securityModel, maxSizeResponseScopedPDU, securityStateReference

msgversion、msgid、securitylevel、msgflags、msgmaxsize、securitymodel、maxsizeresponsescopedpdu、securitystateReference

3) Request that a Report-PDU be prepared and sent, according to the abstract service primitive:

3) 抽象サービスのPrimitiveに従って、レポート-PDUを準備して送信するように要求します。

result = -- SUCCESS or FAILURE returnResponsePdu( IN messageProcessingModel -- SNMPv3(3) IN securityModel -- same as on incoming request IN securityName -- from processIncomingMsg IN securityLevel -- same as on incoming request IN contextEngineID -- from step 6 a) 1) IN contextName -- from step 6 a) 1) IN pduVersion -- SNMPv2-PDU IN PDU -- from step 6 a) 1) IN maxSizeResponseScopedPDU -- from processIncomingMsg IN stateReference -- from step 6 a) 2) IN statusInformation -- from processIncomingMsg )

result = - 成功または失敗RECRUNTRESPONSEPDU(MessageProcessingModel -snmpv3(3)in SecurityModel - SecurityNameでの受信リクエストと同じ - SecurityLevelのProcessIncomingMsgから - コンテキストエンジンの受信要求と同じ - ステップ6 a)1)コンテキスト名 - ステップ6からa)1)in pduversion-snmpv2-pdu in pduのsnmpv2-pdu-ステップ6 a)1)最大sesscopedpduから - staterferenceのプロセスインコーミングから - ステップ6 a)2)-incomingmsgから)

b) The incoming message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.

b) 着信メッセージは、さらに処理することなく破棄され、障害結果が返されます。SNMPV3メッセージ処理が完了しました。

7) The scopedPDU is parsed to extract the contextEngineID, the contextName and the PDU. If any parse error occurs, then the snmpInASNParseErrs counter [RFC1907] is incremented, the security state information is discarded, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete. Treating an unknown PDU type is treated as a parse error is an implementation option.

7) ScopedPDUは、ContextEngineID、ContextName、およびPDUを抽出するために解析されます。解析誤差が発生した場合、Snmpinasnparseerrsカウンター[RFC1907]が増加し、セキュリティ状態の情報が破棄され、メッセージがさらに処理されずに破棄され、障害結果が返されます。SNMPV3メッセージ処理が完了しました。未知のPDUタイプの扱いは、解析エラーとして扱われます。これは実装オプションです。

8) The pduVersion is determined in an implementation-dependent manner. For SNMPv3, the pduVersion would be an SNMPv2-PDU.

8) Pduversionは、実装依存的に決定されます。Snmpv3の場合、pduversionはSnmpv2-pduになります。

9) The pduType is determined, in an implementation-dependent manner. For RFC 1905, the pduTypes include:

9) PDUTypeは、実装依存的に決定されます。RFC 1905の場合、pdutypesには次のものが含まれます。

- GetRequest-PDU, - GetNextRequest-PDU, - GetBulkRequest-PDU, - SetRequest-PDU, - InformRequest-PDU, - SNMPv2-Trap-PDU, - Response-PDU, - Report-PDU.

- getRequest-PDU、 - getNextRequest-PDU、-GetBulkRequest-PDU、-SetRequest-PDU、-NolfRequest-PDU、-Snmpv2-Trap-PDU、 - Response-PDU、 - Report-PDU。

10) If the pduType is from the Response Class or the Internal Class, then

10)pdutypeが応答クラスまたは内部クラスからのものである場合、

a) The value of the msgID component is used to find the cached information for a corresponding outstanding Request message. If no such outstanding Request message is found, then the security state information is discarded, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.

a) MSGIDコンポーネントの値は、対応する未解決のリクエストメッセージのキャッシュされた情報を見つけるために使用されます。そのような未解決の要求メッセージが見つからない場合、セキュリティ状態情報が破棄され、メッセージがさらに処理されずに破棄され、障害結果が返されます。SNMPV3メッセージ処理が完了しました。

b) sendPduHandle is retrieved from the cached information.

b) sendpduhandleは、キャッシュされた情報から取得されます。

Otherwise, sendPduHandle is set to <none>, an implementation defined value.

それ以外の場合、sendpduhandleは、実装定義値の値に設定されています。

11) If the pduType is from the Internal Class, then

11)pdutypeが内部クラスからのものである場合、

a) statusInformation is created using the contents of the Report-PDU, in an implementation-dependent manner. This statusInformation will be forwarded to the application associated with the sendPduHandle.

a) StatusInFormationは、実装依存的にレポートPDUの内容を使用して作成されます。このステータス情報は、sendpduhandleに関連付けられたアプリケーションに転送されます。

b) The cached data for the outstanding message, referred to by stateReference, is retrieved. If the securityModel or securityLevel values differ from the cached ones, it is important to recognize that Internal Class PDUs delivered at the security level of noAuthNoPriv open a window of opportunity for spoofing or replay attacks. If the receiver of such messages is aware of these risks, the use of such unauthenticated messages is acceptable and may provide a useful function for discovering engine IDs or for detecting misconfiguration at remote nodes.

b) statereferenceと呼ばれる未解決のメッセージのキャッシュデータは取得されます。セキュリティモデルまたはセキュリティレベルの値がキャッシュされた値と異なる場合、noauthnoprivのセキュリティレベルで配信された内部クラスPDUがスプーフィングまたはリプレイ攻撃の機会の窓を開くことを認識することが重要です。そのようなメッセージの受信者がこれらのリスクを認識している場合、そのような認可されていないメッセージの使用は受け入れられ、エンジンIDを発見したり、リモートノードでの誤解を検出したりするための有用な機能を提供する可能性があります。

When the securityModel or securityLevel values differ from the cached ones, an implementation may retain the cached information about the outstanding Request message, in anticipation of the possibility that the Internal Class PDU received might be illegitimate. Otherwise, any cached information about the outstanding Request message message is discarded.

セキュリティモデルまたはセキュリティレベルの値がキャッシュされた値と異なる場合、実装は、PDUが受け取った内部クラスが違法である可能性を見越して、未解決の要求メッセージに関するキャッシュされた情報を保持する場合があります。それ以外の場合、未解決のリクエストメッセージメッセージに関するキャッシュされた情報は破棄されます。

c) The security state information for this incoming message is discarded.

c) この着信メッセージのセキュリティ状態情報は破棄されます。

d) stateReference is set to <none>

d) 統計は<なし>に設定されています

e) A SUCCESS result is returned. SNMPv3 Message Processing is complete.

e) 成功結果が返されます。SNMPV3メッセージ処理が完了しました。

12) If the pduType is from the Response Class, then

12)pdutypeが応答クラスからのものである場合、

a) The cached data for the outstanding request, referred to by stateReference, is retrieved, including

a) statereferenceによって言及された未解決の要求のキャッシュデータは、取得されます。

- snmpEngineID - securityModel - securityName - securityLevel - contextEngineID - contextName

- snmpengineid -securitymodel -securityname -securityLevel -ContextEngineID -ContextName

b) If the values extracted from the incoming message differ from the cached data, then any cached information about the outstanding Request message is discarded, the incoming message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.

b) 着信メッセージから抽出された値がキャッシュデータと異なる場合、未解決の要求メッセージに関するキャッシュされた情報が破棄され、着信メッセージがさらに処理せずに破棄され、障害結果が返されます。SNMPV3メッセージ処理が完了しました。

When the securityModel or securityLevel values differ from the cached ones, an implementation may retain the cached information about the outstanding Request message, in anticipation of the possibility that the Response Class PDU received might be illegitimate.

セキュリティモデルまたはセキュリティレベルの値がキャッシュされた値と異なる場合、実装は、PDUが受け取った応答クラスが違法である可能性を見越して、未解決の要求メッセージに関するキャッシュされた情報を保持する場合があります。

c) Otherwise, any cached information about the outstanding Request message is discarded, and stateReference is set to <none>.

c) それ以外の場合、未解決のリクエストメッセージに関するキャッシュされた情報は破棄され、統計は<なし>に設定されます。

d) A SUCCESS result is returned. SNMPv3 Message Processing is complete.

d) 成功結果が返されます。SNMPV3メッセージ処理が完了しました。

13) If the pduType is from the Confirmed Class, then

13)pdutypeが確認されたクラスからのものである場合、

a) If the value of securityEngineID is not equal to the value of snmpEngineID, then the security state information is discarded, any cached information about this message is discarded, the incoming message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.

a) SecurityEngineIDの値がSNMPENGINEIDの値に等しくない場合、セキュリティ状態情報が破棄され、このメッセージに関するキャッシュされた情報が破棄され、着信メッセージがさらなる処理なしで破棄され、障害結果が返されます。SNMPV3メッセージ処理が完了しました。

b) Information about the message is cached and a stateReference is created (implementation-specific). Information to be cached includes the values of:

b) メッセージに関する情報はキャッシュされ、統計が作成されます(実装固有)。キャッシュされる情報には、次の値が含まれます。

msgVersion, msgID, securityLevel, msgFlags, msgMaxSize, securityModel, maxSizeResponseScopedPDU, securityStateReference

msgversion、msgid、securitylevel、msgflags、msgmaxsize、securitymodel、maxsizeresponsescopedpdu、securitystateReference

c) A SUCCESS result is returned. SNMPv3 Message Processing is complete.

c) 成功結果が返されます。SNMPV3メッセージ処理が完了しました。

14) If the pduType is from the Unconfirmed Class, then A SUCCESS result is returned. SNMPv3 Message Processing is complete.

14)PDUTypeが未確認のクラスからのものである場合、成功結果が返されます。SNMPV3メッセージ処理が完了しました。

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. Acknowledgements
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 WGメンバーに特別な感謝をお勧めします。

Harald Tveit Alvestrand (Maxware) Dave Battle (SNMP Research, Inc.) Alan Beard (Disney Worldwide Services) Paul Berrevoets (SWI Systemware/Halcyon Inc.) 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 (Cabletron Systems Inc.) Lauren Heintz (BMC Software, Inc.) N.C. Hien (IBM T. J. Watson Research Center) Michael Kirkham (InterWorking Labs, Inc.) Dave Levi (SNMP Research, Inc.) 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 (IBM T. J. Watson Research Center)

Harald Tveit Alvestrand(Maxware)Dave Battle(SNMP Research、Inc。)Alan Beard(Disney Worldwide Services)Paul Berrevoets(SWI Systemware/Halcyon Inc.)Martin Bjorklund(Ericsson)Uri Blumenthal(IBM T. J. Watson Research Center)Jeff(SNMPResearch、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(Cabletron Systems Inc.)Lauren Heintz(BMC Software、Inc。)N.C。Hien(IBM T. J. Watson Research Center)Michael Kirkham(Interworking Labs、Inc。)Dave Levi(SNMP Research、Inc。)Louis a Mamakos(Uunet Technologies Inc.)Joe Marzot(Nortel Networks)Paul Meyer(Secure Computing Corporation)Keith McCloghrie(Cisco Systems)Bob Moore(IBM)Russ Mundy(Network AssociatesのTis Labs))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 Satcher(独立コンサルタント)Bert Wijnen(IBM T. J. Watson Research Center)

The document is based on recommendations of the IETF Security and Administrative Framework Evolution for SNMP Advisory Team. Members of that Advisory Team were:

このドキュメントは、SNMPアドバイザリーチームのIETFセキュリティおよび管理フレームワークの進化の推奨事項に基づいています。そのアドバイザリーチームのメンバーは次のとおりです。

David Harrington (Cabletron Systems Inc.) Jeff Johnson (Cisco Systems) David Levi (SNMP Research Inc.) John Linn (Openvision) Russ Mundy (Trusted Information Systems) chair Shawn Routhier (Epilogue) Glenn Waters (Nortel) Bert Wijnen (IBM T. J. Watson Research Center)

David Harrington(Cabletron Systems Inc.)Jeff Johnson(Cisco Systems)David Levi(SNMP Research Inc.)John Linn(OpenVision)Russ Mundy(信頼できる情報システム)議長Shawn Routhier(Epilogue)Glenn Waters(Nortel)Bert Wijnen(IBM T. J.ワトソン研究センター)

As recommended by the Advisory Team and the SNMPv3 Working Group Charter, the design incorporates as much as practical from previous RFCs and drafts. As a result, special thanks are due to the authors of previous designs known as SNMPv2u and SNMPv2*:

アドバイザリーチームとSNMPV3ワーキンググループチャーターが推奨しているように、この設計には以前のRFCとドラフトから実用的なものが組み込まれています。その結果、SNMPV2UおよびSNMPV2*として知られる以前のデザインの著者による特別な感謝のおかげです。

Jeff Case (SNMP Research, Inc.) David Harrington (Cabletron Systems Inc.) David Levi (SNMP Research, Inc.) Keith McCloghrie (Cisco Systems) Brian O'Keefe (Hewlett Packard) Marshall T. Rose (Dover Beach Consulting) Jon Saperia (BGS Systems Inc.) Steve Waldbusser (International Network Services) Glenn W. Waters (Bell-Northern Research Ltd.)

ジェフケース(SNMP Research、Inc。)David Harrington(Cabletron Systems Inc.)David Levi(SNMP Research、Inc。)Keith McCloghrie(Cisco Systems)Brian O'Keefe(Hewlett Packard)Marshall T. Rose(Dover Beach Consulting)JonSaperia(BGS Systems Inc.)Steve Waldbusser(International Network Services)Glenn W. Waters(Bell-Northern Research Ltd.)

10. Security Considerations
10. セキュリティに関する考慮事項

The Dispatcher coordinates the processing of messages to provide a level of security for management messages and to direct the SNMP PDUs to the proper SNMP application(s).

ディスパッチャーは、メッセージの処理を調整して、管理メッセージにセキュリティのレベルを提供し、SNMP PDUを適切なSNMPアプリケーションに向けます。

A Message Processing Model, and in particular the V3MP defined in this document, interacts as part of the Message Processing with Security Models in the Security Subsystem via the abstract service interface primitives defined in [RFC2571] and elaborated above.

メッセージ処理モデル、特にこのドキュメントで定義されているV3MPは、[RFC2571]で定義され、上記で詳述された抽象サービスインターフェイスプリミティブを介して、セキュリティサブシステムのセキュリティモデルとメッセージ処理の一部として相互作用します。

The level of security actually provided is primarily determined by the specific Security Model implementation(s) and the specific SNMP application implementation(s) incorporated into this framework. Applications have access to data which is not secured. Applications should take reasonable steps to protect the data from disclosure, and when they send data across the network, they should obey the securityLevel and call upon the services of an Access Control Model as they apply access control.

実際に提供されるセキュリティのレベルは、主に特定のセキュリティモデルの実装と、このフレームワークに組み込まれた特定のSNMPアプリケーションの実装によって決定されます。アプリケーションは、保護されていないデータにアクセスできます。アプリケーションは、データを開示から保護するための合理的な措置を講じる必要があり、ネットワーク全体にデータを送信する場合、SecurityLevelに従い、アクセス制御を適用する際にアクセス制御モデルのサービスを呼びかける必要があります。

The values for the msgID element used in communication between SNMP entities must be chosen to avoid replay attacks. The values do not need to be unpredictable; it is sufficient that they not repeat.

リプレイ攻撃を避けるために、SNMPエンティティ間の通信で使用されるMSGID要素の値を選択する必要があります。値は予測不可能である必要はありません。彼らが繰り返さないだけで十分です。

When exchanges are carried out over an insecure network, there is an open opportunity for a third party to spoof or replay messages when any message of an exchange is given at the security level of noAuthNoPriv. For most exchanges, all messages exist at the same security level. In the case where the final message is an Internal Class PDU, this message may be delivered at a level of noAuthNoPriv or authNoPriv, independent of the security level of the preceding messages. Internal Class PDUs delivered at the level of authNoPriv are not considered to pose a security hazard. Internal Class PDUs delivered at the security level of noAuthNoPriv open a window of opportunity for spoofing or replay attacks. If the receiver of such messages is aware of these risks, the use of such unauthenticated messages is acceptable and may provide a useful function for discovering engine IDs or for detecting misconfiguration at remote nodes.

不安定なネットワークを介して交換が行われると、第三者がnoauthnoprivのセキュリティレベルで交換のメッセージが与えられたときに、サードパーティがメッセージをスプーフィングまたはリプレイする機会があります。ほとんどの交換では、すべてのメッセージが同じセキュリティレベルに存在します。最終メッセージが内部クラスPDUである場合、このメッセージは、前述のメッセージのセキュリティレベルとは無関係に、NouthnoprivまたはAuthnoprivのレベルで配信される場合があります。Authnoprivのレベルで配信される内部クラスPDUは、セキュリティの危険をもたらすとは見なされません。Noauthnoprivのセキュリティレベルで配信された内部クラスPDUは、スプーフィングまたはリプレイ攻撃の機会の窓を開きます。そのようなメッセージの受信者がこれらのリスクを認識している場合、そのような認可されていないメッセージの使用は受け入れられ、エンジンIDを発見したり、リモートノードでの誤解を検出したりするための有用な機能を提供する可能性があります。

This document also contains a MIB definition module. None of the objects defined is writable, and the information they represent is not deemed to be particularly sensitive. However, if they are deemed sensitive in a particular environment, access to them should be restricted through the use of appropriately configured Security and Access Control models.

このドキュメントには、MIB定義モジュールも含まれています。定義されたオブジェクトはどれも書き込み可能であり、それらが表す情報は特に敏感であるとはみなされません。ただし、特定の環境で敏感であると見なされる場合、適切に構成されたセキュリティおよびアクセス制御モデルを使用して、それらへのアクセスを制限する必要があります。

11. References
11. 参考文献

[RFC1901] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996.

[RFC1901] SNMPV2ワーキンググループ、Case、J.、McCloghrie、K.、Rose、M。and S. Waldbusser、「コミュニティベースのSNMPV2の紹介」、RFC 1901、1996年1月。

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

[RFC2578] McCloghrie、K.、Perkins、D。、およびJ. Schoenwaelder、「管理情報の構造バージョン2(SMIV2)」、STD 58、RFC 2578、1999年4月。

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

[RFC1905] SNMPV2ワーキンググループ、ケース、J.、McCloghrie、K.、Rose、M。、およびS. Waldbusser、「Snmpv2)のバージョン2のプロトコル操作、RFC 1905、1996年1月。

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

[RFC1906] SNMPV2ワーキンググループ、ケース、J.、McCloghrie、K.、Rose、M。、およびS. Waldbusser、「Snmpv2)のバージョン2の輸送マッピング」、RFC 1906、1996年1月。

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

[RFC1907] SNMPV2ワーキンググループ、ケース、J.、McCloghrie、K.、Rose、M。、およびS. Waldbusser、「Simple Network Management Protocol(SNMPV2)のバージョン2の管理情報ベース」、RFC 1907 1996年1月。

[RFC1908] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Coexistence between Version 1 and Version 2 of the Internet-standard Network Management Framework", RFC 1908, January 1996.

[RFC1908] SNMPV2ワーキンググループ、ケース、J.、McCloghrie、K.、Rose、M。、およびS. Waldbusser、「インターネット標準ネットワーク管理フレームワークのバージョン1とバージョン2の共存」、RFC 1908、1996年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月。

[RFC2028] Hovey, R. and S. Bradner, "The Organizations Involved in the IETF Standards Process", BCP 11, RFC 2028, October 1996.

[RFC2028] Hovey、R。およびS. Bradner、「IETF標準プロセスに関与する組織」、BCP 11、RFC 2028、1996年10月。

[RFC2571] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for describing SNMP Management Frameworks", RFC 2571, April 1999.

[RFC2571] Harrington、D.、Presuhn、R。およびB. Wijnen、「SNMP管理フレームワークを説明するためのアーキテクチャ」、RFC 2571、1999年4月。

[RFC2574] Blumenthal, U. and B. Wijnen, "The User-Based Security Model for Version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999.

[RFC2574] Blumenthal、U.およびB. Wijnen、「Simple Network Management Protocol(SNMPV3)のバージョン3のユーザーベースのセキュリティモデル」、RFC 2574、1999年4月。

[RFC2575] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999.

[RFC2575] Wijnen、B.、Presuhn、R。、およびK. McCloghrie、「シンプルネットワーク管理プロトコル(SNMP)のビューベースのアクセス制御モデル」、RFC 2575、1999年4月。

[RFC2573] Levi, D., Meyer, P. and B. Stewart, "SNMP Applications", RFC 2573, April 1999.

[RFC2573] Levi、D.、Meyer、P。and B. Stewart、「SNMP Applications」、RFC 2573、1999年4月。

[RFC2570] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999.

[RFC2570] Case、J.、Mundy、R.、Partain、D。およびB. Stewart、「インターネット標準ネットワーク管理フレームワークのバージョン3の紹介」、RFC 2570、1999年4月。

12. Editors' Addresses
12. 編集者のアドレス

Jeffrey Case SNMP Research, Inc. 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 USA

Jeffrey Case SNMP Research、Inc。3001 Kimberlin Heights Road Knoxville、TN 37920-9716 USA

Phone: +1 423-573-1434 EMail: case@snmp.com Dave Harrington Cabletron Systems, Inc Post Office Box 5005 Mail Stop: Durham 35 Industrial Way Rochester, NH 03867-5005 USA

電話:1 423-573-1434メール:case@snmp.com Dave Harrington Cabletron Systems、Inc Post Office Box 5005メール停止:Durham 35 Industrial Way Rochester、NH 03867-5005 USA

   Phone:      +1 603-337-7357
   EMail:      dbh@ctron.com
        

Randy Presuhn BMC Software, Inc. 965 Stewart Drive Sunnyvale, CA 94086 USA

Randy Presuhn BMC Software、Inc。965 Stewart Drive Sunnyvale、CA 94086 USA

   Phone:      +1 408-616-3100
   EMail:      randy_presuhn@bmc.com
        

Bert Wijnen IBM T. J. Watson Research Schagen 33 3461 GL Linschoten Netherlands

Bert Wijnen Ibm T. J. Watson Research Schagen 33 3461 GL Linschotenオランダ

   Phone:      +31 348-432-794
   EMail:      wijnen@vnet.ibm.com
        
13. Changes From RFC 2272
13. RFC 2272からの変更

The following change log records major changes from the previous version of this document, RFC 2272.

次の変更ログは、このドキュメントの以前のバージョン、RFC 2272からの大きな変更を記録します。

- Updated contact information for editors.

- 編集者の連絡先情報を更新しました。

- Made parameter identification in prepareResponseMessage() consistent, both internally and with architecture.

- 内部的にもアーキテクチャを使用して、fraeresponsemessage()のパラメーター識別を一貫して作成しました。

- Made references to processIncomingMsg() consistent, both internally and with architecture.

- 内部的にもアーキテクチャを使用して、ProcessIncomingmsg()を一貫して参照しました。

- Deleted superfluous expectResponse parameter from processIncomingMsg(), consistent with architecture.

- Architectureと一致して、processIncomingMsg()から削除された余分なexpectonseponseパラメーター。

- Fixed typos.

- タイプミスを修正しました。

- Removed sending of a report PDU from step 4 on page 30 on RFC 2272.

- RFC 2272の30ページのステップ4からレポートPDUの送信を削除しました。

- Use "PDU Class" terminology instead of directly using RFC 1905 PDU types, in order to potentially allow use of new PDU types in the future.

- RFC 1905 PDUタイプを直接使用する代わりに、「PDUクラス」という用語を使用して、将来新しいPDUタイプを使用できるようにします。

- Added intro document to references.

- 参照にイントロドキュメントを追加しました。

- Made various clarifications to the text.

- テキストをさまざまな説明しました。

- The handling of the reportableFlag has been made consistent.

- ReportableFlagの取り扱いは一貫しています。

- The acknowledgement list has been updated.

- 確認リストが更新されました。

14. 完全な著作権声明

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

Copyright(c)The Internet Society(1999)。無断転載を禁じます。

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

このドキュメントと翻訳は他の人にコピーされて提供される場合があります。また、それについてコメントまたは説明する派生作品、またはその実装を支援することは、いかなる種類の制限なしに、準備、コピー、公開、および部分的に配布される場合があります。、上記の著作権通知とこの段落がそのようなすべてのコピーとデリバティブ作品に含まれている場合。ただし、このドキュメント自体は、インターネット協会や他のインターネット組織への著作権通知や参照を削除するなど、いかなる方法でも変更できない場合があります。インターネット標準プロセスに従うか、英語以外の言語に翻訳するために必要な場合に従う必要があります。

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

上記の限られた許可は永続的であり、インターネット社会またはその後継者または譲受人によって取り消されることはありません。

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

この文書と本書に含まれる情報は、「現状」に基づいて提供されており、インターネット社会とインターネットエンジニアリングタスクフォースは、ここにある情報の使用が行われないという保証を含むがこれらに限定されないすべての保証を否認します。特定の目的に対する商品性または適合性の権利または黙示的な保証を侵害します。

Acknowledgement

謝辞

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

RFCエディター機能の資金は現在、インターネット協会によって提供されています。