[要約] RFC 2272は、SNMPのメッセージ処理とディスパッチに関する標準を定めたものであり、SNMPの効率的な通信と管理を目指しています。このRFCは、SNMPエージェントとマネージャ間のメッセージの処理と配信方法についてのガイドラインを提供しています。

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

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

Simple Network Management Protocol(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 (1998). All Rights Reserved.

Copyright(C)The Internet Society(1998)。全著作権所有。

IANA Note

IANA Note

Due to a clerical error in the assignment of the snmpModules in this memo, this RFC provides the corrected number assignment for this protocol. This memo obsoletes RFC 2262.

このメモのsnmpModulesの割り当てにおける誤記のため、このRFCはこのプロトコルの修正された番号割り当てを提供します。このメモはRFC 2262を廃止します。

Abstract

概要

This document describes the Message Processing and Dispatching for SNMP messages within the SNMP architecture [RFC2271]. 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アーキテクチャ[RFC2271]内のSNMPメッセージのメッセージ処理とディスパッチについて説明します。複数のバージョンのSNMPメッセージを適切なSNMPメッセージ処理モデルにディスパッチする手順と、PDUをSNMPアプリケーションにディスパッチする手順を定義します。このドキュメントでは、SNMPv3メッセージ処理モデルという1つのメッセージ処理モデルについても説明しています。

Table of Contents

目次

   1. Introduction ...............................................    2
   2. Overview ...................................................    3
   2.1. The Dispatcher. ..........................................    5
   2.2. Message Processing Subsystem .............................    5
   3. Elements of Message Processing and Dispatching .............    6
        
   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 ...............   10
   4.2.1. Message Dispatching of received SNMP Messages ..........   10
   4.2.2. PDU Dispatching for Incoming Messages ..................   11
   4.2.2.1. Incoming Requests and Notifications ..................   12
   4.2.2.2. Incoming Responses ...................................   13
   4.3. Application Registration for Handling PDU types ..........   14
   4.4. Application Unregistration for Handling PDU Types ........   14
   5. Definitions ................................................   15
   5.1. Definitions for SNMP Message Processing and Dispatching ..   15
   6. The SNMPv3 Message Format ..................................   18
   6.1. msgVersion ...............................................   19
   6.2. msgID ....................................................   19
   6.3. msgMaxSize ...............................................   19
   6.4. msgFlags .................................................   20
   6.5. msgSecurityModel .........................................   22
   6.6. msgSecurityParameters ....................................   22
   6.7. scopedPduData ............................................   22
   6.8. scopedPDU ................................................   22
   6.8.1. contextEngineID ........................................   22
   6.8.2. contextName ............................................   23
   6.8.3. data ...................................................   23
   7. Elements of Procedure for v3MP .............................   23
   7.1. Prepare an Outgoing SNMP Message .........................   24
   7.2. Prepare Data Elements from an Incoming SNMP Message ......   29
   8. Intellectual Property ......................................   34
   9. Acknowledgements ...........................................   35
   10. Security Considerations ...................................   36
   11. References ................................................   36
   12. Editors' Addresses ........................................   38
   13. Full Copyright Statement ..................................   39
        
1. Introduction
1. はじめに

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

インターネット管理フレームワークを記述するためのアーキテクチャ[RFC2271]は、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 [RFC2271].

このドキュメントで説明されているメッセージ処理サブシステムとディスパッチャがアーキテクチャに適合し、アーキテクチャ内の他のサブシステムと対話する場所を理解するには、SNMPアーキテクチャとその用語を理解することが重要です。読者は、[RFC2271]で定義されている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 PDUをSNMPアプリケーションにディスパッチします。 SNMPメッセージを準備する必要がある場合、またはSNMPメッセージからデータを抽出する必要がある場合、Dispatcherはこれらのタスクをメッセージ処理サブシステム内のメッセージバージョン固有のメッセージ処理モデルに委任します。

A Message Processing Model is responsibile 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 modelled using abstract data elements and abstract service interface primitives defined by the SNMP architecture.

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

Similarly, interactions between the Message Processing Subsystem and the Security Subsystem are modelled 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.

このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 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 RFC1906)    | |  +->| 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に加えて、メッセージの準備と送信に必要なデータを提供し、アプリケーションは、目的のセキュリティ処理でメッセージを準備するために使用されるバージョン固有のメッセージ処理モデルを指定します。メッセージが準備されると、Dispatcherがメッセージを送信します。

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.

