IT用語集

SNMPとは? わかりやすく10分で解説

水色の背景に六角形が2つあるイラスト 水色の背景に六角形が2つあるイラスト
アイキャッチ
目次

SNMP(Simple Network Management Protocol)の概要

ネットワーク管理は、現代の情報社会において非常に重要な役割を果たしています。社内ネットワークやデータセンター、クラウド接続、拠点間VPNなど、通信基盤が止まると業務そのものが止まるためです。その「止まらない運用」を支える代表的な仕組みの一つが、SNMP(Simple Network Management Protocol)です。

SNMPの定義と目的

SNMPは、Simple Network Management Protocolの略で、その名の通りネットワーク管理を効率化するための標準プロトコルです。ネットワーク上のルーター、スイッチ、無線LAN機器、ファイアウォール、サーバー、UPSなどの状態を取得し、必要に応じて設定変更や通知受信を行えます。

特に大規模なネットワーク環境では、機器ごとに管理画面へログインして状況を確認する運用は現実的ではありません。SNMPを使うと、監視サーバー(SNMPマネージャ)が複数機器の状態を一括で収集できるため、稼働状況の把握、障害検知、性能傾向の分析(キャパシティ計画)などに役立ちます。

ネットワーク管理の重要性

ネットワークは、情報を迅速に伝えるための基盤となっています。そのネットワークが停止すると、社内システムの利用停止だけでなく、外部向けサービスの障害、拠点間の連携断、監視やバックアップの停止など、連鎖的な影響が出る可能性があります。

SNMPを利用することで、たとえば「インターフェースのエラーが増えている」「CPU使用率が高止まりしている」「メモリ不足が継続している」「リンクがDown/Upした」といった兆候を早期に捉えられます。これにより、障害の顕在化前に対応できる確率が上がります。また、機器追加・削除や設定変更の影響範囲を把握しやすくなり、運用の見落としやミスの削減にもつながります。

SNMPの基本コンセプト

SNMPのポイントは、「監視対象機器から、共通の形式で管理情報を取り出す」ことにあります。複数ベンダーの機器が混在するネットワークでも、共通の考え方(マネージャ/エージェント/MIB)で状態を把握できるため、監視設計の標準化がしやすくなります。

アプリケーション層のプロトコルとしてのSNMP

SNMPは、OSI参照モデルでいうアプリケーション層に位置づけられる管理用プロトコルです。HTTPがWebの情報取得に使われるのと同様に、SNMPは「管理情報の取得・通知」に特化した仕組みだと捉えると理解しやすいでしょう。

実装上はUDPを利用して通信するのが一般的で、SNMPマネージャ(監視側)からSNMPエージェント(機器側)へ問い合わせを行い、機器は管理情報を返します。通信が軽量である一方、UDPである以上「届かなかった場合の扱い」は運用(監視間隔や再試行、通知設計)で補う必要があります。

ネットワークの監視と管理の方法

SNMPでよく使われる監視の基本は、ポーリング通知の組み合わせです。ポーリングは、一定間隔でマネージャが機器へ問い合わせを行い、状態を定点観測する方式です。通知は、機器側でイベント(リンク断、温度異常、再起動など)が発生した際に、マネージャへ能動的に送信する方式です。

ポーリングは傾向分析に強く、通知は即時性に強いという性質があります。たとえば「回線使用率の推移」はポーリングが向いており、「リンクダウン」は通知が向いています。現場では、重要イベントを通知で受け、詳細の原因分析や状況把握はポーリング値とログで補う、という設計が多いです。

管理(設定変更)については、SNMPのSET操作で可能な場合もありますが、運用では慎重な扱いが必要です。監視用の読み取り権限(read-only)と、設定変更の書き込み権限(read-write)を分け、原則は読み取り中心にするのが安全です。

SNMPの主要なコンポーネント

SNMPは、監視側と機器側が明確に分かれており、役割分担がシンプルです。ここを押さえると、監視設計で「どこに何を設定するか」が整理しやすくなります。

