了解SNMP管理框架
SNMP (Simple Network Management Protocol,简单网络管理协议)是一个应用层协议,提供了SNMP管理者和SNMP代理间报文格式的消息通信。它规定了在网络环境中对设备进行监视和管理的标准化管理框架,通信的公共语言和相对应的安全控制机制。
SNMP管理框架包含有四个组成部分:
* SNMP管理者
* SNMP代理
* 一个用于在SNMP实体间传输管理信息的管理协议
* MIB库(Management Information Base,管理信息库)
SNMP 管理者是一个利用SNMP协议对网络节点进行控制和监视的系统。其中网络环境中最常见的SNMP管理者被称为网络管理系统(NMS,Network Management System)。网络管理系统既可以指一台专门用来进行网络管理的服务器,也可以指某个网络设备中执行管理功能的一个应用程序。现在市场上有众多软硬件厂商提供有支持SNMP协议的网络管理系统,如Cisco公司的CiSCoWorks系列网络管理软件产品。
SNMP代理是被管理设备中的一个软件模块,用来维护被管理设备的管理信息数据并可在需要时把管理数据汇报给一个SNMP管理系统。SNMP代理和相关的MIB库存在于网络设备中(如CiSCo路由器,交换机,接入服务器等等)。
MIB 库是一个保存网络管理信息的虚拟数据存储空间,由多组被管理对象组成。在设备MIB库中有由多个MIB模块定义的多组各自相关联的对象。每个MIB模块都是利用标准的SNMP MIB模块语言撰写的,具体遵循的标准定义在IETF(Internet Engineering Task Force,一个国际标准化组织) STD58,RFC2579和RFC2580文档中(请参见本文“MIB和RFC”一节了解STD文档和RFC文档的解释)。需要注意的是,每一个单独的 MIB模块有时也会被称为一个MIB,如设备接口组MIB(IF-MIB)就是设备MIB库中的一个MIB模块。
SNMP 代理中保存有MIB对象变量,变量的数值可以被SNMP管理者通过Get或Set操作进行读取和修改。一个SNMP管理者可以从SNMP代理中读取一个变量的数值或把一个数值存储到SNMP代理的一个变量中。SNMP代理从代表设备参数和网络运行数据的MIB库中采集数据,且可以对SNMP管理者的Get 和Set操作进行应答。
下图勾画出了SNMP管理者和SNMP代理间的通信关系。一个SNMP管理者可以向SNMP代理发送请求,读取(Get)或设置(Set)一个或多个 MIB变量数值。SNMP代理可以应答这些请求。除了这种交互式通信方式,SNMP代理还可以主动向SNMP管理者发送通知(Trap或Inform Request)以提示管理者一个设备或网络状态。
图一:SNMP管理者与SNMP代理间的通信
[1] [2] 下一页