ネプラスのテックブログ。ネットワーク、クラウド、サーバなどのITインフラ情報を中心に発信中。

  1. ネプラス インフラエンジニア採用
  2. テックマガジン
  3. テクノロジー
  4. ネットワーク監視のSNMPとは?仕組みと特徴をそれぞれ3つ解説

ネットワーク監視のSNMPとは?仕組みと特徴をそれぞれ3つ解説

  • テクノロジー
  • ネットワーク
公開日時:   更新日時:
ネットワーク監視のSNMPとは?仕組みと特徴をそれぞれ3つ解説
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    SNMPとはどのようなプロトコル?


    SNMPとは、UDP/IPネットワーク上のネットワーク機器を監視・制御するための通信プロトコルです。OSI参照モデルでは、アプリケーション層の情報通信方法として定義されています。

    SNMPとはどのようなバージョンがあるのか


    SNMPのバージョンには、SNMPv1、SNMPv2、SNMPv2c、SNMPv3のバージョンがあります。ですが、SNMPv2はほとんど使われることなく、SNMPv2cが主に使われています。

    ここから、SNMPv1、SNMPv2c、SNMPv3の違いについて説明します。

    SNMP v1

    RFC1157で規定されているSNMPを指します。セキュリティレベルはコミュニティベースとなっています。

    下記のコマンドが定義されています。

    コマンド 送信元 役割
    Get SNMPマネージャ 取得したい情報を要求するコマンド。OIDを指定します。
    GetNext SNMPマネージャ 取得したい情報を要求するコマンド。直前に指定したOIDの次のOIDを指定します。
    Set SNMPマネージャ SNMPエージェントを制御/設定するコマンド。OIDを指定します。
    GetResponse SNMPエージェント SNMPマネージャから指定されたOIDに対し、値を返すコマンド。
    Trap SNMPエージェント SNMPエージェントの機器に変化が起きた場合に、自働的にSNMPマネージャへ送られる通知。

    SNMP v2c

    RFC1902から1907で規定されているSNMPを指します。コマンドのフォーマット(PDF)がSNMPv1から拡張されています。セキュリティレベルはSNMPv1と同様にコミュニティベースとなっています。

    SNMPv1のコマンドに加え、下記が定義されています。

    コマンド 送信元 役割
    GetBulk SNMPマネージャ GetNextの拡張版コマンド。範囲を指定することで、GetNext操作を繰り返さなくてもまとまったMIBを取得することが可能。
    INFORM request SNMPエージェント SNMPマネージャへ通知する際に、確認応答を要求するコマンド。

    SNMP v3

    RFC2273から2275で規定されているSNMPを指します。セキュリティレベルは向上しており、SNMPv2cで拡張されたPDUが暗号化できるようになりました。

    SNMPv3で選択できるセキュリティは下記3項目の組み合わせとなります。

    ・メッセージの安全性:パケットの中身を書き換えられないように保護すること。
    ・認証:メッセージの送信元の有効性を判定すること。
    ・暗号化:不正な送信元に内容を読まれることをふせぐため、メッセージの内容自体をミキシングすること。

    SNMPとは?仕組み・特徴・覚えるべき基礎用語について


    SNMPとは、ネットワーク内の装置群を監視し、また制御するために一般的に用いられるプロトコルです。

    Windows、LinuxいずれのOSにおいても、Net-SNMPに代表されるSNMPエージェントのプログラムをインストールすることによって監視・制御の対象とすることができます。

    またSNMPマネージャとしては、代表的な製品にZabbixというオープンソースのソフトウェアがあります。他にもOpManagerのような有償製品からTWSNMPのようにフリーソフトとして提供されているものまで幅広くラインナップがあります。

    ここではIT初心者にとっても理解が進みやすいよう、SNMPの仕組み、特徴や用語の解説を通じて、ネットワーク内の装置を監視・制御するための要件をわかりやすく説明していきます。

    SNMPの仕組み3つ

    SNMPによるネットワークを用いた通信機器の管理は、各通信機器に常駐するSNMPエージェントと管理を目的に用意されたSNMPマネージャで構成されています。

    SNMPエージェントは、マスターエージェントとサブエージェントの2つに役割を分ける構成を取ります。

    ここではマスターエージェント、サブエージェント、マネージャという、構成上の3つの役割を順に説明していきます。

    SNMPの仕組み1:マスターエージェント

    マスターエージェントは、SNMPエージェントの中で、SNMPマネージャとSNMPのプロコルメッセージを交換する役割を担っています。

    マスターエージェントの具体的なプロセスとしてはまず、1)マネージャからのSNMPによる要求を受信し、2)受信した要求内容をサブエージェントに伝達、そして3)サブエージェントからの応答をマネージャに送信する処理となります。

    SNMPの仕組み2:サブエージェント

    サブエージェントは、SNMPマネージャからマスターエージェントを介して伝達された要求に対してシステム内の実処理を行う役割を担っています。

    またトラップのようにエージェント側から自発的に発信する情報に関しては、起点となってマスターエージェントへ伝達する処理も行います。

    いずれの場合も、SNMPマネージャとサブエージェントが直接情報のやりとりを行うことはありません。

    SNMPの仕組み3:マネージャ

    SNMPマネージャは、SNMP構成の中において対象装置の管理情報を収集して監視し、また収集した管理情報を加工して対象装置の設定に変更を加えることで制御を行う役割を担っています。

    管理情報の収集に関しては、SNMPマネージャ側からSNMPエージェントへ必要な管理情報のリクエストを発信して、応答によって収集するパターンと、SNMPエージェントが自発的に装置の状態変化を発信して、SNMPマネージャが受信するパターンの2通りがあります。

    SNMPの特徴3つ

    SNMPはUDPによるシンプルな管理情報の受け渡しが行われる点で、動作が軽くシステムへの負荷が高いというメリットがあります。

    以下ではSNMPの技術的な3つの特徴として、RMON仕様であること、ポーリングによる制御およびトラップによる検知ステムが提供されていることを、順を追って説明していきます。

    SNMPの特徴1:RMON仕様である

    SNMPによる装置の監視はネットワークにおけるRMON(アールモン)機能と組み合わせることで、より総合的な情報を得ることができます。

    RMONとはRemote Network Monitoringの略で、プローブと呼ばれる検出装置を設置することによって、ネットワーク内のトラフィックデータを監視する機能です。

    ネットワーク内のSNMPマネージャおよびスイッチがRMON対応の場合、監視制御システムはSNMPによって管理情報の収集および設定変更制御ができる他、ネットワークトラフィックに関する統計情報の収集を行うことができます。

    SNMPの特徴2:ポーリングという制御・検出方式である

    SNMPプロトコルを用いた装置の監視・制御のうち、SNMPマネージャからネットワーク内の他の装置内にあるSNMPエージェントへ管理情報の送信リクエストを送ります。

    SNMPエージェントからSNMPマネージャへ要求された情報を送信する、という一連のやりとりをSNMPにおけるポーリングと呼びます。

    SNMPマネージャ側からSNMPポーリングを定期的に実施し、ネットワーク内にある他の装置の状態を把握することをSNMP監視と言います。

    SNMPマネージャによってSNMPエージェントに対して管理情報を送信するよう制御を行い、一定間隔で収集された情報から、装置の異常を検出する方式です。

    SNMPポーリングによって取得できる情報については、サーバ装置とネットワーク装置で異なります。サーバ装置に関して取得できる情報としてはCPU使用率、メモリ使用率、ディスク使用率が挙げられます。

    またネットワーク装置に関して取得できる情報としてはCPU使用率、メモリ使用率の他に、ポートごとの送受信されたパケット数、パケットエラー数、ポートの状態(up/down)を挙げることができます。

    SNMPの特徴3:トラップによる検知システム

    SNMPポーリング監視がSNMPマネージャを起点としたネットワークにある他の装置の状態異常検知の方法であったのに対し、SNMPエージェントが自発的にSNMPマネージャへ管理情報を送信する働きをSNMPトラップと呼びます。

    状態異常を検出するための動作という点ではSNMPポーリング監視と目的は同じですが、一定間隔で情報を収集するSNMPポーリングとは異なり、機器に異常が発生次第ただちにSNMPマネージャへ状態異常を通知するという点で、即時性に関して利点があります。

    一方で状態異常の定義が構築されたシステム内で最適化されていない場合、不必要な場合にもSNMPトラップが多くの装置からSNMPマネージャへ送信される可能性があり、重要な状態異常が埋もれて見逃してしまう可能性が高まります。

    このため、SNMPトラップをSNMPポーリングと併用する場合には、SNMPによる監視・制御の定義を入念に検討し、また運用中に最適化していく必要があります。

    SNMPの覚えるべき基礎用語4つ

    SNMPとはアプリケーションレイヤの国際標準プロトコルですが、ネットワークの他の技術では用いられない独自の用語が存在しています。

    下記では独自の用語に加え、ネットワークで用いられる場合に独自の使い方をする基礎用語を含め4つほど紹介していきます。いずれもSNMPの全体像を把握する上で、欠かせない用語と言えます。

    SNMPの覚えるべき基礎用語1:MIB

    MIBとはManagement Information Baseの略で、管理情報ベースと呼ばれることもあります。SNMPプロトコルで受け渡しされて利用するための情報で、ツリー構造のテキストファイルで定義されます。

    SNMPでは一般的にマルチベンダの装置を一元的に監視・制御することが想定されているため、グローバルで標準化されたMIBが存在します。これを標準MIBと呼びます。

    これに対し、SNMP監視・制御の有用性を高めるためにベンダが独自で情報を格納するMIBも存在します。これを拡張MIBと呼びます。

    SNMPの覚えるべき基礎用語2:RMON

    RMONとはRemote network MOnitoringの略で、ネットワークの状態を遠隔地から監視するための技術です。プローブと呼ばれる装置を監視対象ネットワーク下に構成させ、トラフィックに関する統計情報を収集する手段を用います。

    収集できる情報としては総パケット数、ブロードキャストに利用されているパケットなど種別ごとのパケット数、コリジョンエラー数やCRCエラー数が挙げられます。

    またRMONにおいては、プローブにMIBの送信間隔や値の差分比較によるトラップ発行を行うアラームとしての役割を果たすこともあります。

    SNMPの覚えるべき基礎用語3:トラフィック

    通信・ネットワーク分野におけるトラフィックとは、インターネットとLANにおいて、ある期間内に転送され処理されたデータ量を表します。秒・分といった単位時間当たりに換算した数値を指すこともあります。

    SNMPの覚えるべき基礎用語4:SNMPプロトコル仕様

    SNMPとはsimple Network Monitoring Protocolの略で、IPネットワークに接続している装置を監視・制御するための共通方式を意味します。

    IETF(Internet Engineering Task Force)によってRFC.2571に定義されています。

    SNMPとはどのような導入メリットがあるのか


    SNMPは市場の監視アプリケーション製品と比較して、収集できる管理情報量が限定的であると言えます。

    一方で、身の回りにあるネットワーク装置、例えばパソコン、テレビ、ゲーム機やプリンターなど多様なデバイスで考えると、全てが同じベンダとはならないことが一般的です。

    そのような状況で、SNMPにいかなる導入のメリットがあるのかを説明していきます。

    インストールが不要である

    SNMPエージェントのプログラムは、市場の監視システムのように専用のエージェントプログラムをインストールすることは不要というメリットがあります。

    ネットワーク装置においてはほぼプリインストールされているため、新たにエージェントプログラムを用意してインストールすることは不要となります。

    サーバ装置においても、Windows OSに関しては予め「サービスとアプリケーション」からSNMPエージェントの設定を呼び出すことが可能です。

    Linuxについては例えばCent OSの場合はnet-snmpというプログラムを用意し、インストールすることで、他のベンダと同様にSNMPエージェントを有する装置として監視対象とすることが可能です。

    機器のメーカーや機種に拘わらず利用できる

    SNMPプロトコルは、インターネットに関する標準化団体(IETC)によってRFC.2571に定義されたネットワーク内の装置監視・制御のための国際標準仕様です。

    そのため異なったメーカーや機種が混在した装置群であっても、ミドルウェアを介する必要なくネットワーク内に構成して監視・制御することが可能です。

    SNMPとはどのような設定方法がある?


    SNMPは汎用性の高いプロトコルである一方、テキストファイルでの情報伝達、コマンドでの設定処理が必要な点については多少の技術的なハードルがあると言えます。

    以下では、SNMPエージェント側が選択できる設定の種類と方法を紹介し、想定される実際の使われ方とともに説明します。

    読み出し専用として使う場合

    装置にSNMPエージェントの設定をする際、マネージャからの管理情報要求に対して応答するのみで、マネージャによる設定情報の変更を認めない場合は「読み出し専用」と設定することが可能です。

    この設定の場合、SNMPマネージャはエージェント側のオブジェクトストリングス以外のMIB内のすべての情報を読むことはできますが、書き込みアクセスはできません。

    読み出し設定を有効にするには、次の通りコマンドを実行します。
    (enable) set snmp community read-only public(またはコミュニティ名)

    エージェントを読み出し専用で設定する主なケースとしては、該当の装置が外部からの設定変更を受けることが運用上好ましくない場合が挙げられます。

    読み書き可能としての使う場合

    装置にSNMPエージェントの設定をする際、マネージャからの管理情報要求に対する応答に加え、マネージャによる設定情報の変更を受け入れる場合は「読み書き可能」と設定することが可能です。

    この場合、次の2つの設定を使い分けることが可能です。

    1)Read-Write(RW)
    SNMPマネージャはエージェント側のコミュニティストリングス以外のMIB内のすべてのオブジェクトを読み取り、書き込むアクセス権が与えられます。ただしコミュニティストリングスへのアクセスはできません。

    RW設定を有効にするには、次の通りコマンドを実行します。
    (enable)set snmp community read-write public(またはコミュニティ名)

    2)Read-Write-all
    SNMPマネージャはエージェント側のコミュニティストリングスを含めたMIB内のすべてのオブジェクトを読み取り、書き込むアクセス権が与えられます。

    Read-Write-all設定を有効にするには、次の通りコマンドを実行します。
    (enable)set snmp community read-write-all public(またはコミュニティ名)

    エージェントを読み書き可能で設定する主なケースとしては、該当の装置についてSNMPマネージャを通じて設定変更が可能なデバイスとして扱う場合が挙げられます。

    SNMPとはネットワークのトラブルを防止するプロトコルである


    ネットワーク上の装置の状態監視を行う方法は様々あり、システムの構成、対障害性要件や予算など様々な要素が組み合わさって決定されます。

    SNMPは名前の通りシンプルな管理情報のやりとりであるものの、国際的に標準化されているため汎用性が高く、ベンダ間での互換性を懸念する必要がありません。

    昨今のITシステムにおいてはマルチベンダで構成を取ることが一般的であり、SNMPを用いることは装置ごとに監視の可能/不可能が生じることはなくなります。

    RMONとの併用によってネットワーク内の装置全体・トラフィックの双方を監視できるという意味で、SNMPはネットワークのトラブルを防止するプロトコルであると言えます。

    FEnetを運営しているネプラス株式会社はサービス開始から10年以上
    『エンジニアの生涯価値の向上』をミッションに掲げ、
    多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
    ネプラス株式会社ロゴ

    ネプラス株式会社はこんな会社です

    秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • インフラ業界に特化

      インフラ業界に特化

      ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。

      業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。

    • 正社員なのにフリーランスのような働き方

      正社員なのにフリーランスのような働き方

      正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。

      プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。

    • 大手直取引の高額案件

      大手直取引の高額案件

      案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。

      Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。

    • スキルアップ支援

      スキルアップ支援

      不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。

      受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など

      ※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。

    • 現給与を保証します!

      100%現給与保証

      前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。

      ※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。

    • インセンティブ制度

      インセンティブ制度

      ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。

      取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。

    • 社会保険・福利厚生

      社会保険・福利厚生

      社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。

      さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      ネプラスは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    ネプラス株式会社に興味を持った方へ

    ネプラス株式会社では、インフラエンジニアを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    オンライン面接も随時受付中。ぜひお気軽にご応募ください。

    ネプラス株式会社へのご応募はこちら↓
    ネプラス株式会社へのご応募はこちら↓

    新着案件New Job