着信メッセージの場合、Dispatcherは着信メッセージの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.

Dispatcherは、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メッセージを処理するためにDispatcherと対話する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 [RFC2271] for the definitions of contextEngineID contextName scopedPDU maxSizeResponseScopedPDU securityModel securityName securityLevel messageProcessingModel

contextEngineID contextName scopedPDU maxSizeResponseScopedPDU securityModel securityName securityLevel messageProcessingModelの定義については、[RFC2271]を参照してください

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.

着信メッセージの場合、バージョン固有のメッセージ処理モジュールがこれらの値をDispatcherに提供します。発信メッセージの場合、アプリケーションはこれらの値を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.

以下の追加または拡張された定義は、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の値は、メッセージ処理モデルを識別します。メッセージ処理モデルは、メッセージからデータを抽出し、メッセージを生成し、セキュリティモデルを呼び出してメッセージにセキュリティサービスを適用し、バージョン固有のメッセージ形式からDispatcherが使用できる汎用形式にデータを変換するためのバージョン固有の手順を記述します。データをDispatcher形式からバージョン固有のメッセージ形式に変換します。

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に固有です。 Dispatcherは、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がDispatcherに提供されます。 PDUディスパッチャーはpduVersionをアプリケーションに渡すので、PDUを適切に処理する方法がわかります。たとえば、コマンドレスポンダアプリケーションは、SNMPv1に指定されたものではなく、手順と構文の[RFC1905]要素を使用するかどうかを知る必要があります。

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の特定のpduTypeをサポートするように登録します。

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は、バージョン固有のメッセージ処理モジュールによってDispatcherに提供されます。その後、関連付けられた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メッセージを送信するたびに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を別の(リモート)アプリケーションに送信する場合、つまり、要求やトラップを含むメッセージなどのメッセージを送信して通信を開始する場合、次の手順の後にDispatcherが続きます。

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

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

       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値がDispatcherにとって既知のメッセージ処理モデルを表していない場合、errorIndication(実装依存)が呼び出し側アプリケーションに返されます。これ以上の処理は行われません。

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

3)Dispatcherは、後続の処理を調整するためにsendPduHandleを生成します。

4) The Message Dispatcher sends the request to the version-specific Message Processing module identified by messageProcessingModel using the abstract service primitive:

4)メッセージディスパッチャーは、抽象サービスプリミティブを使用して、messageProcessingModelで識別されるバージョン固有のメッセージ処理モジュールに要求を送信します。

      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                -- the version of the PDU
        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がエラーを示す場合、errorIndicationが呼び出し側アプリケーションに返されます。これ以上の処理は行われません。

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がアプリケーションに返され、outgoingMessageは、transportDomainで指定されたトランスポートを介して、transportAddressで指定されたアドレスに送信されます。

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:

1)アプリケーションは、抽象サービスプリミティブを使用してこれを要求できます。

      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)メッセージディスパッチャーは、抽象サービスプリミティブを使用して、受信した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)結果がerrorIndicationの場合、errorIndicationが呼び出し側アプリケーションに返されます。これ以上の処理は行われません。

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)結果が成功の場合、outgoingMessageは、transportDomainで指定されたトランスポートを介して、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メッセージを受信したときに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)オリジントランスポートドメインとオリジントランスポートアドレスが決定されます。

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:

4)メッセージは、バージョン固有のメッセージ処理モデルに渡され、Dispatcherに必要な抽象データ要素が返されます。これは、抽象サービスプリミティブを使用して実行されます。

      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 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               -- 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)結果がFAILURE errorIndicationの場合、メッセージはそれ以上処理されずに破棄されます。

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の値が<none>の場合、これは要求または通知であり、セクション4.2.2.1で指定された手順が適用されます。 snmpPduHandleの値が<none>でない場合、これは応答であり、セクション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の値が<none>の場合、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) 応答メッセージは、抽象サービスプリミティブを使用して生成されます。

         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  transportDomain           -- destination transportDomain
         OUT  transportAddress          -- 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) 結果がSUCCESSの場合、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の値が<none>でない場合のPDUのディスパッチについては、これが応答であることを示す次の手順に従います。

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

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

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)待機中のアプリケーションが見つからない場合、メッセージは破棄され、それ以上の処理は行われず、stateReferenceが解放されます。 snmpUnknownPDUHandlersカウンタが増加します。このメッセージのメッセージ処理が完了しました。

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

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