SNMPマネージャとその役割

SNMPマネージャは、監視や管理の中心となるコンポーネントです。監視サーバーやNMS(Network Management System)と呼ばれる製品がこれに当たり、複数機器の管理情報を収集し、グラフ化、しきい値判定、アラート通知、レポート作成などを行います。

たとえば「特定のスイッチのポートエラー数」「ルーターのCPU使用率」「UPSのバッテリー残量」など、異なる種類の機器でも共通の仕組みで取得し、同じ運用ルール(しきい値、通知先、保管期間)に当てはめられる点がマネージャの価値です。

SNMPエージェントとその機能

SNMPエージェントは、監視対象の機器側で動作する機能です。マネージャからの要求に対して管理情報を返し、必要に応じて通知(TRAPやINFORM)を送信します。

エージェントが提供する情報は「機器固有の値」だけではありません。標準MIB(たとえばインターフェース統計、稼働時間など)と、ベンダー独自の拡張MIB(温度センサー、冗長電源状態、装置固有のアラームなど)があり、運用で何を監視するかは、どのMIBを使うかの選定に直結します。

Management Information Base(MIB)の理解

Management Information Base(MIB)は、SNMPで取得・操作する管理情報の「辞書」や「設計図」に相当します。MIBはツリー構造で整理され、各項目にはOID(Object Identifier)というユニークな識別子が割り当てられています。マネージャはOIDを指定して問い合わせを行い、エージェントは該当する値を返します。

具体例として、機器の稼働時間を表す「sysUpTime」や、インターフェースの受信バイト数を表す「ifInOctets」などは、標準MIBとして多くの機器で共通に扱えます。一方、電源やファン、温度などはベンダー独自MIBになることが多く、監視項目の追加時には「その機器のMIBを読み、どのOIDが必要か」を確認する作業が発生します。

SNMPの動作原理

SNMPの動作はシンプルですが、運用上のポイント(ポート、メッセージ種別、情報の取り方)を理解しておくと、監視が「なぜ取れていないのか」「なぜアラートが遅れるのか」といった場面で切り分けがしやすくなります。

SNMPの通信モデル

SNMPの通信は、主にマネージャとエージェント間で行われます。一般に、エージェントはUDP 161番ポートで要求を待ち受け、マネージャはGETなどで問い合わせます。通知(TRAP/INFORM)は、マネージャ側のUDP 162番ポートで受ける構成が一般的です。

UDPベースのため通信が軽量で、監視対象が増えても比較的スケールしやすい一方、ネットワーク混雑やフィルタリング(ACL、FW設定)によって取得できないケースもあります。監視が途切れる場合は、SNMP設定だけでなく、経路・ACL・NAT・FWの許可、監視間隔、再試行回数なども合わせて確認する必要があります。

SNMPのメッセージ形式

SNMPで使われる代表的な操作には、GET(単一取得)、GETNEXT(次の項目へ順次取得)、GETBULK(まとめて取得)、SET(値の設定)、TRAP(イベント通知)、INFORM(受信確認付き通知)などがあります。監視では、ポーリングにGET/GETBULK、通知にTRAP/INFORMが使われます。

GETBULKは、テーブル形式の情報(インターフェース一覧や多数のカウンタ)を効率よく取得できるため、監視対象が多い環境では通信量と処理負荷の両面で効果があります。一方、SETは強力ですが、誤設定が即障害につながるリスクもあるため、監視用途では「原則読み取りのみ」として運用する組織も少なくありません。

Management Information Base(MIB)とOIDの扱い

MIBは、管理情報を階層構造で定義し、OIDで参照できるようにしたものです。運用では「どの値を見たいか」を先に決め、その値がどのMIB・どのOIDに相当するかを確認します。

たとえば、帯域使用率を出す場合は、単に「速度の値」を取るだけでは足りません。インターフェースの送受信カウンタを一定間隔で取得し、差分からbps換算して評価する必要があります。つまり、SNMPは「値を取る仕組み」であって、最終的な指標(率や傾向)に加工するのはマネージャ側の役割になります。

