除了指定MIB变量及其含义的标准以外,还有一个标准指明一组定义和识别MIB变量的规则。这些规则称为管理信息结构SMI(structure of management information)。SMI为了简化网络管理协议,限制了MIB中变量的类型和命名规则,以及创建定义变量类型的规则。
SMI使用ISO的抽象语法记法1,即ASN.1(abstract syntax notation 1)定义和引用所有MIB变量。ASN.1是一种形式语言,使用它的目的是为了消除异构网络环境下,不同计算机描述同一内容的二义性,从而实现异构计算机的数据项的相同表示。此外,ASN.1还有助于简化网络管理协议的实现和保证互操作性,它严格定义了如何对报文中的一个名字和数据项进行编码。
ASN.1指定如何表示数据项和名字。那么MIB的变量名本身是如何来标识的呢?
MIB变量使用的名字取自ISO和ITU管理的对象标识符 的名字空间,其描述如同一个树型结构,如下图所示。
图中描述的IP地址下MIB变量ipInReceives的名字为:iso.org.dod.internet.mgmt.mib.ip.ipInReceives,相应的数字表示为:1.3.6.1.2.1.4.3。
那么,ASN.1记法是如何来描述MIB变量的呢?我们可以看一个IP地址表描述的例子,如下图所示。可以看出,图中每一项的定义都可以逐步精确。