4) The response is dispatched to the application using the abstract service primitive:

4)応答は、抽象サービスプリミティブを使用してアプリケーションにディスパッチされます。

         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(s)の組み合わせを指定し、それらの責任を引き受けます。

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値など、複数のcontextEngineID値の同時登録を要求する手段を提供し、pduTypeの複数の値の同時登録を要求する手段も提供する場合があります。

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

2)パラメータの有効性をチェックできます。そうでない場合は、errorIndication(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の各組み合わせは、一度だけ登録できます。指定した組み合わせに対して別のアプリケーションがすでに登録されている場合は、errorIndication(alreadyRegistered)がアプリケーションに返されます。

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;

SNMPv2-CONF MODULE-IDENTITYからのOBJECT-GROUP、SNMPv2-SMIからのOBJECT-TYPE、snmpModules、Counter32からのモジュールコンプライアンス、OBJECT-GROUPのインポート。

snmpMPDMIB MODULE-IDENTITY LAST-UPDATED "9711200000Z" -- 20 November 1997 ORGANIZATION "SNMPv3 Working Group" CONTACT-INFO "WG-email: snmpv3@tis.com Subscribe: majordomo@tis.com In message body: subscribe snmpv3

snmpMPDMIB MODULE-IDENTITY LAST-UPDATED "9711200000Z"-1997年11月20日組織 "SNMPv3ワーキンググループ"連絡先情報 "WG-email:snmpv3@tis.com購読:majordomo@tis.comメッセージ本文:subscribe snmpv3

Chair: Russ Mundy Trusted Information Systems postal: 3060 Washington Road Glenwood, MD 21738 USA email: mundy@tis.com phone: +1 301-854-6889

議長:Russ Mundy Trusted Information Systems郵便:3060 Washington Road Glenwood、MD 21738 USAメール:mundy@tis.com電話:+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 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

共同編集者:Jeffrey Case SNMP Research、Inc.郵便:3001 Kimberlin Heights Road Knoxville、TN 37920-9716 USA電子メール:case@snmp.com電話:+1 423-573-1434共同編集者Dave Harrington Cabletron Systems、Inc.郵便:郵便局ボックス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: 1190 Saratoga Ave, Suite 190 San Jose, CA 95120 USA email: rpresuhn@bmc.com phone: +1 408-556-0720

共同編集者:Randy Presuhn BMC Software、Inc.郵便:1190 Saratoga Ave、Suite 190 San Jose、CA 95120 USAメール:rpresuhn@bmc.com電話:+1 408-556-0720

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郵便:Schagen 33 3461 GL Linschotenオランダメール:wines@vnet.ibm.com電話:+31 348-432-794

                    "
       DESCRIPTION  "The MIB for Message Processing and Dispatching"
       ::= { 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.

snmpUnknownSecurityModels OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS現在の説明「SNMPエンジンが認識していない、またはサポートしていないsecurityModelを参照したためにドロップされた、SNMPエンジンが受信したパケットの総数。

                   "
       ::= { 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 implement the SNMP-MPD-MIB. "

snmpMPDCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION「SNMP-MPD-MIBを実装するSNMPエンティティのコンプライアンスステートメント。」

MODULE -- this module

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

このセクションでは、SNMPv3メッセージ形式と、対応するSNMPバージョン3メッセージ処理モデル(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
           msgVersion INTEGER { snmpv3 (3) },
           -- 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 (0..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 RFC1905
       }
   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 [RFC2271] as the high-order portion of the msgID value and a monotonically increasing integer for the low-order portion of msgID.

msgIDの値は、未処理の値の再利用を回避する方法で生成する必要があります。そうすることで、一部のリプレイ攻撃に対する保護を提供します。 1つの可能な実装戦略は、snmpEngineBoots [RFC2271]の下位ビットをmsgID値の上位部分として使用し、msgIDの下位部分に単調に増加する整数を使用することです。

Note that the request-id in a PDU is 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 may need to identify the message even if decrypting 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内のrequest-idは、SNMPアプリケーションがPDUを識別するために使用されることに注意してください。エンジンはmsgIDを使用して、PDUを伝送するメッセージを識別します。 PDU(およびリクエストID)の復号化が失敗した場合でも、エンジンはメッセージを識別する必要がある場合があります。 msgIDの値とrequest-idの値が同等であるとは想定しないでください。

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.

メッセージの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 how big the Response to a Request message can be.

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フィールドには、メッセージの処理を制御するいくつかのビットフィールドが含まれています。

When the reportableFlag is one, a Report PDU must be returned to the sender under those conditions which can cause the generation of Report PDUs. When the reportableFlag is zero, then a Report PDU must not be sent. The reportableFlag must always be zero when the message contains 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 request-type PDU (such as a Get PDU) and an acknowledged notification-type PDU (such as an Inform PDU).

reportableFlagが1の場合、レポートPDUは、レポートPDUの生成を引き起こす可能性のある条件下で送信者に返す必要があります。 reportableFlagがゼロの場合、レポートPDUを送信してはなりません。メッセージにReport PDU、Response-type PDU(Response PDUなど)、または無応答のNotification-Type PDU(SNMPv2-trap PDUなど)が含まれている場合、reportableFlagは常にゼロでなければなりません。 reportableFlagは、要求タイプのPDU(Get PDUなど)と確認済みの通知タイプのPDU(Inform PDUなど)では常に1でなければなりません。

If the reportableFlag is set to one for a message containing 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.

ReportableFlagがReport PDU、Response-type PDU(Response PDUなど)、または未確認の通知タイプPDU(SNMPv2-trap PDUなど)を含むメッセージに対して1に設定されている場合、その受信者メッセージは、reportableFlagがゼロに設定されたかのように処理する必要があります。

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.

要求タイプPDU(Get PDUなど)または確認済み通知タイプPDU(Inform PDUなど)を含むメッセージのreportableFlagがゼロに設定されている場合、そのメッセージの受信者は、それをreportableFlagが1に設定されていました。

Report PDUs are engine-to-engine communications and are processed directly by the SNMPv3 Message Processing Model, and are generally not passed to applications for processing, unlike all other PDU types.

レポートPDUはエンジン間の通信であり、SNMPv3メッセージ処理モデルによって直接処理され、他のすべてのPDUタイプとは異なり、通常、アプリケーションに渡されて処理されません。

Note that 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 ecryption 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の送信に関する決定の基礎を形成します。

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の部分は、送信者が設定して、メッセージがネットワークに送信される前にメッセージに適用されたsecurityLevelを示します。メッセージの受信者は、メッセージが受信されて内容が処理されているときに同じsecurityLevelを適用する必要があります。

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

3つのsecurityLevelがあります。つまり、noAuthNoPrivはauthNoPriv未満で、authNoPrivはauthPriv未満です。 securityLevelの詳細については、SNMPアーキテクチャドキュメント[RFC2271]を参照してください。

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エンジンが使用するsecurityModelは、その代わりにSNMPメッセージが生成されたsecurityNameを識別し、securityModel固有の方法で、受信者に十分なデータを提供する必要があります。その識別を認証できるようにするメッセージ。一般に、この認証により、受信者はメッセージが次のとおりであったことを妥当な確実性で判断できます。

- 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エンジンによって使用されるsecurityModelは、SNMPメッセージが生成されたsecurityNameを識別する必要がありますが、メッセージの受信者が識別を認証するために十分なデータを提供する必要はありません。この場合、メッセージを認証する必要がないためです。

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., 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エンジンが使用するsecurityModelは、SNMPメッセージ内のscopedPDUを漏洩から保護する必要があります。つまり、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とprivFlagの組み合わせは、次のようなセキュリティレベルを構成します。

         authFlag zero, privFlag zero -> securityLevel is noAuthNoPriv
         authFlag zero, privFlag one  -> invalid combination
         authFlag one,  privFlag zero -> securityLevel is authNoPriv
         authFlag one,  privFlag one  -> securityLevel is authPriv
        
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. msgセキュリティパラメータ

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フィールドのデータはセキュリティモデルによって排他的に使用され、データの内容と形式はセキュリティモデルによって定義されます。このOCTET STRINGは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を表すか、または使用中のsecurityModelで復号化してプレーンテキストのscopedPDUを生成する必要があるencryptedPDU(OCTET STRINGとしてエンコード)を表します。

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は、特定のcontextNameを持つコンテキストのインスタンスを実現できるSNMPエンティティを管理ドメイン内で一意に識別します。

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

着信メッセージの場合、contextEngineIDを使用して、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. contextName

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.

SNMPv3メッセージのcontextNameフィールドは、contextEngineIDフィールドとともに、メッセージのPDU部分に含まれる管理情報に関連付けられた特定のコンテキストを識別します。 contextNameは、contextEngineIDで指定されたSNMPエンティティ内で一意であり、PDU内で参照される管理対象オブジェクトを実現できます。メッセージを発信するアプリケーションは、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が着信SNMPメッセージのタイプを判別するために使用するPDUタイプが含まれています。 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 reportableFlag is set in the received message.

a) 一部の手順では、受信メッセージの処理中にエラー条件が発生した場合、レポートPDUを含むメッセージが生成され、受信メッセージはそれ以上処理されずに破棄されるように指定されています。ただし、受信メッセージでreportableFlagが設定されていない限り、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 must 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 GetRequest-PDU, GetNextRequest-PDU, GetBulkRequest-PDU, SetRequest-PDU, InformRequest-PDU, or SNMPv2-Trap-PDU be prepared for sending.

1)メッセージディスパッチャーは、GetRequest-PDU、GetNextRequest-PDU、GetBulkRequest-PDU、SetRequest-PDU、InformRequest-PDU、またはSNMPv2-Trap-PDUを含む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
           )
        

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に使用される番号は最近使用されたものではなく、未処理の要求に使用されたものと同じであってはなりません。

* SNMPv3 does not use the values of expectResponse or pduVersion.

* SNMPv3は、expectResponseまたはpduVersionの値を使用しません。

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

2)メッセージディスパッチャーは、Response-PDUまたはReport-PDUを含むSNMPv3メッセージの送信準備を要求する場合があります。

      a) It makes such a request according to the abstract service
         primitive:
         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 of Response PDU
          IN   stateReference           -- reference to state
                                        -- information presented with
                                        -- the request
          IN   statusInformation        -- success or errorIndication
                                        -- error counter OID and value
                                        -- when errorIndication
          OUT  transportDomain          -- destination transport domain
          OUT  transportAddress         -- 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) 元のリクエストのキャッシュされた情報は、stateReferenceを介して取得されます。

