2. 管理ターゲット (Management Targets)
「管理ターゲット」という用語は、コマンドジェネレータまたは通知オリジネータアプリケーションが対話したいアプリケーション(本書の目的においては、通知レシーバアプリケーションまたはコマンドレスポンダアプリケーションのいずれか)を指すために使用されます。これらのアプリケーションは、リモートにある場合もあれば、コマンドジェネレータまたは通知オリジネータと同じ場所に配置されている場合もあります。
管理ターゲットは、以下の組み合わせによって識別されます。
-
トランスポートドメインとトランスポートアドレス: ターゲットアプリケーションのネットワーク上の場所を識別します。トランスポートドメインは使用されるトランスポートプロトコル(例: UDP over IPv4、TCP over IPv6など)を定義し、トランスポートアドレスはそのドメイン内の特定のアドレス(例: IPアドレスとポート番号)を提供します。
-
SNMPメッセージパラメータ: メッセージ処理モデル、セキュリティモデル、セキュリティレベル、およびセキュリティ名を含みます。メッセージ処理モデルの選択は、通常、SNMPプロトコルバージョン(SNMPv1、SNMPv2c、またはSNMPv3)に依存します。
これらのパラメータは、管理ターゲットへの到達方法と、それと安全に通信する方法を定義します。
トランスポートドメインとトランスポートアドレス
トランスポートドメインは、管理ターゲットとの通信に使用されるトランスポートプロトコルを識別します。一般的なトランスポートドメインには以下があります。
- snmpUDPDomain: UDP over IPv4
- snmpTCPDomain: TCP over IPv4
- snmpUDP6Domain: UDP over IPv6
- snmpTCP6Domain: TCP over IPv6
各トランスポートドメインには、対応するトランスポートアドレス形式があります。たとえば、snmpUDPDomainの場合、トランスポートアドレスはIPv4アドレスとUDPポート番号で構成されます。
トランスポートドメインは、SNMPのトランスポートマッピングを定義するRFC 3417 [RFC3417]で定義されています。
SNMPメッセージパラメータ
SNMPメッセージパラメータは、管理ターゲットと通信する際に使用するSNMPバージョンとセキュリティ設定を定義します。
メッセージ処理モデル (Message Processing Model)
メッセージ処理モデルは、SNMPメッセージ形式のバージョンを識別します。
- 0: SNMPv1メッセージ形式
- 1: SNMPv2cメッセージ形式
- 2: 予約済み
- 3: SNMPv3メッセージ形式
セキュリティモデル (Security Model)
セキュリティモデルは、SNMPメッセージを保護するために使用されるセキュリティメカニズムを定義します。
- 1: SNMPv1セキュリティモデル
- 2: SNMPv2cセキュリティモデル
- 3: ユーザーベースセキュリティモデル (USM)、RFC 3414 [RFC3414]で定義
セキュリティレベル (Security Level)
セキュリティレベルは、必要な保護レベルを定義します。
- noAuthNoPriv: 認証も暗号化も不要
- authNoPriv: 認証は必要だが暗号化は不要
- authPriv: 認証と暗号化の両方が必要
セキュリティ名 (Security Name)
セキュリティ名は、SNMP操作が誰の代理で実行されるかを識別する文字列です。セキュリティ名の解釈は、使用されているセキュリティモデルに依存します。
USM(ユーザーベースセキュリティモデル)の場合、セキュリティ名は、関連する認証キーおよび暗号化キーを持つ構成済みユーザーを識別します。
管理ターゲットの使用
コマンドジェネレータおよび通知オリジネータアプリケーションは、管理ターゲット情報を使用して以下を決定します。
- SNMPメッセージの送信先: トランスポートドメインとトランスポートアドレスを使用します。
- メッセージのフォーマットと保護方法: メッセージ処理モデル、セキュリティモデル、セキュリティレベル、およびセキュリティ名を使用します。
本書で定義されているMIBモジュール(具体的にはSNMP-TARGET-MIB)は、これらの管理ターゲット定義を構成および管理するための標準化された方法を提供します。
コンテキスト情報 (Context Information)
管理ターゲット情報に加えて、SNMP操作ではコンテキスト情報も指定する必要があります。
- contextEngineID: 目的の管理情報を含むSNMPエンジンを識別します。
- contextName: そのSNMPエンジン内の特定のコンテキスト(管理情報の集合)を識別します。
コマンドレスポンダと直接通信するコマンドジェネレータの場合、contextEngineIDは通常、コマンドレスポンダのSNMPエンジンを識別します。プロキシシナリオでは、contextEngineIDはプロキシの背後にある別のSNMPエンジンを識別する場合があります。
コンテキスト情報により、単一のSNMPエンジンが、それぞれ異なるコンテキストにある複数の管理情報インスタンスを維持できるようになります。これは、複数の仮想デバイスや分離された管理ドメインをサポートするデバイスにとって特に有用です。