SNMPのセキュリティ

SNMPは監視・管理の入り口になるため、セキュリティ設計が不十分だと、情報漏洩だけでなく「監視対象機器の制御」に悪用される可能性があります。特にSNMPv1/v2cは仕組み上の制約が大きく、運用で補えない部分があるため、基本方針を明確にしておくことが重要です。

SNMPのセキュリティレベルとその違い

SNMPv3には、通信の保護レベルとして、noAuthNoPriv(認証なし・暗号化なし)、authNoPriv(認証あり・暗号化なし)、authPriv(認証あり・暗号化あり)の3段階があります。監視データには構成情報や機器情報が含まれることがあるため、可能な限りauthPrivを基本とし、要件上どうしても難しい場合にのみ段階的に下げる、という考え方が安全です。

一方で、SNMPv1/v2cは「コミュニティ文字列」を共有鍵のように用いる仕組みで、暗号化されません。コミュニティ文字列が推測されやすい設定(public/privateなど)になっていると、情報が容易に取得される危険があります。v1/v2cを使う場合は、監視ネットワークの分離、ACLで監視サーバー以外からのSNMPアクセス遮断、読み取り専用の徹底など、運用側での防御が必須になります。

SNMPv3のセキュリティ機能

SNMPv3は、セキュリティ強化を目的として設計され、認証・完全性保護・暗号化を組み合わせられます。代表的な枠組みとして、ユーザーベースのセキュリティモデル(USM)と、ビューベースのアクセス制御モデル(VACM)があります。

USMは「誰がアクセスしたか」をユーザー単位で扱い、認証(改ざん防止と本人性確認)や暗号化(盗聴対策)を提供します。VACMは「どのOID(どの情報)にアクセスしてよいか」を制御し、同じユーザーでも参照範囲を絞る、といった設計を可能にします。

実務では、SNMPv3を有効化しただけで安心せず、監視用ユーザーの権限を最小化し、不要なOID範囲や書き込み権限を与えないことが重要です。また、通知(TRAP/INFORM)についても送信元制限や到達経路の分離を行い、「誰でも通知を投げられる」状態を避けます。

SNMPのバージョンとその特徴

SNMPは複数のバージョンがあり、互換性や機能、セキュリティの水準が異なります。「古い機器が混在する」「監視ソフトの制約がある」などの事情で複数バージョンが混在しやすい領域でもあるため、違いを整理しておくと判断がぶれにくくなります。

SNMPv1、SNMPv2c、SNMPv3の違い

SNMPv1は初期の標準で、基本的な取得(GET/GETNEXT)と通知(TRAP)を中心に構成されています。SNMPv2cは、主に取得効率を高めるための拡張が行われ、GETBULKなどが追加されました。ただし、v2cの「c」はcommunity-basedの意味で、セキュリティはコミュニティ文字列に依存します。

SNMPv3は、v1/v2cの機能を踏まえつつ、認証・暗号化・アクセス制御を標準で備える形で整備されたバージョンです。現代の運用では、基本方針としてv3を第一候補にし、事情がある場合に限定してv2cを使う、という整理が分かりやすいでしょう。

各バージョンのセキュリティと機能

SNMPv1は暗号化がなく、v2cも同様に暗号化を提供しません。どちらも「監視ネットワークの分離」「アクセス元制限」「read-onlyの徹底」など、設計で補う必要があります。SNMPv3は、USM/VACMにより「誰が」「どの範囲を」扱えるかを制御でき、盗聴・なりすまし・改ざんへの耐性を高められます。

また、性能面では、監視対象が増えるほどv2cのGETBULKの効果が出る場面があります。ただし、セキュリティ要件と天秤にかける領域であり、安易にv2cを選ぶのではなく、監視方式(監視ネットワーク分離や暗号化トンネルの利用など)も含めて全体設計で判断することが大切です。

SNMPの利点と制限