- 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 /値の組み合わせの値が含まれている場合(場合によっては、securityLevel値、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がゼロの場合、元のメッセージは破棄され、それ以上の処理は行われません。 FAILUREの結果が返されます。 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は、OIDとstatusInformationからの値を含むように設定されています

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)で抽出された値に設定されます。それ以外の場合、request-idは0に設定されます。

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

d) statusInformationのerrorIndicationには、securityLevel値、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はその値に設定されます。それ以外の場合は、noAuthNoPrivに設定されます。

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)contextNameがまだ決定されていない場合、contextNameはデフォルトのコンテキストに設定されます。

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

6)contextEngineID、contextName、およびPDUからscopedPDUが作成されます。

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 a Response-PDU, Report-PDU or SNMPv2-Trap-PDU, then the reportableFlag is set to zero.

- PDUがResponse-PDU、Report-PDU、またはSNMPv2-Trap-PDUの場合、reportableFlagはゼロに設定されます。

- If the PDU is a GetRequest-PDU, GetNextRequest-PDU, GetBulkRequest-PDU, SetRequest-PDU, or InformRequest-PDU then the reportableFlag is set to one.

- PDUがGetRequest-PDU、GetNextRequest-PDU、GetBulkRequest-PDU、SetRequest-PDU、またはInformRequest-PDUの場合、reportableFlagは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 a Response-PDU or Report-PDU, then

