基于TCP/IP网络的管理结构和标记( 三 )


*定义:对对象类型语义的文本描述 。实现中必须保证对象的实例满足这个定义,因为这个MIB是用于多厂商环境中的,要照顾到它们的情况 。对象在不同的机器上有相同的意义是很重要的 。
*访问:取只读,读写,只写或不能访问这四个值 。
*状态:强制(mandatory),可选(optional)或过时的(obsolete) 。
以后的文档中可能会定义其它域 。
4.1.对象名
在Internet标准中的MIB中的对象名中不能有0,此值留作扩展 。每个和对象类型相对应的OBJECTDESCRIPTOR应该有独一无二的,可记忆和打印的字符串名 。这对于人们的阅读和开发对象用户接口的表机制很有好处 。
4.2.对象类型和实例
一个对象类型就是一类可治理的对象的定义,而对象实例就是一个对象类型的实例,而这个实例已经有值了 。例如,路由表入口的定义在MIB中已有定义,这个定义和一个对象类型相关,给定路由表的单个入口中的那个存在一会儿的值就是对象类型的实例 。
MIB中定义了许多对象类型,每个类型通过OBJECTIDENTIFIER标记,同时也有一个文本名,称为OBJECTDESCRIPTOR 。这标明MIB中的数据假如被访问是由特定协议决定的,而不在MIB中规定 。
一个对象类型可以定义在MIB中,这样一个对象类型的实例可以代表一些信息的集合,也被一些次要对象类型号的实例所代表 。例如,假设下面的对象是定义在MIB中的:
OBJECT:atIndex{atEntry1}
Syntax:INTEGER
Definition:物理地址的接口号
Access:read-write.
Status:mandatory.
OBJECT:atPhysAddress{atEntry2}
Syntax:OCTETSTRING
Definition:与介质相关的物理地址
Access:read-write.
Status:mandatory.
OBJECT:atNetAddress{atEntry3}
Syntax:NetworkAddress
Definition:与介质相关物理地址相对应的网络地址
Access:read-write.
Status:mandatory.
第四个对象类型也可能被定义在MIB中:
OBJECT:atEntry{atTable1}
Syntax:
AtEntry::=SEQUENCE{
atIndex
INTEGER,
atPhysAddress
OCTETSTRING,
atNetAddress
NetworkAddress
}
Definition:地址映射表中的入口
Access:read-write.
Status:mandatory.
每个对象类型的实便包括由前三个对象类型实例表示的信息 。把这种定义出的对象类型称为列表(list) 。同样的,列表类型的集合可以组成表(table) 。例如,第五个对象的定义如下:
OBJECT:atTable{at1}
Syntax:SEQUENCEOFAtEntry
Definition:地址映射表
Access:read-write.
Status:mandatory.
上面的地址映射表就是由AtEntry的集合构成的 。让我们想一下如何获得表中的对象 。下面我们看一个例子,下面是一个对象类型:
{atPhysAddress}
而下面是与协议相关的对象实例:
{atNetAddress}={internet"10.0.0.52"}
这两个量组成的偶对将可以参照atPhysAddress的实例 。这里的atPhyAddress是任何与atNetAddress相关值为{internet"10.0.0.52}的地址映射表入口的一部分 。下来我们看看如何访问一个包中的集合对象(list),将对象类型命名为:
{atEntry}
然后指定与协议相关的对象实例:
{atNetAddress}={internet"10.0.0.52"}
上面的对象实例访问表中入口的所有实例,其中表与atNetAddress的值{internet"10.0.0.52"}相关 。
每个治理协议均提供了访问非集合对象类型的机制,每个治理协议也说明了它是否支持访问集合对象类型 。而且,协议必须指定当一个对象类型/实例对访问多个类型的实例时会返回哪个实例 。为支持不同的治理协议,所有能够使对象能够区分的信息由对象类型的实例定义在MIB中 。
4.3.治理对象宏

推荐阅读