SNMP概述
网管通过在被管理设备中运行的Agent客户端上执行GET-SET操作来管理设备上的节点,设备上的节点由MIB(Management Information Base)来唯一标识。
在大型网络中,设备发生故障时,由于设备无法主动上报故障,导致网络管理员无法及时感知、及时定位和排除故障,从而导致网络的维护效率降低,维护工作量大大增加。为了解决这个问题,设备制造商已经在一些设备中提供了网络管理的功能,这样网管就可以远程查询设备的状态,同样设备能够在特定类型的事件发生时向网络管理工作站发出警告。
SNMP就是规定网管站和设备之间如何传递管理信息的应用层协议。SNMP定义了网管管理设备的几种操作,以及设备故障时能向网管主动发送告警。
SNMP定义的三类角色
网管站:向被管理设备发送各种查询报文,以及接收被管理设备发送的告警。
Agent:被管理设备上的网管进程。Agent有如下功能:
接收、解析来自网管站的查询报文。
根据报文类型对管理变量进行Read或Write操作,并生成响应报文,返回给网管站。
根据各协议模块对告警触发条件的定义,在达到触发条件后,如进入、退出系统视图或设备重新启动等,相应的模块通过Agent主动向网管站发送告警,报告所发生的事件。
被管理设备:接受网管的管理,产生和主动上报告警。
网管站和Agent的关系如图17-1所示。
MIB
为了在SNMP报文中唯一标识设备中的管理对象,SNMP用层次结构命名方案来识别管理对象,整个层次结构就象一棵树,树的节点表示管理对象,如图17-2所示,它可以用从根开始的一条路径进行识别。
如图17-2所示,管理对象B可以用一串数字{1.2.1.1}唯一确定。这串数字是管理对象的客体标识符(Object Identifier)。而MIB的作用就是用来描述树的层次结构,它是所监控网络设备的标准变量定义的集合。
用户可以使用标准MIB或者基于特定标准定义一个MIB。使用标准MIB能减少代理部署的成本,从而减少整个网管系统的成本。
SNMP操作
SNMP以GET-SET操作方式替代复杂的命令集,利用如图17-3的操作实现全部功能。
SNMP的操作如表17-1所示。
操作 |
功能 |
---|---|
GetRequest |
从某变量中取值,获取设备某功能节点状态,是网管向设备发出的请求 |
GetNextRequest |
在MIB表项中取下一项值,获取设备某功能的另一节点状态,是网管向设备发出的请求 |
GetResponse |
对GetRequest、GetNextRequest、SetRequest的响应操作,是被管理设备向网管的回应,是由代理进程发出的。 |
GetBulk |
该操作相当于连续执行多次GetNext操作,是网管向设备发出的请求 |
SetRequest |
设置具体变量的值,对设备功能节点状态进行调整,是网管向设备发出的指令 |
Trap |
报告事件信息,是设备主动向网管报告事件 |
Inform |
报告事件信息,需要网管进行接收确认,是设备主动向网管报告事件 |