SNMP 是 Simple Network Management Protocol(简单网络管理协议)的缩写,是 TCP/IP 协议族中的一个应用层协议。
它的核心作用是监控和管理网络中的设备,比如路由器、交换机、服务器、打印机、防火墙等。
1. SNMP 的主要组成
一个完整的 SNMP 系统包含三个核心部分:
NMS(网络管理系统):管理者。通常是安装在网管员电脑上的软件(如 SolarWinds、Zabbix、PRTG)。它向设备发问,并接收设备的报警。
Agent(代理):被管理者。运行在被管理设备(如路由器)上的软件。它负责收集本设备的信息(如CPU温度、流量),并响应 NMS 的请求或主动发送警报。
MIB(管理信息库):数据结构。可以理解为设备的“指标字典”。它定义了设备有哪些信息可以查询(比如接口状态、流量统计)。OID是MIB里每个具体参数的编号。
2. SNMP 工作的三种基本方式
1. GET(读):NMS 主动问 Agent:“你的 CPU 使用率是多少?”
2. SET(写):NMS 通知 Agent:“请把网关接口关闭。”(用于远程配置或重启设备)
3. TRAP(主动推送):Agent 发现严重问题(如山洪告警、接口断开),不等 NMS 问,立刻主动上报。
3. SNMP 的三个版本
SNMPv1:最老,安全性差(用明文的 community 字符串做密码),已很少用。
SNMPv2c:增加了性能(支持批量获取数据),但安全方面仍使用明文的 community 字符串。
SNMPv3:目前推荐使用。增加了身份验证和加密功能(防止窃听和伪装),安全性较高。
4. 为什么需要 SNMP?
没有 SNMP 时,管理员需要手动登录每一台设备查状态,效率比较低;有了 SNMP,网管软件可以**自动**收集所有设备的流量、CPU、内存、温度、端口状态等信息,还能在设备出问题时实时报警。
总结:SNMP 是一种行业标准协议,通过网络管理系统(NMS)查询或接收设备(Agent)主动推送的信息,实现对网络中各种设备(路由器、服务器等)的远程监控、故障告警和部分配置管理。


