SNMP Protocol SMI (Structure Manegement Information)
SMIはインターネット文書RFC 1155で標準化されていますが、管理情報構造の作成ルールを定めているものです。つまり、管理される装置に関連する種々の情報が後述するMIB内でどのように表現(名前付け)されているか、またその構造はどう表現すべきかを定義しています。(※)
(※)SMIの規定ではすべての管理対象がツリー構造を構成するノードである各管理グループも含めてオブジェクト(Object)というひとつの概念でまとめられています。管理グループと実際の管理要素の違いはそのオブジェクトのタイプの違いだけです。ここでは理解を助けるために、オブジェクト識別子のタイプを持ったオブジェクトは"管理グループ"と表現し、その他の整数(INTEGER)、文字列(OCTEST STRINGS)等のタイプを持った実際の管理要素は"管理オブジェクト"と区別して表現することにします。
管理グループ作成のルール
ここでは階層的なデータ構造を実現するためにツリー構造が採択され、個々の管理グループはオブジェクト識別子(Object Idntifier)による名前付けがされています。名前はその管理対象が絶対的に定まるように、つまり世界に一つしか存在しないように、その名前付けルールが規定されています。
図4にインターネットのMIBツリーの一部を示します。
( )内の番号は、オブジェクト識別子と呼ばれSMIで定義されているオブジェクトとにつけられた数値
ツリー構造の始まりであるルート(ROOT)は特に名前付けされていませんが、その下に3つの管理グループ(CCITT/ISO/JOINT-ISO-CCITT)が位置づけられています。各管理グループにはテキストによる名称と整数による名称の両方が割当られていますが、テキストによる表現は人間がオブジェクトの名前を理解するのを助けるための補助的なものです。
各管理グループの名前はルートから各管理グループ名称をたどった形で表現され、各管理グループ名称間はドット(.)で区切られています。これはコンピュータで言えばディスクのディレクトリの階層表現そのものですので、コンピュータユーザには理解が簡単と思われます。
例えば、図3で管理グループ"ip"は、テキスト表現ではiso.org.dod.internet.mgmt.mib.ipとなり、数値表現では 1.3.6.1.2.1.4 となります。テキスト表現から数値表現を計算によって求めることはできないことに注意して下さい。テキスト表現と数値表現の対応には、規格書をもとに対応表を作成する必要があります。
管理グループの管理情報の構造
データ構造の表現形式には、ISO(International Organization for Standardization)の抽象構文記述法であるASN.1Abstract Syntacs Notation 1 ... ISO 8824)が用いられています。抽象構文は機器に依存したデータ構造や制限から、目的としているデータが影響を受けないように、厳密なデータ構造定義を提供するものです。この厳密な定義によって通常の文書による曖昧さをなくすことができます。厳密に定義された管理データ項目とその名前は相互運用性を保証することにもつながります。
ASN.1自体の説明はここでは紙面の都合上省略しますが、興味のある方は参考文献を参照して下さい。