SNMP - 简单网络管理协议

更新日期: 2023-02-24 阅读次数: 1397 字数: 500 分类: 物联网

SNMP(Simple Network Management Protocol), 即,简单网络管理协议。用于网络设备的远程管理。

为不同厂商的各式网络设备提供了统一的远程管理接口。

使用场景

  • 监控。例如,与 Nagios, Cacti 集成,对服务器系统指标(CPU,内存,硬盘容量等)进行监控。也可以对单片机、一个进程,网络设备路由器、交换机等进行监控。国内外大量的网络设备(如路由器、交换机)都支持SNMP协议,并作为一项标配。
  • 设备的远程初始化配置
  • 设备上的传感器数据异常上报

版本

目前有三个版本:v1, v2, v3

兼容性:v3 版本对 v1,v2 兼容。

系统组成

  • NMS(Network Management System)即管理系统。类似于 TR069 中的自动配置服务器(Auto-Configuration Server,ACS)
  • SNMP Agent
  • Management Object,即,被管理对象。类似于 TR069 中的用户终端设备(Customer Premise Equipment,CPE)。一个设备中可能包含多个被管理对象,例如设备上的不同硬件。
  • MIB, Management Information Base,即,管理信息库。存储对象名称,对象状态,访问权限等。

传输协议

UDP

数据流

NMS - SNMP Agent - MIB - Management Object 每个过程都是双向的。

每个被管理设备中都包含驻留在设备上的 SNMP Agent 进程、MIB 和多个被管对象。NMS 通过与运行在被管理设备上的 SNMP Agent 交互,由 SNMP Agent 通过对设备端的 MIB 进行操作,完成 NMS 的指令。

SNMP应用程序处于网络模型中的应用层,应用层中的数据最终以二进制流在网络中传输,在接收方必须理解所接收的字节流。

SNMP Traps

Trap 意为陷阱,可以理解为警告。

NMS 可以接收设备上的 SNMP Agent 主动发送的 SNMP Traps,以获知被管理设备当前的状态。

通常在设备出现故障时,主动向 NMS 发送 Traps 报警信息。由于使用的是 UDP 协议,并不保证一定能收到。

Trap 的应用场景:一般情况下,NMS 负责其名下各个站点信息的轮询,不过当管辖的 Agent 过多而且每个 Agent 信息量又很大时,NMS 一遍轮询下来负担过重,且不能保证其对各 Agent 的实时查询,甚至是不现实的。不过当引入 Trap 机制后,管理站能够在降低网络和系统开销的情况下实现设备的管理。

参考

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式