18.1.4 SNMPv3オペレーション
管理データ(MIB:management information base)の収集や設定を行うため,SNMPでは次に示す四種類のオペレーションがあります。
- 
               GetRequest :指定したMIBの情報を取り出します。 
- 
               GetNextRequest:指定した次のMIBの情報を取り出します。 
- 
               GetBulkRequest:GetNextRequestの拡張版です。 
- 
               SetRequest :指定したMIBに値を設定します。 
各オペレーションはSNMPマネージャから装置(SNMPエージェント)に対して行われます。各オペレーションについて説明します。
- 〈この項の構成〉
(1) GetRequestオペレーション
GetRequestオペレーションは,SNMPマネージャから装置(エージェント機能)に対してMIBの情報を取り出すときに使用します。このオペレーションでは,一つまたは複数のMIBを指定できます。装置が該当するMIBを保持している場合,ResponseオペレーションでMIB情報を応答します。
GetRequestオペレーションを次の図に示します。
|  | 
(2) GetNextRequestオペレーション
GetNextRequestオペレーションは,GetRequestオペレーションに似たオペレーションです。GetRequestオペレーションが指定したMIBの読み出しに使用するのに対し,GetNextRequestオペレーションは指定したMIBの次のMIBを取り出すときに使用します。このオペレーションも一つまたは複数のMIBを指定できます。
GetNextRequestオペレーションを次の図に示します。
|  | 
(3) GetBulkRequestオペレーション
GetBulkRequestオペレーションは,GetNextRequestオペレーションを拡張したオペレーションです。このオペレーションでは繰り返し回数を設定し,指定したMIBの次の項目から指定した繰り返し回数個分のMIBを取得できます。このオペレーションも,一つまたは複数のMIBを指定できます。
GetBulkRequestオペレーションを次の図に示します。
|  | 
(4) SetRequestオペレーション
SetRequestオペレーションは,SNMPマネージャから装置(エージェント機能)に対して行うオペレーションという点でGetRequest,GetNextRequest,GetBulkRequestオペレーションと似ていますが,値の設定方法が異なります。
SetRequestオペレーションでは,設定する値とMIBを指定します。値を設定すると,ResponseオペレーションでMIBと設定値を応答します。
SetRequestオペレーションを次の図に示します。
|  | 
(a) MIBを設定できない場合の応答
MIBを設定できないケースは,次に示す3とおりです。
- 
                     MIBが読み出し専用の場合 
- 
                     設定値が正しくない場合 
- 
                     装置の状態によって設定できない場合 
各ケースによって,応答が異なります。MIBが読み出し専用のときはnotWritableのResponse応答をします。MIBが読み出し専用の場合のSetRequestオペレーションを次の図に示します。
|  | 
設定値のタイプが正しくないときはwrongTypeのResponse応答をします。設定値のタイプが正しくない場合のSetRequestオペレーションを次の図に示します。
|  | 
装置の状態によって設定できない場合,genErrorを応答します。例えば,装置内で値を設定しようとしたときに,装置内部で設定タイムアウトを検出した場合などがこれに当てはまります。装置の状態によって設定できない場合のSetRequestオペレーションを次の図に示します。
|  | 
(5) SNMPv3でのオペレーション制限
SNMPv1およびSNMPv2CではコミュニティとSNMPマネージャのIPアドレスの組み合わせによって確認が行われるのに対し,SNMPv3ではユーザ認証とMIBビューによってMIBのオペレーションを制限します。本装置でSNMPv3を使用するときは,SNMPセキュリティユーザ,MIBビューおよびセキュリティグループをコンフィグレーションコマンドで登録する必要があります。また,トラップを送信するには,SNMPセキュリティユーザ,MIBビュー,セキュリティグループ,およびトラップ送信SNMPマネージャをコンフィグレーションコマンドで登録する必要があります。
(6) SNMPv3 オペレーションのエラーステータスコード
オペレーションの結果エラーが発生した場合,SNMPエージェントはエラーステータスにエラーコードを設定し,何番目のMIB情報でエラーが発生したかをエラー位置番号に設定したResponseオペレーションの応答を返します。オペレーションの結果が正常であれば,エラーステータスにエラーなしのコードを設定し,MIB情報内にオペレーションしたMIB情報を設定したResponseオペレーションの応答を返します。エラーステータスコードを次の表に示します。
| エラーステータス | コード | 内容 | 
|---|---|---|
| noError | 0 | エラーはありません。 | 
| tooBig | 1 | データサイズが大きくPDUに値を設定できません。 | 
| noSuchName | 2 | 指定MIBがない,または書き込みできませんでした。 | 
| badValue | 3 | 設定値が不正です。 | 
| readOnly | 4 | 書き込みできませんでした(本装置では,応答することはありません)。 | 
| genError | 5 | その他のエラーが発生しました。 | 
| noAccess | 6 | アクセスできないMIBに対してsetを行おうとしました。 | 
| wrongType | 7 | MIBで必要なタイプと異なるタイプが指定されました。 | 
| wrongLength | 8 | MIBで必要なデータ長と異なる長さが指定されました。 | 
| wrongEncoding | 9 | ASN.1符号が不正でした。 | 
| wrongValue | 10 | MIB値が不正でした。 | 
| noCreation | 11 | 該当するMIBが存在しません。 | 
| inconsistentValue | 12 | 現在何か理由があって値が設定できません。 | 
| resourceUnavailable | 13 | 値の設定のためにリソースが必要ですが,リソースが利用できません。 | 
| commitFailed | 14 | 値の更新に失敗しました。 | 
| undoFailed | 15 | 値の更新に失敗したときに,更新された値を元に戻すのに失敗しました。 | 
| authorizationError | 16 | 認証に失敗しました。 | 
| notWritable | 17 | セットできません。 | 
| inconsistentName | 18 | 該当するMIBが存在しないため,現在は作成できません。 |