snmp, simple network management protocol ,简单网络管理协议,它属于五层协议(会话层),用于网络管理的协议。SNMP主要用于网络设备的管理。
概念
协议
SNMP采用UDP协议在管理端和agent之间传输信息。SNMP采用UDP 161端口接收和发送请求,162接收trap,执行SNMP的设备缺省都必须采用这些接口。snmp消息全部通过UDP端口161接收,只有trap信息采用UDP162接口。
版本
SNMP目前共有v1,v2,v3这三个版本
- SNMP v1是SNMP协议的最初版本,不过依然是众多厂家实现SNMP的基本方式
- SNMP v2通常被指是基于community (密码)的SNMP v2。
SNMP v3是最新版本的SNMP,它对网络管理的最大贡献在于其安全性,增加了对认证和密文传输的支持
实现结构
既然是应用层的协议,它就是在传输层以上,基于UDP的协议,则要求通信双方都会有socket。所以,snmp的扫描还是有侵入性的,它会要求客户端安装有SNMP的服务,才可以进行扫描。
在具体实现上,SNMP为管理员提供了一个网管平台(NMS),又称为管理站,负责网关命令的发出、数据存储及数据分析。被监管的设备上运行一个SNMP代理Agent,代理实现设备与管理站的SNMP通信。
管理站与代理端通过MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和代理都实现了相应的MIB对象,使得双方可以识别对方的数据,实现通信。管理站向代理申请MIB中定义的数据,代理识别后,将管理设备提供的相关状态或参数等数据转换为MIB定义的格式,应答给管理站,完成一次管理操作。操作命令
SNMP协议之所以易于使用,因为它对外提供了三种用于控制的MIB对象的基本命令
GET 管理站读取代理者处对象的值。
SNMP协议中使用率最高的一个命令,因为该命令是从网络设备中获得管理信息的基本方式
SET 管理站设置代理者处对象的值。
它是一个特权命令,因为可以通过它来改动设备的配置或控制设备的运转状态,可以设置设备的名称,关掉一个端口或清除一个地址解析表中的项等
TRAP 代理者主动向管理站通道重要事件
用于监控
