正文

定义

简单网络管理协议(SNMP,Simple Network Management Protocol)是Internet架构委员会(IAB)在RFC1157中定义的应用程序层协议,定义了如何在支持 SNMP 协议的设备间通讯以及 SNMP 消息的类型。它是 TCP⁄IP 协议套件的一部分。SNMP 协议的前身是 SGMP 。

该协议能够支持网络管理系统,让您监视受管网络设备,包括路由器,交换机,服务器,打印机和其他通过单个管理系统/软件启用 IP 的其他设备。它由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模式(database schema),和一组数据对象。

概念

NMS / Network Management System‌

NMS 是安装在计算机上的多个 Network Manager 软件组成的系统,装有该系统的计算机每隔一段时间会通过 UDP 161端口轮询网络上被监控的设备。

NMS 具有消息令牌以验证身份,以访问 Agent 所储存的信息,并以一定的格式编排他们,以使网络工程师或管理员可以监视或诊断问题。

Agent‌

Agent 是安装在被监视网络设备(路由器,交换机,服务器,wifi等)上的软件,在启用和配置该软件后,它会从 MIB 中获取需要的信息,通过搜集和存储自己的相关信息,在 Manager 拉取消息时提供设备的相关信息,或者在发生错误时发送消息到 Manager ,Traps 允许 Agent 通过 UDP 162端口将系统和设备信息发送到管理器。

MIB / Management Information Base

MIB 文件储存的是 NMS 可以询问 Agent 的一组数据,也就是说, Agent 会根据 MIB 文件定义的所需消息进行收集和存储。

MIB 不是数据库。他是一个产品属性和可管理的使用说明书,一旦被确定下来就不会被改变。

MIB 不是数据库。而是一个提前定义好的一组描述,在定义完成后无法被修改。

OID / Object Identifier

‌对象标识符,是 MIB 中一组唯一的简单数字串,用于标识设备的某个信息,以方便 Manager 和 Agent 进行交互。

RMON / Remote Monitoring

远端网络监控(Remote Network Monitoring,RMON)是简单网络管理协定(SNMP)的一种管理资讯库。RMON为一个树状的物件数据库,用以定义SNMP协定基础的管理控制台和远端监视器之间通讯的标准网络监视功能及界面。

Traps

‌简单性,这代表了网络管理系统实现的重要原则,即网络管理功能的实现对网络正常功能影响越小越好。

‌SNMP Traps 被用于 Agent 需要主动向 Manager 发送告警消息并且此时 Manager 还未进行主动拉取。Manager 需要事先记录下来 Agent 可能会发送的 Traps 的 MIB ,以在接收到 Traps 时,明确发生了什么。

拓展性,各厂商可以根据 SNMP 制定的规则,很容易定义自己的 MIB 。‌

轮询监控

SNMP 采用轮询监控,其优点是对代理资源的要求不高,而缺点是管理通信的开销大。

另一种相对应的方式是委托监控,用于 CMIP ,机制为 Manager 只需要向 Agent 发送一个监控请求,代理会自动监视设备,并在异常事件时向管理者发送信息。委托监控的优点是通信开销小、反映及时,缺点是对 Agent 的资源要求高。

引用