首页 > 编程笔记

SNMP协议是什么?

简单网络管理协议(Simple Network Management Protocol,SNMP)是由互联网工程任务组定义的一套网络管理协议。该协议是基于简单网关监视协议(Simple Gateway Monitor Protocol,SGMP)制定的。

SNMP 可以使网络管理员通过一台工作站完成对计算机、路由器和其他网络设备的远程管理和监视。利用 SNMP 协议可以更好地管理和监控网络。管理工作站可以远程管理所有支持该协议的网络设备,如监视网络状态、修改网络设备配置、接收网络事件警告等。

下面介绍 SNMP 协议的作用、构成、工作原理及通信方式等内容。

SNMP 协议概述

前面介绍的 Telnet 协议可以用于连接远程计算机,并进行管理与控制,如远程执行命令。这种情况下,执行的命令有一定的局限性,如只能执行远程主机上支持的命令。

由于网络设备越来越多,网络规模越来越大,管理这些设备也越来越重要。远程管理网络的需求日益迫切,SNMP 应运而生。

SNMP 协议能够帮助网络管理员提高网络管理效率,及时发现和解决网络问题,对网络增长做好规划。网络管理员还可以通过 SNMP 协议,接收网络节点的通知消息和警告事件报告等,从而获知网络出现的问题。

SNMP 目前共有 3 个版本,分别为 v1、v2 和 v3,说明如下:

SNMP 架构组成

SNMP 的架构由 3 部分组成,分别为社区、网络管理站和节点,如图所示。

社区、网络管理站和节点说明如下:

工作原理

SNMP 可以用来发现、查询和监视网络中其他设备的状态信息。其工作流程如图所示。

上图中展现了管理员通过 NMS 获取网关监控数据的工作流程,其中涉及了一些 SNMP 协议的关键信息。

为了方便理解,下面先介绍这些信息的作用及含义。

上图所示的工作流程分为以下 4 个步骤:
  1. 当管理员查询被管理设备中的对象的相关值时,首先通过网络管理站 NMS 中的 MIB 找到相关对象。
  2. 网络管理站 NMS 向 SNMP 代理申请 MIB 中定义对象的相关值。
  3. SNMP 代理在自己的 MIB 库中进行查找。
  4. SNMP 代理将找到的对象相关值返回给网络管理站 NMS。

通信方式

SNMP 采用特殊的客户机/服务器模式进行通信。这里的客户端指的是网络管理站 NMS,服务器指的是 SNMP 代理。实际上它们的通信方式是网络管理站 NMS 与 SNMP 代理之间的通信,如图所示。

上图中的通信方式分为请求与应答两个步骤:
  1. 网络管理站 NMS 向 SNMP 代理发出请求,询问一个 MIB 定义的信息的参数值。
  2. SNMP 代理收到请求后,返回关于 MIB 定义信息的各种查询。

操作类型

SNMP 协议用来管理管理站 NMS 与 SNMP 代理之间的信息交互。因此,它提供了多种操作类型。

常用的 6 种操作类型如图所示。

上图中为 5 种信息交互形式的操作类型,一共有 6 种操作类型,每种操作类型含义如下:

推荐阅读