SNMP (Simple Network Management Protocol) トラップは、ネットワーク機器 (SNMPエージェント) が、自身で検知した異常や重要なイベントを、ネットワーク管理システム (SNMPマネージャ) に能動的に通知する仕組みのことです。
SNMPトラップの仕組み
通常、SNMPマネージャは、ネットワーク機器の状態を定期的にポーリング (問い合わせ) して監視します。しかし、障害発生時など、緊急性の高い情報を迅速に管理者に伝えるためには、ポーリングだけでは遅延が発生する可能性があります。
そこで、SNMPトラップの仕組みが利用されます。ネットワーク機器は、あらかじめ設定されたイベントが発生すると、自発的に SNMPマネージャに対して通知 (トラップ) を送信します。これにより、管理者はリアルタイムにネットワークの異常を把握し、迅速な対応が可能になります。
SNMPトラップの主な用途
- 障害発生の通知: 機器のダウン、インターフェースのエラー、認証失敗など、ネットワーク障害を管理者に即座に通知します。
- セキュリティイベントの通知: 不正アクセス、設定変更など、セキュリティに関わる重要なイベントを通知します。
- システム状態の変化の通知: CPU使用率の上昇、メモリ不足、ディスク容量の逼迫など、機器のリソース状況の変化を通知します。
- 環境の変化の通知: 温度上昇、電源異常など、物理的な環境の変化を通知します。
SNMPトラップの特徴
- プッシュ型通知: SNMPエージェントからSNMPマネージャへ一方的に送信されます。
- リアルタイム性: 異常発生時などに即座に通知されるため、迅速な対応が可能です。
- UDPベース: プロトコルとしてUDPを使用するため、TCPのようなコネクション確立の手順が不要で、オーバーヘッドが小さいという利点があります。ただし、信頼性はTCPに比べて低くなります (パケットの紛失や順序の逆転が起こる可能性があります)。
- トラップ番号 (Trap OID): どのようなイベントが発生したのかを識別するための番号が含まれています。標準的なジェネリックトラップと、各機器ベンダが独自に定義できるエンタープライズスペシフィックトラップがあります。
SNMPインフォーム (Inform) との違い
SNMPには、トラップと似たような通知メカニズムとして「インフォーム (Inform)」があります。トラップとインフォームの主な違いは以下の点です。
- 応答の有無: トラップは一方的な送信ですが、インフォームはSNMPマネージャからの受信確認応答 (Response PDU) を要求します。これにより、インフォームはトラップよりも信頼性が高いと言えます。
- 信頼性: インフォームは応答を待つため、ネットワーク状況が悪い場合には遅延が発生する可能性があります。一方、トラップは応答を待たないため、ネットワーク負荷は低いですが、未達のリスクがあります。
一般的に、重要度の高いイベント通知には信頼性の高いインフォームが、頻繁に発生する可能性のあるイベント通知には負荷の低いトラップが用いられることがあります。
SNMPトラップは、ネットワーク管理において非常に重要な役割を果たしており、ネットワークの安定運用や障害発生時の迅速な対応に不可欠な機能と言えるでしょう。