SNMPは広く普及している一方、「SNMPだけでネットワーク運用が完結する」ものではありません。強みと弱みを理解し、ログ収集やフロー監視、機器の管理APIなどと組み合わせることで、現場の運用品質が上がります。

SNMPの強みと使用シーン

SNMPの強みは、マルチベンダー環境でも共通の考え方で監視できる点です。機器の種類が増えても、基本は「エージェントからMIBの値を取る」構造が変わらないため、監視設計を横展開しやすくなります。

使用シーンとしては、データセンターやキャンパスネットワークのように機器数が多い環境、拠点が分散していて遠隔監視が必須の環境、または24時間運用でアラート通知の整備が欠かせない環境などが代表的です。監視項目としても、インターフェース統計、機器稼働時間、温度・電源、ハードウェア異常、プロセスの状態など、幅広く対応できます。

SNMPの制限と課題

SNMPの課題の一つは、情報取得が「値の取得」中心であり、粒度や表現が機器依存になりやすい点です。標準MIBで取れる範囲は互換性が高い一方、障害の原因に直結する詳細情報は、ベンダー独自MIBに依存することがあります。結果として、監視項目を深掘りするほど「MIBの調査」と「監視設定のチューニング」が必要になります。

また、ポーリング中心の設計では、監視間隔が長いと検知が遅れ、短いと通信量や機器負荷が上がります。通知(TRAP/INFORM)は即時性がある一方、ネットワーク経路の問題で届かない可能性があるため、重要イベントは「通知+ポーリングで裏取り」のように冗長化して設計するのが堅実です。

セキュリティ面では、v1/v2cの構造上の弱点が代表的です。SNMPv3を優先し、やむを得ずv2cを使う場合は、監視ネットワーク分離、アクセス元制限、コミュニティ文字列管理、書き込み権限の排除といった運用前提を明確にする必要があります。

まとめ

この記事では、SNMPの基本概念から、主要コンポーネント、動作原理、セキュリティ、バージョン差、利点と制限までを整理しました。SNMPは「機器の状態を共通の形式で把握する」ための土台として、今も多くのネットワークで使われています。

SNMPの重要性と今後の展望

IoTの普及やネットワークの複雑化により、監視対象は増え続けています。その中で、SNMPは多機種・多拠点の状態把握を支える基本技術として重要性を保ち続けるでしょう。

一方で、セキュリティ要件の高まりにより、SNMPv3の標準化、監視ネットワークの分離、アクセス制御の厳格化といった運用がより重視されます。SNMPを「便利な監視機能」としてだけでなく、「運用設計と一体の管理基盤」として位置づけることが、安定稼働につながります。

Q.SNMPは何のために使われますか?

ネットワーク機器やサーバーの状態を監視し、必要に応じて管理するために使われます。

Q.SNMPはどの層のプロトコルですか?

OSI参照モデルではアプリケーション層のプロトコルです。

Q.SNMPマネージャとSNMPエージェントの違いは何ですか?

マネージャは監視側で情報を収集し、エージェントは機器側で情報を提供します。

Q.MIBとは何ですか?

SNMPで扱う管理情報を定義した辞書で、OIDを使って参照します。

Q.SNMPのGETとSETは何が違いますか?

GETは情報取得で、SETは機器設定など値の変更に使います。

Q.TRAPとは何ですか?

機器側でイベントが発生したときにマネージャへ送る通知です。

Q.SNMPはどのポート番号を使いますか?

通常、要求はUDP 161番、通知はUDP 162番を使用します。

Q.SNMPv1やSNMPv2cの弱点は何ですか?

暗号化がなく、コミュニティ文字列が漏れると情報取得や不正操作のリスクが高まります。

Q.SNMPv3が推奨される理由は何ですか?

認証・暗号化・アクセス制御を標準で備え、盗聴やなりすまし対策を取りやすいからです。

Q.SNMPだけで監視は完結しますか?

基本監視には有効ですが、ログやフロー監視などと併用するのが一般的です。

記事を書いた人

ソリトンシステムズ・マーケティングチーム