11-3 SNMP(Simple Network Management Protocol)简单网络管理协议(常考)
网络管理协议五大类标准
网络管理协议有很多种标准,其中TCP/IP的SNMP应用最多。
以下是各类网络管理协议的标准(了解)
ISO制定:CMIS/CMIP公共管理信息服务规范
基于TCP/IP:简单网络管理协议,有以下3个版本:SNMPv1、SNMPv2、SNMPv3
基于局域网的网络监控协议:远程监控网络RMON : RMON-1和RMON-2(下节)
IEEE制定:基于物理层和数据链路层CMOL(不考,不用管)
ITU-T:电信网络管理标准TMN,运营商使用,由国际电信联盟制定(一般不考)
SNMPv1
SNMPv1简介
SNMP为应用层协议,通过UDP承载,客户端(即被监控端)端口161(SNMP协议可以理解为一个小程序,集成在网络设备的操作系统当中)
不可靠,但效率高,网络管理不会太多增加网络负载
SNMPv1的团体关系:
- 每个代理进程Agent(安装在被管理设备上的SNMP小程序)管理若干被管理对象,
- 代理进程与某些管理站Manager(即一些网络管理软件)建立**团体(community)**关系(相当于管理过程中需要的密码,相当于一种简单的认证方式)

SNMPv1协议的5个操作(极其重要,记住,要考)

为了简化书写,前三个可以简写为:get、get-next和set。
SNMP双端口:客户端用端口161来接收get/set消息,服务器端用端口162来接收trap消息
trap消息:trap意为“陷阱”,trap报文又称陷入报文
SNMPv1的机制与问题
SNMP网络管理中,管理站Manager(即管理端)和代理站Agent(即被管理端)之间可以是一对多关系,也可以是多对一关系
意思是:一个网络设备可以由多个管理服务器管理,多个网络设备可以由一个管理服务器来管理
RFC1157规定SNMP基本认知和控制机制,通过团体名验证Community实现
SNMPv1团体名Community明文传输,不安全;SNMPv3改成了密文传输
SNMPv2
SNMPv2增加定义了GetBulk和inform两个新协议操作
GetBulk:快速获取大块数据
Inform:允许一个NMS(网络管理服务器)向另一个NMS发送Trap信息/接收响应消息(v1里面定义的是管理服务器和被管理客户端之间的通信消息,v2中定义了管理服务器之间的相互通信消息)
因此,v2管理服务器和被管理端通信如下所示:

v2使用Inform报文进行管理服务器和管理服务器之间的通信如下所示:

SNMPv3
SNMPv3重新定义了网络管理框架和安全机制。
重新定义网络管理框架:将前两版中的管理站和代理站统一叫做SNMP实体(Entity),就是换了以下名字
安全机制:认证和加密传输
时间序列模块,提供重放攻击防护,即增加时间戳**[网络安全章节:防护重放攻击需为数据包增加时间戳]**
认证模块:完整性和数据源认证,使用SHA或MD5
加密模块:防止内容泄露,使用DES算法
有两种威胁是SNMPv3没有办法防护的:拒绝服务和通信分析
笔者注:注意总结辨析SNMP三个版本并对比记忆
例题

解析:D选项的陷入报文即trap,v1版本就已经有了

解析:TCP三次握手面向连接,UDP不是面向连接

解析:
- get-request报文缺省的目标端口即是指被管理的客户端的端口:161。
- 客户端返回信息的目标端口是管理服务器的162端口


解析:团体名(密码)一样就可以通信。每个代理进程(安装在被管理设备上的SNMP小程序)管理若干被管理对象,并且与某些管理站建立团体(community)(相当于管理过程中需要的密码)关系,这是一种简单的认证关系

网络管理数据库 MIB-2(重点,常考)
管理端查询客户端的信息,客户端的信息是树状结构,通过树的节点来确定查询的对象,这就是被管理对象标识符OID,OID的书写方式是以.分隔树的节点,即查询对象用OID来表示

比如查询private值,就查1.3.6.1.4,知道OID长什么样子就行
例题
