2017/04
≪03  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30   05≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
メモ
今回は以下の点について。

SNMPオペレーション(SNMPv1)
=============================

●SNMPv1オペレーション

・オペレーション
SNMPマネージャとエージェントはSNMPパケットの送受信により、
機器設定の取得や設定を行っている。
この取得(Get)や設定(Set)をオペレーションと呼ぶ。

・SNMPメッセージ
SNMPパケットの中には、SNMPに関する様々な情報を持ったSNMPメッセージが含まれている。
メッセージに含まれている情報は下記の通り。
・SNMP Version
・Community
・PDU(ProtocolDataUnit)

・SNMP Version
v1, v2c, v3の3つが存在する。
現在のデファクトスタンダードはSNMPv1だが、
セキュリティ強化の影響でSNMPv3を使用した、アクセスも増加している。

・Community
SNMPv1/v2で、マネージャとエージェント間の認証を行う為に使用される。(パスワード)
また、管理する機器をコミュニティと呼ばれるグループに分け、管理範囲を分割したりする。
マネージャがエージェントに対してオペレーションを実行する際は、コミュニティを指定して問い合わせる必要がある。
エージェントは受信後、自身とメッセージに含まれるコミュニティ情報を比較し、一致していれば応答する。

・PDU(ProtocolDataUnit)
SNMPオペレーションを実行するためのコマンドが含まれている。
GetRequest/GetNextRequest/SetRequest/GetResponse/Trap
※上記はSNMPv1のPDUである。

・Requset/ResponseのPDUフォーマット
PDU Type
request-id
error-status
error-index
variable-bindings

・PDU Type
そのままの意味。PDUの種別を指す。

・request-id
NMSの機器から、複数の問い合わせを受けた際、それぞれを区別するために利用される。
RequestのSNMPパケットに含まれるrequest-idと同じ値がResponse時に使用されることで、
問い合わせと応答を紐づけている。

・error-status
エラーの種類を指す。
noError(0)/tooBig(1)/noSuchName(2)/badValue(3)/readOnly(4)/genErr(5)

・error-index
Request時のSNMPメッセージのどこでエラーが発生したかを示す。

・variable-bindings
要求されたOID情報とMIB値がセットになって含まれている。
例)sysUpTimeを取得した場合、sysUpTimeのOID値と値が入っている。
ここで、variable-bindingsに3つのOID情報が含まれていて、3番目でエラーが発生した場合は、
error-indexに3が設定される。

・GetRequest
SNMPマネージャからエージェントに対して取得要求を行う。
取得要求に対して、エージェントが応答する条件は下記の通り。
1. variable-bindingsに管理対象オブジェクトの情報が存在すること。
2. エージェントの応答制限を上回るサイズのRequestメッセージではないこと。
3. 上記に当てはまらないエラーが発生していないこと。

エラーが発生した場合は、Response-PDUのerror-status/indexに適切な値が設定される。
※Request-PDUのerror-status/indexは0固定

・GetNextRequest
指定したOIDそのものではなく、辞書順で次に来るOIDとその値を取得する。
このコマンドを繰り返すことで、エージェントの持つMIB情報をすべて取得することができる。
マネージャ側がエージェントの持つ管理オブジェクトを知らない場合に役立つ。
条件はGetRequestと同じ。

・SetRequest
エージェントの設定を変更する際に実行される。
RequestのためPDUフォーマットはtype以外は変わらない。
条件はGetと異なる。
1. variable-bindingsに含まれるOIDがReadOnlyでないこと。
2. OIDの型に則していない値でないこと。
3. エージェントの応答制限を上回るサイズのRequestメッセージではないこと。
4. 上記に当てはまらないエラーが発生していないこと。

・GetResponse
もう書かなくてもわかるか。。。
Requestに対する応答を指す。
Requestとは違い、error情報に値が設定される。


今日はここまで。
実はTrapを一番理解してるんだけど、
長くなってしまったので次回か、その次くらいで。
本当はパケットキャプチャの画像載せつつ、これこれ~とかやりたいんだけど、
時間に余裕がない。。。

あ、そういえば、やっぱりASN.1は記法だった。
ASN.1に~と記載されているという表現はやっぱり変っぽい。
ASN.1で記載された~、みたいな表現が正しいと思われる。
スポンサーサイト
Secret
(非公開コメント受付中)

プロフィール

アス

Author:アス
いらっしゃいませ~(´∀` )

カレンダー
03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
このブログについて

・このブログは管理人の日記とプレイしたゲームのことについて書きます。ゲームは大半が音楽ゲームについてになりそうです。

・リンクはフリーです。もちろん、連絡をしていただいた方が嬉しいです。

・記事に対してのコメントを残していただけると嬉しいです。交流も深められますし。

・TBは記事に関係ないものは削除させていただきます。

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。