SNMP (Simple Network Management Protocol) はルーターやサーバ、スイッチなどのネットワーク上の機器を監視・制御するための通信プロトコルです。
SNMPをうまく活用することで、ネットワーク機器に発生した障害を素早く検知したり、ネットワーク上のトラフィック量を把握したりすることが可能になります。

このページでは、ネットワーク初心者向けにSNMPの基本を1からわかりやすく解説します。
ネットワークエンジニアを目指す方であれば知らないと恥ずかしい基本知識の1つ。是非最後までご覧ください。
SNMPとは?わかりやすく
SNMPはSimple Network Management Protocolの略で、その名の通りネットワーク上の機器を監視・制御するためのプロトコルです。

ルーターやサーバ、スイッチ、プリンタなどのネットワーク機器に障害が発生した場合、SNMPを利用して監視を行っていれば即座に障害を検知することが可能になります。

逆にSNMPがないと、ネットワーク上で発生した障害をすぐに検知することができず、迅速な障害復旧が困難となってしまいます。
SNMP:仕組み
SNMPはSNMPマネージャとSNMPエージェントの2つで構成されます。

SNMPマネージャ
SNMPマネージャは、SNMPエージェント(=ネットワーク機器)に対して情報を要求したり、稼働状況を監視したりする役割を担います。

SNMPマネージャとして有名なソフトウェアがZabbixです。他にもOpManagerなど複数のSNMPマネージャソフトウェアが存在します。
SNMPマネージャは、WindowsサーバやLinuxサーバにインストールして利用します。
SNMPエージェント
SNMPエージェントはルーターやスイッチなど、監視される機器上で動作し機器の状態をSNMPマネージャに通知したりする役割を担います。
SNMPマネージャからの要求に従って動作するソフトウェアで、具体的にはルーターやプリンタ、スイッチにインストールされています。
SNMPメッセージ
SNMPマネージャとSNMPエージェントは具体的にはお互いに以下のようなメッセージをやり取りすることで、ネットワーク機器の状態を監視・制御します。

ネットワークスペシャリスト試験などの各種試験で問われることもある内容なので頭に入れておきましょう!
SNMPメッセージ | 送信側 | 説明 |
---|---|---|
Get Request | SNMPマネージャ | SNMPエージェントから得たい情報を要求 |
Get Response | SNMPエージェント | SNMPマネージャから要求された情報を返信 |
TRAP | SNMPエージェント | SNMPエージェントから自発的に送信する障害情報 |
Set Request | SNMPマネージャ | SNMPマネージャから要求された情報を返信 |
それぞれ、SNMPマネージャから送信するメッセージ/SNMPエージェントから送信するメッセージが決まっています。これらのSNMPメッセージを以下の2パターンでやり取りすることで、機器の情報を収集・監視します。
SNMP:ポーリング
ポーリングは、ネットワーク機器の状態を定期的に監視したい場合に利用します。
SNMPマネージャが定期的にSNMPエージェントに対して情報の要求を行い、それに対してSNMPエージェントが応答する仕組みです。

SNMPマネージャからはポート番号:161を利用してGet Requestが発出され、それに応答する形でSNMPエージェントはGet responseを返却します。返却時に利用されるポート番号は162が用いられます。
ポート番号とはコンピュータがTCP/IP通信に使用するプログラムを識別するための番号のこと。
コンピュータ通信は宛先のコンピュータを示すIPアドレスと、コンピュータ内のプログラムを識別するポート番号を用いて通信を行います。

この説明だけではイマイチ重要性がわからない・・・という方は以下の記事も併せてご覧ください。
SNMP:トラップ
対してSNMPトラップとは、ネットワーク機器に障害が発生した場合など不測の事態が起きた際にSNMPエージェントからSNMPマネージャに対して自発的に通知を行う仕組みです。

例えばルーターが突如再起動したり、高負荷がかかったりした場合などに通知されます。
このようにポーリングとトラップというメッセージ交換を行うことでネットワーク上の機器の状態を監視・制御するためのあれこれを定めた約束事がSNMPです。
ネットワークエンジニアとして
コンピュータとコンピュータはどのように通信をしているのか?インターネットはどのような仕組みで構成されているのか?

ネットワークの基礎を1から学習したい方(=ネットワークエンジニアを目指す方)は、以下の書籍が非常におすすめです!
システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。
正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。
システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。