SNMP(MIB:管理情報ベース)
SNMPに対応したネットワーク機器は、MIB(Management Information Base)と呼ばれるネットワーク機器についての管理情報を蓄積したデータベースを持っています。
MIBに格納されている個々の管理情報のことをオブジェクト(Object)と呼び、オブジェクトは管理情報を一意に識別するための固有のOID(Object IDentifier)を持っています。
MIBのオブジェクトは、下図のように階層構造で管理されています。

OIDは、ピリオドで区切られた数字で表現します。
例えば、機器についての説明文字列を意味するsysDescrは、「.1.3.6.1.2.1.1」、ノードの管理者の情報を意味するsysContactは、「.1.3.6.1.2.1.4」のように表現します。
エージェントは、マネージャからの要求に対してMIBの情報を通知したり、エージェントからマネージャに機器の状態の変化を通知するTrapで通知を行います。
マネージャは、これらの通知でネットワークの状態を監視できるようになっています。
SNMP(ポーリング/トラップ)
SNMPは、以下の3種類の動作でネットワークの状態を監視できるようになっています。
- マネージャからエージェントへの要求とその応答
- マネージャからエージェントへの管理情報の更新要求とその応答
- エージェントからマネージャへの状態変化を通知

SNMPは、マネージャがコマンドを発行して、エージェントがそれに応答するポーリングが基本動作になっていますが、監視対象機器に指定しておいたイベントが発生した場合や、しきい値を超えた時にエージェント側から行うTrapという通知を行なうこともできるようになっています。
また、マネージャからエージェントに情報の更新を要求することもできます。
SNMP(メッセージ)
種類の機能を5つのコマンドで実行
SNMPでは、マネージャとエージェント間で、SNMPメッセージをやり取りすることで、ネットワークを管理しています。このSNMPメッセージには、SNMPのバージョンやコミュニティ名、PDU(Protocol Data Units)が含まれています。
SNMPのバージョンには、v1、v2、v3などがあります。
コミュニティ名は、マネージャとエージェント間のパスワードのような役割をする文字列のことで、管理したい機器をグループ化するために使用します。コミュニティ名が一致しないと通信できないようになっています。
PDUには、SNMPのコマンドに当たるデータで下表のように5種類あります。
●マネージャからエージェントへのPDU
SNMPメッセージ | 説明 |
GetRequest | 1つないし複数のオブジェクトをOIDで指定し、オブジェクトの情報取得を要求する。 |
GetNextRequest | 1つないし複数のオブジェクトをOIDで指定し、階層的に次のオブジェクトの情報取得を要求する。 |
SetRequest | 1つないし複数のオブジェクトをOIDで指定し、オブジェクトの情報変更を要求する。 |
●エージェントからマネージャへのPDU
SNMPメッセージ | 説明 |
GetResponse | マネージャからの要求(GetRequest,GetNextRequest,SetRequest)に対する返答 |
Trap | 指定したイベントを検出した時、エラーが発生した時、しきい値を超えた時に自発的に行う通知 |
マネージャからエージェントへの要求とその応答
●GetRequestによる要求
マネージャは、GetRequestにより、1つないし複数のオブジェクトをOIDで指定し、オブジェクトの情報取得を要求します。エージェントは、GetResponseで応答します。

●GetNextRequestによる要求
マネージャは、GetNextRequestにより、1つないし複数のオブジェクトをOIDで指定し、階層的に次のオブジェクトの情報取得を要求します。エージェントは、GetResponseで応答します。

マネージャからエージェントへの管理情報の更新要求とその応答
マネージャは、SetRequestにより、1つないし複数のオブジェクトをOIDで指定し、オブジェクトの情報変更を要求します。エージェントは、GetResponseで応答します。

エージェントからマネージャへの状態変化を通知
エージェントは、指定したイベントを検出した時、エラーが発生した時、しきい値を超えた時に自発的にマネージャに対してTrapで通知を行います。