8)PDUがResponse-PDUまたはReport-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にerrorIndicationが含まれている場合、未処理の要求メッセージに関するキャッシュされた情報はすべて破棄され、errorIndicationが返されるので、呼び出し元のアプリケーションに返すことができます。 SNMPv3メッセージ処理が完了しました。

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

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

9) If the PDU is a GetRequest-PDU, GetNextRequest-PDU, GetBulkRequest-PDU, SetRequest-PDU, InformRequest-PDU, or or SNMPv2-Trap-PDU, then

9)PDUがGetRequest-PDU、GetNextRequest-PDU、GetBulkRequest-PDU、SetRequest-PDU、InformRequest-PDU、またはSNMPv2-Trap-PDUの場合、

a) If the PDU is an SNMPv2-Trap-PDU, then securityEngineID is set to the value of this entity's snmpEngineID.

a) PDUがSNMPv2-Trap-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 IN securityName -- as provided by caller IN securityLevel -- as provided by caller IN snmpEngineID -- as determined in step 9 a) 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(IN messageProcessingModel-SNMPv3メッセージ処理モデルIN globalData-msgGlobalData、ステップ7からIN maxMessageSize-ステップ7のmsgMaxSizeからc)IN securityModel-呼び出し元によって提供されるIN securityEngineID-信頼できるSNMPエンティティIN securityName- -発信者INによって提供されるsecurityLevel-発信者INによって提供されるsnmpEngineID-ステップ9で決定されるようにwholeMsgLength-生成されたメッセージの長さ)

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にerrorIndicationが含まれている場合、メッセージは破棄され、errorIndicationが返されるため、呼び出し元のアプリケーションに返すことができ、それ以上の処理は行われません。 SNMPv3メッセージ処理が完了しました。

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

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

