管理情報ベース(MIB )は、通信ネットワーク内のエンティティを管理するために使用されるデータベースです。多くの場合、簡易ネットワーク管理プロトコル(SNMP)に関連付けられますが、 OSI / ISOネットワーク管理モデルなどの文脈では、より一般的な意味でも使用されます。本来はエンティティ上で利用可能な管理情報の完全な集合を指すものですが、特定のサブセット(より正確にはMIBモジュール)を指す場合もよく使用されます。
MIB内のオブジェクトは、抽象構文記法1(ASN.1)のサブセットである「管理情報構造バージョン2(SMIv2)」(RFC 2578 )を使用して定義されます。解析を実行するソフトウェアはMIBコンパイラです。
データベースは階層的(ツリー構造)であり、各エントリはオブジェクト識別子(OID)によってアドレス指定されます。インターネット関連の文書であるRFCではMIBについて説明されており、特にRFC 1155 「 TCP/IPベースのインターネットにおける管理情報の構造と識別」と、その2つの関連文書であるRFC 1213「TCP/IPベースのインターネットにおけるネットワーク管理のための管理情報ベース」、そしてRFC 1157「簡易ネットワーク管理プロトコル」が挙げられます。
ASN.1
抽象構文記法1 (ASN.1)は、データの表現、符号化、転送、復号化のためのデータ構造を記述する標準的で柔軟な記法です。マシン固有の符号化手法に依存しないオブジェクトの構造を記述するための一連の形式規則を提供し、曖昧さを排除した正確で形式的な記法です。
ASN.1はISOとITU-Tの共同標準であり、1984年にCCITT X.409:1984の一部として最初に定義されました。ASN.1は、より広範な適用範囲を持つため、1988年に独自の標準であるX.208に移行しました。大幅に改訂された1995年版は、X.680標準シリーズに含まれています。[ 1 ]
ASN.1 の適応サブセットである管理情報構造(SMI) は、SNMP で使用するために指定されており、関連する MIB オブジェクトのセットを定義します。これらのセットは MIB モジュールと呼ばれます。
MIB階層
MIB階層は、名前のないルートを持つツリー構造として表すことができます。ツリーの各レベルは、異なる組織によって割り当てられています。最上位レベルのMIB OIDは異なる標準化団体に属し、下位レベルのオブジェクトIDは関連する組織によって割り当てられています。このモデルは、 OSI参照モデルのすべての層にまたがる管理を可能にし、データベース、電子メール、Java参照モデルなどのアプリケーションにも拡張できます。MIBは、このような分野固有の情報や操作すべてに対して定義できるためです。
管理対象オブジェクト(MIBオブジェクトまたはオブジェクトと呼ばれることもあります)は、管理対象デバイスの特定の特性の1つです。管理対象オブジェクトは、1つ以上のオブジェクトインスタンス(基本的には変数)で構成されます。OIDは、MIB階層内で管理対象オブジェクトを一意に識別します。
管理対象オブジェクトには 2 つの種類があります。
- スカラー オブジェクトは単一のオブジェクト インスタンスを定義します。
- 表形式オブジェクトは、MIB テーブルにグループ化された複数の関連オブジェクト インスタンスを定義します。
管理対象オブジェクトの例としてはatInput、単一のオブジェクト インスタンス (ルータインターフェイス上の入力AppleTalkパケットの合計数を示す整数値) を含むスカラー オブジェクトがあります。
SNMPv1およびSMI固有のデータ型
管理情報構造(SMIv1)の最初のバージョンでは、いくつかの SMI 固有のデータ型の使用が指定されており、これらは単純なデータ型とアプリケーション全体のデータ型の 2 つのカテゴリに分類されます。
単純なデータ型
SNMPv1 SMI では、次の 3 つの単純なデータ タイプが定義されています。
- 整数データ型は、 -2 31から 2 31 -1の範囲の符号付き整数です。
- オクテット文字列は、0 から 65,535 オクテットまでの順序付けられたシーケンスです。
- オブジェクト ID は、 ASN.1 で指定された規則に従って割り当てられたオブジェクト識別子を表します。
アプリケーション全体のデータ型
SNMPv1 SMI には、次のアプリケーション全体のデータ タイプが存在します。
- ネットワークアドレスは、特定のプロトコルファミリのアドレスを表します。SMIv1は32ビット(IPv4)アドレスのみをサポートします。SMIv2はオクテット文字列を使用してアドレスを汎用的に表現するため、SMIv1でも使用できます。SMIv1には明示的なIPv4アドレスデータ型がありました。
- カウンターは負でない整数で、最大値に達するまで増加し、その後ゼロに戻ります。SNMPv1では、カウンターサイズは32ビットに指定されています。
- ゲージは、指定された最小値と最大値の間で増減できる非負の整数です。ゲージによって表されるシステムプロパティがその範囲外にある場合、ゲージ自体の値は、RFC 2578で規定されているように、それぞれの最大値または最小値を超えて変化することはありません。
- 時間ティックは、あるイベント以降の時間を 100 分の 1 秒単位で表します。
- Opaques は、SMI で使用される厳密なデータ型に準拠しない任意の情報文字列を渡すために使用される任意のエンコードを表します。
- 整数は符号付き整数値の情報を表します。このデータ型は、ASN.1では任意精度、SMIでは有限精度の整数データ型を再定義します。
- 符号なし整数は、符号なし整数値の情報を表します。これは、値が常に非負である場合に便利です。このデータ型は、ASN.1では任意精度ですが、SMIでは有限精度である整数データ型を再定義します。
SNMPv1 MIBテーブル
SNMPv1 SMIは、表形式オブジェクト(複数の変数を含むオブジェクト)のインスタンスをグループ化するために使用される、高度に構造化されたテーブルを定義します。テーブルは0個以上の行で構成され、SNMPマネージャーが単一のGet、、GetNextまたはSetコマンドで行全体を取得または変更できるようにインデックスが付けられています。
SMIv2
SMIの2番目のバージョン(SMIv2)は、RFC 2578およびRFC 2579で説明されています。SMIv2では、ビット文字列、ネットワークアドレス、カウンタなど、SMIv1固有のデータ型が拡張および追加されています。ビット文字列はSMIv2でのみ定義され、値を指定する0個以上の名前付きビットで構成されます。ネットワークアドレスは、特定のプロトコルファミリのアドレスを表します。カウンタは、最大値に達するまで増加し、その後0に戻る非負の整数です。SMIv1では、32ビットのカウンタサイズが指定されています。SMIv2では、32ビットと64ビットのカウンタが定義されています。
SMIv2では、関連する定義のグループを指定する情報モジュールも規定されています。SMI情報モジュールには、MIBモジュール、コンプライアンスステートメント、および機能ステートメントの3種類があります。
- MIB モジュールには、相互に関連する管理対象オブジェクトの定義が含まれています。
- コンプライアンス ステートメントは、標準に準拠するために実装する必要がある管理対象オブジェクトのグループを体系的に記述する方法を提供します。
- 機能ステートメントは、エージェントがMIBグループに対して要求するサポートレベルを正確に示すために使用されます。NMSは、各エージェントに関連付けられた機能ステートメントに応じて、エージェントに対する動作を調整できます。
MIBモジュールの更新
MIBモジュールは、新機能の追加、曖昧さの解消、不具合の修正のために定期的に更新されます。これらの変更は、RFC 2578のセクション10およびRFC 2579のセクション5に準拠して行われます。何度も更新されているMIBモジュールの例として、 RFC 1213で最初に定義された重要なオブジェクトセット(「MIB-II」とも呼ばれます)が挙げられます。このMIBモジュールはその後分割され、RFC 4293「インターネットプロトコル(IP)の管理情報ベース」、RFC 4022「伝送制御プロトコル(TCP)の管理情報ベース」、RFC 4113「ユーザデータグラムプロトコル(UDP)の管理情報ベース」、RFC 2863「インタフェースグループMIB」、RFC 3418「簡易ネットワーク管理プロトコル(SNMP)の管理情報ベース(MIB)」などのMIBモジュールに含まれています。
例
└── SNMPv2-MIB(.1.3.6.1.2.1) └── システム(.1) ├── システム説明 (.1) ├── システムオブジェクトID (.2) ├── システム稼働時間 (.3) ├── システム名 (.5) ├── sysContact (.4) ├── sysLocation (.6) ├── sysServices (.7) ├── sysOR最終変更 (.8) └── sysORテーブル (.9) └── sysOREntry (.1) ├── sysORIndex (.1) ├── sysORID (.2) ├── sysORDescr (.3) └── sysORUpTime (.4) sysName の値を呼び出すには、次のようにします。
# snmpwalk 10 .32.13.36 -v2c -c public sysName SNMPv2-MIB::sysName.0 = 文字列: SOME_HOSTNAME- または
# snmpwalk 10 .32.13.36 -v2c -c public .1.3.6.1.2.1.1.5 SNMPv2-MIB::sysName.0 = 文字列: SOME_HOSTNAME- または
# snmpwalk 10 .32.13.36 -v2c -c public .1.3.6.1.2.1.1.5.0 SNMPv2-MIB::sysName.0 = 文字列: SOME_HOSTNAME索引
IETFなどの標準化団体、民間企業、その他の団体 によって定義された MIB は多数あります。
IETFが維持
IETFの最初の5000件のRFCのうち、MIBを含むRFCは318件あります。このリストは、これまでに作成されたMIBのほんの一部です。
- SNMP - SMI : RFC 1155 — 管理情報の構造 (SMI) を定義します
- MIB-I : RFC 1156 — 歴史的にはCMOTで使用されていましたが、 SNMPでは使用されません。
- SNMPv2-SMI : RFC 2578 — 管理情報バージョン2の構造(SMIv 2)
- MIB-II : RFC 1213 — TCP/IPベースのインターネットのネットワーク管理のための管理情報ベース
- SNMPv2-MIB : RFC 3418 — 簡易ネットワーク管理プロトコル (SNMP) の管理情報ベース (MIB)
- TCP-MIB : RFC 4022 — 伝送制御プロトコル (TCP) の管理情報ベース
- UDP-MIB : RFC 4113 — ユーザーデータグラムプロトコル (UDP) の管理情報ベース
- IP-MIB : RFC 4293 — インターネット プロトコル (IP) の管理情報ベース
- IF-MIB : RFC 2863 — インターフェースグループMIB
- ENTITY-MIB : RFC 4133 — エンティティMIB(バージョン3)
- ENTITY-STATE-MIB : RFC 4268 — エンティティ状態MIB
- ALARM-MIB : RFC 3877 — アラーム管理情報ベース (MIB)
- ファイバーチャネル
- HPR-IP-MIB : RFC 2584 — IP ネットワークにおける APPN/HPR の管理オブジェクトの定義
IEEEが維持
IETFとIEEEは、IEEEの活動(例えばイーサネットやブリッジング)に関連するMIBをそれぞれのIEEEワークグループに移管することに合意しました。この作業は現在進行中で、いくつかの項目は完了しています。
- ネットワークブリッジ
- IEEE 802.1ap-2008 [ 2 ]は、ブリッジングネットワークに関連するIEEEおよびIETF RFCを8つの関連MIBに統合しました。
- 管理情報ベース(MIB)モジュール / IEEE 802.1
参考文献
外部リンク
- ByteSphere の MIB データベースは、何千もの SNMP MIB を収容する無料のオンライン MIB リポジトリです。
- SimpleWeb MIBアーカイブ2012-06-19 at the Wayback Machine
- MIBインデックス、ICIR。
- MIB コンパイラと MIB のロード、Cisco。
- ipMonitorのSNMPセンターは2013年1月3日にarchive.todayにアーカイブされました。
- MIB Depot 2008年12月23日アーカイブ- MIBの広範なリスト
- PEN(民間企業番号)レジストリ
- PENリクエスト権限
MIBブラウザ
- SnmpB: Windows、OSX、Linux 用のグラフィカル オープン ソース MIB ブラウザー。
- mbrowse: GTK+ と Net-SNMP に基づいた、Linux 用のグラフィカル SNMP MIB ブラウザー。
- BlackOwl MIB ブラウザ: RFC から MIB を抽出し、グラフを表示できる Windows および Linux 用のグラフィカル MIB ブラウザ。
- SMI-Mib ブラウザ: グラフィカル MIB ブラウザ(2010 年 5 月 18 日現在、このプロジェクトはアクティブな開発が行われていません)。
- MBJ: Javaで書かれたグラフィカルMIBブラウザ
- JMibBrowser: Javaで書かれたグラフィカルなMIBブラウザ。SNMPリクエストを送信し、MIBデータを動的に読み込むことができます。
- JManager: Javaで書かれたオープンソースのSNMPマネージャー。MIBのインポートが可能で、IPv6をサポートしています。
- qtmib: C++で書かれたオープンソースのグラフィカルMIBブラウザ。Net -SNMPのフロントエンドとして構築されています。
- iReasoning MIB ブラウザ: Java で書かれたグラフィカル MIB ブラウザ。MIB ファイルを読み込み、SNMP リクエストを発行します。Windows、OS X、Linux で利用できます。
- tkmib: Tk/perl を使用したグラフィカル MIB ブラウザ。Net -SNMP に含まれています。