扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
来源:互联网 2010年7月6日
关键字: 网络
在学习SNMP协议的时候,大家应该有所发现。对于Linux SNMP的使用,是一个重点。那么其中也包括了SNMP MIB的一些使用。那么今天就此方面,我们来介绍一下。
SNMP协议(Simple Network Management Protocol)即简单网络管理协议,它为网络管理系统提供了底层网络管理的框架。SNMP协议的应用范围非常广泛,诸多种类的网络设备、软件和系统中都有所采用,主要是因为SNMP协议有如下几个特点:
首先,相对于其它种类的网络管理体系或管理协议而言,SNMP易于实现。SNMP的管理协议、SNMP MIB及其它相关的体系框架能够在各种不同类型的设备上运行,包括低档的个人电脑到高档的大型主机、服务器、及路由器、交换器等网络设备。
Linux SNMP是一系列协议组和规范,它们提供了一种从网络上的设备中收集网络管理信息的方法。Linux SNMP也为设备向网络管理工作站报告问题和错误提供了一种方法。
一个SNMP管理代理组件在运行时不需要很大的内存空间,因此也就不需要太强的计算能力。SNMP协议一般可以在目标系统中快速开发出来,所以它很容易在面市的新产品或升级的老产品中出现。尽管SNMP协议缺少其它网络管理协议的某些优点,但它设计简单、扩展灵活、易于使用,这些特点大大弥补了SNMP协议应用中的其他不足。
其次,SNMP协议是开放的免费产品。只有经过IETF的标准议程批准(IETF是IAB下设的一个组织),才可以改动SNMP协议;厂商们也可以私下改动SNMP协议,但这样作的结果很可能得不偿失,因为他们必须说服其他厂商和用户支持他们对SNMP协议的非标准改进,而这样做却有悖于他们的初衷。
第三,SNMP协议有很多详细的文档资料(例如RFC,以及其它的一些文章、说明书等),网络业界对这个协议也有着较深入的理解,这些都是SNMP协议近一步发展和改进的基础。
最后,SNMP协议可用于控制各种设备。比如说电话系统、环境控制设备,以及其它可接入网络且需要控制的设备等,这些非传统装备都可以使用SNMP协议。
SNMP MIB树状结构
我们懂得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对象树形表格结构我们就讲解到这里了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。