SNMP协议
一、SNMP协议概念
SNMP:Simple Network Management Protocol。简单网络管理协议。是广泛用于TCP/IP网络的网络管理标准协议,提供了一种通过运行网络管理软件的中心计算机,即NMS(network management station)网络管理站来管理网元的方法。
网络管理员可以利用NMS在网络上的任意节点完成信息查询、信息修改和故障排查等工作,提升工作效率。
屏蔽了不同产品之间的差异,实现了不同种类和厂商的网络设备之间的统一管理。
二、SNMP典型架构
在基于SNMP进行管理的网络中,NMS是整个网络的网管中心,在它之上运行管理进程。每个被管理设备需要运行代理(agent)进程,管理进程和代理进程利用SNMP报文进行通信
NMS是一个采用SNMP协议对网络设备进行管理/监控的系统,运行在NMS服务器上
被管理设备是网络中接受NMS管理的设备
代理进程运行与被管理设备上,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS
三、SNMP信息交互
NMS和被管理设备的信息交互分为两种:
1、NMS通过SNMP协议给被管理设备发送修改配置信息请求或查询配置信息请求。被管理设备上运行的代理进程根据NMS的请求消息做出响应。
2、被管理设备可以主动向NMS上报告警信息以便网络管理员及时发现故障
被管理对象:每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件,也可以是在硬件、软件(如路由选择协议)上配置的参数集合
MIB:SNMP规定通过MIB(Management information Base)去描述可管理实体的一组对象。MIB库相对于一个数据库,所有被管理设备可以被管理的信息都在里边。MIB在SNMP中是一个很重要的概念。
四、 MIB库
MIB是一个数据库,指明了被管理设备所维护的变量(即能够被代理进程查询和设置的信息)。MIB在数据库中定义了被管理设备的一系列属性:对象标识符(object identifier OID)、对象的状态、对象的访问权限、对象的数据类型等
MIB给出了一个数据结构,包含了网络中所有可能的被管理对象的集合。因为数据结构与树相似,MIB又被称为对象命名树。
五、SNMP管理模型
查询/修改操作:NMS作为管理者,向代理进程发送SNMP请求报文。代理进程通过设备端的MIB找到要查询或修改的信息,向NMS发送SNMP响应报文。
告警操作:设备端的模块由于达到模块定义的告警触发条件,通过代理进程向NMS发送消息,告知设备侧出现的情况,这样便于网络管理人员及时对网络中出现的情况进行处理。
六、SNMP版本
SNMPv1
1990年开发出来的,没有任何的安全性可言,数据的发送以明文方式发送。而且被管理设备能够上报给NMS的告警信息/错误信息类型很少。
SNMPv1提供了5种消息类型:Get-request、Get-next-request、set-request、response、trap(由被管理设备主动向NMS发送的告警信息)
SNMPv2
1996年提出。增加了2种消息类型:GetBulk(一组Get-Next的集合,允许NMS同时向被管理设备发送一组参数,即例如同时查询多个信息)、Inform(允许被管理设备向NMS上报更多种类的Trap消息;需要NMS确认接收Trap消息,若NMS没有接收,则在缓存中保留该Trap消息,一直重传,直到达到了最大重传次数)
SNMPv3
SNMPv3与v1和v2的工作机制基本一致但添加了报头数据和安全参数,解决了v1和v2的安全性问题,数据的发送完全是以加密的方式传送的。SNMPv3报文具有身份验证和加密处理的功能,SNMPv3适用于各种规模的网络,安全性极高
七、SNMP特点