FE EXAM

SNMP(機器監視・管理プロトコル)

ネットワーク機器の状態を監視・管理するためのプロトコル。

DIAGRAM
マネージャ
エージェント
MIB
マネージャ監視する側(監視サーバ)状態をまとめて把握GET(状態を問合せ)TRAP(異常を自発通知)エージェントルータMIB管理情報の一覧(CPU・通信量など)エージェントスイッチMIB管理情報の一覧(CPU・通信量など)エージェントサーバMIB管理情報の一覧(CPU・通信量など)マネージャが各機器のエージェントに問い合わせ、機器内のMIBから状態を読み取る。異常時はエージェントがTRAPで知らせる。
解説

📌
SNMPとは

多数の機器の状態をまとめて見張る監視サーバルータサーバ

SNMP(Simple Network Management Protocol=簡易ネットワーク管理プロトコル)とは、ネットワーク機器の状態を監視・管理するためのプロトコルです。プロトコル=機器同士が通信するときの決まりごとのことです。

会社のネットワークには、ルータ・スイッチ・サーバなど多くの機器があります。それらが正常に動いているか、通信量やCPU使用率はどうかを1か所からまとめて把握するために使われます。上の図解の左側がその監視役です。

身近な例で考えると、ビルの管理人室にある集中監視パネルに似ています。各階のエレベーターや空調の状態が一覧で表示され、異常があればランプで知らせてくれる──SNMPはこれをネットワーク機器に対して行う仕組みです。

📌
マネージャ・エージェント

SNMPは「監視する側」と「監視される側」の2つの役割で成り立っています。
マネージャ:監視する側。各機器に問い合わせて状態を集める監視サーバ
エージェント:監視される側。ルータやサーバなど各機器に組み込まれたソフトウェア

やりとりには2つのパターンがあります。
GET:マネージャからエージェントへ「今の状態を教えて」と問い合わせ、エージェントが答える
TRAP:エージェント側で異常が起きたとき、聞かれなくてもエージェントからマネージャへ自発的に通知する

GETは管理人が各部屋に電話して状態を尋ねるイメージ、TRAPは火災報知器が自分から警報を鳴らすイメージです。普段はGETで定期的に確認し、緊急時はTRAPで素早く知らせる、と役割が分かれています。

📌
MIBの役割

機器の中にある「管理情報の一覧表」MIBCPU使用率42%通信量120Mbps稼働時間36h

MIB(Management Information Base=管理情報ベース)とは、エージェントが管理する機器の状態情報をまとめたデータベースです。各機器の中に1つずつ持っています。

MIBには、その機器が報告できる項目が決められた形式で並んでいます。
CPU使用率:プロセッサがどれだけ忙しいか
通信量(トラフィック):流れているデータの量
稼働時間:起動してからの経過時間
各項目にはOIDという番号で名前が付けられ、どの機器でも同じ番号で同じ情報を取り出せます。

マネージャがGETで問い合わせると、エージェントはこのMIBから該当する値を読み取って返します。MIBは、図書館の蔵書目録のように「どの情報がどこにあるか」をあらかじめ整理した一覧表だと考えると分かりやすいです。

📌
GETとTRAPの違い

マネージャ監視サーバエージェント各機器GET(定期問合せ)TRAP(異常通知)定期点検(GET)と緊急アラーム(TRAP)の2本立て

SNMPには通信の向きが異なる2つのメッセージがあります。
GET:マネージャからエージェントへ「今の状態を教えて」と問い合わせ、エージェントがMIBの値を返す
TRAP:エージェントで異常が起きたとき、聞かれなくてもエージェントからマネージャへ自発的に通知する

なぜ2種類必要なのか。GETだけだと、マネージャは一定間隔(例:1分ごと)にしか状態を知れません。もし機器がGETの間に壊れた場合、次の問い合わせまで異常に気づけないという問題があります。そこで、異常を検知した機器がすぐに自分から知らせる仕組み(TRAP)を加えることで、遅延なく対応できるようにしています。

身近な例で言うと、GETは管理人が毎日各部屋を見回ることTRAPは住人が異常を感じたときすぐ管理人室に電話することです。定期点検と緊急通報を組み合わせることで、「見落とし」も「遅れ」も防いでいます。

📌
ポート番号と通信方式

SNMPのポート番号(どちらもUDP)161番GET(問合せ)を受け取る162番TRAP(異常通知)を受け取るエージェントが161番で待機 / マネージャが162番で待機

SNMPが使うポート番号(=通信の窓口番号)は2種類あります。
161番:エージェント側が使う。マネージャからのGET(問い合わせ)を待ち受ける
162番:マネージャ側が使う。エージェントからのTRAP(異常通知)を受け取る

SNMPはUDP(=速さ優先の通信方式)を使います。なぜTCPではなくUDPなのか。監視の問い合わせは「届いたら即答するだけ」の小さなやり取りで、TCPのような「確実に届いたか何度も確認する手順」をとるほどではないからです。UDPのほうが処理が軽く、多数の機器を素早く巡回できます。

身近な例で言うと、定期巡回の担当者が各部屋に「異常ありますか?」と一言声をかけて即返事をもらうだけのやり取りに似ています。手紙のやりとり(TCP)では時間がかかりすぎるため、簡単な呼びかけ(UDP)で素早く多くの部屋を確認するわけです。

📝
練習問題

Q1.SNMPの役割として最も適切なものはどれか。

Q2.SNMPのマネージャとエージェントの関係として適切なものはどれか。

Q3.MIBに関する記述として適切なものはどれか。

関連コンテンツ