SNMP 的由来

1988年,随着网络设备种类激增,工程师们面临一个问题:如何用统一的方式管理来自不同厂商的设备?

SNMP(Simple Network Management Protocol,简单网络管理协议)就是为解决这个问题而生的——一个让不同设备「说同一种语言」的协议。


三组件架构

Manager(管理站)

网络管理员的控制中心,通常是一台专用服务器或管理员的电脑。负责发送查询请求、接收告警、展示监控数据。

Agent(代理)

安装在被监控设备上的软件模块,负责收集设备数据,响应 Manager 的查询,在异常时主动发送 Trap 告警。

MIB(管理信息库)

设备能被监控的所有参数的「字典」。每个参数都有唯一的 OID(对象标识符)。


MIB 和 OID 的工作原理

OID 是树状结构的数字路径,例如:

1.3.6.1.2.1.1.1.0  →  系统描述(sysDescr)
1.3.6.1.2.1.1.3.0  →  系统运行时间(sysUpTime)

不同厂商有自己的 OID 命名空间:

  • 华为:1.3.6.1.4.1.2011
  • Cisco:1.3.6.1.4.1.9

SNMP 版本

版本特点
SNMPv1最早版本,安全性弱(明文 Community String)
SNMPv2c性能改进,安全性仍较弱
SNMPv3支持认证和加密,推荐生产环境使用

在运维中的应用

设备监控

OpsEye 等监控平台通过 SNMP 采集交换机、路由器、服务器的状态数据:CPU、内存、端口流量、设备温度等。

告警接收

设备发生异常时,Agent 主动向 Manager 发送 Trap 消息,实现实时告警。

配置管理

通过 SNMP SET 操作远程修改设备配置(需要 SNMPv3 认证)。


配置示例

# 测试 SNMP 连通性
snmpwalk -v2c -c public 192.168.1.1 system

# 查询特定 OID
snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.3.0