本文へ移動

インフラ転職コンパス運用保守から、設計構築へ。

メニュー

SNMPとは?マネージャーとエージェント、MIBとOIDの仕組みを解説

動画と記事で学ぶ / IP・通信プロトコル

SNMPの仕組みを設計構築の実務目線で解説。マネージャーとエージェント、GetRequestとトラップ、MIBとOIDの違い、OIDのたどり方、TWSNMPとZabbixの使い分けまでまとめます。

ここからは、記事でゆっくり確かめましょう。図や操作の例を見ながら、気になるところから読み進めてください。

SNMPは、ルーターやスイッチの状態を監視するためのプロトコルです。監視する側を「マネージャー」、監視される側を「エージェント」と呼び、UDPの161番と162番を使って情報をやり取りします。

ネットワークを構築する案件は、ほとんどが「監視できること」を要件に含んでいます。そのため、設計構築の現場ではSNMPの設定がほぼ毎回出てきます。会議でも「MIBが」「OIDが」という言葉が普通に飛び交います。この記事では、その会話についていける程度の仕組みを、順番に説明します。

SNMPとは?ポート番号はUDP161と162

SNMP(Simple Network Management Protocol)は、ネットワーク機器の管理・監視・制御を行うためのプロトコルです。

ポート番号 使い道
UDP 161 マネージャーからエージェントへの問い合わせと、その応答
UDP 162 エージェントからマネージャーへのトラップ(通知)

この2つの番号は覚えておいてください。ACLやファイアウォールで監視の通信を許可するときに、必ず使います。ポート番号の基本はポート番号とは?で説明しています。

実際の現場では、監視ソフトの画面にネットワークの構成図が表示され、機器をクリックすると状態が見られる、という使い方をします。その裏側で動いているのがSNMPです。

マネージャーとエージェントの関係

役割 何をするか 具体例
マネージャー 監視する側。情報を要求する 監視ソフトを入れたサーバーやPC
エージェント 監視される側。情報を返す ルーター、スイッチ

やり取りは単純です。マネージャーが「Aという情報をください」と送り、エージェントが「了解です」と返します。

注意点が1つあります。マネージャーとエージェントはパケットで情報を送り合うので、お互いにIPで通信できる状態でなければ監視できません。「SNMPの設定は合っているのに監視できない」というときは、まず経路とACLを確認します。

SNMPのメッセージは5種類

メッセージ 送る方向 内容
GetRequest マネージャー → エージェント OIDを指定して、情報を要求する
GetNextRequest マネージャー → エージェント 直前に指定したOIDの、次の情報を要求する
SetRequest マネージャー → エージェント OIDを指定して、設定の変更を要求する
GetResponse エージェント → マネージャー 要求に対する応答
Trap エージェント → マネージャー 異常が起きたときなどに送る通知

動きとしては、次の3パターンを押さえておけば足ります。

  1. 情報の取得:マネージャーが GetRequest で「このOIDの情報をください」と送り、エージェントが GetResponse で返す
  2. 設定の変更:マネージャーが SetRequest で「この設定を変えてください」と送り、エージェントが GetResponse で「変更しました」と返す
  3. 通知:エージェントが Trap で「リンクダウンしました」と送る

トラップは、機器のほうから送る障害通知

トラップだけは、ほかのメッセージと向きが違います。マネージャーに聞かれて答えるのではなく、エージェントが自分から状態の変化を知らせます。

たとえば、スイッチのポートが故障してリンクダウンしたとします。スイッチは、マネージャーからの問い合わせを待たずに「リンクダウンしました」と通知を送ります。監視画面にアラートが出るのは、この仕組みによるものです。

障害通知やアラートの話が出たら、「トラップのことだな」と思ってください。

MIBとOIDの違い

MIB(ミブ)は、機器が持っている情報を、分類ごとにツリー構造で整理したものです。全機器に共通する情報から、メーカーごとに違う情報まで、大項目・中項目・小項目のように枝分かれして並んでいます。

