SNMP、MIB、およびOIDはどのように機能しますか?
この資料では、SNMP、MIB、およびOIDの概要について説明します。PRTGでSNMPによるネットワーク監視を始める前の基本的な知識の習得に役立ちます。
情報源
この資料の情報源は以下のとおりです:
ナレッジベース: How do SNMP, MIBs, and OIDs work?
https://kb.paessler.com/en/topic/653-how-do-snmp-mibs-and-oids-work
本資料はPaessler AG作成の資料/ナレッジベースをジュピターテクノロジー株式会社(以下当社と略記)が独自で翻訳したものです。ベストエフォートの翻訳であるため、最新情報ではない可能性があります。最新情報は情報源をご確認ください。
SNMP、MIB、およびOIDの概要
SNMPはネットワーク監視で最もよく使われる技術の1つです。PRTG Network Monitorのような統合監視プログラムでも使用されています。SNMPはどのように機能するのでしょうか?MIBファイルやOIDとは何でしょうか?この入門記事を読んで、SNMPの世界へ第一歩を踏み出しましょう!
1. SNMPの基本
構成要素
SNMPはSimple Network Management Protocolの略で、主に3つの要素で構成されています。
- 管理対象機器
- エージェント
- ネットワークマネージメントシステム(NMS)
管理対象機器は、管理対象ネットワーク上に存在する多数のノードの1つとして表されます。ルーター、アクセスサーバー、スイッチ、ブリッジ、ハブ、ホストコンピューター、プリンター、さらにはSNMPを「話す」あらゆる種類のIoT機器などが管理対象機器になります。
SNMP管理対象機器には、SNMPエージェントがインストールされています。エージェントは機器の情報をSNMPと互換性のあるフォーマットに変換して、SNMPによる監視に利用できるようにするソフトウェアモジュールです。
ネットワークマネージメントシステムでは監視用のアプリケーションが動作しており、ネットワーク管理に必要な処理や記録を行います。
SNMPのバージョン
SNMPバージョン1はSNMPプロトコルの初期開発版であり(説明はRFC 1157を参照)、Structure of Management Information(SMS)の仕様内で機能し、User Datagram Protocol (UDP)、Internet Protocol (IP)、OSI Connectionless Network Services (CLNS)、AppleTalk Datagram Delivery Protocol (DDP)、Novell Internet Packet Exchange (IPX)上で動作します。
SNMPはさらに進化し(基本的な機能はそのままで、いくつかの機能拡張がありました)、SNMP v2cとSNMP v3が実装されました。ただし、どのSNMPのバージョンを機器に搭載するかは製造元が決定するため、必ずしもすべてのSNMPバージョンの中から選択できるとは限りません。
インターネットコミュニティではSNMP v2cがネットワーク管理プロトコルのデファクトスタンダードと見なされていますが、SNMP v1もまだ使用されています。SNMP v3は、最も安全なSNMPバージョンですが、処理に負荷がかかるためまだ普及していません。
2.MIBとOIDの詳細
定義
MIBはManagement Information Base(管理情報ベース)の略で、管理対象機器の管理対象オブジェクト定義の集合体です。MIBファイルは独自の形式で書かれており、MIBファイルに含まれるオブジェクトの情報は階層構造になっています。様々な情報にはSNMPでアクセスすることができます。
OIDまたは Object Identifier(オブジェクト識別子)はMIB内の管理対象オブジェクトを一意に識別します。
例えば、プリンターの典型的な監視対象のオブジェクトは、カートリッジの様々な状態や印刷されたファイルの数などです。スイッチの場合は、受信トラフィックと送信トラフィック、パッケージ損失率、ブロードキャストアドレス宛てのパケット数などが典型的な監視対象オブジェクトです。すべてのオブジェクトにそれぞれオブジェクト識別子があります。
MIBは階層構造になっていて、ルートから枝葉まで様々なレベルを持つツリーとして表すことができます。各OIDにはOIDツリーのレベルに沿ったアドレスが設定されています。
一般的にOIDはノードをコード化した長い数字の羅列で、ドットで区切られています。OIDの例は次の通りです。
iso(1).org(3).dod(6).internet(1).private(4).transition(868).products(2).chassis(4).card(1).slotCps(2).cpsSlotSummary(1).cpsModuleTable(1).cpsModuleEntry(1).cpsModuleModel(3).3562.3
あるいは
1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3
OIDツリーのノードは、さまざまな組織が割り当てることができます。ルートレベルのMIBオブジェクト(OID)は、さまざまな標準化団体に属しています。機器ベンダーは、自社製品の管理対象オブジェクトを含むプライベートなサブツリーを定義します。(各ベンダーの)製品のすべての管理可能な機能が、このMIBツリー構造の中に配置されます。
例えば、以下のOIDツリーでは4番目のノードは「internet」で、ツリーの葉をさらに下に移動すると、ノードの名前はますます具体的になり、特定のデバイス(またはエージェント)の特定の機能を表すようになります。
OIDは一般的にハードウェアベンダーから提供されます。また、いわゆる「OID Repository」(※JTC注釈:利用者からの情報で収集公開されているツリー情報公開サイト)ではMIBのサブツリーと対応するOIDやMIBファイルのコレクションを見つけることができます。
MIBにふくまれるオブジェクトには、スカラー(単一値)オブジェクトとタブラー(表形式)オブジェクトの2種類があります。スカラーオブジェクトは単一のオブジェクトを定義し、タブラーオブジェクトはMIBテーブルに、グループ化された複数の関連オブジェクトを定義します。
すべての管理対象機器はMIBファイルに記述されている各オブジェクト定義のうちで利用可能なオブジェクトの値をデータベースとして保持します。したがって、オブジェクトのデータが利用可能かどうかは機器の実装に依存します。
SNMPのしくみ
SNMPは基本的に、ネットワークマネージメントシステム(クライアント)がリクエストを送信し、管理対象の機器(サーバー)がレスポンスを返す、クライアント/サーバー通信のように動作します。
最も一般的な4つのリクエストはGet、GetNext、 Set、およびTrapです。SNMPメッセージはヘッダーとPDU(protocol data unit)で構成されています。ヘッダーにはSNMPバージョン番号とコミュニティ名が含まれます。コミュニティ名は、SNMPのセキュリティを高めるためのパスワードのようなものとして使用されます。
その他のSNMPメッセージについてメーカーのwebサイトで紹介されています。
https://www.paessler.com/it-explained/snmp
PDUは送信されるメッセージの種類によって異なります。Get、GetNext、Set、ResponseのPDUは「PDU type」、「Request ID」、「Error status」、「Error index」、「Object/Variable」フィールドで構成されています。Trapは「Enterprise」、 「Agent」、「Agent address」、「Generic trap type」、「Specific trap code」、「Timestamp」、「Object/Value」で構成されています。
監視の例
コンピューターのシステム稼働時間(system uptime)を監視したい場合はHOST-RESOURCES-MIBファイルにある以下のOIDが必要です。
1.3.6.1.2.1.25.1.1.0
例えば、SNMP カスタムセンサーを使うと以下のように表示させることができます。
3. SNMPの専門家になるためには
知識を深める
- Paessler Monitoring Encyclopedia:https://www.paessler.com/it-explained/snmp
- Paessler Webサイト:SNMP. A Pillar In IT: What You Must Know About Its Versions and FCAPS
- Paessler Webサイト:SNMP Explained: What You Must Know About Monitoring via MIB and OIDs
- Paessler Webサイト:If You Use SNMP a Lot and Don’t Know What SMI Is, Then Read This!
実用ガイド
- Paessler Webサイト:How to Enable SNMP on Your Operating System
- Paessler Webサイト:SNMP Doesn’t Work! Can Somebody Out There Please Help?!
- ナレッジベース:KB75522_PRTGにはどのようなSNMPセンサーがありますか?
- ナレッジベース:Where to Find MIB Files
- ナレッジベース:KB903_SNMPカスタムセンサーに必要なOIDを見つけるにはどうすればよいですか
- ナレッジベース:KB65638_SNMPに対応しているデバイスのセンサーがPRTGで見つかりません
- フリーツール:SNMP Tester
- フリーツール:MIB Importer and Converter
免責事項・使用限定事項
ジュピターテクノロジー株式会社(以下当社と略記します)が作成した本ドキュメントに関する免責事項および本ドキュメント使用に関する限定事項は以下の通りです。
本ドキュメントに関する免責事項
本ドキュメントは作成時点においてメーカーより提供された情報および当社での検証結果により作成されたものですが、当社は本ドキュメントの内容に関していかなる保証をするものではありません。万一、内容についての誤りおよび内容に基づいて被った損害が発生した場合でも一切責任を負いかねます。本ドキュメントの内容によりなされた判断による行為で発生したいかなる損害に対しても当社は責任を負いません。
本ドキュメント使用に関する限定事項
別に定める場合を除いて、本ドキュメントの取り扱いは当社より提供を受けたお客様による私的かつ非営利目的での使用に限定されます。お客様は、本ドキュメントについて、変更、コピー、頒布、送信、展示、上映、複製、公開、再許諾、二次的著作物作成、譲渡、販売のいずれも行うことができません。
お問い合わせ
PRTG Network Monitorについて、ご不明な点などございましたらお問い合わせください:
ジュピターテクノロジー株式会社(Jupiter Technology Corp.)
住所: 〒183-0023 東京都府中市宮町2-15-13 第15三ツ木ビル8F
電話番号:042-358-1250
購入前のお問い合わせ先:https://www.jtc-i.co.jp/contact/scontact.php
購入後のお問い合わせ先:https://www.jtc-i.co.jp/support/customerportal/
この記事へのコメントはありません。