【1】SNMP
* SNMP = Simple Network Management Protocol * ネットワークで接続された機器の情報をネットワークで取得し、 管理および監視(モニタリング)するためのプロトコル
SNMPに関するその他の事項
* OSI参照モデルでは、第7層・アプリケーション層に属する * UDPのポート(ポーリングで161番、トラップで162番)が使用される => SNMPマネージャ(後述)は、レスポンスを受け取ることができない時は、 リクエストを再発行すればいいので、信頼性は重要ではないため、 TCPでなく、UDPでいい
【2】注意点
* トラップに頼る監視運用はやめた方がいい => UDPだから信頼性はいまいち。 => 基本はGet-Requestによる定期監視。
【3】関連用語
1)ポーリング
* マネージャからエージェントに対して、 リクエストを送り情報を得る行為
2)トラップ
* オブジェクトの値が事前に指定した状態に変化した場合、 その旨をマネージャに通知する機能
3)コミュニティー名
* SNMPでマネージャがエージェントに対して通信する際に、 コミュニティー名という文字列を使ってやり取りする
【4】SNMP のバージョン
1)SNMPv1 : RFC1157
* コミュニティ名による平文の認証 * SNMPトラップでの再送確認なし
2)SNMPv2c : RFC1901
* コミュニティ名による平文の認証 * SNMPトラップでの再送確認あり
3)SNMPv3 : RFC3410
* コミュニティ名による暗号化された認証 * SNMPトラップでの再送確認あり
参考文献
http://www.itmedia.co.jp/enterprise/articles/0705/16/news011_2.html
【5】基本構成
SNMPは、大きく分けて4つで構成されている [1] SNMPエージェント(監視対象。監視される側) 例:ルータなど [2] SNMPマネージャ(監視する側) [3] SNMP [4] MIB(監視するための情報)
1)構成イメージ
SNMPエージェント <===========> SNMPマネージャ SNMP MIB ↑ ↑ PDUという単位でやりとり SNMPエージェントが持っている機器情報も元に監視
2)MIB
* MIB (Management Information Base) で「ミブ」と読む * SNMPエージェントが保持している機器の管理情報
その他の事項
* CMIP用、SNMP用がある * MIB1.0 ... RFC1156で規定 * MIB2.0 ... RFC1213で規定(★こっちが一般的)
OID(オブジェクト識別子、Object Identifier)
* MIBに格納されている個々の管理情報のことを、 オブジェクト(Object)と呼ぶ * OID(Object IDentifier)とは、 ひとつひとつのオブジェクトを区別するために振られた識別子
【6】SNMPパケット
1)構成イメージ
|<-------->|<----- SNMPヘッダ ---->|<------- PDU --------->| +----------+-----------+-----------+-----------+-----------+ | | | | | | | | | | | | | | | | | | | [1] | [2-1] | [2-2] | [3-1] | [3-2] | | | | | | | | | | | | | | | | | | | +----------+-----------+-----------+-----------+-----------+
1)SNMPパケットの構成
[1] UDPヘッダ [2] SNMPヘッダ [2-1] バージョン [2-2] コミュニティ [3] プロトコル・データ・ユニット(PDU) [3-1] PDUタイプ(メッセージの種類を示す符号) [3-2] メッセージに応じた情報
【7】プロトコル・データ・ユニット(PDU)
* Protocol Data Units
1)PDUタイプ
GetRequest
* SNMPマネージャがSNMPエージェントの情報をリクエストする
GetNextRequest
* SNMPマネージャが前回リクエストした情報の次の情報をリスエストする
GetBulkRequest
* SNMPマネージャが一度に多くの情報をリクエストする
GetResponse
* SNMPエージェントが、SNMPマネージャにレスポンスを送る
SetRequest
* SNMPマネージャが、SNMPエージェントの設定を変更する
Trap
* SNMPエージェントが、SNMPマネージャに ネットワーク機器の状態を通知する
【8】SNMPトラップ
1)SNMPトラップの種類
coldStart
送信プロトコルエンティティの再初期化を検知した。 そのためエンティティの実装が変更された可能性がある
warmStart
送信プロトコルエンティティの再初期化を検知したが、 エンティティの実装に変更はない
linkDown
通信linkの障害を検知
linkUp
通信linkの回復を検知
authenticationFailure
コミュニティー名の一致しないSNMPメッセージの受信
egpNeighborLoss
EGPピアのノードダウン
enterpriseSpecific
Genericに定義されていないTrap
http://www.itmedia.co.jp/enterprise/articles/0705/31/news042_2.html
参考資料
http://ash.jp/net/snmp.htm
http://www.itmedia.co.jp/enterprise/articles/0705/21/news015.html