[要約] RFC 2576は、SNMP(Simple Network Management Protocol)の異なるバージョン(v1, v2, v3)間での共存と、相互運用のためのガイドラインを定めています。メッセージ形式の変換ルール、セキュリティモデルのマッピング、およびマルチバージョン対応のエージェント・管理システムの動作要件を規定しています。ネットワーク管理インフラの段階的なアップグレードを支援し、異なる世代のデバイスが混在する環境でも一貫した管理を維持することを目的としています。
Network Working Group R. Frye
Request for Comments: 2576 CoSine Communications
Category: Standards Track D. Levi
Nortel Networks
S. Routhier
Integrated Systems Inc.
B. Wijnen
Lucent Technologies
March 2000
Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework
インターネット標準ネットワーク管理フレームワークのバージョン1、バージョン2、およびバージョン3の共存
Status of this Memo
本文書の状態
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
このドキュメントは、インターネットコミュニティのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態とステータスについては、「インターネット公式プロトコル標準」(STD 1)の現在のエディションを参照してください。このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (C) The Internet Society (2000). All Rights Reserved.
Copyright(c)The Internet Society(2000)。無断転載を禁じます。
Abstract
概要
The purpose of this document is to describe coexistence between version 3 of the Internet-standard Network Management Framework, (SNMPv3), version 2 of the Internet-standard Network Management Framework (SNMPv2), and the original Internet-standard Network Management Framework (SNMPv1). This document obsoletes RFC 1908 [13] and RFC2089 [14].
このドキュメントの目的は、インターネット標準ネットワーク管理フレームワーク(SNMPV3)のバージョン3、インターネット標準ネットワーク管理フレームワーク(SNMPV2)のバージョン2、および元のインターネット標準ネットワーク管理フレームワーク(SNMPV1)。この文書は、RFC 1908 [13]およびRFC2089 [14]を廃止します。
Table Of Contents
目次
1 Overview ..................................................... 2
1.1 SNMPv1 ..................................................... 3
1.2 SNMPv2 ..................................................... 4
1.3 SNMPv3 ..................................................... 4
1.4 SNMPv1 and SNMPv2 Access to MIB Data ....................... 5
2 SMI and Management Information Mappings ...................... 5
2.1 MIB Modules ................................................ 6
2.1.1 Object Definitions ....................................... 6
2.1.2 Trap and Notification Definitions ........................ 9
2.2 Compliance Statements ...................................... 9
2.3 Capabilities Statements .................................... 10
3 Translating Notifications Parameters ......................... 10
3.1 Translating SNMPv1 Notification Parameters to SNMPv2
Notification Parameters ................................... 12
3.2 Translating SNMPv2 Notification Parameters to SNMPv1
Notification Parameters ................................... 13
4 Approaches to Coexistence in a Multi-lingual Network ......... 14
4.1 Multi-lingual implementations .............................. 15
4.1.1 Command Generator ........................................ 15
4.1.2 Command Responder ........................................ 15
4.1.2.1 Handling Counter64 ..................................... 16
4.1.2.2 Mapping SNMPv2 Exceptions .............................. 16
4.1.2.2.1 Mapping noSuchObject and noSuchInstance .............. 17
4.1.2.2.2 Mapping endOfMibView ................................. 17
4.1.2.3 Processing An SNMPv1 GetRequest ........................ 18
4.1.2.4 Processing An SNMPv1 GetNextRequest .................... 19
4.1.2.5 Processing An SNMPv1 SetRequest ........................ 20
4.1.3 Notification Originator .................................. 20
4.1.4 Notification Receiver .................................... 21
4.2 Proxy Implementations ...................................... 21
4.2.1 Upstream Version Greater Than Downstream Version ......... 21
4.2.2 Upstream Version Less Than Downstream Version ............ 22
4.3 Error Status Mappings ...................................... 24
5 Message Processing Models and Security Models ................ 25
5.1 Mappings ................................................... 25
5.2 The SNMPv1 MP Model and SNMPv1 Community-based Security
Model ..................................................... 26
5.2.1 Processing An Incoming Request ........................... 26
5.2.2 Generating An Outgoing Response .......................... 28
5.2.3 Generating An Outgoing Notification ...................... 28
5.3 The SNMP Community MIB Module .............................. 29
6 Intellectual Property ........................................ 39
7 Acknowledgments .............................................. 39
8 Security Considerations ...................................... 40
9 References ................................................... 40
10 Editor's Addresses .......................................... 42
A. Changes From RFC1908 ........................................ 43
Full Copyright Statement ....................................... 44
The purpose of this document is to describe coexistence between version 3 of the Internet-standard Network Management Framework, termed the SNMP version 3 framework (SNMPv3), version 2 of the Internet-standard Network Management Framework, termed the SNMP version 2 framework (SNMPv2), and the original Internet-standard Network Management Framework (SNMPv1).
このドキュメントの目的は、インターネット標準のネットワーク管理フレームワークと呼ばれるインターネット標準ネットワーク管理フレームワークのバージョン3間の共存を説明することです。)、および元のインターネット標準ネットワーク管理フレームワーク(SNMPV1)。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119 [15].
このドキュメントのキーワード "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY"、および "OPTIONAL" は、RFC2119 [15] で説明されているように解釈されるものとします。
There are four general aspects of coexistence described in this document. Each of these is described in a separate section:
このドキュメントで説明されている共存の4つの一般的な側面があります。これらのそれぞれは、別のセクションで説明されています。
- Conversion of MIB documents between SMIv1 and SMIv2 formats is documented in section 2.
- SMIV1フォーマットとSMIV2形式間のMIBドキュメントの変換は、セクション2に記載されています。
- Mapping of notification parameters is documented in section 3.
- 通知パラメーターのマッピングは、セクション3に文書化されています。
- Approaches to coexistence between entities which support the various versions of SNMP in a multi-lingual network is documented in section 4. This section addresses the processing of protocol operations in multi-lingual implementations, as well as behaviour of proxy implementations.
- 多言語ネットワークでSNMPのさまざまなバージョンをサポートするエンティティ間の共存へのアプローチについては、セクション4に記録されています。このセクションでは、多言語実装でのプロトコル操作の処理と、代理実装の動作について説明します。
- The SNMPv1 Message Processing Model and Community-Based Security Model, which provides mechanisms for adapting SNMPv1 into the View-Based Access Control Model (VACM) [20], is documented in section 5 (this section also addresses the SNMPv2c Message Processing Model and Community-Based Security Model).
- SNMPV1をビューベースのアクセス制御モデル(VACM)[20]に適応させるメカニズムを提供するSNMPV1メッセージ処理モデルとコミュニティベースのセキュリティモデルは、セクション5に記載されています(このセクションでは、SNMPV2Cメッセージ処理モデルとコミュニティについても説明します。 - ベースのセキュリティモデル)。
SNMPv1 is defined by these documents:
SNMPV1はこれらのドキュメントで定義されています。
- STD 15, RFC 1157 [2] which defines the Simple Network Management Protocol (SNMPv1), the protocol used for network access to managed objects.
- STD 15、RFC 1157 [2]は、管理されたオブジェクトへのネットワークアクセスに使用されるプロトコルであるSimple Network Management Protocol(SNMPV1)を定義します。
- STD 16, RFC 1155 [1] which defines the Structure of Management Information (SMIv1), the mechanisms used for describing and naming objects for the purpose of management.
- STD 16、RFC 1155 [1]は、管理情報の構造(SMIV1)を定義します。
- STD 16, RFC 1212 [3] which defines a more concise description mechanism, which is wholly consistent with the SMIv1.
- STD 16、RFC 1212 [3]は、より簡潔な説明メカニズムを定義します。これは、SMIV1と完全に一致しています。
- RFC 1215 [4] which defines a convention for defining Traps for use with the SMIv1.
- RFC 1215 [4]は、SMIV1で使用するトラップを定義するための規則を定義しています。
Note that throughout this document, the term 'SMIv1' is used. This term generally refers to the information presented in RFC 1155, RFC 1212, and RFC 1215.
このドキュメント全体で、「SMIV1」という用語が使用されていることに注意してください。この用語は一般に、RFC 1155、RFC 1212、およびRFC 1215で提示された情報を指します。
SNMPv2 is defined by these documents:
SNMPV2はこれらのドキュメントで定義されています。
- STD 58, RFC 2578 which defines Version 2 of the Structure of Management Information (SMIv2) [7].
- STD 58、RFC 2578は、管理情報の構造(SMIV2)[7]のバージョン2を定義しています。
- STD 58, RFC 2579 which defines common MIB "Textual Conventions" [8].
- STD 58、RFC 2579は、一般的なMIB「テキストコンベンション」を定義しています[8]。
- STD 58, RFC 2580 which defines Conformance Statements and requirements for defining agent and manager capabilities [9].
- STD 58、RFC 2580は、エージェントとマネージャーの機能を定義するための適合ステートメントと要件を定義します[9]。
- RFC 1905 which defines the Protocol Operations used in processing [10].
- 処理で使用されるプロトコル操作を定義するRFC 1905 [10]。
- RFC 1906 which defines the Transport Mappings used "on the wire" [11].
- 「ワイヤー上」[11]を使用した輸送マッピングを定義するRFC 1906。
- RFC 1907 which defines the basic Management Information Base for monitoring and controlling some basic common functions of SNMP entities [12].
- SNMPエンティティのいくつかの基本的な共通機能を監視および制御するための基本的な管理情報ベースを定義するRFC 1907 [12]。
Note that SMIv2 as used throughout this document refers to the first three documents listed above (RFCs 2578, 2579, and 2580).
このドキュメント全体で使用されるSMIV2は、上記の最初の3つのドキュメント(RFCS 2578、2579、および2580)を指していることに注意してください。
The following document augments the definition of SNMPv2:
次の文書は、SNMPv2の定義を補強します。
- RFC 1901 [6] is an Experimental definition for using SNMPv2 PDUs within a community-based message wrapper. This is referred to throughout this document as SNMPv2c.
- RFC 1901 [6]は、コミュニティベースのメッセージラッパー内でSNMPV2 PDUを使用するための実験的定義です。これは、このドキュメント全体でsnmpv2cと呼ばれます。
SNMPv3 is defined by these documents:
SNMPV3はこれらのドキュメントで定義されています。
- RFC 2571 which defines an Architecture for Describing SNMP Management Frameworks [16].
- SNMP管理フレームワークを記述するためのアーキテクチャを定義するRFC 2571 [16]。
- RFC 2572 which defines Message Processing and Dispatching [17].
- メッセージ処理と発送を定義するRFC 2572 [17]。
- RFC 2573 which defines various SNMP Applications [18].
- さまざまなSNMPアプリケーションを定義するRFC 2573 [18]。
- RFC 2574 which defines the User-based Security Model (USM), providing for both Authenticated and Private (encrypted) SNMP messages [19].
- ユーザーベースのセキュリティモデル(USM)を定義するRFC 2574は、認証されたプライベート(暗号化)SNMPメッセージの両方を提供します[19]。
- RFC 2575 which defines the View-based Access Control Model (VACM), providing the ability to limit access to different MIB objects on a per-user basis [20].
- ビューベースのアクセス制御モデル(VACM)を定義するRFC 2575。ユーザーごとに異なるMIBオブジェクトへのアクセスを制限する機能を提供します[20]。
SNMPv3 also uses the SNMPv2 definitions of RFCs 1905 through 1907 and the SMIv2 definitions of 2578 through 2580 described above.
SNMPV3は、RFCS 1905から1907のSNMPV2定義と、上記の2578から2580のSMIV2定義も使用しています。
In several places, this document refers to 'SNMPv1 Access to MIB Data' and 'SNMPv2 Access to MIB Data'. These terms refer to the part of an SNMP agent which actually accesses instances of MIB objects, and which actually initiates generation of notifications. Differences between the two types of access to MIB data are:
いくつかの場所では、このドキュメントは、「MIBデータへのSNMPV1アクセス」と「MIBデータへのSNMPV2アクセス」を指します。これらの用語は、MIBオブジェクトのインスタンスに実際にアクセスし、実際に通知の生成を開始するSNMPエージェントの部分を指します。MIBデータへの2種類のアクセスの違いは次のとおりです。
- Error-status values generated.
- 生成されたエラーステータス値。
- Generation of exception codes.
- 例外コードの生成。
- Use of the Counter64 data type.
- Counter64データ型の使用。
- The format of parameters provided when a notification is generated.
- 通知が生成されたときに提供されるパラメーターの形式。
SNMPv1 access to MIB data may generate SNMPv1 error-status values, will never generate exception codes nor use the Counter64 data type, and will provide SNMPv1 format parameters for generating notifications. Note also that SNMPv1 access to MIB data will actually never generate a readOnly error (a noSuchName error would always occur in the situation where one would expect a readOnly error).
SNMPV1 MIBデータへのアクセスは、SNMPV1エラーステータス値を生成し、例外コードを生成することもCounter64データ型も使用することはなく、通知を生成するためにSNMPV1形式のパラメーターを提供する場合があります。また、MIBデータへのSNMPV1アクセスは、実際には読み取りエラーが生成されないことに注意してください(読み取りエラーが予想される状況では、noSuchNameエラーは常に発生します)。
SNMPv2 access to MIB data may generate SNMPv2 error-status values, may generate exception codes, may use the Counter64 data type, and will provide SNMPv2 format parameters for generating notifications. Note that SNMPv2 access to MIB data will never generate readOnly, noSuchName, or badValue errors.
SNMPV2 MIBデータへのアクセスは、SNMPV2エラーステータス値を生成し、例外コードを生成し、Counter64データ型を使用し、通知を生成するためのSNMPV2形式のパラメーターを提供する場合があります。MIBデータへのSNMPV2アクセスは、readOnly、noSuchName、またはbadValueエラーを生成することはないことに注意してください。
Note that a particular multi-lingual implementation may choose to implement all access to MIB data as SNMPv2 access to MIB data, and perform the translations described herein for SNMPv1-based transactions.
特定の多言語実装では、MIBデータへのすべてのアクセスをMIBデータへのSNMPV2アクセスとして実装し、SNMPV1ベースのトランザクションの本明細書に記載されている翻訳を実行することを選択できることに注意してください。
The SMIv2 approach towards describing collections of managed objects is nearly a proper superset of the approach defined in the SMIv1. For example, both approaches use an adapted subset of ASN.1 (1988)
管理されたオブジェクトのコレクションを記述するためのSMIV2アプローチは、SMIV1で定義されているアプローチのほぼ適切なスーパーセットです。たとえば、どちらのアプローチでもASN.1(1988)の適応されたサブセットを使用しています
[11] as the basis for a formal descriptive notation. Indeed, one might note that the SMIv2 approach largely codifies the existing practice for defining MIB modules, based on extensive experience with the SMIv1.
[11] 正式な記述表記の基礎として。実際、SMIV2アプローチは、SMIV1の広範な経験に基づいて、MIBモジュールを定義するために既存の慣行を主に体系化することに気付くかもしれません。
The following sections consider the three areas: MIB modules, compliance statements, and capabilities statements.
次のセクションでは、MIBモジュール、コンプライアンスステートメント、および機能ステートメントの3つの領域を検討します。
MIB modules defined using the SMIv1 may continue to be used with protocol versions which use SNMPv2 PDUs. However, for the MIB modules to conform to the SMIv2, the following changes SHALL be made:
SMIv1を使用して定義されたMIBモジュールは、SNMPv2 PDUを使用するプロトコルバージョンで引き続き使用される場合があります。ただし、MIBモジュールがSMIv2に準拠するためには、以下の変更を行わなければなりません (SHALL)。
In general, conversion of a MIB module does not require the deprecation of the objects contained therein. If the definition of an object is truly inadequate for its intended purpose, the object SHALL be deprecated or obsoleted, otherwise deprecation is not required.
一般に、MIBモジュールの変換では、そこに含まれるオブジェクトの非推奨化は必要ありません。オブジェクトの定義が意図された目的に対して真に不適切である場合、そのオブジェクトは非推奨または廃止されなければならず (SHALL)、そうでない場合は非推奨化は要求されません。
(1) The IMPORTS statement MUST reference SNMPv2-SMI, instead of RFC1155-SMI and RFC-1212.
(1) IMPORTS文は、RFC1155-SMIおよびRFC-1212ではなく、SNMPv2-SMIを参照しなければなりません (MUST)。
(2) The MODULE-IDENTITY macro MUST be invoked immediately after any IMPORTs statement.
(2) MODULE-IDENTITYマクロは、IMPORTS文の直後に呼び出されなければなりません (MUST)。
(3) For any object with an integer-valued SYNTAX clause, in which the corresponding INTEGER does not have a range restriction (i.e., the INTEGER has neither a defined set of named-number enumerations nor an assignment of lower- and upper-bounds on its value), the object MUST have the value of its SYNTAX clause changed to Integer32, or have an appropriate range specified.
(3) 対応するINTEGERに範囲制限がない(すなわち、INTEGERに名前付き数値列挙の定義されたセットも、その値に対する下限と上限の割り当てもない)整数値のSYNTAX句を持つオブジェクトの場合、そのオブジェクトはSYNTAX句の値をInteger32に変更するか、適切な範囲を指定しなければなりません (MUST)。
(4) For any object with a SYNTAX clause value of Counter, the object MUST have the value of its SYNTAX clause changed to Counter32.
(4) SYNTAX句の値がCounterであるオブジェクトの場合、そのオブジェクトはSYNTAX句の値をCounter32に変更しなければなりません (MUST)。
(5) For any object with a SYNTAX clause value of Gauge, the object MUST have the value of its SYNTAX clause changed to Gauge32, or Unsigned32 where appropriate.
(5) SYNTAX句の値がGaugeであるオブジェクトの場合、そのオブジェクトはSYNTAX句の値をGauge32、または適切な場合はUnsigned32に変更しなければなりません (MUST)。
(6) For all objects, the ACCESS clause MUST be replaced by a MAX-ACCESS clause. The value of the MAX-ACCESS clause SHALL be the same as that of the ACCESS clause unless some other value makes "protocol sense" as the maximal level of access for the object. In particular, object types for which instances can be explicitly created by a protocol set operation, SHALL have a MAX-ACCESS clause of "read-create". If the value of the ACCESS clause is "write-only", then the value of the MAX-ACCESS clause MUST be "read-write", and the DESCRIPTION clause SHALL note that reading this object will result in implementation-specific results. Note that in SMIv1, the ACCESS clause specifies the minimal required access, while in SMIv2, the MAX-ACCESS clause specifies the maximum allowed access. This should be considered when converting an ACCESS clause to a MAX-ACCESS clause.
(6) すべてのオブジェクトについて、ACCESS句はMAX-ACCESS句に置き換えなければなりません (MUST)。MAX-ACCESS句の値は、他の値がオブジェクトの最大アクセスレベルとして「プロトコル上の意味」をなさない限り、ACCESS句の値と同じでなければなりません (SHALL)。特に、プロトコルのset操作によってインスタンスを明示的に作成できるオブジェクトタイプは、"read-create" のMAX-ACCESS句を持たなければなりません (SHALL)。ACCESS句の値が "write-only" である場合、MAX-ACCESS句の値は "read-write" でなければならず (MUST)、DESCRIPTION句はこのオブジェクトを読み取ると実装固有の結果になることに言及しなければなりません (SHALL)。SMIv1ではACCESS句が要求される最小アクセスを指定するのに対し、SMIv2ではMAX-ACCESS句が許可される最大アクセスを指定することに注意してください。これはACCESS句をMAX-ACCESS句に変換する際に考慮すべきです。
(7) For all objects, if the value of the STATUS clause is "mandatory" or "optional", the value MUST be replaced with "current", "deprecated", or "obsolete" depending on the current usage of such objects.
(7) すべてのオブジェクトについて、STATUS句の値が "mandatory" または "optional" である場合、そのようなオブジェクトの現在の用途に応じて、その値を "current"、"deprecated"、または "obsolete" に置き換えなければなりません (MUST)。
(8) For any object not containing a DESCRIPTION clause, the object MUST have a DESCRIPTION clause defined.
(8) DESCRIPTION句を含まないオブジェクトの場合、そのオブジェクトにはDESCRIPTION句が定義されていなければなりません (MUST)。
(9) For any object corresponding to a conceptual row which does not have an INDEX clause, the object MUST have either an INDEX clause or an AUGMENTS clause defined.
(9) INDEX句を持たない概念行に対応するオブジェクトの場合、そのオブジェクトにはINDEX句またはAUGMENTS句のいずれかが定義されていなければなりません (MUST)。
(10) If any INDEX clause contains a reference to an object with a syntax of NetworkAddress, then a new object MUST be created and placed in this INDEX clause immediately preceding the object whose syntax is NetworkAddress. This new object MUST have a syntax of INTEGER, it MUST be not-accessible, and its value MUST always be 1. This approach allows one to convert a MIB module in SMIv1 format to one in SMIv2 format, and then use it with the SNMPv1 protocol with no impact to existing SNMPv1 agents and managers.
(10) INDEX句にNetworkAddress構文を持つオブジェクトへの参照が含まれている場合、新しいオブジェクトを作成し、構文がNetworkAddressであるオブジェクトの直前にこのINDEX句に配置しなければなりません (MUST)。この新しいオブジェクトはINTEGERの構文を持たなければならず (MUST)、not-accessible でなければならず (MUST)、その値は常に1でなければなりません (MUST)。このアプローチにより、SMIv1形式のMIBモジュールをSMIv2形式のMIBモジュールに変換し、既存のSNMPv1エージェントやマネージャに影響を与えることなくSNMPv1プロトコルで使用することができます。
(11) For any object with a SYNTAX of NetworkAddress, the SYNTAX MUST be changed to IpAddress. Note that the use of NetworkAddress in new MIB documents is strongly discouraged (in fact, new MIB documents should be written using SMIv2, which does not define NetworkAddress).
(11) SYNTAXがNetworkAddressであるオブジェクトの場合、SYNTAXはIpAddressに変更されなければなりません (MUST)。新しいMIBドキュメントでのNetworkAddressの使用は強く推奨されないことに注意してください(実際、新しいMIBドキュメントはNetworkAddressを定義していないSMIv2を使用して記述されるべきです)。
(12) For any object containing a DEFVAL clause with an OBJECT IDENTIFIER value which is expressed as a collection of sub-identifiers, the value MUST be changed to reference a single ASN.1 identifier. This may require defining a series of new administrative assignments (OBJECT IDENTIFIERS) in order to define the single ASN.1 identifier.
(12) サブ識別子の集合として表現されるOBJECT IDENTIFIER値を持つDEFVAL句を含むオブジェクトの場合、その値は単一のASN.1識別子を参照するように変更されなければなりません (MUST)。これには、単一のASN.1識別子を定義するために一連の新しい管理上の割り当て(OBJECT IDENTIFIER)を定義することが必要になる場合があります。
(13) One or more OBJECT-GROUPS MUST be defined, and related objects SHOULD be collected into appropriate groups. Note that SMIv2 requires all OBJECT-TYPEs to be a member of at least one OBJECT-GROUP.
(13) 1つ以上のOBJECT-GROUPを定義しなければならず (MUST)、関連するオブジェクトは適切なグループに集められるべきです (SHOULD)。SMIv2ではすべてのOBJECT-TYPEが少なくとも1つのOBJECT-GROUPのメンバーであることが要求されることに注意してください。
Other changes are desirable, but not necessary:
他の変更は望ましいが、必要ではない:
(1) Creation and deletion of conceptual rows is inconsistent using the SMIv1. The SMIv2 corrects this. As such, if the MIB module undergoes review early in its lifetime, and it contains conceptual tables which allow creation and deletion of conceptual rows, then the objects relating to those tables MAY be deprecated and replaced with objects defined using the new approach. The approach based on SMIv2 can be found in section 7 of RFC2578 [7], and the RowStatus and StorageType TEXTUAL-CONVENTIONs are described in section 2 of RFC2579 [8].
(1) SMIv1を使用した概念行の作成と削除には一貫性がありません。SMIv2はこれを修正します。そのため、MIBモジュールがそのライフサイクルの初期にレビューを受け、概念行の作成と削除を可能にする概念テーブルが含まれている場合、それらのテーブルに関連するオブジェクトを非推奨とし、新しいアプローチを使用して定義されたオブジェクトに置き換えてもよい (MAY)。SMIv2に基づくアプローチは RFC 2578 [7] のセクション7に記載されており、RowStatusおよびStorageTypeのTEXTUAL-CONVENTIONは RFC 2579 [8] のセクション2で説明されています。
(2) For any object with a string-valued SYNTAX clause, in which the corresponding OCTET STRING does not have a size restriction (i.e., the OCTET STRING has no assignment of lower- and upper-bounds on its length), the bounds for the size of the object SHOULD be defined.
(2) 対応するOCTET STRINGにサイズ制限がない(すなわち、OCTET STRINGの長さに下限と上限の割り当てがない)文字列値のSYNTAX句を持つオブジェクトの場合、そのオブジェクトのサイズの境界を定義すべきです (SHOULD)。
(3) All textual conventions informally defined in the MIB module SHOULD be redefined using the TEXTUAL-CONVENTION macro. Such a change would not necessitate deprecating objects previously defined using an informal textual convention.
(3) MIBモジュールで非公式に定義されているすべてのtextual conventionsは、TEXTUAL-CONVENTIONマクロを使用して再定義すべきです (SHOULD)。このような変更によって、非公式のtextual conventionを使用して以前に定義されたオブジェクトを非推奨にする必要はありません。
(4) For any object which represents a measurement in some kind of units, a UNITS clause SHOULD be added to the definition of that object.
(4) 何らかの単位での測定値を表すオブジェクトの場合、そのオブジェクトの定義にUNITS句を追加すべきです (SHOULD)。
(5) For any conceptual row which is an extension of another conceptual row, i.e., for which subordinate columnar objects both exist and are identified via the same semantics as the other conceptual row, an AUGMENTS clause SHOULD be used in place of the INDEX clause for the object corresponding to the conceptual row which is an extension.
(5) 別の概念行の拡張である概念行、すなわち下位の列オブジェクトが存在し、かつ他の概念行と同じセマンティクスによって識別される概念行の場合、拡張である概念行に対応するオブジェクトに対しては、INDEX句の代わりにAUGMENTS句を使用すべきです (SHOULD)。
Finally, to avoid common errors in SMIv1 MIB modules:
最後に、SMIV1 MIBモジュールの一般的なエラーを回避するために:
(1) For any non-columnar object that is instanced as if it were immediately subordinate to a conceptual row, the value of the STATUS clause of that object MUST be changed to "obsolete".
(1) 概念行に直接従属しているかのようにインスタンス化される非列オブジェクトの場合、そのオブジェクトのSTATUS句の値を "obsolete" に変更しなければなりません (MUST)。
(2) For any conceptual row object that is not contained immediately subordinate to a conceptual table, the value of the STATUS clause of that object (and all subordinate objects) MUST be changed to "obsolete".
(2) 概念テーブルの直下に含まれていない概念行オブジェクトの場合、そのオブジェクト(およびすべての下位オブジェクト)のSTATUS句の値を "obsolete" に変更しなければなりません (MUST)。
If a MIB module is changed to conform to the SMIv2, then each occurrence of the TRAP-TYPE macro MUST be changed to a corresponding invocation of the NOTIFICATION-TYPE macro:
MIBモジュールがSMIv2に準拠するように変更される場合、TRAP-TYPEマクロの各出現は、対応するNOTIFICATION-TYPEマクロの呼び出しに変更されなければなりません (MUST)。
(1) The IMPORTS statement MUST NOT reference RFC-1215 [4], and MUST reference SNMPv2-SMI instead.
(1) IMPORTS文はRFC-1215 [4] を参照してはならず (MUST NOT)、代わりにSNMPv2-SMIを参照しなければなりません (MUST)。
(2) The ENTERPRISE clause MUST be removed.
(2) ENTERPRISE句は削除されなければなりません (MUST)。
(3) The VARIABLES clause MUST be renamed to the OBJECTS clause.
(3) VARIABLES句はOBJECTS句に名前変更されなければなりません (MUST)。
(4) A STATUS clause MUST be added, with an appropriate value. Normally the value should be 'current,' although 'deprecated' or 'obsolete' may be used as needed.
(4) 適切な値を持つSTATUS句を追加しなければなりません (MUST)。通常、値は 'current' であるべきですが、必要に応じて 'deprecated' または 'obsolete' を使用してもよい。
(5) The value of an invocation of the NOTIFICATION-TYPE macro is an OBJECT IDENTIFIER, not an INTEGER, and MUST be changed accordingly. Specifically, if the value of the ENTERPRISE clause is not 'snmp' then the value of the invocation SHALL be the value of the ENTERPRISE clause extended with two sub-identifiers, the first of which has the value 0, and the second has the value of the invocation of the TRAP-TYPE. If the value of the ENTERPRISE clause is 'snmp', then the value of the invocation of the NOTIFICATION-TYPE macro SHALL be mapped in the same manner as described in section 3.1 in this document.
(5) NOTIFICATION-TYPEマクロの呼び出しの値はINTEGERではなくOBJECT IDENTIFIERであり、それに応じて変更されなければなりません (MUST)。具体的には、ENTERPRISE句の値が 'snmp' でない場合、呼び出しの値は、最初の値が0で2番目の値がTRAP-TYPEの呼び出しの値である2つのサブ識別子で拡張されたENTERPRISE句の値でなければなりません (SHALL)。ENTERPRISE句の値が 'snmp' である場合、NOTIFICATION-TYPEマクロの呼び出しの値は、本文書のセクション3.1で説明されているのと同じ方法でマッピングされなければなりません (SHALL)。
(6) A DESCRIPTION clause MUST be added, if not already present.
(6) まだ存在していない場合は、DESCRIPTION句を追加しなければなりません (MUST)。
(7) One or more NOTIFICATION-GROUPs MUST be defined, and related notifications MUST be collected into those groups. Note that SMIv2 requires that all NOTIFICATION-TYPEs be a member of at least one NOTIFICATION-GROUP.
(7) 1つ以上のNOTIFICATION-GROUPを定義しなければならず (MUST)、関連する通知はそれらのグループに集められなければなりません (MUST)。SMIv2では、すべてのNOTIFICATION-TYPEが少なくとも1つのNOTIFICATION-GROUPのメンバーであることが要求されることに注意してください。
For those information modules which are "standards track", a corresponding invocation of the MODULE-COMPLIANCE macro and related OBJECT-GROUP and/or NOTIFICATION-GROUP macros MUST be included within the information module (or in a companion information module), and any commentary text in the information module which relates to compliance SHOULD be removed. Typically this editing can occur when the information module undergoes review.
「標準化過程(standards track)」である情報モジュールの場合、MODULE-COMPLIANCEマクロおよび関連するOBJECT-GROUPやNOTIFICATION-GROUPマクロの対応する呼び出しを情報モジュール内(または付随する情報モジュール内)に含めなければならず (MUST)、コンプライアンスに関連する情報モジュール内の注釈テキストは削除すべきです (SHOULD)。通常、この編集は情報モジュールがレビューを受ける際に行うことができます。
Note that a MODULE-COMPLIANCE statement is not required for a MIB document that is not on the standards track (for example, an enterprise MIB), though it may be useful in some circumstances to define a MODULE-COMPLIANCE statement for such a MIB document.
標準のトラックにないMIBドキュメント(たとえば、EnterpriseMIB)にはモジュールコンプライアンスステートメントが必要ではないことに注意してください。。
RFC1303 [5] uses the MODULE-CONFORMANCE macro to describe an agent's capabilities with respect to one or more MIB modules. Converting such a description for use with the SMIv2 requires these changes:
RFC1303 [5]は、モジュールコンフォーマンスマクロを使用して、1つ以上のMIBモジュールに関するエージェントの機能を記述します。SMIV2で使用するためのこのような説明を変換するには、これらの変更が必要です。
(1) The macro name AGENT-CAPABILITIES SHOULD be used instead of MODULE-CONFORMANCE.
(1) MODULE-CONFORMANCEの代わりにマクロ名AGENT-CAPABILITIESを使用すべきです (SHOULD)。
(2) The STATUS clause SHOULD be added, with a value of 'current'.
(2) 値 'current' を持つSTATUS句を追加すべきです (SHOULD)。
(3) All occurrences of the CREATION-REQUIRES clause MUST either be omitted if appropriate, or be changed such that the semantics are consistent with RFC2580 [9].
(3) CREATION-REQUIRES句のすべての出現は、適切な場合は省略するか、またはセマンティクスがRFC 2580 [9] と整合するように変更されなければなりません (MUST)。
In order to ease coexistence, object groups defined in an SMIv1 compliant MIB module may be referenced by the INCLUDES clause of an invocation of the AGENT-CAPABILITIES macro: upon encountering a reference to an OBJECT IDENTIFIER subtree defined in an SMIv1 MIB module, all leaf objects which are subordinate to the subtree and have a STATUS clause value of mandatory are deemed to be INCLUDED. (Note that this method is ambiguous when different revisions of an SMIv1 MIB have different sets of mandatory objects under the same subtree; in such cases, the only solution is to rewrite the MIB using the SMIv2 in order to define the object groups unambiguously.)
共存を容易にするために、SMIV1準拠のMIBモジュールで定義されたオブジェクトグループは、エージェントキャピリティマクロの呼び出しの条項によって参照される場合があります:SMIV1 MIBモジュールで定義されたオブジェクト識別子サブツリーへの参照に遭遇すると、すべての葉はすべて葉ですサブツリーに従属し、必須のステータス条項値を持つオブジェクトは、含まれているとみなされます。(この方法は、SMIV1 MIBの異なる改訂が同じサブツリーの下で異なる必須オブジェクトのセットを持っている場合、あいまいであることに注意してください。そのような場合、唯一の解決策は、オブジェクトグループを明確に定義するためにSMIV2を使用してMIBを書き換えることです。)
This section describes how parameters used for generating notifications are translated between the format used for SNMPv1 notification protocol operations and the format used for SNMPv2 notification protocol operations. The parameters used to generate a notification are called 'notification parameters'. The format of parameters used for SNMPv1 notification protocol operations is refered to in this document as 'SNMPv1 notification parameters'. The format of parameters used for SNMPv2 notification protocol operations is refered to in this document as 'SNMPv2 notification parameters'.
このセクションでは、通知の生成に使用されるパラメーターが、SNMPV1通知プロトコル操作に使用される形式とSNMPV2通知プロトコル操作に使用される形式の間にどのように変換されるかについて説明します。通知を生成するために使用されるパラメーターは、「通知パラメーター」と呼ばれます。SNMPV1通知プロトコル操作に使用されるパラメーターの形式は、このドキュメントでは「SNMPV1通知パラメーター」と呼ばれます。SNMPV2通知プロトコル操作に使用されるパラメーターの形式は、このドキュメントでは「SNMPV2通知パラメーター」と呼ばれます。
The situations where notification parameters MUST be translated are:
通知パラメータを変換しなければならない (MUST) 状況は以下のとおりです。
- When an entity generates a set of notification parameters in a particular format, and the configuration of the entity indicates that the notification must be sent using an SNMP message version that requires the other format for notification parameters.
- エンティティが特定の形式で一連の通知パラメーターを生成し、エンティティの構成は、通知パラメーターに他の形式を必要とするSNMPメッセージバージョンを使用して通知を送信する必要があることを示します。
- When a proxy receives a notification that was sent using an SNMP message version that requires one format of notification parameters, and must forward the notification using an SNMP message version that requires the other format of notification parameters.
- プロキシが、通知パラメーターの1つの形式を必要とするSNMPメッセージバージョンを使用して送信された通知を受信し、通知パラメーターの他の形式を必要とするSNMPメッセージバージョンを使用して通知を転送する必要があります。
In addition, it MAY be desirable to translate notification parameters in a notification receiver application in order to present notifications to the end user in a consistent format.
さらに、通知受信アプリケーションにおいて、エンドユーザに一貫した形式で通知を提示するために、通知パラメータを変換することが望ましい場合があります (MAY)。
Note that for the purposes of this section, the set of notification parameters is independent of whether the notification is to be sent as a trap or an inform.
このセクションの目的のために、通知パラメーターのセットは、通知がトラップとして送信されるか情報として送信されるかどうかに依存しないことに注意してください。
SNMPv1 notification parameters consist of:
snmpv1通知パラメーターは次のとおりです。
- An enterprise parameter (OBJECT IDENTIFIER).
- エンタープライズパラメーター(オブジェクト識別子)。
- An agent-addr parameter (NetworkAddress).
- エージェントADDRパラメーター(NetworkAddress)。
- A generic-trap parameter (INTEGER).
- 一般的なトラップパラメーター(整数)。
- A specific-trap parameter (INTEGER).
- 特定のトラップパラメーター(整数)。
- A time-stamp parameter (TimeTicks).
- タイムスタンプパラメーター(タイムテック)。
- A list of variable-bindings (VarBindList).
- 可変バインディングのリスト(VarBindList)。
SNMPv2 notification parameters consist of:
snmpv2通知パラメーターは次のとおりです。
- A sysUpTime parameter (TimeTicks). This appears in the first variable-binding in an SNMPv2-Trap-PDU or InformRequest-PDU.
- sysUpTimeパラメーター(タイムティック)。これは、SNMPV2-TRAP-PDUまたはInformRequest-PDUの最初の可変バインディングに表示されます。
- An snmpTrapOID parameter (OBJECT IDENTIFIER). This appears in the second variable-binding in an SNMPv2-Trap-PDU or InformRequest-PDU.
- snmpTrapOIDパラメーター(オブジェクト識別子)。これは、SNMPV2-TRAP-PDUまたはInformRequest-PDUの2番目の可変バインディングに表示されます。
- A list of variable-bindings (VarBindList). This refers to all but the first two variable-bindings in an SNMPv2-Trap-PDU or InformRequest-PDU.
- 可変バインディングのリスト(VarBindList)。これは、SNMPV2-TRAP-PDUまたはInformRequest-PDUの最初の2つの可変バインディングを除くすべてを指します。
The following procedure describes how to translate SNMPv1 notification parameters into SNMPv2 notification parameters:
次の手順では、SNMPV1通知パラメーターをSNMPV2通知パラメーターに翻訳する方法について説明します。
(1) The SNMPv2 sysUpTime parameter SHALL be taken directly from the SNMPv1 time-stamp parameter.
(1) SNMPv2 sysUpTimeパラメータは、SNMPv1 time-stampパラメータから直接取得されなければなりません (SHALL)。
(2) If the SNMPv1 generic-trap parameter is 'enterpriseSpecific(6)', the SNMPv2 snmpTrapOID parameter SHALL be the concatentation of the SNMPv1 enterprise parameter and two additional sub-identifiers, '0', and the SNMPv1 specific-trap parameter.
(2) SNMPv1 generic-trapパラメータが 'enterpriseSpecific(6)' である場合、SNMPv2 snmpTrapOIDパラメータは、SNMPv1 enterpriseパラメータと、2つの追加サブ識別子 '0' およびSNMPv1 specific-trapパラメータの連結でなければなりません (SHALL)。
(3) If the SNMPv1 generic-trap parameter is not ' enterpriseSpecific(6)', the SNMPv2 snmpTrapOID parameter SHALL be the corresponding trap as defined in section 2 of RFC1907 [12]:
(3) SNMPv1 generic-trapパラメータが 'enterpriseSpecific(6)' でない場合、SNMPv2 snmpTrapOIDパラメータは、RFC 1907 [12] のセクション2で定義されている対応するトラップでなければなりません (SHALL)。
generic-trap parameter snmpTrapOID.0
====================== =============
0 1.3.6.1.6.3.1.1.5.1 (coldStart)
1 1.3.6.1.6.3.1.1.5.2 (warmStart)
2 1.3.6.1.6.3.1.1.5.3 (linkDown)
3 1.3.6.1.6.3.1.1.5.4 (linkUp)
4 1.3.6.1.6.3.1.1.5.5 (authenticationFailure)
5 1.3.6.1.6.3.1.1.5.6 (egpNeighborLoss)
(4) The SNMPv2 variable-bindings SHALL be the SNMPv1 variable-bindings. In addition, if the translation is being performed by a proxy in order to forward a received trap, three additional variable-bindings will be appended, if these three additional variable-bindings do not already exist in the SNMPv1 variable-bindings. The name portion of the first additional variable binding SHALL contain snmpTrapAddress.0, and the value SHALL contain the SNMPv1 agent-addr parameter. The name portion of the second additional variable binding SHALL contain snmpTrapCommunity.0, and the value SHALL contain the value of the community-string field from the received SNMPv1 message which contained the SNMPv1 Trap-PDU. The name portion of the third additional variable binding SHALL contain snmpTrapEnterprise.0 [12], and the value SHALL be the SNMPv1 enterprise parameter.
(4) SNMPv2 variable-bindingsは、SNMPv1 variable-bindingsでなければなりません (SHALL)。さらに、受信したトラップを転送するためにプロキシによって変換が実行されている場合、これら3つの追加の可変バインディングがSNMPv1 variable-bindings内にまだ存在していなければ、3つの追加の可変バインディングが付加されます。最初の追加可変バインディングの名前部分にはsnmpTrapAddress.0が含まれなければならず (SHALL)、その値にはSNMPv1 agent-addrパラメータが含まれなければなりません (SHALL)。2番目の追加可変バインディングの名前部分にはsnmpTrapCommunity.0が含まれなければならず (SHALL)、その値にはSNMPv1 Trap-PDUを含んでいた受信SNMPv1メッセージからのcommunity-stringフィールドの値が含まれなければなりません (SHALL)。3番目の追加可変バインディングの名前部分にはsnmpTrapEnterprise.0 [12] が含まれなければならず (SHALL)、その値はSNMPv1 enterpriseパラメータでなければなりません (SHALL)。
The following procedure describes how to translate SNMPv2 notification parameters into SNMPv1 notification parameters:
次の手順では、SNMPV2通知パラメーターをSNMPV1通知パラメーターに翻訳する方法について説明します。
(1) The SNMPv1 enterprise parameter SHALL be determined as follows:
(1) SNMPv1 enterpriseパラメータは以下のように決定されなければなりません (SHALL)。
- If the SNMPv2 snmpTrapOID parameter is one of the standard traps as defined in RFC1907 [12], then the SNMPv1 enterprise parameter SHALL be set to the value of the variable-binding in the SNMPv2 variable-bindings whose name is snmpTrapEnterprise.0 if that variable-binding exists. If it does not exist, the SNMPv1 enterprise parameter SHALL be set to the value ' snmpTraps' as defined in RFC1907 [12].
- SNMPv2 snmpTrapOIDパラメータが RFC 1907 [12] で定義されている標準トラップの1つである場合、その可変バインディングが存在すれば、SNMPv1 enterpriseパラメータは名前がsnmpTrapEnterprise.0であるSNMPv2 variable-bindings内の可変バインディングの値に設定されなければなりません (SHALL)。存在しない場合、SNMPv1 enterpriseパラメータは RFC 1907 [12] で定義されている値 'snmpTraps' に設定されなければなりません (SHALL)。
- If the SNMPv2 snmpTrapOID parameter is not one of the standard traps as defined in RFC1907 [12], then the SNMPv1 enterprise parameter SHALL be determined from the SNMPv2 snmpTrapOID parameter as follows:
- SNMPv2 snmpTrapOIDパラメータが RFC 1907 [12] で定義されている標準トラップの1つでない場合、SNMPv1 enterpriseパラメータは以下のようにSNMPv2 snmpTrapOIDパラメータから決定されなければなりません (SHALL)。
- If the next-to-last sub-identifier of the snmpTrapOID is zero, then the SNMPv1 enterprise SHALL be the SNMPv2 snmpTrapOID with the last 2 sub-identifiers removed, otherwise
- snmpTrapOIDの後ろから2番目のサブ識別子がゼロである場合、SNMPv1 enterpriseは最後の2つのサブ識別子が削除されたSNMPv2 snmpTrapOIDでなければならず (SHALL)、そうでなければ、
- If the next-to-last sub-identifier of the snmpTrapOID is non-zero, then the SNMPv1 enterprise SHALL be the SNMPv2 snmpTrapOID with the last sub-identifier removed.
- snmpTrapOIDの後ろから2番目のサブ識別子が非ゼロである場合、SNMPv1 enterpriseは最後のサブ識別子が削除されたSNMPv2 snmpTrapOIDでなければなりません (SHALL)。
(2) The SNMPv1 agent-addr parameter SHALL be determined based on the situation in which the translation occurs.
(2) SNMPv1 agent-addrパラメータは、変換が発生する状況に基づいて決定されなければなりません (SHALL)。
- If the translation occurs within a notification originator application, and the notification is to be sent over IP, the SNMPv1 agent-addr parameter SHALL be set to the IP address of the SNMP entity in which the notification originator resides. If the notification is to be sent over some other transport, the SNMPv1 agent-addr parameter SHALL be set to 0.0.0.0.
- 変換が通知送信元(notification originator)アプリケーション内で発生し、通知がIP経由で送信される場合、SNMPv1 agent-addrパラメータは通知送信元が存在するSNMPエンティティのIPアドレスに設定されなければなりません (SHALL)。通知が他のトランスポート経由で送信される場合、SNMPv1 agent-addrパラメータは 0.0.0.0 に設定されなければなりません (SHALL)。
- If the translation occurs within a proxy application, the proxy must attempt to extract the original source of the notification from the variable-bindings. If the SNMPv2 variable-bindings contains a variable binding whose name is snmpTrapAddress.0, the agent-addr parameter SHALL be set to the value of that variable binding. Otherwise, the SNMPv1 agent-addr parameter SHALL be set to 0.0.0.0.
- 変換がプロキシアプリケーション内で発生した場合、プロキシは可変バインディングから通知の元の送信元を抽出しようと試みなければなりません。SNMPv2 variable-bindingsに名前がsnmpTrapAddress.0である可変バインディングが含まれている場合、agent-addrパラメータはその可変バインディングの値に設定されなければなりません (SHALL)。そうでない場合、SNMPv1 agent-addrパラメータは 0.0.0.0 に設定されなければなりません (SHALL)。
(3) If the SNMPv2 snmpTrapOID parameter is one of the standard traps as defined in RFC1907 [12], the SNMPv1 generic-trap parameter SHALL be set as follows:
(3) SNMPv2 snmpTrapOIDパラメータが RFC 1907 [12] で定義されている標準トラップの1つである場合、SNMPv1 generic-trapパラメータは以下のように設定されなければなりません (SHALL)。
snmpTrapOID.0 parameter generic-trap
=============================== ============
1.3.6.1.6.3.1.1.5.1 (coldStart) 0
1.3.6.1.6.3.1.1.5.2 (warmStart) 1
1.3.6.1.6.3.1.1.5.3 (linkDown) 2
1.3.6.1.6.3.1.1.5.4 (linkUp) 3
1.3.6.1.6.3.1.1.5.5 (authenticationFailure) 4
1.3.6.1.6.3.1.1.5.6 (egpNeighborLoss) 5
Otherwise, the SNMPv1 generic-trap parameter SHALL be set to 6.
そうでない場合、SNMPv1 generic-trapパラメータは6に設定されなければなりません (SHALL)。
(4) If the SNMPv2 snmpTrapOID parameter is one of the standard traps as defined in RFC1907 [12], the SNMPv1 specific-trap parameter SHALL be set to zero. Otherwise, the SNMPv1 specific-trap parameter SHALL be set to the last sub-identifier of the SNMPv2 snmpTrapOID parameter.
(4) SNMPv2 snmpTrapOIDパラメータが RFC 1907 [12] で定義されている標準トラップの1つである場合、SNMPv1 specific-trapパラメータはゼロに設定されなければなりません (SHALL)。そうでない場合、SNMPv1 specific-trapパラメータはSNMPv2 snmpTrapOIDパラメータの最後のサブ識別子に設定されなければなりません (SHALL)。
(5) The SNMPv1 time-stamp parameter SHALL be taken directly from the SNMPv2 sysUpTime parameter.
(5) SNMPv1 time-stampパラメータは、SNMPv2 sysUpTimeパラメータから直接取得されなければなりません (SHALL)。
(6) The SNMPv1 variable-bindings SHALL be the SNMPv2 variable-bindings. Note, however, that if the SNMPv2 variable-bindings contain any objects whose type is Counter64, the translation to SNMPv1 notification parameters cannot be performed. In this case, the notification cannot be encoded in an SNMPv1 packet (and so the notification cannot be sent using SNMPv1, see section 4.1.3 and section 4.2).
(6) SNMPv1 variable-bindingsは、SNMPv2 variable-bindingsでなければなりません (SHALL)。ただし、SNMPv2 variable-bindingsに型がCounter64であるオブジェクトが含まれている場合、SNMPv1通知パラメータへの変換を実行できないことに注意してください。この場合、通知はSNMPv1パケットでエンコードできず(したがってSNMPv1を使用して通知を送信することはできません。セクション4.1.3およびセクション4.2を参照)、注意が必要です。
There are two basic approaches to coexistence in a multi-lingual network, multi-lingual implementations and proxy implementations. Multi-lingual implementations allow elements in a network to communicate with each other using an SNMP version which both elements support. This allows a multi-lingual implementation to communicate with any mono-lingual implementation, regardless of the SNMP version supported by the mono-lingual implementation.
多言語ネットワーク、多言語の実装、およびプロキシ実装に共存するための2つの基本的なアプローチがあります。多言語の実装により、ネットワーク内の要素は、両方の要素がサポートするSNMPバージョンを使用して相互に通信することができます。これにより、多言語の実装により、モノリングルの実装でサポートされているSNMPバージョンに関係なく、あらゆるモノリングルの実装と通信できます。
Proxy implementations provide a mechanism for translating between SNMP versions using a third party network element. This allows network elements which support only a single, but different, SNMP version to communicate with each other. Proxy implementations are also useful for securing communications over an insecure link between two locally secure networks.
プロキシ実装は、サードパーティのネットワーク要素を使用してSNMPバージョン間で翻訳するメカニズムを提供します。これにより、単一の、しかし異なるSNMPバージョンのみをサポートするネットワーク要素が互いに通信できます。プロキシの実装は、2つのローカルセキュアなネットワーク間の安全でないリンクを介して通信を保護するのにも役立ちます。
This approach requires an entity to support multiple SNMP message versions. Typically this means supporting SNMPv1, SNMPv2c, and SNMPv3 message versions. The behaviour of various types of SNMP applications which support multiple message versions is described in the following sections. This approach allows entities which support multiple SNMP message versions to coexist with and communicate with entities which support only a single SNMP message version.
このアプローチでは、複数のSNMPメッセージバージョンをサポートするエンティティが必要です。通常、これはSNMPV1、SNMPV2C、およびSNMPV3メッセージバージョンをサポートすることを意味します。複数のメッセージバージョンをサポートするさまざまなタイプのSNMPアプリケーションの動作については、次のセクションで説明します。このアプローチにより、複数のSNMPメッセージバージョンをサポートするエンティティは、単一のSNMPメッセージバージョンのみをサポートするエンティティと共存および通信できます。
A command generator must select an appropriate message version when sending requests to another entity. One way to achieve this is to consult a local database to select the appropriate message version.
コマンドジェネレーターは、リクエストを別のエンティティに送信するときに適切なメッセージバージョンを選択する必要があります。これを達成する1つの方法は、ローカルデータベースを参照して適切なメッセージバージョンを選択することです。
In addition, a command generator MUST 'downgrade' GetBulk requests to GetNext requests when selecting SNMPv1 as the message version for an outgoing request. This is done by simply changing the operation type to GetNext, ignoring any non-repeaters and max-repetitions values, and setting error-status and error-index to zero.
さらに、コマンド生成元(command generator)は、送信要求のメッセージバージョンとしてSNMPv1を選択する際、GetBulk要求をGetNext要求に「ダウングレード」しなければなりません (MUST)。これは、単に操作タイプをGetNextに変更し、non-repeatersおよびmax-repetitionsの値を無視して、error-statusとerror-indexをゼロに設定することによって行われます。
A command responder must be able to deal with both SNMPv1 and SNMPv2 access to MIB data. There are three aspects to dealing with this. A command responder must:
コマンドレスポンダーは、MIBデータへのSNMPV1とSNMPV2アクセスの両方を処理できる必要があります。これに対処するには、3つの側面があります。コマンドレスポンダーは次のことをしなければなりません。
- Deal correctly with SNMPv2 access to MIB data that returns a Counter64 value while processing an SNMPv1 message,
- SNMPV1メッセージを処理しながらCounter64値を返すMIBデータへのSNMPV2アクセスを正しく処理します。
- Deal correctly with SNMPv2 access to MIB data that returns one of the three exception values while processing an SNMPv1 message, and
- SNMPV1メッセージの処理中に3つの例外値のいずれかを返すMIBデータへのSNMPV2アクセスを正しく処理し、
- Map SNMPv2 error codes returned from SNMPv2 access to MIB data into SNMPv1 error codes when processing an SNMPv1 message.
- MAP SNMPV2エラーコードは、SNMPV1メッセージを処理するときにSNMPV2データへのMIBデータへのアクセスからSNMPV1エラーコードに返されました。
Note that SNMPv1 error codes SHOULD NOT be used without any change when processing SNMPv2c or SNMPv3 messages, except in the case of proxy forwarding. In the case of proxy forwarding, for backwards compatibility, SNMPv1 error codes may be used without any change in a forwarded SNMPv2c or SNMPv3 message.
プロキシ転送の場合を除き、SNMPv2cまたはSNMPv3メッセージを処理する際にSNMPv1エラーコードを変更なしで使用すべきではない (SHOULD NOT) ことに注意してください。プロキシ転送の場合、下位互換性のために、転送されるSNMPv2cまたはSNMPv3メッセージにおいてSNMPv1エラーコードを変更なしで使用してもよい。
The following sections describe the behaviour of a command responder application which supports multiple SNMP message versions, and which uses some combination of SNMPv1 and SNMPv2 access to MIB data.
次のセクションでは、複数のSNMPメッセージバージョンをサポートするコマンドレスポンダーアプリケーションの動作について説明し、MIBデータへのSNMPV1とSNMPV2アクセスの組み合わせを使用します。
The SMIv2 [7] defines one new syntax that is incompatible with SMIv1. This syntax is Counter64. All other syntaxes defined by SMIv2 are compatible with SMIv1.
SMIV2 [7]は、SMIV1と互換性のない1つの新しい構文を定義します。この構文はCounter64です。SMIV2によって定義される他のすべての構文は、SMIV1と互換性があります。
The impact on multi-lingual command responders is that they MUST NOT ever return a variable binding containing a Counter64 value in a response to a request that was received using the SNMPv1 message version.
多言語コマンド応答元(command responder)への影響として、SNMPv1メッセージバージョンを使用して受信した要求に対する応答において、Counter64値を含む可変バインディングを決して返してはなりません (MUST NOT)。
Multi-lingual command responders SHALL take the approach that object instances whose type is Counter64 are implicitly excluded from view when processing an SNMPv1 message. So:
多言語コマンド応答元は、SNMPv1メッセージを処理する際、型がCounter64であるオブジェクトインスタンスは暗黙的にビューから除外されるというアプローチを取らなければなりません (SHALL)。したがって:
- On receipt of an SNMPv1 GetRequest-PDU containing a variable binding whose name field points to an object instance of type Counter64, a GetResponsePDU SHALL be returned, with an error-status of noSuchName and the error-index set to the variable binding that caused this error.
- 型がCounter64であるオブジェクトインスタンスをnameフィールドが指している可変バインディングを含むSNMPv1 GetRequest-PDUを受信した場合、error-statusをnoSuchNameとし、error-indexをこのエラーを引き起こした可変バインディングに設定したGetResponsePDUを返さなければなりません (SHALL)。
- On an SNMPv1 GetNextRequest-PDU, any object instance which contains a syntax of Counter64 SHALL be skipped, and the next accessible object instance that does not have the syntax of Counter64 SHALL be retrieved. If no such object instance exists, then an error-status of noSuchName SHALL be returned, and the error-index SHALL be set to the variable binding that caused this error.
- SNMPv1 GetNextRequest-PDUを受信した場合、Counter64の構文を含むすべてのオブジェクトインスタンスはスキップされなければならず (SHALL)、Counter64の構文を持たない次のアクセス可能なオブジェクトインスタンスが取得されなければなりません (SHALL)。そのようなオブジェクトインスタンスが存在しない場合、error-statusをnoSuchNameとし、error-indexをこのエラーを引き起こした可変バインディングに設定して返さなければなりません (SHALL)。
- Any SNMPv1 request which contains a variable binding with a Counter64 value is ill-formed, so the foregoing rules do not apply. If that error is detected, a response SHALL NOT be returned, since it would contain a copy of the ill-formed variable binding. Instead, the offending PDU SHALL be discarded and the counter snmpInASNParseErrs SHALL be incremented.
- Counter64値を持つ可変バインディングを含むSNMPv1要求は不正な形式であるため、前述のルールは適用されません。そのエラーが検出された場合、不正な形式の可変バインディングのコピーが含まれることになるため、応答を返してはなりません (SHALL NOT)。代わりに、違反したPDUは破棄されなければならず (SHALL)、カウンタsnmpInASNParseErrsがインクリメントされなければなりません (SHALL)。
SNMPv2 provides a feature called exceptions, which allow an SNMPv2 Response PDU to return as much management information as possible, even when an error occurs. However, SNMPv1 does not support exceptions, and so an SNMPv1 Response PDU cannot return any management information, and can only return an error-status and error-index value.
SNMPV2は例外と呼ばれる機能を提供します。これにより、SNMPV2応答PDUは、エラーが発生した場合でも、できるだけ多くの管理情報を返すことができます。ただし、SNMPV1は例外をサポートしていないため、SNMPV1応答PDUは管理情報を返すことができず、エラーステータスとエラーインデックス値のみを返すことができます。
When an SNMPv1 request is received, a command responder MUST check any variable bindings returned using SNMPv2 access to MIB data for exception values, and convert these exception values into SNMPv1 error codes.
SNMPv1要求を受信した場合、コマンド応答元は、MIBデータへのSNMPv2アクセスを使用して返されたすべての可変バインディングに例外値がないかチェックし、これらの例外値をSNMPv1エラーコードに変換しなければなりません (MUST)。
The type of exception that can be returned when accessing MIB data and the action taken depends on the type of SNMP request.
MIBデータにアクセスするときに返すことができる例外のタイプと実行されるアクションは、SNMP要求のタイプによって異なります。
- For a GetRequest, a noSuchObject or noSuchInstance exception may be returned.
- GetRequestの場合、noSuchObjectまたはnoSuchInstanceの例外が返される場合があります。
- For a GetNextRequest, an endOfMibView exception may be returned.
- getNextre -equestの場合、endOfMibView例外が返される場合があります。
- No exceptions will be returned for a SetRequest, and a GetBulkRequest should only be received in an SNMPv2c or SNMPv3 message, so these request types may be ignored when mapping exceptions.
- SetRequestの場合は例外を返しません。GetBulkRequestはSNMPV2CまたはSNMPV3メッセージでのみ受信する必要があるため、例外をマッピングするときはこれらの要求タイプを無視する場合があります。
Note that when a response contains multiple exceptions, it is an implementation choice as to which variable binding the error-index should reference.
応答に複数の例外が含まれている場合、エラーインデックスが参照する変数バインドがどの変数バインドされるかについての実装の選択であることに注意してください。
A noSuchObject or noSuchInstance exception generated by an SNMPv2 access to MIB data indicates that the requested object instance can not be returned. The SNMPv1 error code for this condition is noSuchName, and so the error-status field of the response PDU SHALL be set to noSuchName. Also, the error-index field SHALL be set to the index of the variable binding for which an exception occurred (there may be more than one and it is an implementation decision as to which is used), and the variable binding list from the original request SHALL be returned with the response PDU.
MIBデータへのSNMPv2アクセスによって生成された noSuchObject または noSuchInstance 例外は、要求されたオブジェクトインスタンスを返すことができないことを示します。この状態に対するSNMPv1エラーコードは noSuchName であるため、応答PDUのerror-statusフィールドは noSuchName に設定されなければなりません (SHALL)。また、error-indexフィールドは例外が発生した可変バインディングのインデックスに設定されなければならず (SHALL)(複数存在する可能性があり、どれを使用するかは実装の判断です)、元の要求からの可変バインディングリストが応答PDUとともに返されなければなりません (SHALL)。
When an SNMPv2 access to MIB data returns a variable binding containing an endOfMibView exception, it indicates that there are no object instances available which lexicographically follow the object in the request. In an SNMPv1 agent, this condition normally results in a noSuchName error, and so the error-status field of the response PDU SHALL be set to noSuchName. Also, the error-index field SHALL be set to the index of the variable binding for which an exception occurred (there may be more than one and it is an implementation decision as to which is used), and the variable binding list from the original request SHALL be returned with the response PDU.
MIBデータへのSNMPv2アクセスが endOfMibView 例外を含む可変バインディングを返す場合、要求内のオブジェクトに辞書式順序で後続する利用可能なオブジェクトインスタンスが存在しないことを示します。SNMPv1エージェントでは、この状態は通常 noSuchName エラーとなるため、応答PDUのerror-statusフィールドは noSuchName に設定されなければなりません (SHALL)。また、error-indexフィールドは例外が発生した可変バインディングのインデックスに設定されなければならず (SHALL)(複数存在する可能性があり、どれを使用するかは実装の判断です)、元の要求からの可変バインディングリストが応答PDUとともに返されなければなりません (SHALL)。
When processing an SNMPv1 GetRequest, the following procedures MUST be followed when using an SNMPv2 access to MIB data.
SNMPv1 GetRequestを処理する際、MIBデータへのSNMPv2アクセスを使用する場合は、以下の手順に従わなければなりません (MUST)。
When such an access to MIB data returns response data using SNMPv2 syntax and error-status values, then:
MIBデータへのこのようなアクセスがSNMPV2構文とエラーステータス値を使用して応答データを返す場合、次のとおりです。
(1) If the error-status is anything other than noError,
(1) エラーステータスがnoError以外のものである場合、
- The error status SHALL be translated to an SNMPv1 error-status using the table in section 4.3, "Error Status Mappings".
- エラーステータスは、セクション4.3「エラー状態のマッピング」の表を使用してSNMPv1 error-statusに変換されなければなりません (SHALL)。
- The error-index SHALL be set to the position (in the original request) of the variable binding that caused the error-status.
- error-indexは、そのerror-statusを引き起こした可変バインディングの(元の要求における)位置に設定されなければなりません (SHALL)。
- The variable binding list of the response PDU SHALL be made exactly the same as the variable binding list that was received in the original request.
- 応答PDUの可変バインディングリストは、元の要求で受信された可変バインディングリストと完全に同じに作成されなければなりません (SHALL)。
(2) If the error-status is noError, the variable bindings SHALL be checked for any SNMPv2 exception (noSuchObject or noSuchInstance) or an SNMPv2 syntax that is unknown to SNMPv1 (Counter64). If there are any such variable bindings, one of those variable bindings SHALL be selected (it is an implementation choice as to which is selected), and:
(2) error-statusがnoErrorである場合、可変バインディングにSNMPv2例外(noSuchObjectまたはnoSuchInstance)またはSNMPv1にとって未知のSNMPv2構文(Counter64)がないかチェックされなければなりません (SHALL)。そのような可変バインディングが存在する場合、それらの可変バインディングのうち1つが選択されなければならず (SHALL)(どれを選択するかは実装の選択です)、以下の処理を行います。
- The error-status SHALL be set to noSuchName,
- error-statusはnoSuchNameに設定されなければなりません (SHALL)。
- The error-index SHALL be set to the position (in the variable binding list of the original request) of the selected variable binding, and
- error-indexは、選択された可変バインディングの(元の要求の可変バインディングリストにおける)位置に設定されなければならず (SHALL)、
- The variable binding list of the response PDU SHALL be exactly the same as the variable binding list that was received in the original request.
- 応答PDUの可変バインディングリストは、元の要求で受信された可変バインディングリストと完全に同じでなければなりません (SHALL)。
(3) If there are no such variable bindings, then:
(3) そのような可変バインディングがない場合は、
- The error-status SHALL be set to noError,
- error-statusはnoErrorに設定されなければなりません (SHALL)。
- The error-index SHALL be set to zero, and
- error-indexはゼロに設定されなければならず (SHALL)、
- The variable binding list of the response SHALL be composed from the data as it is returned by the access to MIB data.
- 応答の可変バインディングリストは、MIBデータへのアクセスによって返されたデータから構成されなければなりません (SHALL)。
When processing an SNMPv1 GetNextRequest, the following procedures MUST be followed when an SNMPv2 access to MIB data is called as part of processing the request. There may be repetitive accesses to MIB data to try to find the first object which lexicographically follows each of the objects in the request. This is implementation specific. These procedures are followed only for data returned when using SNMPv2 access to MIB data. Data returned using SNMPv1 access to MIB data may be treated in the normal manner for an SNMPv1 request.
SNMPv1 GetNextRequestを処理する際、要求処理の一環としてMIBデータへのSNMPv2アクセスが呼び出される場合は、以下の手順に従わなければなりません (MUST)。要求内の各オブジェクトに辞書式順序で後続する最初のオブジェクトを見つけるために、MIBデータへの反復アクセスが発生する場合があります。これは実装依存です。これらの手順は、MIBデータへのSNMPv2アクセスを使用する際に返されるデータに対してのみ適用されます。MIBデータへのSNMPv1アクセスを使用して返されたデータは、SNMPv1要求に対する通常の方法で処理してもよい。
First, if the access to MIB data returns an error-status of anything other than noError:
まず、MIBデータへのアクセスがnoError以外のエラーステータスを返している場合:
(1) The error status SHALL be translated to an SNMPv1 error-status using the table in section 4.3, "Error Status Mappings".
(1) error-statusは、セクション4.3「エラー状態のマッピング」の表を使用してSNMPv1 error-statusに変換されなければなりません (SHALL)。
(2) The error-index SHALL be set to the position (in the original request) of the variable binding that caused the error-status.
(2) error-indexは、そのerror-statusを引き起こした可変バインディングの(元の要求における)位置に設定されなければなりません (SHALL)。
(3) The variable binding list of the response PDU SHALL be exactly the same as the variable binding list that was received in the original request.
(3) 応答PDUの可変バインディングリストは、元の要求で受信された可変バインディングリストと完全に同じでなければなりません (SHALL)。
Otherwise, if the access to MIB data returns an error-status of noError:
それ以外の場合、MIBデータへのアクセスがnoErrorのエラーステータスを返す場合:
(1) Any variable bindings containing an SNMPv2 syntax of Counter64 SHALL be considered to be not in view, and MIB data SHALL be accessed as many times as is required until either a value other than Counter64 is returned, or an error occurs.
(1) Counter64のSNMPv2構文を含むすべての可変バインディングはビューに含まれないとみなされなければならず (SHALL)、Counter64以外の値が返されるかエラーが発生するまで、必要な回数だけMIBデータへのアクセスを行わなければなりません (SHALL)。
(2) If there is any variable binding that contains an SNMPv2 exception endOfMibView (there may be more than one, it is an implementation decision as to which is chosen):
(2) SNMPV2例外endOfMibViewを含む変数バインディングがある場合(複数の場合、それはどの実装決定であるかについての実装決定です):
- The error-status SHALL be set to noSuchName,
- error-statusはnoSuchNameに設定されなければなりません (SHALL)。
- The error-index SHALL be set to the position (in the variable binding list of the original request) of the variable binding that returned such an SNMPv2 exception, and
- error-indexは、そのようなSNMPv2例外を返した可変バインディングの(元の要求の可変バインディングリストにおける)位置に設定されなければならず (SHALL)、
- The variable binding list of the response PDU SHALL be exactly the same as the variable binding list that was received in the original request.
- 応答PDUの可変バインディングリストは、元の要求で受信された可変バインディングリストと完全に同じでなければなりません (SHALL)。
(3) If there are no such variable bindings, then:
(3) そのような可変バインディングがない場合は、
- The error-status SHALL be set to noError,
- error-statusはnoErrorに設定されなければなりません (SHALL)。
- The error-index SHALL be set to zero, and
- error-indexはゼロに設定されなければならず (SHALL)、
- The variable binding list of the response SHALL be composed from the data as it is returned by the access to MIB data.
- 応答の可変バインディングリストは、MIBデータへのアクセスによって返されたデータから構成されなければなりません (SHALL)。
When processing an SNMPv1 SetRequest, the following procedures MUST be followed when calling SNMPv2 MIB access routines.
SNMPv1 SetRequestを処理する際、SNMPv2 MIBアクセスルーチンを呼び出す場合は、以下の手順に従わなければなりません (MUST)。
When such MIB access routines return response data using SNMPv2 syntax and error-status values, and the error-status is anything other than noError, then:
このようなMIBアクセスルーチンがSNMPV2構文とエラーステータス値を使用して応答データを返し、エラーステータスはnoError以外のものです。
- The error status SHALL be translated to an SNMPv1 error-status using the table in section 4.3, "Error Status Mappings".
- エラーステータスは、セクション4.3「エラー状態のマッピング」の表を使用してSNMPv1 error-statusに変換されなければなりません (SHALL)。
- The error-index SHALL be set to the position (in the original request) of the variable binding that caused the error-status.
- error-indexは、そのerror-statusを引き起こした可変バインディングの(元の要求における)位置に設定されなければなりません (SHALL)。
- The variable binding list of the response PDU SHALL be made exactly the same as the variable binding list that was received in the original request.
- 応答PDUの可変バインディングリストは、元の要求で受信された可変バインディングリストと完全に同じに作成されなければなりません (SHALL)。
A notification originator must be able to translate between SNMPv1 notifications parameters and SNMPv2 notification parameters in order to send a notification using a particular SNMP message version. If a notification is generated using SNMPv1 notification parameters, and configuration information specifies that notifications be sent using SNMPv2c or SNMPv3, the notification parameters must be translated to SNMPv2 notification parameters. Likewise, if a notification is generated using SNMPv2 notification parameters, and configuration information specifies that notifications be sent using SNMPv1, the notification parameters must be translated to SNMPv1 notification parameters. In this case, if the notification cannot be translated (due to the presence of a Counter64 type), it will not be sent using SNMPv1.
特定のSNMPメッセージバージョンを使用して通知を送信するために、通知オリジネーターはSNMPV1通知パラメーターとSNMPV2通知パラメーターを翻訳できる必要があります。SNMPV1通知パラメーターを使用して通知が生成され、構成情報がSNMPV2CまたはSNMPV3を使用して通知を送信することを指定する場合、通知パラメーターはSNMPV2通知パラメーターに変換する必要があります。同様に、SNMPV2通知パラメーターを使用して通知が生成され、構成情報がSNMPV1を使用して通知を送信することを指定する場合、通知パラメーターはSNMPV1通知パラメーターに変換する必要があります。この場合、通知を翻訳できない場合(Counter64タイプの存在のため)、SNMPV1を使用して送信されません。
When a notification originator generates a notification, using parameters obtained from the SNMP-TARGET-MIB and SNMP-NOTIFICATION-MIB, if the SNMP version used to generate the notification is SNMPv1, the PDU type used will always be a TrapPDU, regardless of whether the value of snmpNotifyType is trap(1) or inform(2).
通知オリジネーターがSNMPターゲット-MIBおよびSNMP-Notification-MIBから取得したパラメーターを使用して通知を生成する場合、通知を生成するために使用されるSNMPバージョンがSNMPV1である場合、使用されるPDUタイプは常にTrapPDUになります。snmpNotifyTypeの値はtrap(1)またはinform(2)です。
Note also that access control and notification filtering are performed in the usual manner for notifications, regardless of the SNMP message version to be used when sending a notification. The parameters for performing access control are found in the usual manner (i.e., from inspecting the SNMP-TARGET-MIB and SNMP-NOTIFICATION-MIB). In particular, when generating an SNMPv1 Trap, in order to perform the access check specified in [18], section 3.3, bullet (3), the notification originator may need to generate a value for snmpTrapOID.0 as described in section 3.1, bullets (2) and (3) of this document. If the SNMPv1 notification parameters being used were previously translated from a set of SNMPv2 notification parameters, this value may already be known, in which case it need not be generated.
また、通知を送信するときに使用するSNMPメッセージバージョンに関係なく、アクセス制御と通知フィルタリングは通常の方法で実行されることに注意してください。アクセス制御を実行するためのパラメーターは、通常の方法で見られます(つまり、SNMPターゲット-MIBとSNMP-Notification-MIBの検査から)。特に、[18]、セクション3.3、弾丸(3)で指定されたアクセスチェックを実行するために、SNMPV1トラップを生成する場合、通知オリジネーターは、セクション3.1で説明されているようにsnmpTrapOID.0の値を生成する必要がある場合があります。(2)および(3)このドキュメントの(3)。使用されているSNMPV1通知パラメーターが以前にSNMPV2通知パラメーターのセットから翻訳された場合、この値はすでに既知である可能性があります。その場合、生成する必要はありません。
There are no special requirements of a notification receiver. However, an implementation may find it useful to allow a higher level application to request whether notifications should be delivered to a higher level application using SNMPv1 notification parameter or SNMPv2 notification parameters. The notification receiver would then translate notification parameters when required in order to present a notification using the desired set of parameters.
通知レシーバーの特別な要件はありません。ただし、実装では、より高いレベルのアプリケーションが、SNMPV1通知パラメーターまたはSNMPV2通知パラメーターを使用して、より高いレベルのアプリケーションに通知を配信する必要があるかどうかを要求できるようにすることが有用な場合があります。通知レシーバーは、目的のパラメーターセットを使用して通知を提示するために必要な場合に通知パラメーターを翻訳します。
A proxy implementation may be used to enable communication between entities which support different SNMP message versions. This is accomplished in a proxy forwarder application by performing translations on PDUs. These translations depend on the PDU type, the SNMP version of the packet containing a received PDU, and the SNMP version to be used to forward a received PDU. The following sections describe these translations. In all cases other than those described below, the proxy SHALL forward a received PDU without change, subject to size constraints as defined in section 5.3 (Community MIB) of this document. Note that in the following sections, the 'Upstream Version' refers to the version used between the command generator and the proxy, and the 'Downstream Version' refers to the version used between the proxy and the command responder, regardless of the PDU type or direction.
異なるSNMPメッセージバージョンをサポートするエンティティ間の通信を可能にするために、プロキシ実装を使用してもよい。これは、PDU上で変換を実行することにより、プロキシフォワーダアプリケーションにおいて達成されます。これらの変換は、PDUタイプ、受信したPDUを含むパケットのSNMPバージョン、および受信したPDUを転送するために使用されるSNMPバージョンに依存します。以下のセクションでこれらの変換について説明します。以下に説明する場合を除き、プロキシは本文書のセクション5.3(Community MIB)で定義されているサイズ制約に従って、受信したPDUを変更なしで転送しなければなりません (SHALL)。以下のセクションにおいて、「アップストリームバージョン」とはコマンド生成元とプロキシの間で使用されるバージョンを指し、「ダウンストリームバージョン」とはPDUタイプや方向に関係なくプロキシとコマンド応答元の間で使用されるバージョンを指すことに注意してください。
- If a GetBulkRequest-PDU is received and must be forwarded using the SNMPv1 message version, the proxy forwarder SHALL set the non-repeaters and max-repetitions fields to 0, and SHALL set the tag of the PDU to GetNextRequest-PDU.
- GetBulkRequest-PDUを受信し、SNMPv1メッセージバージョンを使用して転送しなければならない場合、プロキシフォワーダはnon-repeatersおよびmax-repetitionsフィールドを0に設定しなければならず (SHALL)、PDUのタグをGetNextRequest-PDUに設定しなければなりません (SHALL)。
- If a GetResponse-PDU is received whose error-status field has a value of 'tooBig', the message will be forwarded using the SNMPv2c or SNMPv3 message version, and the original request received by the proxy was not a GetBulkRequest-PDU, the proxy forwarder SHALL remove the contents of the variable-bindings field before forwarding the response.
- error-statusフィールドの値が 'tooBig' であるGetResponse-PDUを受信し、メッセージがSNMPv2cまたはSNMPv3メッセージバージョンを使用して転送される予定であり、かつプロキシが受信した元の要求がGetBulkRequest-PDUでなかった場合、プロキシフォワーダは応答を転送する前にvariable-bindingsフィールドの内容を削除しなければなりません (SHALL)。
- If a GetResponse-PDU is received whose error-status field has a value of 'tooBig,' and the message will be forwarded using the SNMPv2c or SNMPv3 message version, and the original request received by the proxy was a GetBulkRequest-PDU, the proxy forwarder SHALL re-send the forwarded request (which would have been altered to be a GetNextRequest-PDU) with all but the first variable-binding removed. The proxy forwarder SHALL only re-send such a request a single time. If the resulting GetResponse-PDU also contains an error-status field with a value of 'tooBig,' then the proxy forwarder SHALL remove the contents of the variable-bindings field, and change the error-status field to 'noError' before forwarding the response. Note that if the original request only contained a single variable-binding, the proxy may skip re-sending the request and simply remove the variable-bindings and change the error-status to 'noError.'
- error-statusフィールドの値が 'tooBig' であるGetResponse-PDUを受信し、メッセージがSNMPv2cまたはSNMPv3メッセージバージョンを使用して転送される予定であり、かつプロキシが受信した元の要求がGetBulkRequest-PDUであった場合、プロキシフォワーダは最初の可変バインディング以外のすべてを削除した上で、転送された要求(GetNextRequest-PDUに変更されていたもの)を再送信しなければなりません (SHALL)。プロキシフォワーダはそのような要求を1度だけ再送信しなければなりません (SHALL)。結果として得られるGetResponse-PDUにも値 'tooBig' のerror-statusフィールドが含まれている場合、プロキシフォワーダは応答を転送する前にvariable-bindingsフィールドの内容を削除し、error-statusフィールドを 'noError' に変更しなければなりません (SHALL)。元の要求に単一の可変バインディングしか含まれていなかった場合、プロキシは要求の再送信をスキップして単にvariable-bindingsを削除し、error-statusを 'noError' に変更してもよいことに注意してください。
- If a Trap-PDU is received, and will be forwarded using the SNMPv2c or SNMPv3 message version, the proxy SHALL apply the translation rules described in section 3, and SHALL forward the notification as an SNMPv2-Trap-PDU.
- Trap-PDUを受信し、SNMPv2cまたはSNMPv3メッセージバージョンを使用して転送される場合、プロキシはセクション3で説明されている変換ルールを適用しなければならず (SHALL)、通知をSNMPv2-Trap-PDUとして転送しなければなりません (SHALL)。
Note that when an SNMPv1 agent generates a message containing a Trap-PDU which is subsequently forwarded by one or more proxy forwarders using SNMP versions other than SNMPv1, the community string and agent-addr fields from the original message generated by the SNMPv1 agent will be preserved through the use of the snmpTrapAddress and snmpTrapCommunity nobjects.
SNMPV1エージェントがTRAP-PDUを含むメッセージを生成すると、SNMPV1以外のSNMPバージョンを使用して1つまたは複数のプロキシ転送業者によって転送されると、SNMPV1エージェントによって生成された元のメッセージからのコミュニティ文字列とエージェントADDRフィールドはsnmpTrapAddressおよびsnmpTrapCommunity nobjectsを使用して保存されます。
- If a GetResponse-PDU is received in response to a GetRequest-PDU (previously generated by the proxy) which contains variable-bindings of type Counter64 or which contain an SNMPv2 exception code, and the message would be forwarded using the SNMPv1 message version, the proxy MUST generate an alternate response PDU consisting of the request-id and variable bindings from the original SNMPv1 request, containing a noSuchName error-status value, and containing an error-index value indicating the position of the variable-binding containing the Counter64 type or exception code.
- Counter64型の可変バインディングを含むか、SNMPv2例外コードを含むGetRequest-PDU(プロキシによって以前に生成されたもの)に対する応答としてGetResponse-PDUを受信し、そのメッセージがSNMPv1メッセージバージョンを使用して転送される場合、プロキシは、元のSNMPv1要求からのrequest-idと可変バインディングで構成され、noSuchNameのerror-status値を含み、Counter64型または例外コードを含む可変バインディングの位置を示すerror-index値を含む代替応答PDUを生成しなければなりません (MUST)。
- If a GetResponse-PDU is received in response to a GetNextRequest-PDU (previously generated by the proxy) which contains variable-bindings that contain an SNMPv2 exception code, and the message would be forwarded using the SNMPv1 message version, the proxy MUST generate an alternate response PDU consisting of the request-id and variable bindings from the original SNMPv1 request, containing a noSuchName error-status value, and containing an error-index value indicating the position of the variable-binding containing the exception code.
- SNMPv2例外コードを含む可変バインディングを含むGetNextRequest-PDU(プロキシによって以前に生成されたもの)に対する応答としてGetResponse-PDUを受信し、そのメッセージがSNMPv1メッセージバージョンを使用して転送される場合、プロキシは、元のSNMPv1要求からのrequest-idと可変バインディングで構成され、noSuchNameのerror-status値を含み、例外コードを含む可変バインディングの位置を示すerror-index値を含む代替応答PDUを生成しなければなりません (MUST)。
- If a GetResponse-PDU is received in response to a GetNextRequest-PDU (previously generated by the proxy) which contains variable-bindings of type Counter64, the proxy MUST re-send the entire GetNextRequest-PDU, with the following modifications. For any variable bindings in the received GetResponse which contained Counter64 types, the proxy substitutes the object names of these variable bindings for the corresponding object names in the previously-sent GetNextRequest. The proxy MUST repeat this process until no Counter64 objects are returned. Note that an implementation may attempt to optimize this process of skipping Counter64 objects. One approach to such an optimization would be to replace the last sub-identifier of the object names of varbinds containing a Counter64 type with 65535 if that sub-identifier is less than 65535, or with 4294967295 if that sub-identifier is greater than 65535. This approach should skip multiple instances of the same Counter64 object, while maintaining compatibility with some broken agent implementations (which only use 16-bit integers for sub-identifiers).
- Counter64型の可変バインディングを含むGetNextRequest-PDU(プロキシによって以前に生成されたもの)に対する応答としてGetResponse-PDUを受信した場合、プロキシは以下の変更を加えた上でGetNextRequest-PDU全体を再送信しなければなりません (MUST)。Counter64型を含んでいた受信GetResponse内の任意の可変バインディングについて、プロキシはそれらの可変バインディングのオブジェクト名を、以前に送信されたGetNextRequest内の対応するオブジェクト名と置き換えます。プロキシは、Counter64オブジェクトが返されなくなるまでこのプロセスを繰り返さなければなりません (MUST)。実装においてCounter64オブジェクトをスキップするこのプロセスの最適化を試みてもよいことに注意してください。そのような最適化への1つのアプローチは、Counter64型を含むvarbindのオブジェクト名の最後のサブ識別子が65535未満である場合は65535に、65535より大きい場合は4294967295に置き換えることです。このアプローチにより、一部の壊れたエージェント実装(サブ識別子に16ビット整数しか使用しないもの)との互換性を維持しながら、同一のCounter64オブジェクトの複数のインスタンスをスキップできるはずです。
Deployment Hint: The process of repeated GetNext requests used by a proxy when Counter64 types are returned can be expensive. When deploying a proxy, this can be avoided by configuring the target agents to which the proxy forwards requests in a manner such that any objects of type Counter64 are in fact not-in-view for the principal that the proxy is using when communicating with these agents.
展開ヒント:Counter64タイプが返されたときにプロキシで使用される繰り返しのGetNext要求のプロセスは高価になる可能性があります。プロキシを展開するとき、これは、プロキシが転送するターゲットエージェントを、タイプカウンター64のオブジェクトが実際にこれらと通信するときに使用しているプリンシパルの視野ではないように、ターゲットエージェントを構成することで回避できます。エージェント。
- If a GetResponse-PDU is received which contains an SNMPv2 error-status value of wrongValue, wrongEncoding, wrongType, wrongLength, inconsistentValue, noAccess, notWritable, noCreation, inconsistentName, resourceUnavailable, commitFailed, undoFailed, or authorizationError, the error-status value is modified using the mappings in section 4.3.
- 間違った数値のSNMPV2エラーステータス値を含むGetResponse-PDUが受信された場合、間違ったバリュー、間違ったエンコード、間違ったタイプ、無線長、一貫性のない数値、noAccess、noAccess、noconivation、noconsistion、矛盾、resourceUnavabable、commited、undoFailed、またはauthorizeerは、エラースタートゥス値はモジー化されています。セクション4.3のマッピングを使用します。
- If an SNMPv2-Trap-PDU is received, and will be forwarded using the SNMPv1 message version, the proxy SHALL apply the translation rules described in section 3, and SHALL forward the notification as a Trap-PDU. Note that if the translation fails due to the existence of a Counter64 data-type in the received SNMPv2-Trap-PDU, the trap cannot be forwarded using SNMPv1.
- SNMPv2-Trap-PDUを受信し、SNMPv1メッセージバージョンを使用して転送される場合、プロキシはセクション3で説明されている変換ルールを適用しなければならず (SHALL)、通知をTrap-PDUとして転送しなければなりません (SHALL)。受信したSNMPv2-Trap-PDU内にCounter64データ型が存在することにより変換が失敗した場合、トラップはSNMPv1を使用して転送できないことに注意してください。
- If an InformRequest-PDU is received, any configuration information indicating that it would be forwarded using the SNMPv1 message version SHALL be ignored. An InformRequest-PDU can only be forwarded using the SNMPv2c or SNMPv3 message version. The InformRequest-PDU may still be forwarded if there is other configuration information indicating that it should be forwarded using SNMPv2c or SNMPv3.
- InformRequest-PDUを受信した場合、SNMPv1メッセージバージョンを使用して転送されることを示す設定情報は無視されなければなりません (SHALL)。InformRequest-PDUは、SNMPv2cまたはSNMPv3メッセージバージョンを使用してのみ転送できます。SNMPv2cまたはSNMPv3を使用して転送されるべきであることを示す他の設定情報が存在する場合、InformRequest-PDUは引き続き転送されてもよい。
The following tables shows the mappings of SNMPv1 error-status values into SNMPv2 error-status values, and the mappings of SNMPv2 error-status values into SNMPv1 error-status values.
次の表は、SNMPV1エラーステータス値のSNMPV2エラーステータス値へのマッピングと、SNMPV2エラーステータス値のマッピングがSNMPV1エラーステータス値へのマッピングを示しています。
SNMPv1 error-status SNMPv2 error-status
=================== ===================
noError noError
tooBig tooBig
noSuchName noSuchName
badValue badValue
genErr genErr
SNMPv2 error-status SNMPv1 error-status
=================== ===================
noError noError
tooBig tooBig
genErr genErr
wrongValue badValue
wrongEncoding badValue
wrongType badValue
wrongLength badValue
inconsistentValue badValue
noAccess noSuchName
notWritable noSuchName
noCreation noSuchName
inconsistentName noSuchName
resourceUnavailable genErr
commitFailed genErr
undoFailed genErr
authorizationError noSuchName
Whenever the SNMPv2 error-status value of authorizationError is translated to an SNMPv1 error-status value of noSuchName, the value of snmpInBadCommunityUses MUST be incremented.
authorizationErrorのSNMPv2 error-status値が noSuchName のSNMPv1 error-status値に変換される場合は常に、snmpInBadCommunityUsesの値をインクリメントしなければなりません (MUST)。
In order to adapt SNMPv1 (and SNMPv2c) into the SNMP architecture, the following models are defined in this document:
SNMPV1(およびSNMPV2C)をSNMPアーキテクチャに適応させるために、次のモデルをこのドキュメントで定義しています。
- The SNMPv1 Message Processing Model
- SNMPV1メッセージ処理モデル
- The SNMPv1 Community-Based Security Model
- SNMPV1コミュニティベースのセキュリティモデル
The following models are also described in this document:
このドキュメントでは、次のモデルについても説明しています。
- The SNMPv2c Message Processing Model
- SNMPV2Cメッセージ処理モデル
- The SNMPv2c Community-Based Security Model
- SNMPV2Cコミュニティベースのセキュリティモデル
In most respects, the SNMPv1 Message Processing Model and the SNMPv2c Message Processing Model are identical, and so these are not discussed independently in this document. Differences between the two models are described as required.
ほとんどの点で、SNMPV1メッセージ処理モデルとSNMPV2Cメッセージ処理モデルは同一であるため、このドキュメントでは独立して説明されていません。2つのモデル間の違いは、必要に応じて説明されています。
Similarly, the SNMPv1 Community-Based Security Model and the SNMPv2c Community-Based Security Model are nearly identical, and so are not discussed independently. Differences between these two models are also described as required.
同様に、SNMPV1コミュニティベースのセキュリティモデルとSNMPV2Cコミュニティベースのセキュリティモデルはほぼ同一であるため、独立して議論されません。これら2つのモデルの違いも必要に応じて説明されています。
The SNMPv1 (and SNMPv2c) Message Processing Model and Security Model require mappings between parameters used in SNMPv1 (and SNMPv2c) messages, and the version independent parameters used in the SNMP architecture [16]. The parameters which MUST be mapped consist of the SNMPv1 (and SNMPv2c) community name, and the SNMP securityName and contextEngineID/contextName pair. A MIB module (the SNMP-COMMUNITY-MIB) is provided in this document in order to perform these mappings. This MIB provides mappings in both directions, that is, a community name may be mapped to a securityName, contextEngineID, and contextName, or the combination of securityName, contextEngineID, and contextName may be mapped to a community name.
SNMPv1(およびSNMPv2c)メッセージ処理モデルおよびセキュリティモデルは、SNMPv1(およびSNMPv2c)メッセージで使用されるパラメータと、SNMPアーキテクチャ [16] で使用されるバージョン非依存パラメータとの間のマッピングを必要とします。マッピングしなければならない (MUST) パラメータは、SNMPv1(およびSNMPv2c)コミュニティ名、ならびにSNMPのsecurityNameおよびcontextEngineID/contextNameのペアで構成されます。これらのマッピングを実行するために、本文書ではMIBモジュール(SNMP-COMMUNITY-MIB)が提供されています。このMIBは双方向のマッピングを提供します。すなわち、コミュニティ名をsecurityName、contextEngineID、およびcontextNameにマッピングすることも、securityName、contextEngineID、およびcontextNameの組み合わせをコミュニティ名にマッピングすることもできます。
The SNMPv1 Message Processing Model handles processing of SNMPv1 messages. The processing of messages is handled generally in the same manner as described in RFC1157 [2], with differences and clarifications as described in the following sections. The SnmpMessageProcessingModel value for SNMPv1 is 0 (the value for SNMPv2c is 1).
SNMPV1メッセージ処理モデルは、SNMPV1メッセージの処理を処理します。メッセージの処理は、一般にRFC1157 [2]で説明されているのと同じ方法で処理され、次のセクションで説明されているように違いと説明があります。snmpv1のSnmpMessageProcessingModel値は0です(snmpv2cの値は1)。
In RFC1157 [2], section 4.1, item (3) for an entity which receives a message, states that various parameters are passed to the 'desired authentication scheme.' The desired authentication scheme in this case is the SNMPv1 Community-Based Security Model, which will be called using the processIncomingMsg ASI. The parameters passed to this ASI are:
RFC1157 [2]、セクション4.1、アイテム(3)メッセージを受信するエンティティのアイテム(3)は、さまざまなパラメーターが「望ましい認証スキーム」に渡されることを述べています。この場合の望ましい認証スキームは、SNMPV1コミュニティベースのセキュリティモデルです。これは、processIncomingMsg ASIを使用して呼び出されます。このASIに渡されたパラメーターは次のとおりです。
- The messageProcessingModel, which will be 0 (or 1 for SNMPv2c).
- messageProcessingModel。これは0(またはSNMPV2Cの場合は1)になります。
- The maxMessageSize, which should be the maximum size of a message that the receiving entity can generate (since there is no such value in the received message).
- maxMessageSizeは、受信エンティティが生成できるメッセージの最大サイズである必要があります(受信したメッセージにはそのような値がないため)。
- The securityParameters, which consist of the community string and the message's source and destination transport domains and addresses.
- Community Stringとメッセージのソースおよび宛先輸送ドメインとアドレスで構成されるsecurityParameters。
- The securityModel, which will be 1 (or 2 for SNMPv2c).
- securityModelは1(またはSNMPV2Cの場合は2)になります。
- The securityLevel, which will be noAuthNoPriv.
- securityLevel、それはnoAuthNoPrivになります。
- The wholeMsg and wholeMsgLength.
- wholeMsgとwholeMsgLength。
The Community-Based Security Model will attempt to select a row in the snmpCommunityTable. This is done by performing a search through the snmpCommunityTable in lexicographic order. The first entry for which the following matching criteria are satisfied will be selected:
コミュニティベースのセキュリティモデルは、snmpCommunityTableで行を選択しようとします。これは、snmpCommunityTableを辞書編集順に検索することによって行われます。次の一致する基準が満たされる最初のエントリが選択されます。
- The community string is equal to the snmpCommunityName value.
- コミュニティ文字列は、snmpCommunityName値に等しくなります。
- If the snmpCommunityTransportTag is an empty string, it is ignored for the purpose of matching. If the snmpCommunityTransportTag is not an empty string, the transportDomain and transportAddress from which the message was received must match one of the entries in the snmpTargetAddrTable selected by the snmpCommunityTransportTag value. The snmpTargetAddrTMask object is used as described in section 5.3 when checking whether the transportDomain and transportAddress matches a entry in the snmpTargetAddrTable.
- snmpCommunityTransportTagが空の文字列である場合、一致する目的で無視されます。snmpCommunityTransportTagが空の文字列でない場合、メッセージが受信されたtransportDomainとtransportAddressは、snmpCommunityTransportTag値によって選択されたsnmpTargetAddrTableのエントリの1つと一致する必要があります。snmpTargetAddrTMaskオブジェクトは、transportDomainとtransportAddressがsnmpTargetAddrTableのエントリと一致するかどうかを確認する際にセクション5.3で説明されているように使用されます。
If no such entry can be found, an authentication failure occurs as described in RFC1157 [2], and the snmpInBadCommunityNames counter is incremented.
そのようなエントリが見つからない場合、RFC1157 [2]に記載されているように認証障害が発生し、snmpInBadCommunityNamesカウンターが増加します。
The parameters returned from the Community-Based Security Model are:
コミュニティベースのセキュリティモデルから返されるパラメーターは次のとおりです。
- The securityEngineID, which will always be the local value of snmpEngineID.0.
- 常にsnmpEngineID.0のローカル価値となるsecurityEngineID。
- The securityName.
- セキュリティ名。
- The scopedPDU. Note that this parameter will actually consist of three values, the contextSnmpEngineID, the contextName, and the PDU. These must be separate values, since the first two do not actually appear in the message.
- scopedPDU。このパラメーターは、実際にはcontextSnmpEngineID、contextName、およびPDUの3つの値で構成されていることに注意してください。最初の2つはメッセージに実際に表示されないため、これらは個別の値である必要があります。
- The maxSizeResponseScopedPDU.
- maxSizeResponseScopedPDU。
- The securityStateReference.
- securityStateReference。
The appropriate SNMP application will then be called (depending on the value of the contextEngineID and the request type in the PDU) using the processPdu ASI. The parameters passed to this ASI are:
processPdu ASIを使用して、適切なSNMPアプリケーションが(contextEngineIDの値とPDUのリクエストタイプに応じて)呼び出されます。このASIに渡されたパラメーターは次のとおりです。
- The messageProcessingModel, which will be 0 (or 1 for SNMPv2c).
- messageProcessingModel。これは0(またはSNMPV2Cの場合は1)になります。
- The securityModel, which will be 1 (or 2 for SNMPv2c).
- securityModelは1(またはSNMPV2Cの場合は2)になります。
- The securityName, which was returned from the call to processIncomingMsg.
- callsincomingmsgへの呼び出しから返されたsecurityName。
- The securityLevel, which is noAuthNoPriv.
- noAuthNoPrivです。
- The contextEngineID, which was returned as part of the ScopedPDU from the call to processIncomingMsg.
- contextEngineID。これは、Calls from processIncomingMsgからScopedPDUの一部として返されました。
- The contextName, which was returned as part of the ScopedPDU from the call to processIncomingMsg.
- contextNameは、ScopedPDUの一部として呼び出しからprocessIncomingMsgへと返されました。
- The pduVersion, which should indicate an SNMPv1 version PDU (if the message version was SNMPv2c, this would be an SNMPv2 version PDU).
- pduVersionは、SNMPV1バージョンPDUを示す必要があります(メッセージバージョンがSNMPV2Cの場合、これはSNMPV2バージョンPDUになります)。
- The PDU, which was returned as part of the ScopedPDU from the call to processIncomingMsg.
- PDUは、ScopedPDUの一部として呼び出しからprocessIncomingMsgへと返されました。
- The maxSizeResponseScopedPDU which was returned from the call to processIncomingMsg.
- maxSizeResponseScopedPDUは、CallからprocessIncomingMsgに返されました。
- The stateReference which was returned from the call to processIncomingMsg.
- processIncomingMsgへの呼び出しから返された統計。
The SNMP application should process the request as described previously in this document. Note that access control is applied by an SNMPv3 command responder application as usual. The parameters as passed to the processPdu ASI will be used in calls to the isAccessAllowed ASI.
SNMPアプリケーションは、このドキュメントで前述のようにリクエストを処理する必要があります。アクセス制御は、通常どおりSNMPV3コマンドレスポンダーアプリケーションによって適用されることに注意してください。processPdu ASIに渡されるパラメーターは、isAccessAllowed ASIへの呼び出しで使用されます。
There is no special processing required for generating an outgoing response. However, the community string used in an outgoing response must be the same as the community string from the original request. The original community string MUST be present in the stateReference information of the original request.
送信応答を生成するために必要な特別な処理はありません。ただし、送信応答で使用されるコミュニティ文字列は、元の要求からのコミュニティ文字列と同じでなければなりません。元のコミュニティ文字列は、元の要求のstateReference情報に存在しなければなりません (MUST)。
In a multi-lingual SNMP entity, the parameters used for generating notifications will be obtained by examining the SNMP-TARGET-MIB and SNMP-NOTIFICATION-MIB. These parameters will be passed to the SNMPv1 Message Processing Model using the sendPdu ASI. The SNMPv1 Message Processing Model will attempt to locate an appropriate community string in the snmpCommunityTable based on the parameters passed to the sendPdu ASI. This is done by performing a search through the snmpCommunityTable in lexicographic order. The first entry for which the following matching criteria are satisfied will be selected:
多言語SNMPエンティティでは、SNMPターゲット-MIBおよびSNMP-Notification-MIBを調べることにより、通知の生成に使用されるパラメーターが取得されます。これらのパラメーターは、sendPdu ASIを使用してSNMPV1メッセージ処理モデルに渡されます。SNMPV1メッセージ処理モデルは、sendPdu ASIに渡されたパラメーターに基づいて、snmpCommunityTableに適切なコミュニティ文字列を見つけようとします。これは、snmpCommunityTableを辞書編集順に検索することによって行われます。次の一致する基準が満たされる最初のエントリが選択されます。
- The securityName must be equal to the snmpCommunitySecurityName value.
- securityNameは、snmpCommunitySecurityName値に等しくなければなりません。
- The contextEngineID must be equal to the snmpCommunityContextEngineID value.
- contextEngineIDは、snmpCommunityContextEngineID値に等しくなければなりません。
- The contextName must be equal to the snmpCommunityContextName value.
- コンテキスト名は、snmpCommunityContextName値に等しくなければなりません。
- If the snmpCommunityTransportTag is an empty string, it is ignored for the purpose of matching. If the snmpCommunityTransportTag is not an empty string, the transportDomain and transportAddress must match one of the entries in the snmpTargetAddrTable selected by the snmpCommunityTransportTag value.
- snmpCommunityTransportTagが空の文字列である場合、一致する目的で無視されます。snmpCommunityTransportTagが空の文字列でない場合、transportDomainとtransportAddressは、snmpCommunityTransportTag値によって選択されたsnmpTargetAddrTableのエントリの1つと一致する必要があります。
If no such entry can be found, the notification is not sent. Otherwise, the community string used in the outgoing notification will be the value of the snmpCommunityName column of the selected row.
そのようなエントリが見つからない場合、通知は送信されません。それ以外の場合、発信通知で使用されるコミュニティ文字列は、選択した行のsnmpCommunityName列の値になります。
The SNMP-COMMUNITY-MIB contains objects for mapping between community strings and version-independent SNMP message parameters. In addition, this MIB provides a mechanism for performing source address validation on incoming requests, and for selecting community strings based on target addresses for outgoing notifications. These two features are accomplished by providing a tag in the snmpCommunityTable which selects sets of entries in the snmpTargetAddrTable [18]. In addition, the SNMP-COMMUNITY-MIB augments the snmpTargetAddrTable with a transport address mask value and a maximum message size value. These values are used only where explicitly stated. In cases where the snmpTargetAddrTable is used without mention of these augmenting values, the augmenting values should be ignored.
SNMP-Community-MIBには、コミュニティ文字列とバージョンに依存しないSNMPメッセージパラメーターをマッピングするためのオブジェクトが含まれています。さらに、このMIBは、着信要求でソースアドレスの検証を実行し、発信通知のターゲットアドレスに基づいてコミュニティ文字列を選択するメカニズムを提供します。これらの2つの機能は、snmpTargetAddrTable [18]でエントリのセットを選択するsnmpCommunityTableにタグを提供することで実現されます。さらに、SNMP-Community-MIBは、トランスポートアドレスマスク値と最大メッセージサイズ値を備えたsnmpTargetAddrTableを強化します。これらの値は、明示的に記載されている場合にのみ使用されます。これらの増強値に言及せずにsnmpTargetAddrTableが使用されている場合、増強値は無視する必要があります。
The mask value, snmpTargetAddrTMask, allows selected entries in the snmpTargetAddrTable to specify multiple addresses (rather than just a single address per entry). This would typically be used to specify a subnet in an snmpTargetAddrTable rather than just a single address. The mask value is used to select which bits of a transport address must match bits of the corresponding instance of snmpTargetAddrTAddress, in order for the transport address to match a particular entry in the snmpTargetAddrTable. The value of an instance of snmpTargetAddrTMask must always be an OCTET STRING whose length is either zero or the same as that of the corresponding instance of snmpTargetAddrTAddress.
マスク値、snmpTargetAddrTMaskを使用すると、SNMPTARGETGETADDRTABLEで選択されたエントリが複数のアドレスを指定できます(エントリごとに単一のアドレスではなく)。これは通常、単一のアドレスではなく、SNMPTARGETGETADDRTABLEでサブネットを指定するために使用されます。マスク値は、トランスポートアドレスがsnmpTargetAddrTableの特定のエントリを一致させるために、輸送アドレスのどのビットがsnmpTargetAddrTAddressの対応するインスタンスのビットと一致する必要があるかを選択するために使用されます。snmpTargetAddrTMaskのインスタンスの値は、常にsnmpTargetAddrTAddressの対応するインスタンスの長さと同じオクテット弦でなければなりません。
Note that the snmpTargetAddrTMask object is only used where explicitly stated. In particular, it is not used when generating notifications (i.e., when generating notifications, entries in the snmpTargetAddrTable only specify individual addresses).
snmpTargetAddrTMaskオブジェクトは、明示的に記載されている場合にのみ使用されることに注意してください。特に、通知を生成するとき(つまり、通知を生成するときに、snmpTargetAddrTableのエントリが個々のアドレスのみを指定する場合は使用されません)。
When checking whether a transport address matches an entry in the snmpTargetAddrTable, if the value of snmpTargetAddrTMask is a zero-length OCTET STRING, the mask value is ignored, and the value of snmpTargetAddrTAddress must exactly match a transport address. Otherwise, each bit of each octet in the snmpTargetAddrTMask value corresponds to the same bit of the same octet in the snmpTargetAddrTAddress value. For bits that are set in the snmpTargetAddrTMask value (i.e., bits equal to 1), the corresponding bits in the snmpTargetAddrTAddress value must match the bits in a transport address. If all such bits match, the transport address is matched by that snmpTargetAddrTable entry. Otherwise, the transport address is not matched.
トランスポートアドレスがsnmpTargetAddrTableのエントリと一致するかどうか、snmpTargetAddrTMaskの値がゼロの長さのオクテットストリングである場合、マスク値は無視され、snmpTargetAddrTAddressの値はトランスポートアドレスと正確に一致する必要があります。それ以外の場合、snmpTargetAddrTMask値の各オクテットの各ビットは、snmpTargetAddrTAddress値の同じオクテットの同じビットに対応しています。snmpTargetAddrTMask値(つまり、ビットが1に等しい)に設定されているビットの場合、snmpTargetAddrTAddress値の対応するビットは、輸送アドレスのビットと一致する必要があります。そのようなすべてのビットが一致する場合、トランスポートアドレスはそのsnmpTargetAddrTableエントリと一致します。それ以外の場合、輸送アドレスは一致しません。
The maximum message size value, snmpTargetAddrMMS, is used to determine the maximum message size acceptable to another SNMP entity when the value cannot be determined from the protocol.
最大メッセージサイズの値であるsnmpTargetAddrMMSは、値をプロトコルから決定できない場合に、別のSNMPエンティティに許容できる最大メッセージサイズを決定するために使用されます。
SNMP-COMMUNITY-MIB DEFINITIONS ::= BEGIN
IMPORTS IpAddress, MODULE-IDENTITY, OBJECT-TYPE, Integer32, snmpModules FROM SNMPv2-SMI RowStatus, StorageType FROM SNMPv2-TC SnmpAdminString, SnmpEngineID FROM SNMP-FRAMEWORK-MIB SnmpTagValue, snmpTargetAddrEntry FROM SNMP-TARGET-MIB MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
IpAddress、Module-Identity、Object-Type、Integer32、Snmpv2-Smi RowStatusのsnmpModules、snmpv2-tc SnmpAdminStringのStorageType、snmp-framework-mib SnmpTagValueのSnmpEngineIDのSnmpEngineID、snmpteraddrentrentrentrentrentrentrentrentrentrentrentrentrentrentrentrentrentrentrentrentrentdrentrentrentdrentdrentrentのsnmpengineidSnmpv2-confから;
snmpCommunityMIB MODULE-IDENTITY
LAST-UPDATED "200003060000Z" -- 6 Mar 2000, midnight
ORGANIZATION "SNMPv3 Working Group"
CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com
Subscribe: majordomo@lists.tislabs.com
In msg body: subscribe snmpv3
Chair: Russ Mundy
TIS Labs at Network Associates
Postal: 3060 Washington Rd
Glenwood MD 21738
USA
Email: mundy@tislabs.com
Phone: +1-301-854-6889
Co-editor: Rob Frye
CoSine Communications
Postal: 1200 Bridge Parkway
Redwood City, CA 94065
USA
E-mail: rfrye@cosinecom.com
Phone: +1 703 725 1130
Co-editor: David B. Levi
Nortel Networks
Postal: 3505 Kesterwood Drive
Knoxville, TN 37918
E-mail: dlevi@nortelnetworks.com
Phone: +1 423 686 0432
Co-editor: Shawn A. Routhier
Integrated Systems Inc.
Postal: 333 North Ave 4th Floor
Wakefield, MA 01880
E-mail: sar@epilogue.com
Phone: +1 781 245 0804
Co-editor: Bert Wijnen
Lucent Technologies
Postal: Schagen 33
3461 GL Linschoten
Netherlands
Email: bwijnen@lucent.com
Phone: +31-348-407-775
"
DESCRIPTION
"This MIB module defines objects to help support coexistence
between SNMPv1, SNMPv2c, and SNMPv3."
REVISION "200003060000Z" -- 6 Mar 2000
DESCRIPTION "This version published as RFC 2576."
REVISION "199905130000Z" -- 13 May 1999
DESCRIPTION "The Initial Revision"
::= { snmpModules 18 }
-- Administrative assignments ****************************************
snmpCommunityMIBObjects OBJECT IDENTIFIER ::= { snmpCommunityMIB 1 }
snmpCommunityMIBConformance OBJECT IDENTIFIER ::= { snmpCommunityMIB 2 }
--
-- The snmpCommunityTable contains a database of community strings.
-- This table provides mappings between community strings, and the
-- parameters required for View-based Access Control. --
- ビューベースのアクセス制御に必要なパラメーター。 -
snmpCommunityTable OBJECT-TYPE
SYNTAX SEQUENCE OF SnmpCommunityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table of community strings configured in the SNMP
engine's Local Configuration Datastore (LCD)."
::= { snmpCommunityMIBObjects 1 }
snmpCommunityEntry OBJECT-TYPE
SYNTAX SnmpCommunityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a particular community string."
INDEX { IMPLIED snmpCommunityIndex }
::= { snmpCommunityTable 1 }
SnmpCommunityEntry ::= SEQUENCE {
snmpCommunityIndex SnmpAdminString,
snmpCommunityName OCTET STRING,
snmpCommunitySecurityName SnmpAdminString,
snmpCommunityContextEngineID SnmpEngineID,
snmpCommunityContextName SnmpAdminString,
snmpCommunityTransportTag SnmpTagValue,
snmpCommunityStorageType StorageType,
snmpCommunityStatus RowStatus
}
snmpCommunityIndex OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The unique index value of a row in this table."
::= { snmpCommunityEntry 1 }
snmpCommunityName OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The community string for which a row in this table
represents a configuration."
::= { snmpCommunityEntry 2 }
snmpCommunitySecurityName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A human readable string representing the corresponding
value of snmpCommunityName in a Security Model
independent format."
::= { snmpCommunityEntry 3 }
snmpCommunityContextEngineID OBJECT-TYPE
SYNTAX SnmpEngineID
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The contextEngineID indicating the location of the
context in which management information is accessed
when using the community string specified by the
corresponding instance of snmpCommunityName.
The default value is the snmpEngineID of the entity in
which this object is instantiated."
::= { snmpCommunityEntry 4 }
snmpCommunityContextName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(0..32))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The context in which management information is accessed
when using the community string specified by the corresponding
instance of snmpCommunityName."
DEFVAL { ''H } -- the empty string
::= { snmpCommunityEntry 5 }
snmpCommunityTransportTag OBJECT-TYPE
SYNTAX SnmpTagValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies a set of transport endpoints
from which a command responder application will accept
management requests. If a management request containing
this community is received on a transport endpoint other
than the transport endpoints identified by this object,
the request is deemed unauthentic.
The transports identified by this object are specified in the snmpTargetAddrTable. Entries in that table whose snmpTargetAddrTagList contains this tag value are identified.
このオブジェクトによって識別されるトランスポートは、snmpTargetAddrTableで指定されています。snmpTargetAddrTagListがこのタグ値を含むそのテーブルのエントリが識別されます。
If the value of this object has zero-length, transport
endpoints are not checked when authenticating messages
containing this community string."
DEFVAL { ''H } -- the empty string
::= { snmpCommunityEntry 6 }
snmpCommunityStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row in the
snmpCommunityTable. Conceptual rows having the value
'permanent' need not allow write-access to any
columnar object in the row."
::= { snmpCommunityEntry 7 }
snmpCommunityStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row in the snmpCommunityTable.
An entry in this table is not qualified for activation until instances of all corresponding columns have been initialized, either through default values, or through Set operations. The snmpCommunityName and snmpCommunitySecurityName objects must be explicitly set.
この表のエントリは、デフォルト値または設定操作を介して、対応するすべての列のインスタンスが初期化されるまで、アクティベーションの対象となります。snmpCommunityNameおよびsnmpCommunitySecurityNameオブジェクトを明示的に設定する必要があります。
There is no restriction on setting columns in this table
when the value of snmpCommunityStatus is active(1)."
::= { snmpCommunityEntry 8 }
-- -- The snmpTargetAddrExtTable --
--- snmptargetaddrextable-
snmpTargetAddrExtTable OBJECT-TYPE
SYNTAX SEQUENCE OF SnmpTargetAddrExtEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table of mask and mms values associated with the
snmpTargetAddrTable.
snmpTargetAddrTable。
The snmpTargetAddrExtTable augments the
snmpTargetAddrTable with a transport address mask value
and a maximum message size value. The transport address
mask allows entries in the snmpTargetAddrTable to define
a set of addresses instead of just a single address.
The maximum message size value allows the maximum
message size of another SNMP entity to be configured for
use in SNMPv1 (and SNMPv2c) transactions, where the
message format does not specify a maximum message size."
::= { snmpCommunityMIBObjects 2 }
snmpTargetAddrExtEntry OBJECT-TYPE
SYNTAX SnmpTargetAddrExtEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a particular mask and mms value."
AUGMENTS { snmpTargetAddrEntry }
::= { snmpTargetAddrExtTable 1 }
SnmpTargetAddrExtEntry ::= SEQUENCE {
snmpTargetAddrTMask OCTET STRING,
snmpTargetAddrMMS Integer32
}
snmpTargetAddrTMask OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The mask value associated with an entry in the
snmpTargetAddrTable. The value of this object must
have the same length as the corresponding instance of
snmpTargetAddrTAddress, or must have length 0. An
attempt to set it to any other value will result in
an inconsistentValue error.
The value of this object allows an entry in the snmpTargetAddrTable to specify multiple addresses. The mask value is used to select which bits of a transport address must match bits of the corresponding instance of snmpTargetAddrTAddress, in order for the transport address to match a particular entry in the snmpTargetAddrTable. Bits which are 1 in the mask value indicate bits in the transport address which must match bits in the snmpTargetAddrTAddress value.
このオブジェクトの値により、snmpTargetAddrTableのエントリが複数のアドレスを指定できます。マスク値は、トランスポートアドレスがsnmpTargetAddrTableの特定のエントリを一致させるために、輸送アドレスのどのビットがsnmpTargetAddrTAddressの対応するインスタンスのビットと一致する必要があるかを選択するために使用されます。マスク値の1であるビットは、輸送アドレスのビットを示しており、snmpTargetAddrTAddress値のビットに一致する必要があります。
Bits which are 0 in the mask indicate bits in the transport address which need not match. If the length of the mask is 0, the mask should be treated as if all its bits were 1 and its length were equal to the length of the corresponding value of snmpTargetAddrTable.
マスク内の0であるビットは、一致する必要がない輸送アドレスのビットを示しています。マスクの長さが0の場合、マスクはすべてのビットが1であり、その長さがsnmpTargetAddrTableの対応する値の長さに等しいかのように扱う必要があります。
This object may not be modified while the value of the
corresponding instance of snmpTargetAddrRowStatus is
active(1). An attempt to set this object in this case
will result in an inconsistentValue error."
DEFVAL { ''H }
::= { snmpTargetAddrExtEntry 1 }
snmpTargetAddrMMS OBJECT-TYPE
SYNTAX Integer32 (0|484..2147483647)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum message size value associated with an entry
in the snmpTargetAddrTable."
DEFVAL { 484 }
::= { snmpTargetAddrExtEntry 2 }
--
-- The snmpTrapAddress and snmpTrapCommunity objects are included
-- in notifications that are forwarded by a proxy, which were
-- originally received as SNMPv1 Trap messages.
--
snmpTrapAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The value of the agent-addr field of a Trap PDU which
is forwarded by a proxy forwarder application using
an SNMP version other than SNMPv1. The value of this
object SHOULD contain the value of the agent-addr field
from the original Trap PDU as generated by an SNMPv1
agent."
::= { snmpCommunityMIBObjects 3 }
snmpTrapCommunity OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"The value of the community string field of an SNMPv1
message containing a Trap PDU which is forwarded by a
a proxy forwarder application using an SNMP version
other than SNMPv1. The value of this object SHOULD
contain the value of the community string field from
the original SNMPv1 message containing a Trap PDU as
generated by an SNMPv1 agent."
::= { snmpCommunityMIBObjects 4 }
-- Conformance Information *******************************************
snmpCommunityMIBCompliances OBJECT IDENTIFIER
::= { snmpCommunityMIBConformance 1 }
snmpCommunityMIBGroups OBJECT IDENTIFIER
::= { snmpCommunityMIBConformance 2 }
-- Compliance statements
- コンプライアンスステートメント
snmpCommunityMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP engines which implement the SNMP-COMMUNITY-MIB."
snmpCommunityMIBComplianceモジュールコンプライアンスステータス現在の説明「SNMP-Community-Mibを実装するSNMPエンジンのコンプライアンスステートメント。」
MODULE -- this module MANDATORY-GROUPS { snmpCommunityGroup }
モジュール - このモジュールの必須グループ{snmpCommunityGroup}
OBJECT snmpCommunityName
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT snmpCommunitySecurityName
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT snmpCommunityContextEngineID
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT snmpCommunityContextName
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT snmpCommunityTransportTag
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT snmpCommunityStorageType
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
OBJECT snmpCommunityStatus
MIN-ACCESS read-only
DESCRIPTION "Write access is not required."
::= { snmpCommunityMIBCompliances 1 }
snmpProxyTrapForwardCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMP engines which
contain a proxy forwarding application which is
capable of forwarding SNMPv1 traps using SNMPv2c
or SNMPv3."
MODULE -- this module
MANDATORY-GROUPS { snmpProxyTrapForwardGroup }
::= { snmpCommunityMIBCompliances 2 }
snmpCommunityGroup OBJECT-GROUP
OBJECTS {
snmpCommunityName,
snmpCommunitySecurityName,
snmpCommunityContextEngineID,
snmpCommunityContextName,
snmpCommunityTransportTag,
snmpCommunityStorageType,
snmpCommunityStatus,
snmpTargetAddrTMask,
snmpTargetAddrMMS
}
STATUS current
DESCRIPTION
"A collection of objects providing for configuration
of community strings for SNMPv1 (and SNMPv2c) usage."
::= { snmpCommunityMIBGroups 1 }
snmpProxyTrapForwardGroup OBJECT-GROUP
OBJECTS {
snmpTrapAddress,
snmpTrapCommunity
}
STATUS current
DESCRIPTION
"Objects which are used by proxy forwarding applications
when translating traps between SNMP versions. These are
used to preserve SNMPv1-specific information when
translating to SNMPv2c or SNMPv3."
::= { snmpCommunityMIBGroups 3 }
END
終わり
The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat.
IETFは、知的財産またはその他の権利の有効性または範囲に関して、この文書に記載されているテクノロジーの実装または使用に関連すると主張される可能性のある他の権利、またはそのような権利に基づくライセンスがどの程度であるかについての程度に関連する可能性があるという立場はありません。利用可能;また、そのような権利を特定するために努力したことも表明していません。標準トラックおよび標準関連のドキュメントの権利に関するIETFの手順に関する情報は、BCP-11に記載されています。出版のために利用可能にされた権利の請求のコピーと、利用可能になるライセンスの保証、またはこの仕様の実装者またはユーザーによるそのような独自の権利の使用のための一般的なライセンスまたは許可を取得しようとする試みの結果を得ることができますIETF事務局から。
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.
IETFは、関心のある当事者に、この基準を実践するために必要な技術をカバーする可能性のある著作権、特許、または特許出願、またはその他の独自の権利を注意深く招待するよう招待しています。情報をIETFエグゼクティブディレクターに宛ててください。
This document is the result of the efforts of the SNMPv3 Working Group. The design of the SNMP-COMMUNITY-MIB incorporates work done by the authors of SNMPv2*:
このドキュメントは、SNMPV3ワーキンググループの努力の結果です。SNMP-Community-MIBの設計には、SNMPV2*の著者が行った作業が組み込まれています。
Jeff Case (SNMP Research, Inc.) David Harrington (Cabletron Systems Inc.) David Levi (SNMP Research, Inc.) Brian O'Keefe (Hewlett Packard) Jon Saperia (IronBridge Networks, Inc.) Steve Waldbusser (International Network Services)
ジェフケース(SNMP Research、Inc。)David Harrington(Cabletron Systems Inc.)David Levi(SNMP Research、Inc。)Brian O'Keefe(Hewlett Packard)Jon Saperia(IronBridge Networks、Inc。)Steve Waldbusser(International Network Services)
Although SNMPv1 and SNMPv2 do not provide any security, allowing community names to be mapped into securityName/contextName provides the ability to use view-based access control to limit the access of unsecured SNMPv1 and SNMPv2 operations. In fact, it is important for network administrators to make use of this capability in order to avoid unauthorized access to MIB data that would otherwise be secure.
SNMPV1とSNMPV2はセキュリティを提供しませんが、コミュニティ名をsecurityName/contextNameにマッピングできるようにします。実際、ネットワーク管理者は、そうでなければ安全なMIBデータへの不正アクセスを避けるために、この機能を利用することが重要です。
Further, the SNMP-COMMUNITY-MIB has the potential to expose community strings which provide access to more information than that which is available using the usual 'public' community string. For this reason, a security administrator may wish to limit accessibility to the SNMP-COMMUNITY-MIB, and in particular, to make it inaccessible when using the 'public' community string.
さらに、SNMP-Community-MIBには、通常の「パブリック」コミュニティ文字列を使用して利用可能な情報よりも多くの情報にアクセスできるコミュニティ文字列を公開する可能性があります。このため、セキュリティ管理者は、SNMP-Community-MIBへのアクセシビリティを制限し、特に「パブリック」コミュニティ文字列を使用する場合にアクセスできないようにすることをお勧めします。
When a proxy implementation translates messages between SNMPv1 (or SNMPv2c) and SNMPv3, there may be a loss of security. For example, an SNMPv3 message received using authentication and privacy which is subsequently forwarded using SNMPv1 will lose the security benefits of using authentication and privacy. Careful configuration of proxies is required to address such situations. One approach to deal with such situations might be to use an encrypted tunnel.
プロキシ実装がSNMPV1(またはSNMPV2C)とSNMPV3の間でメッセージを翻訳すると、セキュリティの損失がある可能性があります。たとえば、SNMPV1を使用して転送される認証とプライバシーを使用して受信したSNMPV3メッセージは、認証とプライバシーを使用するセキュリティメリットを失います。このような状況に対処するには、プロキシの慎重な構成が必要です。このような状況に対処するための1つのアプローチは、暗号化されたトンネルを使用することです。
[1] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based internets", STD 16, RFC 1155, May 1990.
[1] Rose, M. and K. McCloghrie、「TCP/IPベースのインターネットの管理情報の構造と識別」、STD 16、RFC 1155、1990年5月。
[2] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990.
[2] Case, J., Fedor, M., Schoffstall, M. and J. Davin、「Simple Network Management Protocol」、STD 15、RFC 1157、1990年5月。
[3] McCloghrie, K. and M. Rose, Editors, "Concise MIB Definitions", STD 16, RFC 1212, March 1991.
[3] McCloghrie, K. and M. Rose, Editors、「Concise MIB Definitions」、STD 16、RFC 1212、1991年3月。
[4] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991.
[4] Rose, M.、「SNMPで使用するトラップを定義するための慣習」、RFC 1215、1991年3月。
[5] McCloghrie, K. and M. Rose, "A Convention for Describing SNMP-based Agents", RFC 1303, February 1992.
[5] McCloghrie, K. and M. Rose、「SNMPベースのエージェントを説明するためのコンベンション」、RFC 1303、1992年2月。
[6] Case, J., McCloghrie, K., Rose, M. and S.Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996.
[6] Case, J., McCloghrie, K., Rose, M. and S.Waldbusser、「コミュニティベースのSNMPV2の紹介」、RFC 1901、1996年1月。
[7] 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.
[7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser、「管理情報の構造バージョン2(SMIV2)」、STD 58、RFC 2578、1999年4月。
[8] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
[8] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser、「SMIV2のテキストコンベンション」、STD 58、RFC 2579、1999年4月。
[9] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
[9] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser、「Smiv2の適合ステートメント」、STD 58、RFC 2580、1999年4月。
[10] Case, J., McCloghrie, K., Rose, M. and S.Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
[10] Case, J., McCloghrie, K., Rose, M. and S.Waldbusser、「Simple Network Management Protocol(SNMPV2)のバージョン2のプロトコル操作」、RFC 1905、1996年1月。
[11] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996.
[11] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser、「単純なネットワーク管理プロトコル(SNMPV2)のバージョン2の輸送マッピング」、RFC 1906、1996年1月。
[12] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Management Information Base for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1907, January 1996.
[12] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser、「Simple Network Management Protocol(SNMPV2)のバージョン2の管理情報ベース」、RFC 1907、1996年1月。
[13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Coexistence between Version 1 and Version 2 of the Internet-standard Network Management Framework", RFC 1908, January 1996.
[13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser、「インターネット標準ネットワーク管理フレームワークのバージョン1とバージョン2の共存」、RFC 1908、1996年1月。
[14] Levi, D. and B. Wijnen, "Mapping SNMPv2 onto SNMPv1 within a bi-lingual SNMP agent", RFC 2089, January 1997.
[14] Levi, D. and B. Wijnen、「SNMPV2を二律SNMPエージェント内のSNMPV1にマッピング」、RFC 2089、1997年1月。
[15] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[15] Bradner, S.、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。
[16] Harrington, D. and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, May 1999.
[16] Harrington, D. and B. Wijnen、「SNMP管理フレームワークを説明するためのアーキテクチャ」、RFC 2571、1999年5月。
[17] Case, J., Harrington, D. and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, May 1999.
[17] Case, J., Harrington, D. and B. Wijnen、「Simple Network Management Protocol(SNMP)のメッセージ処理とディスパッチ」、RFC 2572、1999年5月。
[18] Levi, D., Meyer, P. and B. Stewart, "SNMP Applications", RFC 2573, May 1999.
[18] Levi, D., Meyer, P. and B. Stewart、「SNMP Applications」、RFC 2573、1999年5月。
[19] Blumenthal, U. and Wijnen, B., "The User-Based Security Model for Version 3 of the Simple Network Management Protocol (SNMP)", RFC 2574, May 1999.
[19] Blumenthal, U. and Wijnen, B.、「Simple Network Management Protocol(SNMP)のバージョン3のユーザーベースのセキュリティモデル」、RFC 2574、1999年5月。
[20] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model for the Simple Network Management Protocol (SNMP)", RFC 2575, May 1999.
[20] Wijnen, B., Presuhn, R. and K. McCloghrie、「Simple Network Management Protocol(SNMP)のビューベースのアクセス制御モデル」、RFC 2575、1999年5月。
Rob Frye CoSine Communications 1200 Bridge Parkway Redwood City, CA 94065 U.S.A.
Rob Frye CoSine Communications 1200 Bridge Parkway Redwood City、CA 94065 U.S.A.
Phone: +1 703 725 1130
EMail: rfrye@cosinecom.com
David B. Levi Nortel Networks 3505 Kesterwood Drive Knoxville, TN 37918 U.S.A.
David B. Levi Nortel Networks 3505 Kesterwood Drive Knoxville、TN 37918 U.S.A.
Phone: +1 423 686 0432
EMail: dlevi@nortelnetworks.com
Shawn A. Routhier Integrated Systems Inc. 333 North Ave 4th Floor Wakefield MA 01880 U.S.A.
Shawn A. Routhier Integrated Systems Inc. 333 North Ave 4th Floor Wakefield MA 01880 U.S.A.
Phone: + 1 781 245 0804
EMail: sar@epilogue.com
Bert Wijnen Lucent Technologies Schagen 33 3461 GL Linschoten Netherlands
Bert Wijnen Lucent Technologies Schagen 33 3461 GL Linschotenオランダ
Phone: +31 348 407-775
EMail: wijnen@lucent.com
- Editorial changes to comply with current RFC requirements.
- 現在のRFC要件に準拠するための編集の変更。
- Added/updated copyright statements.
- 著作権ステートメントを追加/更新しました。
- Added Intellectual Property section.
- 知的財産セクションを追加しました。
- Replaced old introduction with complete new introduction/overview.
- 古い紹介を完全に新しい紹介/概要に置き換えました。
- Added content for the Security Considerations Section.
- セキュリティに関する考慮事項セクションのコンテンツを追加しました。
- Updated References to current documents.
- 現在のドキュメントへの参照を更新しました。
- Updated text to use current SNMP terminology.
- 現在のSNMP用語を使用するテキストを更新しました。
- Added coexistence for/with SNMPv3.
- Snmpv3との共存を追加しました。
- Added description for SNMPv1 and SNMPv2c Message Processing Models and SNMPv1 and SNMPv2c Community-based Security Models.
- SNMPV1およびSNMPV2Cメッセージ処理モデルとSNMPV2Cコミュニティベースのセキュリティモデルの説明を追加しました。
- Added snmpCommunityMIB so that SNMPv1 and SNMPv2 community strings can be mapped into the SNMP Version Independent paramaters which can then be used for access control using the standard SNMPv3 View-based Access Control Model and the snmpVacmMIB.
- SNMPV1およびSNMPV2コミュニティ文字列をSNMPバージョンの独立パラメーターにマッピングできるように、snmpCommunityMIBを追加して、標準のSNMPV3ビューベースのアクセス制御モデルとsnmpVacmMIBを使用してアクセス制御に使用できます。
- Added two MIB objects such that when an SNMPv1 notification (trap) must be converted into an SNMPv2 notification we add those two objects in order to preserve information about the address and community of the originating SNMPv1 agent.
- SNMPV1通知(TRAP)をSNMPV2通知に変換する必要がある場合、2つのMIBオブジェクトが追加され、これらの2つのオブジェクトを追加して、発信元のSNMPV1エージェントのアドレスとコミュニティに関する情報を保持します。
- Included (and extended) from RFC2089 the SNMPv2 to SNMPv1 mapping within a multi-lingual SNMP Engine.
- RFC2089からSNMPV2からMulti-Lingual SNMPエンジン内のSNMPV1マッピングに含まれる(および拡張)。
- Use keywords from RFC 2119 to describe requirements for compliance.
- RFC 2119のキーワードを使用して、コンプライアンスの要件を説明します。
- Changed/added some rules for converting a MIB module from SMIv1 to SMIv2.
- MIBモジュールをSMIV1からSMIV2に変換するためのいくつかのルールを変更/追加しました。
- Extended and improved the description of Proxy Forwarder behaviour when multiple SNMP versions are involved.
- 複数のSNMPバージョンが関与している場合、プロキシフォワーダーの動作の説明を拡張および改善しました。
Copyright (C) The Internet Society (2000). All Rights Reserved.
Copyright(c)The Internet Society(2000)。無断転載を禁じます。
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
このドキュメントと翻訳は他の人にコピーされて提供される場合があります。また、それについてコメントまたは説明する派生作品、またはその実装を支援することは、いかなる種類の制限なしに、準備、コピー、公開、および部分的に配布される場合があります。、上記の著作権通知とこの段落がそのようなすべてのコピーとデリバティブ作品に含まれている場合。ただし、このドキュメント自体は、インターネット協会や他のインターネット組織への著作権通知や参照を削除するなど、いかなる方法でも変更できない場合があります。インターネット標準プロセスに従うか、英語以外の言語に翻訳するために必要な場合に従う必要があります。
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
上記の限られた許可は永続的であり、インターネット社会またはその後継者または譲受人によって取り消されることはありません。
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
この文書と本書に含まれる情報は、「現状」に基づいて提供されており、インターネット社会とインターネットエンジニアリングタスクフォースは、ここにある情報の使用が行われないという保証を含むがこれらに限定されないすべての保証を否認します。特定の目的に対する商品性または適合性の権利または黙示的な保証を侵害します。
Acknowledgement
謝辞
Funding for the RFC Editor function is currently provided by the Internet Society.
RFCエディター機能の資金は現在、インターネット協会によって提供されています。