我们懂得SNMP实现方式为了提供遍历管理信息库的手段,SNMP在其MIB中采用了树状命名方法对每个SNMP管理对象实例命名。每个对象实例的名字都由对象类名字加上一个后缀构成。SNMP对象类的名字是不会相互重复的,因而不同对象类的对象实例之间也少有重名的危险。
SNMP应用实体对Internet管理信息库中的管理对象进行操作。一个SNMP应用实体可操作的管理SNMP对象子集称为SNMP MIB授权范围。SNMP应用实体对授权范围内管理对象的访问仍然还有进一步的访问控制限制,比如只读、可读写等。
在共同体的定义中一般要规定该共同体授权的SNMP管理对象范围,相应地也就规定了哪些SNMP对象实例是该共同体的“管辖范围”,据此,共同体的定义可以想象为一个多叉树,以词典序提供了遍历所有SNMP管理对象实例的手段。有了这个手段,SNMP就可以使用get-next操作符,顺序地从一个对象找到下一个对象。
SNMP中各种管理信息大多以表格形式存在,一个表格对应一个SNMP对象类,每个元素对应于该类的一个SNMP对象实例。那么,管理信息表SNMP对象中单个元素(对象实例)的操作可以用前面提到的get-next方法,也可以用后面将介绍的get/set等操作。下面主要介绍表格内一行信息的整体操作。
(1)增加一行:通过SNMP只用一次set操作就可在一个表格中增加一行。操作中的每个变量都对应于待增加行中的一个列元素,包括SNMP对象实例标识符。如果一个表格中有8列,则set操作中必须给出8个操作数,分别对应8个列中的相应元素。
(2)删除一行:删除一行也可以通过SNMP调用一次set操作完成,并且比增加一行还简单。删除一行只需要用set操作将该行中的任意一个元素(SNMP对象实例)设置成“非法”即可。
但该操作有一个例外:地址翻译组SNMP对象中有一个特殊的表(地址变换表),该表中未定义一个元素的“非法”条件。因此,SNMP中采用的办法是将该表中的地址设置成空串,而空字符串将被视为非法元素。
至于删除一行时,表中的一行元素是否真的在表中消失,则与每个设备(管理代理)的具体实现有关。因此,网络管理操作中,运行管理进程可能从管理代理中得到“非法”数据,即已经删除的不再使用的元素的内容,因此管理进程必须能通过各数据字段的内容来判断数据的合法性。
SNMP对象树形表格结构我们就讲解到这里了。
【编辑推荐】