オフィスなどのネットワークが停止してしまうと、業務に大きな支障をもたらします。万が一障害が発生した場合、早急に復旧させる必要があります。そのためにはネットワークにつながっているどの機器でどのような障害が発生しているか、ネットワークを切り分けることで原因を突き止めます。この切り分けに際して重要な役割を担うのが、SNMPでありSNMPトラップなのです。
目次
SNMPトラップの基礎知識
そもそもSNMPとは?
SNMP(Simple Network Management Protocol)は、TCP/IPネットワーク環境の監視・管理を担う、プロトコルのひとつです。ルータやスイッチングハブといったネットワーク機器、Windows、UNIXといったサーバなどの状態を監視します。監視できる内容は、トラフィックやリソース、パフォーマンスといったものから、CPUやメモリの使用率、プロセスやイベントログなどさまざまです。機器によっては、製品やメーカー固有の監視項目を付与しているものもあります。
※プロトコル:通信プロトコルを略したもので、通信に関わる「規格」のことをいいます。プロトコルにはそれぞれ役目があり、SNMPのほかにもさまざまなプロトコルがあります。
※スイッチングハブ:LANにおいて放射状に分岐させるための集線装置です。いわば通信の分配器のような役割を持っています。
SNMPトラップとは?
SNMPトラップの前に、まず「トラップ(Trap)」を知っておきましょう。トラップは異常を検知したときに、あらかじめ定めた処理を行うことをいいます。ネットワーク用語としてのトラップは、主に障害発生時のイベント通知のことです。
したがってSNMPトラップとは、SNMPで監視した内容をイベントとして通知することをいいます。
SNMPトラップの仕組み
では具体的に、SNMPやSNMPトラップはどのようにして通知を行うのでしょうか。ここではSNMPとSNMPトラップの動作の違いと、それに関係するいくつかの用語を解説します。

SNMPマネージャ
SNMPを管理する機器やソフトウェアのことを、SNMPマネージャと呼びます。機器の情報を取得し、監視や管理に活かします。
SNMPエージェント
SNMPの管理対象となる機器をエージェントと呼びます。ルータやスイッチングハブ、サーバなどがこれに該当します。
MIB
MIB(Management Information Base)は監視対象である機器に内蔵される、機器の情報です。管理情報データベースとも呼ばれます。機器情報や設定、状態などのデータが格納されていて、その形式や参照方法は規格化されています。
SNMPの動作
SNMPはSNMPマネージャとSNMPエージェントが通信し合い、監視や制御を行います。SNMPエージェントは、監視対象のネットワーク機器やサーバのMIBから情報を取り出し、その情報をSNMPマネージャに通知します。情報を受け取ったSNMPマネージャは、それをもとに監視対象機器の状態を判断するのです。
簡単にいえば、SNMPマネージャがSNMPエージェントに対してポーリングを行い(SNMPポーリング)、SNMPエージェントがそれに対応する形で情報を送信します。多くの場合、定期的にSNMPポーリングを行い、取得した情報を監視に活かします。
※ポーリング:相手のコンピュータに対して、こちらに送信したい情報があるか問い合わせることをいいます。
SNMPトラップの動作
SNMPとは異なり、SNMPトラップはSNMPエージェント自らSNMPマネージャに情報を送信します。SNMPトラップは、機器に異常が発生したことを検知(トラップ)したときに、その情報をSNMPマネージャに送信するのです。
SNMPとSNMPトラップの動作の違い
これまでの解説のとおり、SNMPは「SNMPマネージャがSNMPエージェントにポーリングして情報を得る」、SNMPトラップは「異常を検知したときにSNMPエージェント自らSNMPマネージャに情報を送る」という動作の違いがあります。
SNMPトラップが発行される例
SNMPトラップが機器の異常を検知したときに情報を送ることはわかりました。では、どのような場合にSNMPトラップが動作するのでしょうか。
SNMPトラップは、機器によって通知する内容が決まっているものや、あらかじめどのような事象が起こったときにトラップするか設定できるものがあります。そのため、ここでいう「SNMPトラップが発行される」とは、「SNMPトラップで通知できる内容」のことです。
これらの情報は、前述したMIBに格納されます。その内容と設定をもとにして、該当する場合にSNMPマネージャへ情報を送るのです。
では、どのような情報がSNMPトラップとして利用できるのでしょうか。いくつかの例を紹介します。

poesupply
機器から給電を開始したことを通知します。
oversupply
機器からの給電が容量を超えた場合に通知します。
loopdetect
ネットワーク機器において、ループが発生したことを検出した際に通知します。
※ループ:ネットワークループの略です。本来、”一本の線”であるはずのネットワークが、円環で接続された状態をいいます。ループが発生すると、通信ができなくなります。詳細は割愛しますが、ループによる通信障害は、同一ネットワーク全体に影響を及ぼす危険な状態です。
たとえば、2台のスイッチングハブを2本のLANケーブルで円状に接続すると、ループ状態となります。
linkDown
通信できなくなったことを通知します。
linkUp
通信が可能となったことを通知します。
powerfailure
機器の電源に異常が発生した際に通知します。
SNMPトラップはネットワーク障害を早期に復旧させるための切り札
SNMPはネットワーク機器やサーバの状況を、監視・管理するプロトコルです。機器のMIBから情報を取得するには、定期的に取得するSNMPポーリングか、異常検知できるSNMPトラップで行います。
ネットワーク障害を早急に復旧させるためには、SNMPトラップをうまく使う必要があります。不要な通知をしないよう、しっかりと設計することが大切です。