SNMP(Simple Network Management Protocol) えすえぬえむぴー
簡単に言うとこんな感じ!
ネットワーク機器を一括で見張る「監視カメラシステムの共通言語」だよ!ルーターやスイッチの状態を「今どう?」って定期的に聞いて回ったり、機器の側から「異常が起きたよ!」って通知を送ったりできる仕組みなんだ。
SNMPとは
SNMP(Simple Network Management Protocol) は、ネットワーク上の機器(ルーター・スイッチ・サーバーなど)を一元的に監視・管理するためのプロトコル(通信規約)です。1988年に標準化され、現在もネットワーク運用の現場で広く使われています。
SNMPを使うと、管理者は「管理サーバー(マネージャー)」から複数の機器に対して状態確認や設定変更を行えます。逆に機器の側(エージェント)から、障害発生時に自動で通知を送ることも可能です。「Simple(シンプル)」の名の通り、軽量で実装しやすい設計が特徴で、ベンダー(メーカー)をまたいで使える汎用性の高さが普及の理由です。
ビジネス視点では、「どのネットワーク監視ツールを選ぶか」という場面でSNMP対応の有無が重要な判断基準になります。SNMP対応機器であれば、Zabbix・Cacti・SolarWindsといった監視ソフトウェアで一括管理できるからです。
SNMPの構造と仕組み
SNMPは「マネージャー」「エージェント」「MIB」という3つの要素で成り立っています。
| 構成要素 | 役割 | 具体例 |
|---|---|---|
| マネージャー | 監視の司令塔。機器に問い合わせを送る | 監視サーバー(Zabbix等) |
| エージェント | 機器に組み込まれた監視担当者 | ルーター・スイッチ・サーバーOS |
| MIB(Management Information Base) | 機器の情報を格納する「データの棚」 | CPU使用率・インターフェース状態など |
通信の流れ(3パターン)
SNMPには主に3種類の通信パターンがあります。
| 操作名 | 方向 | 内容 |
|---|---|---|
| Get(ゲット) | マネージャー → エージェント | 情報を取得する(「今の状態を教えて」) |
| Set(セット) | マネージャー → エージェント | 設定を変更する(「この値に変えて」) |
| Trap(トラップ) | エージェント → マネージャー | 異常発生を自動通知(「障害が起きた!」) |
MIBとOIDの関係
MIBの各データ項目には OID(Object Identifier) という番号が割り振られています。木構造の番号体系で、たとえば 1.3.6.1.2.1.1.1.0 はシステムの説明(sysDescr)を表します。機器のベンダー固有の情報は「プライベートMIB」として独自に定義されます。
OIDの例(ドット区切りの番号)
1.3.6.1.2.1.1.1.0 → sysDescr(機器の説明)
1.3.6.1.2.1.1.3.0 → sysUpTime(起動してからの経過時間)
1.3.6.1.2.1.2.2.1.10.X → インターフェースXの受信バイト数
覚え方:「Get・Set・Trap」
「情報を Get して Set して、異常は Trap で通知する」
罠(Trap)を仕掛けておいて、異常が起きたら引っかかって通知が飛んでくるイメージ!
歴史と背景
- 1988年 — RFC 1065/1066/1067としてSNMP v1が標準化。ARPANETの管理ニーズがきっかけ
- 1993年 — SNMP v2c登場。GetBulk(まとめ取得)操作の追加で効率向上。ただしセキュリティ面は依然弱い
- 1998年 — SNMP v3 登場(RFC 2571〜2575)。認証・暗号化機能が追加され、企業用途でのセキュリティ要件をクリア
- 2000年代〜 — Zabbix・Nagios・SolarWinds等の監視ツールが普及し、SNMP対応が「ネットワーク機器の基本仕様」として定着
- 現在 — クラウド環境ではAPIベースの監視も増えているが、オンプレミスのネットワーク機器管理ではSNMPが今も主力
SNMPバージョンの比較
バージョンによってセキュリティ機能が大きく異なります。発注時やベンダー選定時に「どのバージョンに対応しているか」を確認することが重要です。
実務上のポイント: v1・v2cは「コミュニティ名」という文字列が認証代わりですが、平文で流れるため盗聴リスクがあります。セキュリティ要件がある場合は必ず v3を選択してください。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 1157 | SNMP v1 の基本仕様 |
| RFC 1901 | SNMP v2c のコミュニティベース仕様 |
| RFC 3411 | SNMP v3 のアーキテクチャ定義 |
| RFC 3412 | SNMP v3 のメッセージ処理とディスパッチ |
| RFC 3414 | SNMP v3 のユーザーベースセキュリティモデル(USM) |
| RFC 3418 | SNMP MIB の標準定義 |