- 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)メッセージは、抽象サービスプリミティブに従ってメッセージディスパッチャから渡されます。

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

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, a Report PDU is generated, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.

4)msgSecurityModelコンポーネントの値がサポートされているsecurityModelと一致しない場合、snmpUnknownSecurityModelsカウンターがインクリメントされ、レポートPDUが生成され、メッセージは廃棄され、失敗の結果が返されます。 SNMPv3メッセージ処理が完了しました。

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

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

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が設定されていない場合、securityLevelは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, a Report PDU is generated, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.

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

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

statusInformation = -- errorIndication or success -- error counter OID and

                                      -- value if error
         processIncomingMsg(
         IN  messageProcessingModel   -- SNMPv3 Message Processing Model
         IN  expectResponse           -- TRUE or FALSE
         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 of Response PDU
         OUT securityStateReference   -- reference to security state
         )                            -- information, needed for
                                      -- response
        

If an errorIndication is returned by the security module, then

セキュリティモジュールによってerrorIndicationが返された場合、

a) If statusInformation contains values for an OID/value pair, then a Report PDU is generated.

a) statusInformationにOID /値ペアの値が含まれている場合、レポートPDUが生成されます。

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). Information to be cached includes the values of:

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

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)抽象サービスプリミティブに従って、Report-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
             OUT transportDomain          -- destination's transport
                                          -- domain
             OUT transportAddress         -- destination's transport
                                          -- address
             OUT outgoingMessage          -- the message to send
             OUT outgoingMessageLength    -- the length of the message
             )
        

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

b) 着信メッセージはそれ以上処理されずに破棄され、FAILUREの結果が返されます。 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.

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.

8) The pduVersion is set to an SNMPv2-PDU.

8) The pduVersion is set to an SNMPv2-PDU.

9) The pduType is determined, in an implementation-dependent manner, to be:

9)pduTypeは、実装に依存する方法で、次のように決定されます。

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

- GetRequest-PDU、-GetNextRequest-PDU、-GetBulkRequest-PDU、-SetRequest-PDU、-InformRequest-PDU、-SNMPv2-Trap-PDU、-Response-PDU、または-Report-PDU。

10) If the pduType is a Response-PDU or Report-PDU, then

