keep moving
分类: 系统运维
2010-07-21 10:35:40
1、什么是SNMP协议
SNMP(Simple Network Management Protocol)是被广泛接受并投入使用的工业标准,它的目标是保证管理信息在任意两点中传送,便于网络管理员在网络上的任何节点检索信息,进行修改,寻找故障;完成故障诊断,容量规划和报告生成。它采用面向自陷的轮询方法(trap-directed polling),提供最基本的功能集。最适合小型、快速、低价格的环境使用。它只要求无连接的传输层协议UDP,受到许多产品的广泛支持。SNMP在TCP/IP协议族中的地位如下图:
图1
被管理设备中的代理可以在任何时候向网络管理工作站报告错误情况,例如预制定阈值越界程度等等。代理并不需要等到管理工作站为获得这些错误情况而轮询他的时候才会报告。这些错误情况就是众所周知的SNMP自陷(trap)。
2、SNMP的体系结构
简单网络管理协议(SNMP)在体系结构分为被管理的设备(Managed Device)、 SNMP管理器(SNMP Manager)和SNMP代理(SNMP Agent)三个部分。
被管理的设备是网络中的一个节点,有时被称为网络单元(Network Elements),被管理的设备可以是路由器、网管服务器、交换机、网桥、集线器等。
SNMP代理是驻留在被管理设备上的网络管理软件模块,它负责随时收集和存储管理信息,记录网络设备的各种情况,并将这些信息翻译成兼容SNMP协议的形式。
SNMP管理器(网络管理工作站NMS)通过网络管理软件来进行管理工作。网络管理软件的主要功能之一,就是协助网络管理员完成管理整个网络的工作。网络管理软件要求SNMP代理定期收集重要的设备信息,收集到的信息将用于确定独立的网络设备、部分网络或整个网络运行的状态是否正常。SNMP管理器定期查询SNMP代理收集到的有关设备运转状态、配置及性能等的信息。
SNMP使用面向自陷的轮询方法(Trap-directed polling)进行网络设备管理。一般情况下,网络管理工作站通过轮询被管理设备中的代理进行信息收集,在控制台上用数字或图形的表示方式显示这些信息,提供对网络设备工作状态和网络通信量的分析和管理功能。当被管理设备出现异常状态时,管理代理通过SNMP自陷立即向网络管理工作站发送出错通知。当一个网络设备产生了一个自陷时,网络管理员可以使用网络管理工作站来查询该设备状态,以获得更多的信息。
在一些偶然的情况下,在一个特定的设备上可能因为系统资源的缺乏,或者因为该设备不支持SNMP代理所需要的传输协议,而不能实现一个SNMP代理。这时为了监视这个设备,你可以使用受托代理(proxy agent),它相当于外部设备(foreign device)。
受托代理并非在被管理的外部设备上运行,而是在另一个设备上运行。网络管理工作站首先与受托代理联系,并且指出(通过某种方法)受托代理与外部设备的一致性。然后受托代理把它接收到的协议命令翻译成任何一种外部设备所支持的管理协议。在这种情况下,受托代理就被称为应用程序网关(application gateway)。目前大多数网际互联设备类型都是支持SNMP可管理设备的。
3、MIB
我们通常很少把在一个被管理设备中的数据库称为一个数据库。在SNMP术语中它通常被称为管理信息数据库(MIB)。管理信息数据库(MIB)定义了一种数据对象,它可以被网络管理系统控制。MIB是一个信息存储库,这里包括了数千个数据对象,网络管理员可以通过直接控制这些数据对象去控制、配置或监控网络设备。网络管理系统可以通过网络管理代理软件来控制MIB数据对象。不管到底有多少个MIB数据对象,管理代理都需要维持它们的一致性,这也是管理代理软件的任务之一。
图2
MIB数据对象以一种树状分层结构进行组织(如图2所示),这个树状结构中的每个分枝都有一个专用的名字和一个数字形式的标识符。上图表示的是标准MIB的组织体系,列出了从MIB结构树的树根到各层树枝的全部内容。结构树的分枝实际表示的是数据对象的逻辑分组。而树叶,有时候也叫节点(node)(有时也叫管理对象),代表了各个数据对象。每一个节点由一个非负整数值和尽可能简明的文字说明所标识。
MIB定义的每一个对象都有以下四个属性:对象类型(Object Type)、语法(Syntax)、存取(Access)、状态(Status)
1) 对象类型
这个属性定义了一个特定对象的名字,例如sysUpTime。它只不过是一个标记。在表示数据时,SMI(管理信息结构与标识)使用了ASN.1(Abstract
Syntax Notation One)。对象必须被“标识”。对于互联网络管理MIB来说,用ASN.1记法来表示的标识符开头如下:
internet
OBJECT INDENTIFIER : : = { iso org(3) dod(6) 1 }
或者用一种简单的格式:
这两种表示法都是根据上面那颗树来的。
当描述一个对象标识符(OBJECT
INDENTIFIER)时,你可以使用几种格式,最简单的格式是列出由根开始到所讨论的对象遍历该树所找到的整数值。
管理员在2009年8月13日编辑了该文章文章。