SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。
今天我们就来系统了解SNMP的定义以及工作原理、版本
简单网络管理协议:SNMP
IETF开发的共有标准协议;由一组网络管理的标准组成,包含一个应用层协议、数据库模型和一组资源对象。
该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
SNMP的目标是管理互联网上众多厂家生产的软硬件平台,可以实现对不同种类和不同厂商的网络设备进行统一管理,大大提升了网络管理的效率。
工作原理:
SNMP为管理员提供了一个网管平台(NMS),又称为管理站,负责网管命令的发出、数据存储、及数据分析。被网管的设备上运行一个SNMP代理(Agent),代理实现设备与管理站的SNMP通信;被网管的设备上有一个MIB数据库,它包含了被管理设备所维护的变量。
通过以下步骤实现远程获取设备信息:
1、网络管理员通过操作NMS,向被管理设备发出请求,从而可以监控和配置网络设备。
2、被管理设备在接收到NMS发出的请求后,由Agent作出响应操作。Agent的主要功能包括:收集设备状态信息、实现NMS对设备的远程操作、向NMS发送告警消息。
3、管理信息库MIB是一个虚拟的数据库,是在被管理设备端维护的设备状态信息集。Agent通过查找MIB来收集设备状态信息。
---Get:读取网络设备的状态信息。
---Set:远程配置设备参数。
---Trap:管理站及时获取设备的重要信息。
SNMP版本:
一、SNMPv1:实现方便,安全性弱。
SNMPv1定义了5种协议操作:
1、Get-Request:NMS从代理进程的MIB中提取一个或多个参数值。
2、Get-Next-Request:NMS从代理进程的MIB中按照字典式排序提取下一个参数值。
3、Set-Request:NMS设置代理进程MIB中的一个或多个参数值。
4、Response:代理进程返回一个或多个参数值。它是前三种操作的响应操作。
5、Trap:代理进程主动向NMS发送报文,告知设备上发生的紧急或重要事件。
二、SNMPv2c:性能、安全性、机密性等方面都有了大的改进,现被广泛应用。
SNMPv2c新增了2种协议操作:
GetBulk:相当于连续执行多次GetNext操作。在NMS上可以设置被管理设备在一次GetBulk报文交互时,执行GetNext操作的次数。
Inform:被管理设备向NMS主动发送告警。与trap告警不同的是,被管理设备发送Inform告警后,需要NMS进行接收确认。如果被管设备没有收到确认信息则会将告警暂时保存在Inform缓存中,并且会重复发送该告警,直到NMS确认收到了该告警或者发送次数已经达到了最大重传次数。
三、SNMPv3:体现了模块化的设计思想,使管理者可以方便灵活地实现功能的增加和修改。适应性强,可适用于多种操作环境,不仅可以管理最简单的网络,实现基本的管理功能,也可以提供强大的网络管理功能,满足复杂网络的管理需求。
SNMPv3和V1V2的主要的区别是SNMPv3增加了身份验证和加密处理。
NMS向Agent发送不带安全参数的Get请求报文,向Agent获取安全参数等信息。
Agent响应NMS的请求,向NMS反馈所请求的参数。
NMS向Agent发送带安全参数的Get请求报文。
Agent对NMS发送的请求消息进行认证,认证通过后对消息进行解密,解密成功后,向NMS发送加密的响应。