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)**关系(相当于管理过程中需要的密码,相当于一种简单的认证方式)

image-20230313221224222

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

image-20230313221335067

  • 为了简化书写,前三个可以简写为: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管理服务器和被管理端通信如下所示:

image-20230313222540202

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

image-20230313222713014

SNMPv3

SNMPv3重新定义了网络管理框架和安全机制。

重新定义网络管理框架:将前两版中的管理站和代理站统一叫做SNMP实体(Entity),就是换了以下名字

安全机制:认证和加密传输

  • 时间序列模块,提供重放攻击防护,即增加时间戳**[网络安全章节:防护重放攻击需为数据包增加时间戳]**

  • 认证模块:完整性和数据源认证,使用SHA或MD5

  • 加密模块:防止内容泄露,使用DES算法

有两种威胁是SNMPv3没有办法防护的:拒绝服务和通信分析

笔者注:注意总结辨析SNMP三个版本并对比记忆

例题

image-20230313223238787

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

image-20230313223249190

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

image-20230313223307662

解析:

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

image-20230313223423625

image-20230313223452584

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

image-20230313223503436

网络管理数据库 MIB-2(重点,常考)

管理端查询客户端的信息,客户端的信息是树状结构,通过树的节点来确定查询的对象,这就是被管理对象标识符OID,OID的书写方式是以.分隔树的节点,即查询对象用OID来表示

image-20230313224221473

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

例题

image-20230313224453351

站内搜索

没有找到内容!