OIDは、そのツリーの中で、特定の情報にたどり着くまでの道順です。

パソコンのフォルダで考えると分かりやすいです。デスクトップからフォルダを何階層か開いて、目的のテキストファイルにたどり着きます。フォルダの階層構造にあたるのがMIB、ファイルまでのパスにあたるのがOIDです。

用語 意味 パソコンでたとえると
MIB 情報を整理したツリー構造 フォルダの階層
OID 特定の情報までの道順 ファイルのパス
標準MIB 全メーカー共通の部分 どのPCにもあるフォルダ
拡張MIB メーカーが独自に決めた部分 そのメーカーだけのフォルダ

OIDのたどり方(TCPの例)

OIDは、ツリーを上から順にたどり、各階層の番号をつなげたものです。TCPに関する情報を例にします。

iso(1)
 └ org(3)
    └ dod(6)
       └ internet(1)
          └ mgmt(2)
             └ mib-2(1)
                └ tcp(6)

OID:1.3.6.1.2.1.6

上から番号を拾うと 1、3、6、1、2、1、6。これをドットでつないだ「1.3.6.1.2.1.6」がTCPのOIDです。

先ほどの GetRequest は「このOIDの情報をください」という要求でした。その「このOID」に入るのが、こうした番号の並びです。

監視したい情報が取れるかは、機器で決まる

ここが、設計構築の仕事でいちばん関係するところです。

顧客から「この情報を監視したい」と要望が出たとき、それが実現できるかどうかは、その機器がその情報のOIDを持っているかどうかで決まります。持っていなければ、SNMPでは取れません。そして、どの情報のOIDを持っているかは、機器によって違います。

そのため、構築の途中で次のような確認をすることがあります。

  • メーカーのサイトで、その機器のMIBの情報を確認する(MIBファイルをダウンロードできるメーカーもあります)
  • メーカーの営業担当に、監視したい項目に対応しているかを問い合わせる

「監視したい」と言われたら、何を監視したいのかを具体的に聞く。次に、その機器で取れるかを調べる。この順番です。要件を聞く段階での進め方はネットワーク要件定義とは?も参考にしてください。

無料の監視ソフト:TWSNMPとZabbix

ソフト 主な使われ方
TWSNMP 設計構築の検証試験で、SNMPの動作確認に使う
Zabbix 企業のネットワーク監視として、本番環境に導入されている

TWSNMPは、ネットワークエンジニアの間では定番の無料ソフトです。SNMPの設定を入れたら、その設定が正しいかを確かめる必要があります。そこで検証用のPCにTWSNMPを入れ、マネージャーとして動かします。

よくやるのが抜線試験です。リンクアップしているスイッチのポートからケーブルを抜き、TWSNMPに「リンクダウン」のアラートが届くかを確認します。届けば、トラップの設定は合っています。

Zabbixは、オープンソースの統合監視ソフトです。検証試験で使うという話はあまり聞きませんが、企業の本番の監視では広く使われています。無料で使えるので、興味があれば触ってみてください。

よくある質問

SNMPのポート番号は何番ですか?

UDPの161番と162番です。161番は問い合わせと応答、162番はトラップで使います。

MIBとOIDの違いは何ですか?

MIBは情報を整理したツリー構造そのもの、OIDはその中の特定の情報までの道順です。フォルダの階層とファイルのパスの関係と同じです。

GetRequestとトラップは何が違いますか?

GetRequestはマネージャーが情報を取りに行く動き、トラップはエージェントが自分から知らせる動きです。障害通知に使われるのはトラップです。

SNMPで監視できない情報はありますか?

あります。機器がその情報のOIDを持っていなければ取得できません。対応しているかどうかは、メーカーが公開しているMIBの情報か、メーカーへの問い合わせで確認します。

SNMPの設定が正しいかは、どうやって確認しますか?

検証用の監視ソフト(TWSNMPなど)をマネージャーにして、情報が取れるか、ケーブルを抜いたときにトラップが届くかを試します。

このテーマを続けて学ぶ

最近の記事
ピックアップ