RFC3412 日本語訳
3412 Message Processing and Dispatching for the Simple NetworkManagement Protocol (SNMP). J. Case, D. Harrington, R. Presuhn, B.Wijnen. December 2002. (Format: TXT=95710 bytes) (Obsoletes RFC2572) (Also STD0062) (Status: STANDARD)
プログラムでの自動翻訳です。
英語原文
Network Working Group J. Case Request for Comments: 3412 SNMP Research, Inc. STD: 62 D. Harrington Obsoletes: 2572 Enterasys Networks Category: Standards Track R. Presuhn BMC Software, Inc. B. Wijnen Lucent Technologies December 2002
コメントを求めるワーキンググループJ.ケース要求をネットワークでつないでください: 3412SNMPはInc.STDについて研究します: 62 D.ハリントンは以下を時代遅れにします。 2572Enterasysはカテゴリをネットワークでつなぎます: 標準化過程R.Presuhn BMCソフトウェアInc.B.Wijnenルーセントテクノロジーズ2002年12月
Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)
メッセージ処理と簡単なネットワーク管理プロトコルのために急いでいること。(SNMP)
Status of this Memo
この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.
このドキュメントは、インターネットコミュニティにインターネット標準化過程プロトコルを指定して、改良のために議論と提案を要求します。 このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD1)の現行版を参照してください。 このメモの分配は無制限です。
Copyright Notice
版権情報
Copyright (C) The Internet Society (2002). All Rights Reserved.
Copyright(C)インターネット協会(2002)。 All rights reserved。
Abstract
要約
This document describes the Message Processing and Dispatching for Simple Network Management Protocol (SNMP) messages within the SNMP architecture. 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. This document obsoletes RFC 2572.
このドキュメントはSimple Network Managementプロトコル(SNMP)メッセージのためにSNMPアーキテクチャの中でMessage ProcessingとDispatchingについて説明します。 それはSNMPメッセージの潜在的に複数のバージョンを適切なSNMP Message Processing Modelsに派遣して、SNMPアプリケーションにPDUsを派遣するための手順を定義します。 また、このドキュメントは1Message Processing Modelについて説明します--SNMPv3 Message Processing Model。 このドキュメントはRFC2572を時代遅れにします。
Case, et al. Standards Track [Page 1] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[1ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
Table of Contents
目次
1. Introduction ................................................ 3 2. Overview .................................................... 4 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 ....................... 8 4.1.2. Sending a Response to the Network ....................... 9 4.2. Receiving an SNMP Message from the Network ................ 11 4.2.1. Message Dispatching of received SNMP Messages ........... 11 4.2.2. PDU Dispatching for Incoming Messages ................... 12 4.2.2.1. Incoming Requests and Notifications ................... 13 4.2.2.2. Incoming Responses .................................... 14 4.3. Application Registration for Handling PDU types ........... 15 4.4. Application Unregistration for Handling PDU Types ......... 16 5. Definitions ................................................. 16 5.1. Definitions for SNMP Message Processing and Dispatching ... 16 6. The SNMPv3 Message Format ................................... 19 6.1. msgVersion ................................................ 20 6.2. msgID ..................................................... 20 6.3. msgMaxSize ................................................ 21 6.4. msgFlags .................................................. 21 6.5. msgSecurityModel .......................................... 24 6.6. msgSecurityParameters ..................................... 24 6.7. scopedPduData ............................................. 24 6.8. scopedPDU ................................................. 24 6.8.1. contextEngineID ......................................... 24 6.8.2. contextName ............................................. 25 6.8.3. data .................................................... 25 7. Elements of Procedure for v3MP .............................. 25 7.1. Prepare an Outgoing SNMP Message .......................... 26 7.2. Prepare Data Elements from an Incoming SNMP Message ....... 32 8. Intellectual Property ....................................... 37 9. Acknowledgements ............................................ 38 10. Security Considerations .................................... 39 11. References ................................................. 40 11.1. Normative References ..................................... 40 11.2. Informative References ................................... 41 12. Editors' Addresses ......................................... 42 13. Full Copyright Statement ................................... 43
1. 序論… 3 2. 概要… 4 2.1. 発送者… 5 2.2. メッセージ処理サブシステム… 5 3. メッセージ処理と急ぎのElements… 6 3.1messageProcessingModel… 6 3.2pduVersion… 6 3.3pduType… 7 3.4sendPduHandle… 7 4. 手順の発送者のElements… 7 4.1. SNMPメッセージをネットワークに送ります… 7 4.1.1. 要求か通知を送ります… 8 4.1.2. 応答をネットワークに送ります… 9 4.2. ネットワークからSNMPメッセージを受け取ります… 11 4.2.1. 容認されたSNMP MessagesのメッセージDispatching… 11 4.2.2. 入力メッセージのために急いでいるPDU… 12 4.2.2.1. 入って来る要求と通知… 13 4.2.2.2. 入って来る応答… 14 4.3. Handling PDUのためのアプリケーションRegistrationはタイプします… 15 4.4. 取り扱いPDUのためのアプリケーションUnregistrationはタイプします… 16 5. 定義… 16 5.1. SNMPメッセージ処理と急ぎのための…定義 16 6. SNMPv3メッセージ・フォーマット… 19 6.1msgVersion… 20 6.2msgID… 20 6.3msgMaxSize… 21 6.4msgFlags… 21 6.5msgSecurityModel… 24 6.6msgSecurityParameters… 24 6.7scopedPduData… 24 6.8scopedPDU… 24 6.8.1contextEngineID… 24 6.8.2contextName… 25の6.8.3データ… 25 7. v3MPのための手順のElements… 25 7.1. 送信するSNMPメッセージを用意してください… 26 7.2. 入って来るSNMPメッセージからデータ要素を用意してください… 32 8. 知的所有権… 37 9. 承認… 38 10. セキュリティ問題… 39 11. 参照… 40 11.1. 標準の参照… 40 11.2. 有益な参照… 41 12. エディタのアドレス… 42 13. 完全な著作権宣言文… 43
Case, et al. Standards Track [Page 2] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[2ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
1. Introduction
1. 序論
The Architecture for describing Internet Management Frameworks [RFC3411] describes that an SNMP engine is composed of:
インターネットManagement Frameworks[RFC3411]について説明するためのArchitectureは、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 [RFC3411].
SNMPアーキテクチャとその用語が、本書では説明されたMessage Processing SubsystemとDispatcherがどこでアーキテクチャに収まって、アーキテクチャの中で他のサブシステムと対話するかを理解しているのを理解しているのは重要です。 読者は、[RFC3411]で定義された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エンジンのDispatcherはSNMPメッセージを送って、受け取ります。 また、それはSNMPアプリケーションにSNMP PDUsを派遣します。 準備されるか、SNMPメッセージが、必要があるデータが、SNMPメッセージから抽出される必要があって、Dispatcher代表がMessage Processing Subsystemの中のメッセージのバージョン特有のMessage Processing Modelへのこれらのタスクである時。
A Message Processing Model is responsible for processing an 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.
Message Processing ModelはSNMPのバージョン特有のメッセージを処理して、適切なセキュリティが扱われるSNMPメッセージに適用されるのを保証するためにSecurity Subsystemとの相互作用を調整するのに責任があります。
Interactions between the Dispatcher, the Message Processing Subsystem, and applications are modeled using abstract data elements and abstract service interface primitives defined by the SNMP architecture.
Dispatcherと、Message Processing Subsystemと、アプリケーションとの相互作用は、SNMPアーキテクチャによって定義された抽象的なデータ要素と抽象的なサービスインタフェース基関数を使用することでモデル化されます。
Similarly, interactions between the Message Processing Subsystem and the Security Subsystem are modeled using abstract data elements and abstract service interface primitives as defined by the SNMP architecture.
同様に、Message Processing SubsystemとSecurity Subsystemとの相互作用は、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 BCP 14, RFC 2119.
キーワード“MUST"、「必須NOT」が「必要です」、“SHALL"、「」、“SHOULD"、「「推薦され」て、「5月」の、そして、「任意」のNOTはBCP14(RFC2119)で説明されるように本書では解釈されることであるべきです。
Case, et al. Standards Track [Page 3] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[3ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
2. Overview
2. 概要
The following illustration depicts the Message Processing in relation to SNMP applications, the Security Subsystem and Transport Mappings.
以下のイラストはSNMPアプリケーション、Security Subsystem、およびTransport Mappingsと関連してMessage Processingについて表現します。
+-------------------------------------------------------------------+ | SNMP Entity | | | | +---------------------------------------------------------------+ | | | Applications | | | | +-----------+ +--------------+ | | | | | Command | | Notification | | | | | | Generator | | Originator | +-----------+ +--------------+| | | | +-----------+ +--------------+ | Proxy | | Other || | | | +-----------+ +--------------+ | Forwarder | |Application(s)|| | | | | Command | | Notification | +-----------+ +--------------+| | | | | Responder | | Receiver | | | | | +-----------+ +--------------+ | | | +---------------------------------------------------------------+ | | ^ ^ ^ ^ | | | | | | | | v v v v | | +--------+-------+---------------+-----------+ | | ^ | | | +---------------------+ +-----------------+ | | | | Message Processing | | Security | | | Dispatcher v | Subsystem | | Subsystem | | | +------------------+ | +------------+ | | | | | | PDU Dispatcher | | +->| v1MP * |<--->| +-------------+ | | | | | | | +------------+ | | | Other | | | | | | | | +------------+ | | | Security | | | | | | | +->| v2cMP * |<--->| | Model | | | | | Message | | | +------------+ | | +-------------+ | | | | Dispatcher <-------->+ | | | | | | | | | +------------+ | | +-------------+ | | | | | | +->| v3MP * |<--->| | User-based | | | | | Transport | | | +------------+ | | | Security | | | | | Mapping | | | +------------+ | | | Model | | | | | (e.g., RFC 3417) | | +->| otherMP * |<--->| +-------------+ | | | +------------------+ | +------------+ | | | | | ^ +---------------------+ +-----------------+ | | | | +----------|--------------------------------------------------------+ v +------------------+ | Network | * One or more models may be present. +------------------+
+-------------------------------------------------------------------+ | SNMP実体| | | | +---------------------------------------------------------------+ | | | アプリケーション| | | | +-----------+ +--------------+ | | | | | コマンド| | 通知| | | | | | ジェネレータ| | 創始者| +-----------+ +--------------+| | | | +-----------+ +--------------+ | プロキシ| | 他|| | | | +-----------+ +--------------+ | 混載業者| |アプリケーション|| | | | | コマンド| | 通知| +-----------+ +--------------+| | | | | 応答者| | 受信機| | | | | +-----------+ +--------------+ | | | +---------------------------------------------------------------+ | | ^ ^ ^ ^ | | | | | | | | v対vに| | +--------+-------+---------------+-----------+ | | ^ | | | +---------------------+ +-----------------+ | | | | メッセージ処理| | セキュリティ| | | 発送者v| サブシステム| | サブシステム| | | +------------------+ | +------------+ | | | | | | PDU発送者| | +->| v1MP*| <、-、--、>| +-------------+ | | | | | | | +------------+ | | | 他| | | | | | | | +------------+ | | | セキュリティ| | | | | | | +->| v2cMP*| <、-、--、>|、| モデル| | | | | メッセージ| | | +------------+ | | +-------------+ | | | | 発送者<。-------->+| | | | | | | | | +------------+ | | +-------------+ | | | | | | +->| v3MP*| <、-、--、>|、| ユーザベースです。| | | | | 輸送| | | +------------+ | | | セキュリティ| | | | | マッピング| | | +------------+ | | | モデル| | | | | (例えば、RFC3417) | | +->| otherMP*| <、-、--、>| +-------------+ | | | +------------------+ | +------------+ | | | | | ^ +---------------------+ +-----------------+ | | | | +----------|--------------------------------------------------------+ +に対して------------------+ | ネットワーク| * 1つ以上のモデルが出席しているかもしれません。 +------------------+
Case, et al. Standards Track [Page 4] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[4ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
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.
DispatcherはSNMPエンジンの主要な断片です。 1つしかSNMPエンジンにありません、そして、仕事は、複数のバージョン特有のMessage Processing Modelsにタスクを派遣して、様々なアプリケーションにPDUsを派遣することです。
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を前提として、データは、メッセージを準備して、送る必要があって、アプリケーションは、どのバージョン特有のMessage Processing Modelが必要なセキュリティ処理でメッセージを準備するのに使用されるかを指定します。 メッセージがいったん準備されていると、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バージョンを決定して、バージョン特有のMessage Processing Modelにメッセージを通過します。 バージョン特有の処理の後に、PDU Dispatcherは、もしあればどのアプリケーションが処理のために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 Message Processing Subsystemはバージョン特有のSNMPメッセージを扱うためにDispatcherと対話するSNMPエンジンの部分です。 それは1Message Processing Modelsを含んでいます。
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で1Message Processing Model、SNMPv3 Message Processing Modelについて説明します。 SNMPv3 Message Processing Modelは、複数の(独立する)のメッセージProcessing Modelsが同時に、存在できて、異なったドキュメントでそのようなModelsについて説明できるのを示すために別々のセクションで定義されます。 SNMPv3 Message Processing Modelは将来、他のMessage Processing Modelsを取り替えるか、または補うことができます。 将来開発されると予想される2Message Processing ModelsがSNMPv1メッセージ・フォーマット[RFC1157]とSNMPv2cメッセージ・フォーマット[RFC1901]です。 他のものは必要に応じて開発されるかもしれません。
Case, et al. Standards Track [Page 5] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[5ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
3. Elements of Message Processing and Dispatching
3. メッセージ処理と急ぎのElements
See [RFC3411] for the definitions of:
以下の定義に関して[RFC3411]を見てください。
contextEngineID contextName scopedPDU maxSizeResponseScopedPDU securityModel securityName securityLevel messageProcessingModel
contextEngineID contextName scopedPDU maxSizeResponseScopedPDU securityModel securityName securityLevel messageProcessingModel
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.
何らかのバージョン特有の処理において、値は受信されたメッセージから抽出されるかもしれません。 他のバージョンにおいて、値はアルゴリズム、または実装で定義されたメカニズムで決定するかもしれません。 値が決定しているメカニズムは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の値はMessage Processing Modelを特定します。 Message Processing Modelはメッセージからデータを抜粋するためのバージョン特有の手順について説明します、メッセージを生成して、securityModelがメッセージと、バージョン特有のメッセージ・フォーマットからのデータを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 [RFC3416]. 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の値はプロトコル操作の特定のバージョンとその関連PDU書式を表します、SNMPv1やSNMPv2[RFC3416]のように。 pduVersionの値はメッセージに含まれたPDUのバージョンに特定です、そして、PDUsはアプリケーションで処理しました。 Dispatcherは直接pduVersionの値を使用しません。
Case, et al. Standards Track [Page 6] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[6ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
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.
別のSNMPエンジンにPDUを送るようPDU Dispatcherに要求するとき、アプリケーションはpduVersionを指定します。 DispatcherがpduVersionをMessage Processing Modelに渡すので、それは適切にPDUを扱う方法を知っています。
For incoming messages, the 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 [RFC3416] elements of procedure and syntax instead of those specified for SNMPv1.
入力メッセージにおいて、pduVersionをDispatcherにバージョン特有のMessage Processingモジュールで提供します。 PDU DispatcherがpduVersionをアプリケーションに渡すので、それは適切にPDUを扱う方法を知っています。 例えば、コマンド応答者アプリケーションは、SNMPv1に指定されたものの代わりに手順と構文の[RFC3416]原理を使用するかどうかを知る必要があります。
3.3. pduType
3.3. pduType
A value of the pduType represents a specific type of protocol operation. The values of the 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.
アプリケーションは、特定のcontextEngineIDsのために特定のpduTypesをサポートするために登録されます。
For incoming messages, pduType is provided to the Dispatcher by a version-specific Message Processing module. It is subsequently used to dispatch the PDU to the application which registered for the pduType for the contextEngineID of the associated scopedPDU.
入力メッセージにおいて、pduTypeをDispatcherにバージョン特有のMessage Processingモジュールで提供します。 関連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エンジンとアプリケーションの間の要求と応答の処理を調整するために生成されます。 ハンドルは、すべてのバージョン特有のMessage Processing Modelsの向こう側にユニークでなければならなく、ローカルの意味だけのものです。
4. Dispatcher Elements of Procedure
4. 手順の発送者のElements
This section describes the procedures followed by the Dispatcher when generating and processing SNMP messages.
このセクションはSNMPメッセージを生成して、処理するときDispatcherによって従われた手順について説明します。
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エンジンについて説明します。
Case, et al. Standards Track [Page 7] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[7ページ]RFC3412メッセージ処理と2002年12月に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 notification.
すなわち、アプリケーションがメッセージを溯源することによってコミュニケーションを開始するために別の(リモート)のアプリケーションにSNMP PDUを送りたいと、以下の手順はDispatcherによって従われています、要求を含む1つや通知のように。
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 )
statusInformation=--、sendPduHandle、成功であるなら--errorIndication、失敗sendPduです。(IN transportDomain--中古のIN transportAddressである輸送ドメイン--目的地ネットワーク・アドレスIN messageProcessingModel--この主要なIN securityLevelを代表した通常SNMPバージョンIN securityModel(IN securityNameを使用するセキュリティModel)--Securityのレベルはこのような関係においては/IN pduVersionからIN contextEngineID--この実体IN contextNameの/からのデータ--データを要求しました--PDU IN PDU--SNMPプロトコルData Unit IN expectResponse--TRUEか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において知られているMessage Processing Modelを表さないなら、errorIndication(実装依存する)を呼ぶアプリケーションに返します。 どんなより遠い処理も実行されません。
3) The Dispatcher generates a sendPduHandle to coordinate subsequent processing.
3) Dispatcherは、その後の処理を調整するためにsendPduHandleを生成します。
Case, et al. Standards Track [Page 8] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[8ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
4) The Message Dispatcher sends the request to the version-specific Message Processing module identified by messageProcessingModel using the abstract service primitive:
4) Message Dispatcherは原始的に抽象的なサービスを利用することでmessageProcessingModelによって特定されたバージョン特有のMessage Processingモジュールに要求を送ります:
statusInformation = -- success or error indication prepareOutgoingMessage( IN transportDomain -- as specified by application IN transportAddress -- as specified by application IN messageProcessingModel -- as specified by application IN securityModel -- as specified by application IN securityName -- as specified by application IN securityLevel -- as specified by application IN contextEngineID -- as specified by application IN contextName -- as specified by application IN pduVersion -- as specified by application IN PDU -- as specified by application IN expectResponse -- as specified by application IN sendPduHandle -- as determined in step 3. OUT destTransportDomain -- destination transport domain OUT destTransportAddress -- destination transport address OUT outgoingMessage -- the message to send OUT outgoingMessageLength -- the message length )
statusInformation=--成功か誤り表示prepareOutgoingMessage( アプリケーションIN transportAddressによって指定されるような指定されるとしてのアプリケーションIN securityModelによって指定されるような指定されるとしてのアプリケーションIN securityLevelによって指定されるような指定されるとしてのアプリケーションIN contextNameによって指定されるような指定されるとしてのアプリケーションIN pduVersionによるアプリケーションIN contextEngineIDによるアプリケーションIN securityNameによるアプリケーションIN messageProcessingModelによるIN transportDomain; ステップ3OUT destTransportDomain--目的地輸送ドメインOUT destTransportAddress--目的地輸送アドレスOUT outgoingMessage--OUT outgoingMessageLengthを送るメッセージ--メッセージ長で決定するのとアプリケーションIN sendPduHandleによって指定されるようにアプリケーションIN expectResponseによって指定されるようなアプリケーションIN PDUによって同じくらい指定されます; )
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. The transport used to send the outgoingMessage is returned via destTransportDomain, and the address to which it was sent is returned via destTransportAddress.
6) statusInformationが成功を示すなら、sendPduHandleをアプリケーションに返します、そして、outgoingMessageを送ります。 destTransportDomainを通してoutgoingMessageを送るのに使用される輸送を返します、そして、destTransportAddressを通してそれが送られたアドレスを返します。
Outgoing Message Processing is complete.
出発しているMessage Processingは完全です。
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 Requestの創始者への応答を返したいと、以下の手順は従われています。
Case, et al. Standards Track [Page 9] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[9ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
1) An application can request this using the abstract service primitive:
1) アプリケーションは原始的に抽象的なサービスを利用することでこれを要求できます:
result = returnResponsePdu( IN messageProcessingModel -- typically, SNMP version IN securityModel -- Security Model in use IN securityName -- on behalf of this principal IN securityLevel -- same as on incoming request IN contextEngineID -- data from/at this SNMP entity IN contextName -- data from/in this context IN pduVersion -- the version of the PDU IN PDU -- SNMP Protocol Data Unit IN maxSizeResponseScopedPDU -- maximum size of Response PDU IN stateReference -- reference to state information -- as presented with the request IN statusInformation -- success or errorIndication ) -- (error counter OID and value -- when errorIndication)
結果=; returnResponsePdu; ( IN messageProcessingModel--通常、セキュリティModelが中でこの主要なIN securityLevelを代表してIN securityNameを使用するという入来と同じSNMPバージョンIN securityModelはIN contextEngineIDを要求します--このSNMP実体IN contextNameの/からのデータ; このような関係においては/IN pduVersionからのデータ--PDU IN PDUのバージョン--SNMPプロトコルData Unit IN maxSizeResponseScopedPDU--要求IN statusInformationがある提示されるとしてのResponse PDU IN stateReference(情報を述べる参照)の最大サイズ--成功かerrorIndication; ) --(誤りはOIDと値を打ち返します--いつ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) Message DispatcherはmessageProcessingModelの容認された値によって原始的に抽象的なサービスを利用することで示された適切なMessage Processing Modelに要求を送ります:
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 )
結果=--SUCCESSかerrorIndication prepareResponseMessage( アプリケーションIN maxSizeResponseScopedPDUによって指定されたアプリケーションIN pduVersion(アプリケーションIN PDUによって指定される)によって指定されたアプリケーションIN contextEngineID(アプリケーションIN contextNameによって指定される)によって指定されたアプリケーションIN securityName(アプリケーションIN securityLevelによって指定される)でIN messageProcessingModel(アプリケーションIN securityModelによって指定される)は指定しました; アプリケーションOUT destTransportDomain--目的地輸送ドメインOUT destTransportAddress--目的地輸送アドレスOUT outgoingMessage--OUT outgoingMessageLengthを送るメッセージ--メッセージ長によって指定されたアプリケーションIN stateReference(アプリケーションIN statusInformationによって指定される)によって指定されます; )
3) If the result is an errorIndication, the errorIndication is returned to the calling application. No further processing is performed.
3) 結果がerrorIndicationであるなら、呼ぶアプリケーションにerrorIndicationを返します。 どんなより遠い処理も実行されません。
Case, et al. Standards Track [Page 10] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[10ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
4) If the result is success, the outgoingMessage is sent. The transport used to send the outgoingMessage is returned via destTransportDomain, and the address to which it was sent is returned via destTransportAddress.
4) 結果が成功であるなら、outgoingMessageを送ります。 destTransportDomainを通してoutgoingMessageを送るのに使用される輸送を返します、そして、destTransportAddressを通してそれが送られたアドレスを返します。
Message Processing is complete.
メッセージProcessingは完全です。
4.2. Receiving an SNMP Message from the Network
4.2. ネットワークからSNMPメッセージを受け取ります。
This section describes the procedure followed by an SNMP engine whenever it receives an SNMP message.
このセクションは手順について説明します、続いて、SNMPメッセージを受け取るときはいつも、SNMPエンジンについて説明します。
Please note, that for the sake of clarity and to prevent the text from being even longer and more complicated, some details were omitted from the steps below. In particular, the elements of procedure do not always explicitly indicate when state information needs to be released. The general rule is that if state information is available when a message is to be "discarded without further processing", then the state information must also be released at that same time.
明快の目的、さらに長くて、より複雑であるいくつかの詳細からテキストを防ぐそれが下でのステップから省略されたことに注意してください。 特に、手順の要素は、州の情報が、いつリリースされる必要であるかをいつも明らかに示すというわけではありません。 一般的な規則はまた、「メッセージがいつさらなる処理なしで捨てられるか」ことであるという州の情報が利用可能であるならその同時期で州の情報を発表しなければならないということです。
4.2.1. Message Dispatching of received SNMP Messages
4.2.1. 容認されたSNMP MessagesのメッセージDispatching
1) The snmpInPkts counter [RFC3418] is incremented.
1) The snmpInPkts counter [RFC3418] is incremented.
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 [RFC3418] counter is incremented, and the message is discarded without further processing. If the version is not supported, then the snmpInBadVersions [RFC3418] counter is incremented, and the message is discarded without further processing.
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 [RFC3418] counter is incremented, and the message is discarded without further processing. If the version is not supported, then the snmpInBadVersions [RFC3418] counter is incremented, and the message is discarded without further processing.
3) The origin transportDomain and origin transportAddress are determined.
3) The origin transportDomain and origin transportAddress are determined.
Case, et al. Standards Track [Page 11] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 11] RFC 3412 Message Processing and Dispatching for SNMP December 2002
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) The message is passed to the version-specific Message Processing Model which returns the abstract data elements required by the Dispatcher. This is performed using the abstract service primitive:
result = -- SUCCESS or errorIndication prepareDataElements( IN transportDomain -- origin as determined in step 3. IN transportAddress -- origin as determined in step 3. IN wholeMsg -- as received from the network IN wholeMsgLength -- as received from the network OUT messageProcessingModel -- typically, SNMP version OUT securityModel -- Security Model specified OUT securityName -- on behalf of this principal OUT securityLevel -- Level of Security specified OUT contextEngineID -- data from/at this entity OUT contextName -- data from/in this context OUT pduVersion -- the version of the PDU OUT PDU -- SNMP Protocol Data Unit OUT pduType -- SNMP PDU type OUT sendPduHandle -- handle for a matched request OUT maxSizeResponseScopedPDU -- maximum size of Response PDU OUT statusInformation -- success or errorIndication -- (error counter OID and value -- when errorIndication) OUT stateReference -- reference to state information -- to be used for a possible ) -- Response
result = -- SUCCESS or errorIndication prepareDataElements( IN transportDomain -- origin as determined in step 3. IN transportAddress -- origin as determined in step 3. IN wholeMsg -- as received from the network IN wholeMsgLength -- as received from the network OUT messageProcessingModel -- typically, SNMP version OUT securityModel -- Security Model specified OUT securityName -- on behalf of this principal OUT securityLevel -- Level of Security specified OUT contextEngineID -- data from/at this entity OUT contextName -- data from/in this context OUT pduVersion -- the version of the PDU OUT PDU -- SNMP Protocol Data Unit OUT pduType -- SNMP PDU type OUT sendPduHandle -- handle for a matched request OUT maxSizeResponseScopedPDU -- maximum size of Response PDU OUT statusInformation -- success or errorIndication -- (error counter OID and value -- when errorIndication) OUT stateReference -- reference to state information -- to be used for a possible ) -- Response
5) If the result is a FAILURE errorIndication, the message is discarded without further processing.
5) If the result is a FAILURE errorIndication, the message is discarded without further processing.
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) 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.
4.2.2. PDU Dispatching for Incoming Messages
4.2.2. PDU Dispatching for Incoming Messages
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.
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.
Case, et al. Standards Track [Page 12] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 12] RFC 3412 Message Processing and Dispatching for SNMP December 2002
4.2.2.1. Incoming Requests and Notifications
4.2.2.1. Incoming Requests and Notifications
The following procedures are followed for the dispatching of PDUs when the value of sendPduHandle is <none>, indicating this is a request or notification.
The following procedures are followed for the dispatching of PDUs when the value of sendPduHandle is <none>, indicating this is a request or notification.
1) The combination of contextEngineID and pduType is used to determine which application has registered for this request or notification.
1) The combination of contextEngineID and pduType is used to determine which application has registered for this request or notification.
2) If no application has registered for the combination, then:
2) If no application has registered for the combination, then:
a) The snmpUnknownPDUHandlers counter is incremented.
a) The snmpUnknownPDUHandlers counter is incremented.
b) A Response message is generated using the abstract service primitive:
b) A Response message is generated using the abstract service primitive:
result = -- SUCCESS or FAILURE prepareResponseMessage( IN messageProcessingModel -- as provided by MP module IN securityModel -- as provided by MP module IN securityName -- as provided by MP module IN securityLevel -- as provided by MP module IN contextEngineID -- as provided by MP module IN contextName -- as provided by MP module IN pduVersion -- as provided by MP module IN PDU -- as provided by MP module IN maxSizeResponseScopedPDU -- as provided by MP module IN stateReference -- as provided by MP module IN statusInformation -- errorIndication plus -- snmpUnknownPDUHandlers OID -- value pair. OUT destTransportDomain -- destination transportDomain OUT destTransportAddress -- destination transportAddress OUT outgoingMessage -- the message to send OUT outgoingMessageLength -- its length )
result = -- SUCCESS or FAILURE prepareResponseMessage( IN messageProcessingModel -- as provided by MP module IN securityModel -- as provided by MP module IN securityName -- as provided by MP module IN securityLevel -- as provided by MP module IN contextEngineID -- as provided by MP module IN contextName -- as provided by MP module IN pduVersion -- as provided by MP module IN PDU -- as provided by MP module IN maxSizeResponseScopedPDU -- as provided by MP module IN stateReference -- as provided by MP module IN statusInformation -- errorIndication plus -- snmpUnknownPDUHandlers OID -- value pair. OUT destTransportDomain -- destination transportDomain OUT destTransportAddress -- destination transportAddress OUT outgoingMessage -- the message to send OUT outgoingMessageLength -- its length )
c) If the result is SUCCESS, then the prepared message is sent to the originator of the request as identified by the transportDomain and transportAddress. The transport used to send the outgoingMessage is returned via destTransportDomain, and the address to which it was sent is returned via destTransportAddress.
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. The transport used to send the outgoingMessage is returned via destTransportDomain, and the address to which it was sent is returned via destTransportAddress.
d) The incoming message is discarded without further processing. Message Processing for this message is complete.
d) The incoming message is discarded without further processing. Message Processing for this message is complete.
Case, et al. Standards Track [Page 13] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 13] RFC 3412 Message Processing and Dispatching for SNMP December 2002
3) The PDU is dispatched to the application, using the abstract service primitive:
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 )
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.
Message processing for this message is complete.
4.2.2.2. Incoming Responses
4.2.2.2. Incoming Responses
The following procedures are followed for the dispatching of PDUs when the value of sendPduHandle is not <none>, indicating this is a response.
The following procedures are followed for the dispatching of PDUs when the value of sendPduHandle is not <none>, indicating this is a response.
1) The value of sendPduHandle is used to determine, in an implementation-defined manner, which application is waiting for a response associated with this sendPduHandle.
1) The value of sendPduHandle is used to determine, in an implementation-defined manner, which application is waiting for a response associated with this sendPduHandle.
2) If no waiting application is found, the message is discarded without further processing, and the stateReference is released. The snmpUnknownPDUHandlers counter is incremented. Message Processing is complete for this message.
2) 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.
3) Any cached information, including stateReference, about the message is discarded.
3) Any cached information, including stateReference, about the message is discarded.
Case, et al. Standards Track [Page 14] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 14] RFC 3412 Message Processing and Dispatching for SNMP December 2002
4) The response is dispatched to the application using the abstract service primitive:
4) The response is dispatched to the application using the abstract service primitive:
processResponsePdu( -- process Response PDU IN messageProcessingModel -- provided by the MP module IN securityModel -- provided by the MP module IN securityName -- provided by the MP module IN securityLevel -- provided by the MP module IN contextEngineID -- provided by the MP module IN contextName -- provided by the MP module IN pduVersion -- provided by the MP module IN PDU -- provided by the MP module IN statusInformation -- provided by the MP module IN sendPduHandle -- provided by the MP module )
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.
Message Processing is complete for this message.
4.3. Application Registration for Handling PDU types
4.3. Application Registration for Handling PDU types
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.
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.
1) An application registers according to the abstract interface primitive:
1) An application registers according to the abstract interface primitive:
statusInformation = -- success or errorIndication registerContextEngineID( IN contextEngineID -- take responsibility for this one IN pduType -- the pduType(s) to be registered )
statusInformation = -- success or errorIndication registerContextEngineID( IN contextEngineID -- take responsibility for this one IN pduType -- the pduType(s) to be registered )
Note: Implementations may provide a means of requesting registration for simultaneous multiple contextEngineID values, e.g., all contextEngineID values, and may also provide a means for requesting simultaneous registration for multiple values of the pduType.
Note: Implementations may provide a means of requesting registration for simultaneous multiple contextEngineID values, e.g., all contextEngineID values, and may also provide a means for requesting simultaneous registration for multiple values of the pduType.
2) The parameters may be checked for validity; if they are not, then an errorIndication (invalidParameter) is returned to the application.
2) The parameters may be checked for validity; if they are not, then an errorIndication (invalidParameter) is returned to the application.
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) 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.
Case, et al. Standards Track [Page 15] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 15] RFC 3412 Message Processing and Dispatching for SNMP December 2002
4) Otherwise, the registration is saved so that SNMP PDUs can be dispatched to this application.
4) Otherwise, the registration is saved so that SNMP PDUs can be dispatched to this application.
4.4. Application Unregistration for Handling PDU Types
4.4. Application Unregistration for Handling PDU Types
Applications that no longer want to process certain PDUs must unregister with the PDU Dispatcher.
Applications that no longer want to process certain PDUs must unregister with the PDU Dispatcher.
1) An application unregisters using the abstract service primitive:
1) An application unregisters using the abstract service primitive:
unregisterContextEngineID( IN contextEngineID -- give up responsibility for this IN pduType -- the pduType(s) to be unregistered )
unregisterContextEngineID( IN contextEngineID -- give up responsibility for this IN pduType -- the pduType(s) to be unregistered )
Note: Implementations may provide a means for requesting the unregistration for simultaneous multiple contextEngineID values, e.g., all contextEngineID values, and may also provide a means for requesting simultaneous unregistration for multiple values of pduType.
Note: Implementations may provide a means for requesting the unregistration for simultaneous multiple contextEngineID values, e.g., all contextEngineID values, and may also provide a 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) If the contextEngineID and pduType combination has been registered, then the registration is deleted.
If no such registration exists, then the request is ignored.
If no such registration exists, then the request is ignored.
5. Definitions
5. Definitions
5.1. Definitions for SNMP Message Processing and Dispatching
5.1. Definitions for SNMP Message Processing and Dispatching
SNMP-MPD-MIB DEFINITIONS ::= BEGIN
SNMP-MPD-MIB DEFINITIONS ::= BEGIN
IMPORTS MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF MODULE-IDENTITY, OBJECT-TYPE, snmpModules, Counter32 FROM SNMPv2-SMI;
IMPORTS MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF MODULE-IDENTITY, OBJECT-TYPE, snmpModules, Counter32 FROM SNMPv2-SMI;
snmpMPDMIB MODULE-IDENTITY LAST-UPDATED "200210140000Z" ORGANIZATION "SNMPv3 Working Group" CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com Subscribe: snmpv3-request@lists.tislabs.com
snmpMPDMIB MODULE-IDENTITY LAST-UPDATED "200210140000Z" ORGANIZATION "SNMPv3 Working Group" CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com Subscribe: snmpv3-request@lists.tislabs.com
Co-Chair: Russ Mundy Network Associates Laboratories postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA
Co-Chair: Russ Mundy Network Associates Laboratories postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA
Case, et al. Standards Track [Page 16] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 16] RFC 3412 Message Processing and Dispatching for SNMP December 2002
EMail: mundy@tislabs.com phone: +1 301-947-7107
EMail: mundy@tislabs.com phone: +1 301-947-7107
Co-Chair & Co-editor: David Harrington Enterasys Networks postal: 35 Industrial Way P. O. Box 5005 Rochester NH 03866-5005 USA EMail: dbh@enterasys.com phone: +1 603-337-2614
Co-Chair & Co-editor: David Harrington Enterasys Networks postal: 35 Industrial Way P. O. Box 5005 Rochester NH 03866-5005 USA EMail: dbh@enterasys.com phone: +1 603-337-2614
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: 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: Randy Presuhn BMC Software, Inc. postal: 2141 North First Street San Jose, CA 95131 USA EMail: randy_presuhn@bmc.com phone: +1 408-546-1006
Co-editor: Randy Presuhn BMC Software, Inc. postal: 2141 North First Street San Jose, CA 95131 USA EMail: randy_presuhn@bmc.com phone: +1 408-546-1006
Co-editor: Bert Wijnen Lucent Technologies postal: Schagen 33 3461 GL Linschoten Netherlands EMail: bwijnen@lucent.com phone: +31 348-680-485 " DESCRIPTION "The MIB for Message Processing and Dispatching
Co-editor: Bert Wijnen Lucent Technologies postal: Schagen 33 3461 GL Linschoten Netherlands EMail: bwijnen@lucent.com phone: +31 348-680-485 " DESCRIPTION "The MIB for Message Processing and Dispatching
Copyright (C) The Internet Society (2002). This version of this MIB module is part of RFC 3412; see the RFC itself for full legal notices. " REVISION "200210140000Z" -- 14 October 2002 DESCRIPTION "Updated addresses, published as RFC 3412." REVISION "199905041636Z" -- 4 May 1999 DESCRIPTION "Updated addresses, published as RFC 2572."
Copyright (C) The Internet Society (2002). This version of this MIB module is part of RFC 3412; see the RFC itself for full legal notices. " REVISION "200210140000Z" -- 14 October 2002 DESCRIPTION "Updated addresses, published as RFC 3412." REVISION "199905041636Z" -- 4 May 1999 DESCRIPTION "Updated addresses, published as RFC 2572."
Case, et al. Standards Track [Page 17] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 17] RFC 3412 Message Processing and Dispatching for SNMP December 2002
REVISION "199709300000Z" -- 30 September 1997 DESCRIPTION "Original version, published as RFC 2272." ::= { snmpModules 11 }
REVISION "199709300000Z" -- 30 September 1997 DESCRIPTION "Original version, published as RFC 2272." ::= { snmpModules 11 }
-- Administrative assignments ***************************************
-- Administrative assignments ***************************************
snmpMPDAdmin OBJECT IDENTIFIER ::= { snmpMPDMIB 1 } snmpMPDMIBObjects OBJECT IDENTIFIER ::= { snmpMPDMIB 2 } snmpMPDMIBConformance OBJECT IDENTIFIER ::= { snmpMPDMIB 3 }
snmpMPDAdmin OBJECT IDENTIFIER ::= { snmpMPDMIB 1 } snmpMPDMIBObjects OBJECT IDENTIFIER ::= { snmpMPDMIB 2 } snmpMPDMIBConformance OBJECT IDENTIFIER ::= { snmpMPDMIB 3 }
-- Statistics for SNMP Messages *************************************
-- Statistics for SNMP Messages *************************************
snmpMPDStats OBJECT IDENTIFIER ::= { snmpMPDMIBObjects 1 }
snmpMPDStats OBJECT IDENTIFIER ::= { snmpMPDMIBObjects 1 }
snmpUnknownSecurityModels OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMP engine which were dropped because they referenced a securityModel that was not known to or supported by the SNMP engine. " ::= { snmpMPDStats 1 }
snmpUnknownSecurityModels OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMP engine which were dropped because they referenced a securityModel that was not known to or supported by the SNMP engine. " ::= { snmpMPDStats 1 }
snmpInvalidMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMP engine which were dropped because there were invalid or inconsistent components in the SNMP message. " ::= { snmpMPDStats 2 }
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 }
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 }
Case, et al. Standards Track [Page 18] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 18] RFC 3412 Message Processing and Dispatching for SNMP December 2002
-- Conformance information ******************************************
-- Conformance information ******************************************
snmpMPDMIBCompliances OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 1} snmpMPDMIBGroups OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 2}
snmpMPDMIBCompliances OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 1} snmpMPDMIBGroups OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 2}
-- Compliance statements
-- Compliance statements
snmpMPDCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities which implement the SNMP-MPD-MIB. " MODULE -- this module MANDATORY-GROUPS { snmpMPDGroup } ::= { snmpMPDMIBCompliances 1 }
snmpMPDCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities which implement the SNMP-MPD-MIB. " MODULE -- this module MANDATORY-GROUPS { 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 }
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
END
6. The SNMPv3 Message Format
6. The SNMPv3 Message Format
This section defines the SNMPv3 message format and the corresponding SNMP version 3 Message Processing Model (v3MP).
This section defines the SNMPv3 message format and the corresponding SNMP version 3 Message Processing Model (v3MP).
SNMPv3MessageSyntax DEFINITIONS IMPLICIT TAGS ::= BEGIN
SNMPv3MessageSyntax DEFINITIONS IMPLICIT TAGS ::= BEGIN
SNMPv3Message ::= SEQUENCE { -- identify the layout of the SNMPv3Message -- this element is in same position as in SNMPv1 -- and SNMPv2c, allowing recognition -- the value 3 is used for snmpv3 msgVersion INTEGER ( 0 .. 2147483647 ), -- administrative parameters msgGlobalData HeaderData, -- security model-specific parameters -- format defined by Security Model
SNMPv3Message ::= SEQUENCE { -- identify the layout of the SNMPv3Message -- this element is in same position as in SNMPv1 -- and SNMPv2c, allowing recognition -- the value 3 is used for snmpv3 msgVersion INTEGER ( 0 .. 2147483647 ), -- administrative parameters msgGlobalData HeaderData, -- security model-specific parameters -- format defined by Security Model
Case, et al. Standards Track [Page 19] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 19] RFC 3412 Message Processing and Dispatching for SNMP December 2002
msgSecurityParameters OCTET STRING, msgData ScopedPduData }
msgSecurityParameters OCTET STRING, msgData ScopedPduData }
HeaderData ::= SEQUENCE { msgID INTEGER (0..2147483647), msgMaxSize INTEGER (484..2147483647),
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
msgFlags OCTET STRING (SIZE(1)), -- .... ...1 authFlag -- .... ..1. privFlag -- .... .1.. reportableFlag -- Please observe: -- .... ..00 is OK, means noAuthNoPriv -- .... ..01 is OK, means authNoPriv -- .... ..10 reserved, MUST NOT be used. -- .... ..11 is OK, means authPriv
msgSecurityModel INTEGER (1..2147483647) }
msgSecurityModel INTEGER (1..2147483647) }
ScopedPduData ::= CHOICE { plaintext ScopedPDU, encryptedPDU OCTET STRING -- encrypted scopedPDU value }
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 [RFC3416] } END
ScopedPDU ::= SEQUENCE { contextEngineID OCTET STRING, contextName OCTET STRING, data ANY -- e.g., PDUs as defined in [RFC3416] } 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.
The msgVersion field is set to snmpv3(3) and identifies the message as an SNMP version 3 Message.
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.
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.
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 [RFC3411] as the high-order
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 [RFC3411] as the high-order
Case, et al. Standards Track [Page 20] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 20] RFC 3412 Message Processing and Dispatching for SNMP December 2002
portion of the msgID value and a monotonically increasing integer for the low-order portion of msgID.
portion of the msgID value and a monotonically increasing integer for the low-order portion of msgID.
Note that the request-id in a PDU may be used by SNMP applications to identify the PDU; the msgID is used by the engine to identify the message which carries a PDU. The engine needs to identify the message even if decryption of the PDU (and request-id) fails. No assumption should be made that the value of the msgID and the value of the request-id are equivalent.
Note that the request-id in a PDU may be used by SNMP applications to identify the PDU; the msgID is used by the engine to identify the message which carries a PDU. The engine needs to identify the message even if decryption of the PDU (and request-id) fails. No assumption should be made that the value of the msgID and the value of the request-id are equivalent.
The value of the msgID field for a response takes the value of the msgID field from the message to which it is a response. By use of the msgID value, an engine can distinguish the (potentially multiple) outstanding requests, and thereby correlate incoming responses with outstanding requests. In cases where an unreliable datagram service is used, the msgID also provides a simple means of identifying messages duplicated by the network. If a request is retransmitted, a new msgID value SHOULD be used for each retransmission.
The value of the msgID field for a response takes the value of the msgID field from the message to which it is a response. By use of the msgID value, an engine can distinguish the (potentially multiple) outstanding requests, and thereby correlate incoming responses with outstanding requests. In cases where an unreliable datagram service is used, the msgID also provides a simple means of identifying messages duplicated by the network. If a request is retransmitted, a new msgID value SHOULD be used for each retransmission.
6.3. msgMaxSize
6.3. msgMaxSize
The msgMaxSize field of the message conveys the maximum message size supported by the sender of the message, i.e., the maximum message size that the sender can accept when another SNMP engine sends an SNMP message (be it a response or any other message) to the sender of this message on the transport in use for this message.
The msgMaxSize field of the message conveys the maximum message size supported by the sender of the message, i.e., the maximum message size that the sender can accept when another SNMP engine sends an SNMP message (be it a response or any other message) to the sender of this message on the transport in use for this message.
When an SNMP message is being generated, the msgMaxSize is provided by the SNMP engine which generates the message. At the receiving SNMP engine, the msgMaxSize is used to determine the maximum message size the sender can accommodate.
When an SNMP message is being generated, the msgMaxSize is provided by the SNMP engine which generates the message. At the receiving SNMP engine, the msgMaxSize is used to determine the maximum message size the sender can accommodate.
6.4. msgFlags
6.4. msgFlags
The msgFlags field of the message contains several bit fields which control processing of the message.
The msgFlags field of the message contains several bit fields which control processing of the message.
The reportableFlag is a secondary aid in determining whether a Report PDU MUST be sent. It is only used in cases where the PDU portion of a message cannot be decoded, due to, for example, an incorrect encryption key. If the PDU can be decoded, the PDU type forms the basis for decisions on sending Report PDUs.
The reportableFlag is a secondary aid in determining whether a Report PDU MUST be sent. It is only used in cases where the PDU portion of a message cannot be decoded, due to, for example, an incorrect encryption key. If the PDU can be decoded, the PDU type forms the basis for decisions on sending Report PDUs.
When the reportableFlag is used, if its value is one, a Report PDU MUST be returned to the sender under those conditions which can cause the generation of Report PDUs. Similarly, when the reportableFlag is used and its value is zero, then a Report PDU MUST NOT be sent. The reportableFlag MUST always be zero when the message contains a PDU
When the reportableFlag is used, if its value is one, a Report PDU MUST be returned to the sender under those conditions which can cause the generation of Report PDUs. Similarly, when the reportableFlag is used and its value is zero, then a Report PDU MUST NOT be sent. The reportableFlag MUST always be zero when the message contains a PDU
Case, et al. Standards Track [Page 21] RFC 3412 Message Processing and Dispatching for SNMP December 2002
Case, et al. Standards Track [Page 21] RFC 3412 Message Processing and Dispatching for SNMP December 2002
from the Unconfirmed Class, such as a Report PDU, a response-type PDU (such as a Response PDU), or an unacknowledged notification-type PDU (such as an SNMPv2-trap PDU). The reportableFlag MUST always be one for a PDU from the Confirmed Class, including request-type PDUs (such as a Get PDU) and acknowledged notification-type PDUs (such as an Inform PDU).
from the Unconfirmed Class, such as a Report PDU, a response-type PDU (such as a Response PDU), or an unacknowledged notification-type PDU (such as an SNMPv2-trap PDU). The reportableFlag MUST always be one for a PDU from the Confirmed Class, including request-type PDUs (such as a Get PDU) and acknowledged notification-type PDUs (such as an Inform PDU).
If the reportableFlag is set to one for a message containing a PDU from the Unconfirmed Class, such as a Report PDU, a response-type PDU (such as a Response PDU), or an unacknowledged notification-type PDU (such as an SNMPv2-trap PDU), then the receiver of that message MUST process it as though the reportableFlag had been set to zero.
If the reportableFlag is set to one for a message containing a PDU from the Unconfirmed Class, such as a Report PDU, a response-type PDU (such as a Response PDU), or an unacknowledged notification-type PDU (such as an SNMPv2-trap PDU), then the receiver of that message MUST process it as though the reportableFlag had been set to zero.
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.
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.
Report PDUs are generated directly by the SNMPv3 Message Processing Model, and support engine-to-engine communications, but may be passed to applications for processing.
Report PDUs are generated directly by the SNMPv3 Message Processing Model, and support engine-to-engine communications, but may be passed to applications for processing.
An SNMP engine that receives a reportPDU may use it to determine what kind of problem was detected by the remote SNMP engine. It can do so based on the error counter included as the first (and only) varBind of the reportPDU. Based on the detected error, the SNMP engine may try to send a corrected SNMP message. If that is not possible, it may pass an indication of the error to the application on whose behalf the failed SNMP request was issued.
An SNMP engine that receives a reportPDU may use it to determine what kind of problem was detected by the remote SNMP engine. It can do so based on the error counter included as the first (and only) varBind of the reportPDU. Based on the detected error, the SNMP engine may try to send a corrected SNMP message. If that is not possible, it may pass an indication of the error to the application on whose behalf the failed SNMP request was issued.
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.
送付者は、それをワイヤに送る前にメッセージに適用したsecurityLevelを示すようにmsgFlags分野のauthFlagとprivFlag部分を用意ができさせます。 メッセージが受信されていて、内容が処理されているとき、メッセージの受信機は同じsecurityLevelを適用しなければなりません。
There are three securityLevels, namely noAuthNoPriv, which is less than authNoPriv, which is in turn less than authPriv. See the SNMP architecture document [RFC3411] for details about the securityLevel.
3securityLevels、すなわち、noAuthNoPrivがあります。(noAuthNoPrivは順番にそうであるauthNoPriv authPrivよりそれほど以下です)。 securityLevelに関する詳細に関してSNMPアーキテクチャドキュメント[RFC3411]を見てください。
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
authFlagが1つに用意ができているなら、メッセージを送ったSNMPエンジンによって使用されるsecurityModelはSNMPメッセージがだれの代理に生成されたかに関してsecurityNameを特定しなければならなくて、提供しなければなりません、securityModel特有の方法で、それを認証できるメッセージの受信機のための十分なデータ
Case, et al. Standards Track [Page 22] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[22ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
identification. In general, this authentication will allow the receiver to determine with reasonable certainty that the message was:
識別。 一般に、受信機は、この認証でメッセージが以下の通りであったことを相当確かに決定できるでしょう。
- sent on behalf of the principal associated with the securityName,
- securityNameに関連している主体を代表して、発信しました。
- was not redirected,
- 向け直されませんでした。
- was not modified in transit, and
- そしてトランジットで変更されなかった。
- was not replayed.
- 再演されませんでした。
If the authFlag is zero, then the securityModel used by the SNMP engine which sent the message MUST identify the securityName on whose behalf the SNMP message was generated but it does not need to provide sufficient data for the receiver of the message to authenticate the identification, as there is no need to authenticate the message in this case.
authFlagがゼロであるなら、SNMPメッセージがだれの代理に生成されたかに関してメッセージを送ったSNMPエンジンによって使用されるsecurityModelは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., it MUST encrypt/decrypt the scopedPDU. If the privFlag is zero, then the securityModel in use does not need to protect the data from disclosure.
すなわち、それは、scopedPDUをまた、privFlagが用意ができているなら、メッセージを送ったSNMPエンジンによって使用されるsecurityModelがSNMPメッセージに公開からscopedPDUを保護しなければならなくて、暗号化しなければならないか、または解読しなければなりません。 privFlagがゼロであるなら、使用中のsecurityModelは公開からデータを保護する必要はありません。
It is an explicit requirement of the SNMP architecture that if privacy is selected, then authentication is also required. That means that if the privFlag is set, then the authFlag MUST also be set to one.
それはまた、プライバシーが選択されるなら認証が必要であるというSNMPアーキテクチャの明白な要件です。 それは、また、privFlagが用意ができるならauthFlagが1つに用意ができなければならないことを意味します。
The combination of the authFlag and the privFlag comprises a Level of Security as follows:
authFlagとprivFlagの組み合わせは以下のSecurityのLevelを包括します:
authFlag zero, privFlag zero -> securityLevel is noAuthNoPriv authFlag zero, privFlag one -> invalid combination, see below authFlag one, privFlag zero -> securityLevel is authNoPriv authFlag one, privFlag one -> securityLevel is authPriv
authFlagゼロ、privFlagゼロ->securityLevelがゼロ、privFlag1->病人組み合わせがauthFlag1の下で見るnoAuthNoPriv authFlagである、privFlagゼロ->securityLevelがauthNoPriv authFlag1である、privFlag1->securityLevelはauthPrivです。
The elements of procedure (see below) describe the action to be taken when the invalid combination of authFlag equal to zero and privFlag equal to one is encountered.
手順(以下を見る)の要素は、ゼロに合わせるために等しいauthFlagと1つと等しいprivFlagの無効の組み合わせに遭遇するとき、取るために動作について説明します。
The remaining bits in msgFlags are reserved, and MUST be set to zero when sending a message and SHOULD be ignored when receiving a message.
msgFlagsの残っているビットは予約されていて、メッセージを受け取るときにはいつのゼロを合わせるかセットがメッセージを送って、SHOULDであったに違いないなら無視されてください。
Case, et al. Standards Track [Page 23] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[23ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
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メッセージのためのセキュリティー・サービスを提供するために複数のSecurity Modelsの同時発生の存在をサポートします。 SNMPv3 MessageのmsgSecurityModel分野はどのSecurity Modelがメッセージを生成するのに送付者によって使用されたか、そして、したがって、受信機でどのsecurityModelを使用するか、そして、メッセージのためのセキュリティ処理を実行しなければならないのを特定します。 SNMPエンジンの中の適切なsecurityModel実装へのマッピングは実装依存する方法で達成されます。
6.6. msgSecurityParameters
6.6. msgSecurityParameters
The msgSecurityParameters field of the SNMPv3 Message is used for communication between the Security Model modules in the sending and receiving SNMP engines. The data in the msgSecurityParameters field is used exclusively by the Security Model, and the contents and format of the data is defined by the Security Model. This OCTET STRING is not interpreted by the v3MP, but is passed to the local implementation of the Security Model indicated by the msgSecurityModel field in the message.
SNMPv3 MessageのmsgSecurityParameters分野は送受信SNMPエンジンのSecurity Modelモジュールのコミュニケーションに使用されます。 msgSecurityParameters分野のデータは排他的にSecurity Modelによって使用されます、そして、データのコンテンツと書式はSecurity Modelによって定義されます。 このOCTET STRINGはv3MPによって解釈されませんが、メッセージのmsgSecurityModel分野によって示されたSecurity Modelの地方の実装に渡されます。
6.7. scopedPduData
6.7. scopedPduData
The scopedPduData field represents either the plain text scopedPDU if the privFlag in the msgFlags is zero, or it represents an encryptedPDU (encoded as an OCTET STRING) which MUST be decrypted by the securityModel in use to produce a plaintext scopedPDU.
scopedPduData分野がmsgFlagsのprivFlagがゼロであるならプレーンテキストscopedPDUを表すか、またはそれは平文scopedPDUを生産するために使用中のsecurityModelが解読しなければならない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 in conjunction with the pduType to determine to which application the scopedPDU will be sent for processing.
入力メッセージに関しては、contextEngineIDは、scopedPDUが処理のためにどのアプリケーションに送られるかを決定するのにpduTypeに関連して使用されます。
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を設定します。
Case, et al. Standards Track [Page 24] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[24ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
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.
contextEngineID分野に関連して、SNMPv3メッセージのcontextName分野はメッセージのPDU部分に含まれている経営情報に関連している特定の文脈を特定します。 contextNameはPDUの中で参照をつけられた管理オブジェクトがわかるかもしれないcontextEngineIDによって指定されたSNMP実体の中でユニークです。 メッセージを溯源するアプリケーションはcontextName分野に値を提供します、そして、この値は処理の間、受信SNMP Engineのアプリケーションで使用されるかもしれません。
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 [RFC3416].
SNMPv3 Messageのデータ・フィールドはPDUを含んでいます。 特に、PDUは入って来るSNMPメッセージのタイプを決定するのにv3MPによって使用されるPDUタイプを含んでいます。 v3MPは、PDU MUSTが[RFC3416]で指定されたもののひとりであると指定します。
7. Elements of Procedure for v3MP
7. v3MPのための手順のElements
This section describes the procedures followed by an SNMP engine when generating and processing SNMP messages according to the SNMPv3 Message Processing Model.
このセクションは手順について説明します、SNMPv3 Message Processing Modelによると、SNMPメッセージを生成して、処理するとき、続いて、SNMPエンジンについて説明します。
Please note, that for the sake of clarity and to prevent the text from being even longer and more complicated, some details were omitted from the steps below.
明快の目的、さらに長くて、より複雑であるいくつかの詳細からテキストを防ぐそれが下でのステップから省略されたことに注意してください。
a) Some steps specify that when some error conditions are encountered when processing a received message, a message containing a Report PDU is generated and the received message is discarded without further processing. However, a Report-PDU MUST NOT be generated unless the PDU causing generation of the Report PDU can be determined to be a member of the Confirmed Class, or the reportableFlag is set to one and the PDU class cannot be determined.
a) 数ステップは、受信されたメッセージを処理するとき、いくつかのエラー条件が遭遇するとき、Report PDUを含むメッセージが発生していて、受信されたメッセージがさらなる処理なしで捨てられると指定します。 reportableFlagは1つに用意ができています、そして、しかしながら、Report PDUの世代を引き起こすPDUがConfirmed Classのメンバーであることを決定できないなら、Report-PDUを生成することができないではいけませんか、PDUのクラスは決定できません。
b) The elements of procedure do not always explicitly indicate when state information needs to be released. The general rule is that if state information is available when a message is to be "discarded without further processing", then the state information should also be released at that same time.
b) 手順の要素は、州の情報が、いつリリースされる必要であるかをいつも明らかに示すというわけではありません。 一般的な規則はまた、「メッセージがいつさらなる処理なしで捨てられるか」ことであるという州の情報が利用可能であるなら州の情報がその同時期で発表されるべきであるということです。
Case, et al. Standards Track [Page 25] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[25ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
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.
このセクションはMessage Dispatcherによって渡されたデータ要素からのSNMPv3メッセージを準備するために従われた手順について説明します。
1) The Message Dispatcher may request that an SNMPv3 message containing a Read Class, Write Class, or Notification Class PDU be prepared for sending.
1) Message Dispatcherは、Read Class、Write Class、またはNotification Class 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 )
statusInformation=--成功かerrorIndication prepareOutgoingMessage( IN transportDomain(要求された輸送ドメインIN transportAddress)は、この主要なIN securityLevelを代表してIN securityNameを使用するよう送付先アドレスIN messageProcessingModel--通常SNMPバージョンIN securityModel--セキュリティModelに要求しました--Securityのレベルはこのような関係においては/IN pduVersionからIN contextEngineID--この実体IN contextNameの/からのデータ--データを要求しました; IN PDU--SNMPプロトコルData Unit IN expectResponse--PDU*TRUEかFALSE*IN sendPduHandle--マッチングのためのハンドル--入って来る応答OUT destTransportDomain--目的地輸送ドメインOUT destTransportAddress--目的地輸送アドレスOUT outgoingMessage--OUT outgoingMessageLengthを送るメッセージ--メッセージの長さのバージョン; )
* The SNMPv3 Message Processing Model does not use the values of expectResponse or pduVersion.
* SNMPv3 Message Processing ModelはexpectResponseかpduVersionの値を使用しません。
b) A unique msgID is generated. The number used for msgID should not have been used recently, and MUST NOT be the same as was used for any outstanding request.
b) ユニークなmsgIDは発生しています。 msgIDに使用される数は、最近使用するべきでなくて、どんな傑出している要求にも使用されたのと同じであるはずがありません。
2) The Message Dispatcher may request that an SNMPv3 message containing a Response Class or Internal Class PDU be prepared for sending.
2) Message Dispatcherは、Response Classを含むSNMPv3メッセージかInternal Class PDUが送付のために準備されるよう要求するかもしれません。
Case, et al. Standards Track [Page 26] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[26ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
a) It makes such a request according to the abstract service primitive:
a) それで、抽象的なサービスに従ったそのような要求は原始的になります:
result = -- SUCCESS or FAILURE prepareResponseMessage( IN messageProcessingModel -- typically, SNMP version IN securityModel -- same as on incoming request IN securityName -- same as on incoming request IN securityLevel -- same as on incoming request IN contextEngineID -- data from/at this SNMP entity IN contextName -- data from/in this context IN pduVersion -- version of the PDU IN PDU -- SNMP Protocol Data Unit IN maxSizeResponseScopedPDU -- maximum size sender can -- accept IN stateReference -- reference to state -- information presented with -- the request IN statusInformation -- success or errorIndication -- error counter OID and value -- when errorIndication OUT destTransportDomain -- destination transport domain OUT destTransportAddress -- destination transport address OUT outgoingMessage -- the message to send OUT outgoingMessageLength -- the length of the message )
結果=--SUCCESSかFAILURE prepareResponseMessage( 通常、入って来る要求IN securityNameと同じ入来と同じSNMPバージョンIN securityModelがIN securityLevelを要求するという入って来る要求IN contextEngineIDと同じIN messageProcessingModel--このSNMP実体IN contextNameの/からのデータ--このような関係においては/IN pduVersionからのデータ--PDU IN PDUのバージョン--SNMPプロトコルData Unit IN maxSizeResponseScopedPDU--最大サイズ送付者はそうすることができます; errorIndication OUT destTransportDomain--目的地輸送ドメインOUT destTransportAddress--目的地輸送アドレスOUT outgoingMessage--OUT outgoingMessageLengthを送るメッセージ--メッセージの長さであるときにはIN stateReference--述べる参照--与えられる情報(要求IN statusInformation--成功かerrorIndication--誤りカウンタOIDと値)を受け入れてください; )
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 Message Processing Modelはキャッシュされたデータを優越させません、以下で(3)で詳しく述べられる誤り指摘を除いて。
Case, et al. Standards Track [Page 27] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[27ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
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 a PDU is provided, it is the PDU from the original request. If possible, extract the request-id and pduType.
a) PDUを提供するなら、それはオリジナルの要求からのPDUです。 できれば、要求イドとpduTypeを抜粋してください。
b) If the pduType is determined to not be a member of the Confirmed Class, or if the reportableFlag is zero and the pduType cannot be determined, then the original message is discarded, and no further processing is done. A result of FAILURE is returned. SNMPv3 Message Processing is complete.
b) reportableFlagがゼロであり、pduTypeが決定できないならpduTypeがConfirmed Classのメンバーでないと決心しているなら、オリジナルのメッセージは捨てます、そして、どんなより遠い処理もしません。 FAILUREの結果は返されます。 SNMPv3 Message Processingは完全です。
c) A Report PDU is prepared:
c) Report PDUは準備されています:
1) the varBindList is set to contain the OID and value from the statusInformation.
1) varBindListはstatusInformationからのOIDと値を含むように用意ができています。
2) error-status is set to 0.
2) エラー状況は0に設定されます。
3) error-index is set to 0.
3) 誤りインデックスは0に設定されます。
4) request-id is set to the value extracted in step b). Otherwise, request-id is set to 0.
4) 要求イドはステップb)で抽出された値に設定されます。 さもなければ、要求イドは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)を続行します。
Case, et al. Standards Track [Page 28] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[28ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
4) If the 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) scopedPDUはcontextEngineID、contextName、およびPDUから準備されます。
7) msgGlobalData is constructed as follows:
7) msgGlobalDataは以下の通り組み立てられます:
a) The msgVersion field is set to snmpv3(3).
a) msgVersion分野はsnmpv3(3)に設定されます。
b) msgID is set as determined in step 1 or 2 above.
b)msgIDは上のステップ1か2で決定するように用意ができています。
c) msgMaxSize is set to an implementation-dependent value.
c)msgMaxSizeは実装依存する値に用意ができています。
d) msgFlags are set as follows:
d)msgFlagsは以下の通り用意ができています:
- If securityLevel specifies noAuthNoPriv, then authFlag and privFlag are both set to zero.
- securityLevelがnoAuthNoPrivを指定するなら、authFlagとprivFlagはともにゼロに用意ができています。
- If securityLevel specifies authNoPriv, then authFlag is set to one and privFlag is set to zero.
- securityLevelがauthNoPrivを指定するなら、authFlagは1つに用意ができています、そして、privFlagはゼロに用意ができています。
- If securityLevel specifies authPriv, then authFlag is set to one and privFlag is set to one.
- securityLevelがauthPrivを指定するなら、authFlagは1つに用意ができています、そして、privFlagは1つに用意ができています。
- If the PDU is from the Unconfirmed Class, then the reportableFlag is set to zero.
- PDUがUnconfirmed Classから来ているなら、reportableFlagはゼロに用意ができています。
- If the PDU is from the Confirmed Class then the reportableFlag is set to one.
- PDUがConfirmed Classから来ているなら、reportableFlagは1つに用意ができています。
- All other msgFlags bits are set to zero.
- 他のすべてのmsgFlagsビットがゼロに設定されます。
e) msgSecurityModel is set to the value of securityModel.
e)msgSecurityModelはsecurityModelの値に用意ができています。
Case, et al. Standards Track [Page 29] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[29ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
8) If the PDU is from the Response Class or the Internal Class, then:
8) 次に、PDUがResponse ClassかInternal Classから来ているなら:
a) The specified Security Model is called to generate the message according to the primitive:
a) 指定されたSecurity Modelは原始に従ってメッセージを生成するために呼ばれます:
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 )
statusInformationはgenerateResponseMsg(IN messageProcessingModel--SNMPv3 Message Processing--モデルIN globalData--ステップ7IN maxMessageSize、送信されるメッセージIN scopedPDUのためにステップ7e IN securityEngineID(snmpEngineID IN securityNameの値)でこの主要なIN securityLevelを代表して決定するようなステップ6における準備されるとしてのmsgMaxSize(ステップ7c)IN securityModelからのmsgGlobalData)IN securityStateReferenceと等しいです; ステップ2OUT securityParameters--Security Module OUT wholeMsg--完全な発生しているメッセージOUT wholeMsgLength--発生しているメッセージの長さによって記入されるところで断固とする、)
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がSecurity ModelからのリターンのときにerrorIndicationを含んでいるなら傑出している要求メッセージのどんなキャッシュされた情報も捨てて、errorIndicationを返すので、呼ぶアプリケーションにそれを返すことができます。 SNMPv3 Message Processingは完全です。
b) A SUCCESS result is returned. SNMPv3 Message Processing is complete.
b) SUCCESS結果は返されます。 SNMPv3 Message Processingは完全です。
9) If the PDU is from the Confirmed Class or the Notification Class, then:
9) 次に、PDUがConfirmed ClassかNotification Classから来ているなら:
a) If the PDU is from the Unconfirmed Class, then securityEngineID is set to the value of this entity's snmpEngineID.
a) PDUがUnconfirmed Classから来ているなら、securityEngineIDはこの実体のsnmpEngineIDの値に用意ができています。
Otherwise, the snmpEngineID of the target entity is determined, in an implementation-dependent manner, possibly using transportDomain and transportAddress. The value of the securityEngineID is set to the value of the target entity's snmpEngineID.
さもなければ、目標実体のsnmpEngineIDは、ことによると実装依存する方法でtransportDomainとtransportAddressを使用することで断固としています。 securityEngineIDの値は目標実体のsnmpEngineIDの値に設定されます。
Case, et al. Standards Track [Page 30] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[30ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
b) The specified Security Model is called to generate the message according to the primitive:
b) 指定されたSecurity Modelは原始に従ってメッセージを生成するために呼ばれます:
statusInformation = generateRequestMsg( IN messageProcessingModel -- SNMPv3 Message Processing Model IN globalData -- msgGlobalData, from step 7 IN maxMessageSize -- from msgMaxSize in step 7 c) IN securityModel -- as provided by caller IN securityEngineID -- authoritative SNMP entity -- from step 9 a) IN securityName -- as provided by caller IN securityLevel -- as provided by caller IN scopedPDU -- as prepared in step 6 OUT securityParameters -- filled in by Security Module OUT wholeMsg -- complete generated message OUT wholeMsgLength -- length of the generated message )
訪問者IN securityEngineID(正式のSNMP実体)によってステップ9a)から提供されるようにstatusInformationはgenerateRequestMsg(IN messageProcessingModel--SNMPv3 Message Processing Model IN globalData--ステップ7IN maxMessageSize、ステップ7cのmsgMaxSizeからのmsgGlobalData)IN securityModelと等しいです。 訪問者IN scopedPDUによって提供されるようなステップ6OUT securityParametersの準備されるとしての訪問者IN securityLevelによって提供されるようなSecurity Module OUT wholeMsg--完全な発生しているメッセージOUT wholeMsgLength--発生しているメッセージの長さによって記入されたIN securityName)
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がSecurity ModelからのリターンのときにerrorIndicationを含んでいるなら、メッセージは捨てます、そして、errorIndicationを返します、そして、したがって、呼ぶアプリケーションにそれを返すことができます、そして、どんなより遠い処理もしません。 SNMPv3 Message Processingは完全です。
c) If the PDU is from the Confirmed Class, information about the outgoing message is cached, and an implementation-specific stateReference is created. Information to be cached includes the values of:
c) PDUがConfirmed Classから来ているなら、送信されるメッセージの情報はキャッシュされます、そして、実装特有のstateReferenceは作成されます。 キャッシュされるべき情報は以下の値を含んでいます。
- 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) SUCCESS結果は返されます。 SNMPv3 Message Processingは完全です。
Case, et al. Standards Track [Page 31] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[31ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
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メッセージからデータを抜粋して、Message Dispatcherによるメッセージのさらなる処理に必要であるデータ要素を準備するために従われた手順について説明します。
1) The message is passed in from the Message Dispatcher according to the abstract service primitive:
1) メッセージでは、Message Dispatcherから、抽象的なサービスに従って、原始的に通過されます:
result = -- SUCCESS or errorIndication prepareDataElements( IN transportDomain -- origin transport domain IN transportAddress -- origin transport address IN wholeMsg -- as received from the network IN wholeMsgLength -- as received from the network OUT messageProcessingModel -- typically, SNMP version OUT securityModel -- Security Model to use OUT securityName -- on behalf of this principal OUT securityLevel -- Level of Security requested OUT contextEngineID -- data from/at this entity OUT contextName -- data from/in this context OUT pduVersion -- version of the PDU OUT PDU -- SNMP Protocol Data Unit OUT pduType -- SNMP PDU type OUT sendPduHandle -- handle for matched request OUT maxSizeResponseScopedPDU -- maximum size sender can accept OUT statusInformation -- success or errorIndication -- error counter OID and value -- when errorIndication OUT stateReference -- reference to state information -- to be used for a possible ) -- Response
結果=; 成功かerrorIndication; prepareDataElements; ( IN transportDomain--OUT securityNameを使用するためにネットワークOUT messageProcessingModel--通常SNMPバージョンOUT securityModel--セキュリティModelから受け取るようにこの主要なOUT securityLevelを代表してネットワークIN wholeMsgLengthから受け取られる発生源輸送ドメインIN transportAddress(発生源輸送アドレスIN wholeMsg)--SecurityのレベルはOUT contextEngineIDを要求しました--この実体OUT contextNameの/からのデータ; このような関係においては/OUT pduVersionからのデータ--PDU OUT PDUのバージョン--SNMP PDUがOUT sendPduHandleをタイプするというSNMPプロトコルData Unit OUT pduTypeはerrorIndication OUT stateReferenceであるときに、最大サイズ送付者がOUT statusInformation--成功かerrorIndication--誤りカウンタOIDと値を受け入れることができるという取り組んでいる要求OUT maxSizeResponseScopedPDUのために州の情報に参照を扱います--可能なaに使用されるために; ) -- 応答
2) If the received message is not the serialization (according to the conventions of [RFC3417]) of an SNMPv3Message value, then the snmpInASNParseErrs counter [RFC3418] is incremented, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.
2) 受信されたメッセージがSNMPv3Message価値の連載([RFC3417]のコンベンションによると)でないなら、snmpInASNParseErrsカウンタ[RFC3418]は増加されています、そして、メッセージはさらなる処理なしで捨てられます、そして、FAILURE結果は返されます。 SNMPv3 Message Processingは完全です。
3) The values for msgVersion, msgID, msgMaxSize, msgFlags, msgSecurityModel, msgSecurityParameters, and msgData are extracted from the message.
3) msgVersion、msgID、msgMaxSize、msgFlags、msgSecurityModel、msgSecurityParameters、およびmsgDataのための値はメッセージから抽出されます。
4) If the value of the msgSecurityModel component does not match a supported securityModel, then the snmpUnknownSecurityModels counter is incremented, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.
4) msgSecurityModelの部品の値がサポートしているsecurityModelに合っていないなら、snmpUnknownSecurityModelsカウンタは増加されています、そして、メッセージはさらなる処理なしで捨てられます、そして、FAILURE結果は返されます。 SNMPv3 Message Processingは完全です。
Case, et al. Standards Track [Page 32] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[32ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
5) The securityLevel is determined from the authFlag and the privFlag bits of the msgFlags component as follows:
5) securityLevelは以下のmsgFlagsの部品のauthFlagとprivFlagビットから断固としています:
a) If the authFlag is not set and the privFlag is not set, then securityLevel is set to noAuthNoPriv.
a) authFlagが用意ができていなくて、またprivFlagが用意ができていないなら、securityLevelはnoAuthNoPrivに用意ができています。
b) If the authFlag is set and the privFlag is not set, then securityLevel is set to authNoPriv.
b) authFlagが用意ができていて、privFlagは用意ができていないなら、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, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.
d) authFlagが用意ができていなくて、privFlagが用意ができているなら、snmpInvalidMsgsカウンタは増加されています、そして、メッセージはさらなる処理なしで捨てられます、そして、FAILURE結果は返されます。 SNMPv3 Message Processingは完全です。
e) Any other bits in the msgFlags are ignored.
e) msgFlagsのいかなる他のビットも無視されます。
6) The security module implementing the Security Model as specified by the securityModel component is called for authentication and privacy services. This is done according to the abstract service primitive:
6) 指定されるとしてのsecurityModelの部品によるSecurity Modelを実装するセキュリティーモジュールは認証とプライバシーサービスのために呼ばれます。 抽象的なサービスに従って、原始的にこれをします:
statusInformation = -- errorIndication or success -- error counter OID and -- value if error processIncomingMsg( IN messageProcessingModel -- SNMPv3 Message Processing Model IN maxMessageSize -- of the sending SNMP entity IN securityParameters -- for the received message IN securityModel -- for the received message IN securityLevel -- Level of Security IN wholeMsg -- as received on the wire IN wholeMsgLength -- length as received on the wire OUT securityEngineID -- authoritative SNMP entity OUT securityName -- identification of the principal OUT scopedPDU, -- message (plaintext) payload OUT maxSizeResponseScopedPDU -- maximum size sender can accept OUT securityStateReference -- reference to security state ) -- information, needed for -- response
そしてstatusInformation=--errorIndicationか成功--誤りカウンタOID; 誤りであるなら、評価します; processIncomingMsg、(受信されたメッセージIN securityModel、ワイヤIN wholeMsgLength--ワイヤOUT securityEngineIDに受け取られる長さ--正式のSNMP実体OUT securityName--主要なOUT scopedPDUの識別--メッセージに受け取られる受信されたメッセージIN securityLevel(Security IN wholeMsgのレベル)のためのIN messageProcessingModel(送付SNMP実体IN securityParametersのSNMPv3 Message Processing Model IN maxMessageSize)、(平文; )、最大サイズ送付者がOUT securityStateReferenceを受け入れることができるというOUT maxSizeResponseScopedPDUがセキュリティ状態に参照をつけるペイロード); -- 情報; 必要である、--、応答
If an errorIndication is returned by the security module, then:
次に、セキュリティーモジュールでerrorIndicationを返すなら:
a) If statusInformation contains values for an OID/value pair, then generation of a Report PDU is attempted (see step 3 in section 7.1).
a) statusInformationがOID/値の組値を含んでいるなら、Report PDUの世代は試みられます(セクション7.1のステップ3を見てください)。
Case, et al. Standards Track [Page 33] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[33ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
1) If the scopedPDU has been returned from processIncomingMsg, then determine contextEngineID, contextName, and PDU.
1) processIncomingMsgからscopedPDUを返したなら、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 )
結果=--SUCCESSかFAILURE returnResponsePdu(processIncomingMsg IN securityLevelからの入って来る要求IN contextEngineID、ステップ6a)1から同じ入って来る要求IN securityNameと同じIN messageProcessingModel(SNMPv3(3)IN securityModel)) ステップ6a)からのIN contextName 1) ステップ6a)からのIN pduVersion(SNMPv2-PDU IN PDU) 1) processIncomingMsg IN stateReference、ステップ6a)からのIN maxSizeResponseScopedPDU 2) processIncomingMsgからのstatusInformation、)
b) The incoming message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.
b) 入力メッセージはさらなる処理なしで捨てられます、そして、FAILURE結果は返されます。 SNMPv3 Message Processingは完全です。
7) The scopedPDU is parsed to extract the contextEngineID, the contextName and the PDU. If any parse error occurs, then the snmpInASNParseErrs counter [RFC3418] is incremented, the security state information is discarded, the message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete. Treating an unknown PDU type is treated as a parse error is an implementation option.
7) scopedPDUは、contextEngineID、contextName、およびPDUを抽出するために分析されます。 いずれか分析されるなら、誤りは発生します、そして、次に、snmpInASNParseErrsカウンタ[RFC3418]は増加されています、そして、セキュリティ州の情報は捨てられます、そして、メッセージはさらなる処理なしで捨てられます、そして、FAILURE結果は返されます。 SNMPv3 Message Processingは完全です。 aが誤りを分析するとき扱われる未知のPDUが、タイプする扱いは実装オプションです。
Case, et al. Standards Track [Page 34] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[34ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
8) The pduVersion is determined in an implementation-dependent manner. For SNMPv3, the pduVersion would be an SNMPv2-PDU.
8) pduVersionは実装依存する方法で決定します。 SNMPv3に関しては、pduVersionはSNMPv2-PDUでしょう。
9) The pduType is determined, in an implementation-dependent manner. For [RFC3416], the pduTypes include:
9) pduTypeは実装依存する方法で決定します。 [RFC3416]に関してはpduTypesは:
- GetRequest-PDU, - GetNextRequest-PDU, - GetBulkRequest-PDU, - SetRequest-PDU, - InformRequest-PDU, - SNMPv2-Trap-PDU, - Response-PDU, - Report-PDU.
- GetRequest-PDU--GetNextRequest-PDU--GetBulkRequest-PDU--SetRequest-PDU--InformRequest-PDU--SNMPv2罠PDU--応答-PDU--レポート-PDU。
10) If the pduType is from the Response Class or the Internal Class, then:
10) 次に、pduTypeがResponse ClassかInternal Classから来ているなら:
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の部品の値は、対応する傑出しているRequestメッセージのためのキャッシュされた情報を見つけるのに使用されます。 そのような何か傑出しているRequestメッセージが見つけられないなら、セキュリティ州の情報は捨てられます、そして、メッセージはさらなる処理なしで捨てられます、そして、FAILURE結果は返されます。 SNMPv3 Message Processingは完全です。
b) sendPduHandle is retrieved from the cached information.
b)sendPduHandleはキャッシュされた情報から検索されます。
Otherwise, sendPduHandle is set to <none>, an implementation defined value.
さもなければ、sendPduHandleが>のいずれも<に設定しないことである、実装は値を定義しました。
11) If the pduType is from the Internal Class, then:
11) 次に、pduTypeがInternal Classから来ているなら:
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のコンテンツを使用することで作成されます。 sendPduHandleに関連しているアプリケーションにこのstatusInformationを送るでしょう。
b) The cached data for the outstanding message, referred to by stateReference, is retrieved. If the securityModel or securityLevel values differ from the cached ones, it is important to recognize that Internal Class PDUs delivered at the security level of noAuthNoPriv open a window of opportunity for spoofing or replay attacks. If the receiver of such messages is aware of these risks, the use of such unauthenticated messages is acceptable and may provide a useful function for discovering engine IDs or for detecting misconfiguration at remote nodes.
b) stateReferenceによって示された傑出しているメッセージのためのキャッシュされたデータは検索されます。 securityModelかsecurityLevel値がキャッシュされたものと異なっているなら、noAuthNoPrivのセキュリティー・レベルで提供されたInternal Class PDUsがスプーフィングか反射攻撃の機会の窓を開けると認めるのは重要です。 そのようなメッセージの受信機がこれらのリスクを意識しているなら、そのような非認証されたメッセージの使用は、許容できて、エンジンIDを発見するか、または遠隔ノードにmisconfigurationを検出するのに役に立つ機能を提供するかもしれません。
Case, et al. Standards Track [Page 35] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[35ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
When the securityModel or securityLevel values differ from the cached ones, an implementation may retain the cached information about the outstanding Request message, in anticipation of the possibility that the Internal Class PDU received might be illegitimate. Otherwise, any cached information about the outstanding Request message is discarded.
securityModelかsecurityLevel値がキャッシュされたものと異なっていると、実装は傑出しているRequestメッセージのキャッシュされた情報を保有するかもしれません、受け取られたInternal Class PDUが違法であるかもしれない可能性を予測して。 さもなければ、傑出しているRequestメッセージのどんなキャッシュされた情報も捨てられます。
c) The security state information for this incoming message is discarded.
c) この入力メッセージのためのセキュリティ州の情報は捨てられます。
d) stateReference is set to <none>.
d)stateReferenceは>のいずれも<に設定しないことです。
e) A SUCCESS result is returned. SNMPv3 Message Processing is complete.
e) SUCCESS結果は返されます。 SNMPv3 Message Processingは完全です。
12) If the pduType is from the Response Class, then:
12) 次に、pduTypeがResponse Classから来ているなら:
a) The cached data for the outstanding request, referred to by stateReference, is retrieved, including:
a) 以下を含んでいて、stateReferenceによって示された傑出している要求のためのキャッシュされたデータは検索されます。
- snmpEngineID - securityModel - securityName - securityLevel - contextEngineID - contextName
- snmpEngineID--securityModel--securityName--securityLevel--contextEngineID--contextName
b) If the values extracted from the incoming message differ from the cached data, then any cached information about the outstanding Request message is discarded, the incoming message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.
b) 入力メッセージから抽出された値がキャッシュされたデータと異なっているなら、傑出しているRequestメッセージのどんなキャッシュされた情報も捨てられます、そして、入力メッセージはさらなる処理なしで捨てられます、そして、FAILURE結果は返されます。 SNMPv3 Message Processingは完全です。
When the securityModel or securityLevel values differ from the cached ones, an implementation may retain the cached information about the outstanding Request message, in anticipation of the possibility that the Response Class PDU received might be illegitimate.
securityModelかsecurityLevel値がキャッシュされたものと異なっていると、実装は傑出しているRequestメッセージのキャッシュされた情報を保有するかもしれません、受け取られたResponse Class PDUが違法であるかもしれない可能性を予測して。
c) Otherwise, any cached information about the outstanding Request message is discarded, and the stateReference is set to <none>.
c) さもなければ、傑出しているRequestメッセージのどんなキャッシュされた情報も捨てられます、そして、stateReferenceは>のいずれも<に設定しないことです。
d) A SUCCESS result is returned. SNMPv3 Message Processing is complete.
d) SUCCESS結果は返されます。 SNMPv3 Message Processingは完全です。
13) If the pduType is from the Confirmed Class, then:
13) 次に、pduTypeがConfirmed Classから来ているなら:
Case, et al. Standards Track [Page 36] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[36ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
a) If the value of securityEngineID is not equal to the value of snmpEngineID, then the security state information is discarded, any cached information about this message is discarded, the incoming message is discarded without further processing, and a FAILURE result is returned. SNMPv3 Message Processing is complete.
a) securityEngineIDの値がsnmpEngineIDの値と等しくないなら、セキュリティ州の情報は捨てられます、そして、このメッセージのどんなキャッシュされた情報も捨てられます、そして、入力メッセージはさらなる処理なしで捨てられます、そして、FAILURE結果は返されます。 SNMPv3 Message Processingは完全です。
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) SUCCESS結果は返されます。 SNMPv3 Message Processingは完全です。
14) If the pduType is from the Unconfirmed Class, then a SUCCESS result is returned. SNMPv3 Message Processing is complete.
14) pduTypeがUnconfirmed Classから来ているなら、SUCCESS結果は返されます。 SNMPv3 Message Processingは完全です。
8. Intellectual Property
8. 知的所有権
The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat.
IETFはどんな知的所有権の正当性か範囲、実装に関係すると主張されるかもしれない他の権利、本書では説明された技術の使用またはそのような権利の下におけるどんなライセンスも利用可能であるかもしれない、または利用可能でないかもしれない範囲に関しても立場を全く取りません。 どちらも、それはそれを表しません。どんなそのような権利も特定するためにいずれも取り組みにしました。 BCP-11で標準化過程の権利と規格関連のドキュメンテーションに関するIETFの手順に関する情報を見つけることができます。 権利のクレームのコピーで利用可能に作られるべきライセンスの保証、または一般的なライセンスか許可が作成者によるそのような所有権の使用に得させられた試みの結果が公表といずれにも利用可能になったか、または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専務に情報を扱ってください。
Case, et al. Standards Track [Page 37] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[37ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
9. Acknowledgements
9. 承認
This document is the result of the efforts of the SNMPv3 Working Group. Some special thanks are in order to the following SNMPv3 WG members:
このドキュメントはSNMPv3作業部会の取り組みの結果です。 いくつかの特別な感謝がそうである、以下のSNMPv3 WGメンバー:
Harald Tveit Alvestrand (Maxware) Dave Battle (SNMP Research, Inc.) Alan Beard (Disney Worldwide Services) Paul Berrevoets (SWI Systemware/Halcyon Inc.) Martin Bjorklund (Ericsson) Uri Blumenthal (IBM T. J. Watson Research Center) Jeff Case (SNMP Research, Inc.) John Curran (BBN) Mike Daniele (Compaq Computer Corporation) T. Max Devlin (Eltrax Systems) John Flick (Hewlett Packard) Rob Frye (MCI) Wes Hardaker (U.C.Davis, Information Technology - D.C.A.S.) David Harrington (Cabletron Systems Inc.) Lauren Heintz (BMC Software, Inc.) N.C. Hien (IBM T. J. Watson Research Center) Michael Kirkham (InterWorking Labs, Inc.) Dave Levi (SNMP Research, Inc.) Louis A Mamakos (UUNET Technologies Inc.) Joe Marzot (Nortel Networks) Paul Meyer (Secure Computing Corporation) Keith McCloghrie (Cisco Systems) Bob Moore (IBM) Russ Mundy (TIS Labs at Network Associates) Bob Natale (ACE*COMM Corporation) Mike O'Dell (UUNET Technologies Inc.) Dave Perkins (DeskTalk) Peter Polkinghorne (Brunel University) Randy Presuhn (BMC Software, Inc.) David Reeder (TIS Labs at Network Associates) David Reid (SNMP Research, Inc.) Aleksey Romanov (Quality Quorum) Shawn Routhier (Epilogue) Juergen Schoenwaelder (TU Braunschweig) Bob Stewart (Cisco Systems) Mike Thatcher (Independent Consultant) Bert Wijnen (IBM T. J. Watson Research Center)
ハラルドTveit Alvestrand(Maxware)デーヴBattle(SNMP研究Inc.) アランBeard(ディズニーの世界的なServices)ポールBerrevoets(SWI Systemware/アルキュオーン株式会社) マーチンBjorklund(エリクソン)ユリ・ブルーメンソル(IBM T.J.ワトソン研究所) ジェフCase(SNMP研究Inc.) ジョン・カラン(BBN)・マイク・ダニエル(コンパックコンピュータ社)・T.マックス・デブリン(Eltraxシステム)ジョンFlick(ヒューレットパッカード)ロブフライ(MCI)ウェスHardaker、(U.C.デイヴィス、情報技術--直流、A.S.) デヴィッド・ハリントン(CabletronシステムInc.) ローレン・ハインツ(BMCソフトウェアInc.) ノースカロライナ州Hien(IBM T.J.ワトソン研究所) マイケル・カーカム(研究室Inc.を織り込みます) デーヴ・レビ(SNMP研究Inc.) ルイスはMamakos(UUNET技術Inc.)です。 ジョーMarzot(ノーテルネットワーク)ポール・マイヤー(安全なコンピューティング社)キースMcCloghrie(シスコシステムズ)ボブ・ムーア(IBM)・ラス・マンディ(ネットワーク関連のTIS研究室)ボブNatale(ACE*COMM社)マイク・オデル(UUNET技術Inc.) デーヴ・パーキンス(DeskTalk)・ピーター・ポーキングホーン(Brunel大学)ランディPresuhn(BMCソフトウェアInc.) デヴィッド・リーダー(ネットワーク関連のTIS研究室)・デヴィッド・リード(SNMP研究Inc.) アレックセイ・ロマーノフ(上質の定足数)ショーンRouthier(エピローグ)ユルゲンSchoenwaelder(TUブラウンシュバイク)ボブ・スチュワート(シスコシステムズ)マイク屋根を葺く人(独立しているコンサルタント)バートWijnen(IBM T.J.ワトソン研究所)
Case, et al. Standards Track [Page 38] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[38ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
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 Advisory TeamのためのIETF SecurityとAdministrative Framework Evolutionの推薦に基づいています。 そのAdvisory Teamのメンバーは以下の通りでした。
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)
デヴィッド・ハリントン(CabletronシステムInc.) ジェフ・ジョンソン(シスコシステムズ)・デヴィッド・レビ(SNMP研究Inc.) ジョン・リン(Openvision)・ラス・マンディ(情報システムを信じる)いすショーンRouthier(エピローグ)グレンWaters(ノーテル)バートWijnen(IBM T.J.ワトソン研究所)
As recommended by the Advisory Team and the SNMPv3 Working Group Charter, the design incorporates as much as practical from previous RFCs and drafts. As a result, special thanks are due to the authors of previous designs known as SNMPv2u and SNMPv2*:
Advisory TeamとSNMPv3作業部会憲章によって推薦されるように、デザインは前のRFCsと草稿によって実用的であるのと同じくらい多くを取り入れます。 その結果、特別な感謝は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.)
ジェフCase(SNMP研究Inc.) デヴィッド・ハリントン(CabletronシステムInc.) デヴィッド・レビ(SNMP研究Inc.) キースMcCloghrie(シスコシステムズ)ブライアン・オキーフ(ヒューレットパッカード)・マーシャル・T.ローズ(ドーヴァーのビーチコンサルティング)ジョンSaperia(BGSシステムInc.) スティーブWaldbusser(国際ネットワークサービス)グレンW.水域(ベル-北研究株式会社)
10. Security Considerations
10. セキュリティ問題
The Dispatcher coordinates the processing of messages to provide a level of security for management messages and to direct the SNMP PDUs to the proper SNMP application(s).
Dispatcherはセキュリティのレベルを管理メッセージに提供して、適切なSNMPアプリケーションにSNMP PDUsを向けるメッセージの処理を調整します。
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 [RFC3411] and elaborated above.
Message Processing Model、および特に本書では定義されたv3MPはSecurity SubsystemのSecurity Modelsと共にMessage Processingの一部として[RFC3411]で定義されて、上に詳しく説明された抽象的なサービスインタフェース基関数で相互作用します。
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.
実際に提供されたセキュリティのレベルは特定のSecurity Model実装とこのフレームワークに組み入れられた特定のSNMPアプリケーション実装で主として決定します。 アプリケーションは保証されないデータに近づく手段を持っています。 アプリケーションが公開からデータを保護するために合理的な方法を採るべきであり、ネットワークの向こう側にデータを送るとき、アクセスコントロールを適用するとき、それらは、securityLevelに従って、Access Control Modelのサービスを訪問するべきです。
Case, et al. Standards Track [Page 39] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[39ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
The values for the msgID element used in communication between SNMP entities MUST be chosen to avoid replay attacks. The values do not need to be unpredictable; it is sufficient that they not repeat.
反射攻撃を避けるためにSNMP実体のコミュニケーションで使用されるmsgID要素のための値を選ばなければなりません。 値は予測できる必要はありません。 彼らが繰り返さないのは、十分です。
When exchanges are carried out over an insecure network, there is an open opportunity for a third party to spoof or replay messages when any message of an exchange is given at the security level of noAuthNoPriv. For most exchanges, all messages exist at the same security level. In the case where the final message is an Internal Class PDU, this message may be delivered at a level of noAuthNoPriv or authNoPriv, independent of the security level of the preceding messages. Internal Class PDUs delivered at the level of authNoPriv are not considered to pose a security hazard. Internal Class PDUs delivered at the security level of noAuthNoPriv open a window of opportunity for spoofing or replay attacks. If the receiver of such messages is aware of these risks, the use of such unauthenticated messages is acceptable and may provide a useful function for discovering engine IDs or for detecting misconfiguration at remote nodes.
交換が不安定なネットワークの上に行われるとき、noAuthNoPrivのセキュリティー・レベルで交換に関するどんなメッセージも与えるとき、第三者がメッセージを偽造するか、または再演する開いている機会があります。 ほとんどの交換のために、すべてのメッセージが同じセキュリティー・レベルで存在しています。 最終的なメッセージがInternal Class PDUである場合では、このメッセージはnoAuthNoPrivかauthNoPrivのレベルで提供されるかもしれません、前のメッセージのセキュリティー・レベルの如何にかかわらず。 authNoPrivのレベルで提供された内部のClass PDUsがセキュリティ危険を引き起こすと考えられません。 noAuthNoPrivのセキュリティー・レベルで提供された内部のClass PDUsはスプーフィングか反射攻撃の機会の窓を開けます。 そのようなメッセージの受信機がこれらのリスクを意識しているなら、そのような非認証されたメッセージの使用は、許容できて、エンジンIDを発見するか、または遠隔ノードにmisconfigurationを検出するのに役に立つ機能を提供するかもしれません。
This document also contains a MIB definition module. None of the objects defined is writable, and the information they represent is not deemed to be particularly sensitive. However, if they are deemed sensitive in a particular environment, access to them should be restricted through the use of appropriately configured Security and Access Control models.
また、このドキュメントはMIB定義モジュールを含んでいます。 定義されたオブジェクトのいずれも書き込み可能ではありません、そして、彼らが表す情報が特に敏感であると考えられません。 しかしながら、それらが特定の環境で敏感であると考えられるなら、それらへのアクセスは適切に構成されたSecurityとAccess Controlモデルの使用で制限されるべきです。
11. References
11. 参照
11.1. Normative References
11.1. 引用規格
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119] ブラドナー、S.、「Indicate Requirement LevelsへのRFCsにおける使用のためのキーワード」、BCP14、RFC2119、1997年3月。
[RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[RFC2578]McCloghrieとK.、パーキンスとD.とSchoenwaelderとJ.とケースとJ.とローズとM.とS.Waldbusser、「経営情報バージョン2(SMIv2)の構造」STD58、RFC2578(1999年4月)。
[RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
[RFC2580] McCloghrieとK.とパーキンスとD.とSchoenwaelderとJ.とケースとJ.とローズとM.とS.Waldbusser、「SMIv2"、STD58、RFC2580、1999年4月のための順応声明。」
[RFC3411] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002.
[RFC3411] ハリントンとD.とPresuhnとR.とB.Wijnen、「簡単なネットワーク管理プロトコル(SNMP)管理フレームワークについて説明するためのアーキテクチャ」、STD62、RFC3411、2002年12月。
Case, et al. Standards Track [Page 40] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[40ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
[RFC3413] Levi, D., Meyer, P. and B. Stewart, "Simple Network Management Protocol (SNMP) Applications", STD 62, RFC 3413, December 2002.
[RFC3413] レビとD.とマイヤーとP.とB.スチュワート、「簡単なネットワーク管理プロトコル(SNMP)アプリケーション」、STD62、RFC3413、2002年12月。
[RFC3414] Blumenthal, U. and B. Wijnen, "The User-Based Security Model (USM) for Version 3 of the Simple Network Management Protocol (SNMPv3)", STD 62, RFC 3414, December 2002.
[RFC3414] ブルーメンソル、U.、およびB.Wijnen、「簡単なネットワークマネージメントのバージョン3のためのユーザベースのセキュリティモデル(USM)は(SNMPv3)について議定書の中で述べます」、STD62、RFC3414、2002年12月。
[RFC3415] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3415, December 2002.
[RFC3415] Wijnen、B.、Presuhn、R.、およびK.McCloghrie、「簡単なネットワークマネージメントのための視点ベースのアクセス制御モデル(VACM)は(SNMP)について議定書の中で述べます」、STD62、RFC3415、2002年12月。
[RFC3416] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3416, December 2002.
[RFC3416] Presuhn、R.、ケース、J.、McCloghrie、K.、ローズ、M.、およびS.Waldbusser、「簡単なネットワークマネージメントのためのプロトコル操作のバージョン2は(SNMP)について議定書の中で述べます」、STD62、RFC3416、2002年12月。
[RFC3417] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3417, December 2002.
[RFC3417]Presuhn(R.、ケース、J.、McCloghrie、K.、ローズ、M.、およびS.Waldbusser)は「簡単なネットワーク管理プロトコル(SNMP)のためのマッピングを輸送します」、STD62、RFC3417、2002年12月。
[RFC3418] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3418, December 2002.
[RFC3418] Presuhn、R.、ケース、J.、McCloghrie、K.、ローズ、M.、およびS.Waldbusser、「簡単なネットワークマネージメントのための管理情報ベース(MIB)は(SNMP)について議定書の中で述べます」、STD62、RFC3418、2002年12月。
11.2. Informative References
11.2. 有益な参照
[RFC1901] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996.
[RFC1901] ケースとJ.とMcCloghrieとK.とローズとM.とS.Waldbusser、「地域密着型のSNMPv2"への紹介、RFC1901、1996年1月。」
[RFC2028] Hovey, R. and S. Bradner, "The Organizations Involved in the IETF Standards Process", BCP 11, RFC 2028, October 1996.
[RFC2028] ハービとR.とS.ブラドナー、「IETF標準化過程にかかわる組織」、BCP11、RFC2028、1996年10月。
[RFC2576] Frye, R., Levi, D., Routhier, S. and B. Wijnen, "Coexistence between Version 1, Version 2, and Version 3 of the Internet-Standard Network Management Framework", RFC 2576, March 2000.
[RFC2576]フライとR.とレビとD.、RouthierとS.とB.Wijnen、「インターネット標準のネットワークマネージメントフレームワークのバージョン1と、バージョン2と、バージョン3の間の共存」RFC2576(2000年3月)。
[RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet- Standard Management Framework", RFC 3410, December 2002.
[RFC3410]ケースとJ.とマンディとR.とパーテイン、D.とB.スチュワート、「インターネットの標準の管理フレームワークのための序論と適用性声明」RFC3410(2002年12月)。
Case, et al. Standards Track [Page 41] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[41ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
12. Editors' Addresses
12. エディタのアドレス
Jeffrey Case SNMP Research, Inc. 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 USA
ジェフリーケースSNMP研究Inc.3001Kimberlin高さのRoadテネシー37920-9716ノクスビル(米国)
Phone: +1 423-573-1434 EMail: case@snmp.com
以下に電話をしてください。 +1 423-573-1434 メールしてください: case@snmp.com
David Harrington Enterasys Networks 35 Industrial Way Post Office Box 5005 Rochester, NH 03866-5005 USA
デヴィッドハリントンEnterasysは35の産業道Post Office Box5005ニューハンプシャー03866-5005ロチェスター(米国)をネットワークでつなぎます。
Phone: +1 603-337-2614 EMail: dbh@enterasys.com
以下に電話をしてください。 +1 603-337-2614 メールしてください: dbh@enterasys.com
Randy Presuhn BMC Software, Inc. 2141 North First Street San Jose, CA 95131 USA
ランディPresuhn BMCソフトウェアInc.2141の北の最初に、通りサンノゼ、カリフォルニア95131米国
Phone: +1 408-546-1006 EMail: randy_presuhn@bmc.com
以下に電話をしてください。 +1 408-546-1006 メールしてください: randy_presuhn@bmc.com
Bert Wijnen Lucent Technologies Schagen 33 3461 GL Linschoten Netherlands
バートWijnenルーセントテクノロジーズSchagen33 3461GLリンスホーテン・オランダ
Phone: +31 348-680-485 EMail: bwijnen@lucent.com
以下に電話をしてください。 +31 348-680-485 メールしてください: bwijnen@lucent.com
Case, et al. Standards Track [Page 42] RFC 3412 Message Processing and Dispatching for SNMP December 2002
ケース、他 標準化過程[42ページ]RFC3412メッセージ処理と2002年12月にSNMPのために急いでいること。
13. Full Copyright Statement
13. 完全な著作権宣言文
Copyright (C) The Internet Society (2002). All Rights Reserved.
Copyright(C)インターネット協会(2002)。 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.
それに関するこのドキュメントと翻訳は、コピーして、それが批評するか、またはそうでなければわかる他のもの、および派生している作品に提供するか、または準備されているかもしれなくて、コピーされて、発行されて、全体か一部分配された実装を助けるかもしれません、どんな種類の制限なしでも、上の版権情報とこのパラグラフがそのようなすべてのコピーと派生している作品の上に含まれていれば。 しかしながら、このドキュメント自体は何らかの方法で変更されないかもしれません、インターネット協会か他のインターネット組織の版権情報か参照を取り除くのなどように、それを英語以外の言語に翻訳するのが著作権のための手順がインターネットStandardsプロセスで定義したどのケースに従わなければならないか、必要に応じてさもなければ、インターネット標準を開発する目的に必要であるのを除いて。
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
上に承諾された限られた許容は、永久であり、インターネット協会、後継者または案配によって取り消されないでしょう。
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
このドキュメントとそして、「そのままで」という基礎とインターネットの振興発展を目的とする組織に、インターネット・エンジニアリング・タスク・フォースが速達の、または、暗示しているすべての保証を放棄するかどうかというここにことであり、他を含んでいて、含まれて、情報の使用がここに侵害しないどんな保証も少しもまっすぐになるという情報か市場性か特定目的への適合性のどんな黙示的な保証。
Acknowledgement
承認
Funding for the RFC Editor function is currently provided by the Internet Society.
RFC Editor機能のための基金は現在、インターネット協会によって提供されます。
Case, et al. Standards Track [Page 43]
ケース、他 標準化過程[43ページ]
一覧
スポンサーリンク