10) If the pduType is a Response-PDU or Report-PDU, then

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コンポーネントの値は、対応する未処理の要求メッセージのキャッシュされた情報を見つけるために使用されます。そのような未処理の要求メッセージが見つからない場合、セキュリティ状態情報は破棄され、メッセージはそれ以上処理されずに破棄され、FAILUREの結果が返されます。 SNMPv3メッセージ処理が完了しました。

b) sendPduHandle is retrieved from the cached information.

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

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

それ以外の場合、sendPduHandleは、実装で定義された値である<none>に設定されます。

11) If the pduType is a Report-PDU, then

11)pduTypeがReport-PDUの場合、

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は、実装依存の方法で、Report-PDUのコンテンツを使用して作成されます。このstatusInformationは、sendPduHandleに関連付けられたアプリケーションに転送されます。

b) Any cached information about the outstanding Request message message is discarded.

b) 未処理の要求メッセージメッセージに関するキャッシュされた情報はすべて破棄されます。

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

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

d) stateReference is set to <none>

d) stateReferenceは<none>に設定されます

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

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

12) If the pduType is a Response-PDU, then

12)pduTypeがResponse-PDUの場合、

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 the security state information is discarded, 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) 着信メッセージから抽出された値がキャッシュデータと異なる場合、セキュリティ状態情報は破棄され、未処理の要求メッセージに関するキャッシュ情報は破棄され、着信メッセージはそれ以上処理されずに破棄され、FAILUREの結果が返されます。 SNMPv3メッセージ処理が完了しました。

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

c) それ以外の場合、未処理の要求メッセージに関するキャッシュされた情報はすべて破棄され、stateReferenceは<none>に設定されます。

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

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

13) If the pduType is a GetRequest-PDU, GetNextRequest-PDU, GetBulkRequest-PDU, SetRequest-PDU, or InformRequest-PDU, then

13)pduTypeがGetRequest-PDU、GetNextRequest-PDU、GetBulkRequest-PDU、SetRequest-PDU、またはInformRequest-PDUの場合、

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

a) securityEngineIDの値がsnmpEngineIDの値と等しくない場合、セキュリティ状態情報は破棄され、未処理の要求メッセージに関するキャッシュされた情報は破棄され、着信メッセージはそれ以上処理されずに破棄され、FAILURE結果が返されます。 SNMPv3メッセージ処理が完了しました。

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

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

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) A SUCCESS result is returned. SNMPv3 Message Processing is complete.

14) If the pduType is an SNMPv2-Trap-PDU, then A SUCCESS result is returned. SNMPv3 Message Processing is complete.

14)pduTypeがSNMPv2-Trap-PDUの場合、成功の結果が返されます。 SNMPv3メッセージ処理が完了しました。

8. Intellectual Property
8. Intellectual Property

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 Executive Directorに情報を送信してください。

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メンバーに感謝します。

Dave Battle (SNMP Research, Inc.) Uri Blumenthal (IBM T.J. Watson Research Center) Jeff Case (SNMP Research, Inc.) John Curran (BBN) T. Max Devlin (Hi-TECH Connections) John Flick (Hewlett Packard) David Harrington (Cabletron Systems Inc.) N.C. Hien (IBM T.J. Watson Research Center) Dave Levi (SNMP Research, Inc.) Louis A Mamakos (UUNET Technologies Inc.) Paul Meyer (Secure Computing Corporation) Keith McCloghrie (Cisco Systems) Russ Mundy (Trusted Information Systems, Inc.) Bob Natale (ACE*COMM Corporation) Mike O'Dell (UUNET Technologies Inc.) Dave Perkins (DeskTalk) Peter Polkinghorne (Brunel University) Randy Presuhn (BMC Software, Inc.) David Reid (SNMP Research, Inc.) Shawn Routhier (Epilogue) Juergen Schoenwaelder (TU Braunschweig) Bob Stewart (Cisco Systems) Bert Wijnen (IBM T.J. Watson Research Center)

