SNMP学习笔记
1、概念
SNMP是应用层协议,承载在UDP报文后面,采用c/s模式,即管理者PC为客户端,通过运行网络管理软件,来管理网络设备(server端),有三个版本SNMPv1、SNMPv2c和SNMPv3。
SNMP管理模型,管理员设备就是NMS网络管理系统,被管理的网络设备就是一个整体,包括代理进程Agent,被管理对象managed object和管理信息库MIB。网络管理员通过NWS设备,向被管理设备的代理进程发送请求进行查询或修改命令。被管理设备通过代理进程向管理员回复请求的命令响应信息和主动发送trap告警信息。
管理信息库采用树形结构,它又称为对象命名树。每个OID(object identifier,对象标识符)对应于树中的一个管理对象,如system的OID为1.3.6.1.2.1.1,interfaces的OID为1.3.6.1.2.1.2。配置Agent时,可以来限制NMS能够访问的MIB对象,通过OID树,可以高效且方便地对其中的信息进行批量查询。
2、报文或者数据单元
v1版本5种报文:
# 管理员设备PC client 随机端口
1、GetRequest向被管理设备的代理进程请求设备的一个节点信息 pc发出请求------> # 被管理设备代理进程Agent server UDP 161
2、GetNextRequest向被管理设备的代理进程请求设备一个节点信息的下一个节点信息 pc发出请求------> # 被管理设备代理进程Agent server UDP 161
3、SetRequest向被管理设备的代理进程发送请求设置设备的一个节点信息 pc发出请求------> # 被管理设备代理进程Agent server UDP 161
4、Response被管理设备的代理进程向管理PC回复请求的响应信息 PC UDP 162 <------ # 被管理设备代理进程Agent 发出请求 UDP随机端口
5、Trap被管理设备的代理进程向管理PC发送设备警告信息 PC UDP 162 <------ # 被管理设备代理进程Agent 发出请求 UDP随机端口
v2c版本7种报文:
在v1基础上新增了GetBulkRequest 报文,用于一次性获取大量数据,类似于多次GetNextRequest操作。
informRequest报文,负责管理者之间通信。
v3版本6种报文:GetRequest、GetNextRequest、GetBulkRequest、SetRequest、Response、Trap 6种。
3、版本间区别:
1、v1不支持系统间通信,集中式管理模式。
2、v2在v1上增加了两种类型数据,unsign32和counter64,支持分散式和集中式管理,可以站间通信、多协议支持。
3、v3在v2上增加和完善了安全和管理机制,模块化设计。
SNMPc对于TCP服务的轮训方式是无访问模式。