• SNMPは,TCP/IPネットワークを管理するための標準プロトコルである
  • 情報を要求する側を「マネージャ」,要求に答える側を「エージェント」という
  • マネージャの正体はソフトウエア,エージェントの正体はネット機器が内蔵しているCPUとメモリーである

 ネットワークを構築したあとに待っているのが,ネットワークの管理。ネットワークのどこでどんなことが起こっているのかを把握できれば,トラブルの予防になるし,万一トラブルが発生したときにも素早く対応できる。

 こうしたトラブル対策などのネットワーク運用に欠かせないのがSNMP注11)である。SNMPは,TCP/IPネットワーク上でいろいろな管理情報をやりとりするための標準プロトコル。1990年に標準化され,今やネットワーク管理の標準技術として定着している。

注11)SNMP simple network management protocolの略。現在SNMPの仕様には,バージョン3まで存在する。

基本はとても単純

図4●SNMPで情報をやりとりするしくみ
マネージャがエージェントに各種管理情報を送るよう要求メッセージを出すと,エージェントが適切な管理情報を返す。こうしてマネージャとエージェントが管理情報をやりとりするときに使うプロトコルがSNMPである。
写真4●SNMPマネージャはソフト,SNMPエージェントは装置
SNMPはマネージャとエージェントが管理情報をやりとりするためのプロトコル。

 SNMPの基本はとても単純だ。登場するのは,マネージャとエージェントという二つだけ。この両者がネットワークを介してさまざまな管理情報をやりとりする(図4[拡大表示])。

 マネージャとは,エージェントに対して管理情報を要求するマシンのこと。その実体は,パソコンにインストールしたソフトウエアである(写真4[拡大表示])。このマネージャ・ソフトが,ネットワーク上の機器に対して,さまざまな情報を要求する。

 一方のエージェントは,マネージャからの要求に答える装置である(写真4)。要求された情報が何であるかを解釈して,適切な情報をマネージャに返信する。LANスイッチやルーター,ネットワーク・プリンタなどがSNMPのエージェントになる。エージェントの実体は,ネットワーク機器が搭載したメモリーとCPU上で動くプログラムである。CPU上で動いているエージェント・プログラムが要求内容を理解し,メモリーに保持している多くの情報の中から適切な情報を見つけて返信する。

 では,SNMPを使ってマネージャがエージェントから管理情報を取り出すまでの具体的な手順を見てみよう。

 まず,マネージャがネットワーク上のマシンに対して特定の情報を要求する((1))。するとエージェントは,要求された情報を見つけ出す((2))。情報が見つかったら,エージェントは,その情報をマネージャに返信する((3))。返信された情報は,マネージャ・ソフトが解析して,ユーザーにわかりやすいように画面に表示したりする((4))。

五つのメッセージで情報をやりとり

 (1)~(4)の手順を追って,SNMPを使ったネットワーク管理のしくみを簡単に見てみた。この手順の中でSNMPを使うのは,(2)と(3)の部分。つまり,情報の要求や返答をするときのやりとりを定めたのがSNMPというわけだ。

 やりとりするメッセージの中には,管理情報のフォーマットも含まれる。SNMPでは管理情報をMIB(ミブ)注12)という形式で規定している。MIBは管理項目に番号を振ってツリー構造にまとめたもので,数字だけで機器名や送信データ量といった情報の種類を区別できるようになっている。

注12)MIB management information baseの略。SNMPでやりとりできる情報の名前や種類をツリー構造のデータベースとして定めたもの。

 SNMPのやりとりでは5種類のメッセージ注13)を使う。具体的には,GETリクエスト,GETレスポンス,GET NEXTリクエスト,SETリクエスト,TRAP(トラップ)――というメッセージだ。

注13)5種類のメッセージ 5種類のメッセージを使うのはバージョン1の仕様。バージョン2と3では二つのメッセージが追加されているが,あまり使われていない。

 この中で基本となるのは,GETリクエストとGETレスポンスの二つ。GETリクエストは,マネージャがエージェントに対して,ほしい情報を要求するためのメッセージ。メッセージの中には,MIBで決められた番号で要求する管理情報の種類が書き込まれる。

 GETレスポンスは,エージェントからマネージャに送信するメッセージ。このメッセージの中に,機器名や送信データ量といった実際の情報が入る。

 そのほかのメッセージも簡単に説明しておこう。GET NEXTリクエストは,直前に指定した情報の次の情報を要求するときに使う。SETリクエストはエージェントが持つ情報を書き換えるためのもの。TRAPはエージェントがマネージャに一方的にアラームを通知するときに使う。SNMPではこうしたメッセージをやりとりして,ネットワーク機器に情報を格納したり,機器から情報を取り出しているのである。

製品のランクと価格はさまざま

 一口にSNMP製品といっても,性能や価格は製品によってさまざまだ。マネージャ・ソフトは主に描画機能に,エージェント装置は保持できる情報の数に違いがある。

 特に違いが出るのがマネージャ・ソフトである。トラフィック情報だけを表示するものから,機器名や各種アドレス情報といった基本情報に加えてネットワーク機器の接続構成を表示できるものまでいろいろある。価格は,フリーのものから百万円以上するものまで幅広い。