Dave Battle (SNMP Research, Inc.) Uri Blumenthal (IBM T.J. Watson Research Center) Jeff Case (SNMP Research, Inc.) John Curran (BBN) T. Max Devlin (Hi-TECH Connections) John Flick (Hewlett Packard) David Harrington (Cabletron Systems Inc.) N.C. Hien (IBM T.J. Watson Research Center) Dave Levi (SNMP Research, Inc.) Louis A Mamakos (UUNET Technologies Inc.) Paul Meyer (Secure Computing Corporation) Keith McCloghrie (Cisco Systems) Russ Mundy (Trusted Information Systems, Inc.) Bob Natale (ACE*COMM Corporation) Mike O'Dell (UUNET Technologies Inc.) Dave Perkins (DeskTalk) Peter Polkinghorne (Brunel University) Randy Presuhn (BMC Software, Inc.) David Reid (SNMP Research, Inc.) Shawn Routhier (Epilogue) Juergen Schoenwaelder (TU Braunschweig) Bob Stewart (Cisco Systems) Bert Wijnen (IBM T.J. Watson Research Center)

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)

デビッドハリントン(ケーブルトロンシステムズ社)ジェフジョンソン(シスコシステムズ)デビッドレヴィ(SNMPリサーチ社)ジョンリン(オープンビジョン)ラスマンディ(トラステッドインフォメーションシステムズ)チェアショーンルーティエ(エピローグ)グレンウォーターズ(ノーテル)バートウィネン(IBM TJワトソン研究センター)

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

アドバイザリーチームとSNMPv3ワーキンググループチャーターによって推奨されているように、この設計には、以前のRFCとドラフトからの実用的な限りのものが組み込まれています。その結果、SNMPv2uおよびSNMPv2 *として知られている以前の設計の作成者に特に感謝します。

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

Jeff Case (SNMP Research, Inc.) David Harrington (Cabletron Systems Inc.) David Levi (SNMP Research, Inc.) Keith McCloghrie (Cisco Systems) Brian O'Keefe (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.)

10. Security Considerations
10. Security Considerations

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

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

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 [RFC2271] and elaborated above.

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

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要素の値は、リプレイアタックを回避するために選択する必要があります。値は予測不能である必要はありません。彼らが繰り返さないことで十分です。

11. References
11. 参考文献

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

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

[RFC1902] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996.

[RFC1902] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996.

[RFC1905] 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] 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.

[RFC1906] 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] Case、J.、McCloghrie、K.、Rose、M。、およびS. Waldbusser、「Transport Mappings for Version 2 for the Simple Network Management Protocol(SNMPv2)」、RFC 1906、1996年1月。

[RFC1907] 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] 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.

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

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

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

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

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

[RFC2271] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for describing SNMP Management Frameworks", RFC 2271, January 1998.

[RFC2271] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for describing SNMP Management Frameworks", RFC 2271, January 1998.

[RFC2274] Blumenthal, U., and B. Wijnen, "The User-Based Security Model for Version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2274, January 1998.

[RFC2274] Blumenthal, U., and B. Wijnen, "The User-Based Security Model for Version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2274, January 1998.

[RFC2275] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model for the Simple Network Management Protocol (SNMP)", RFC 2275, January 1998.

[RFC2275] Wijnen、B.、Presuhn、R。、およびK. McCloghrie、「簡易ネットワーク管理プロトコル(SNMP)のビューベースのアクセス制御モデル」、RFC 2275、1998年1月。

[RFC2273] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2273, January 1998.

[RFC2273] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2273, January 1998.

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

Dave Harrington Cabletron Systems, Inc Post Office Box 5005 Mail Stop: Durham 35 Industrial Way Rochester, NH 03867-5005 USA

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

Randy Presuhn BMC Software, Inc. 1190 Saratoga Avenue Suite 130 San Jose, CA 95129 USA

Randy Presuhn BMC Software、Inc. 1190 Saratoga Avenue Suite 130 San Jose、CA 95129 USA

   Phone:      +1 408-556-0720
   EMail:      rpresuhn@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 Netherlands

   Phone:      +31 348-432-794
   EMail:      wijnen@vnet.ibm.com
        
13. 完全な著作権表示

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

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

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.

このドキュメントとここに含まれる情報は「現状有姿」で提供され、インターネット社会およびインターネット技術タスクフォースは、明示または黙示を問わず、ここに記載されている情報の使用が保証するものに限定されない一切の保証を含みません。商品性または特定の目的への適合性に関する権利または黙示の保証を侵害すること。