SNMP系列 1- 协议介绍

SNMP协议介绍

snmp, 全称Simple Network Management Protocol. 目前应用非常广泛的协议, 绝大多数都采用UDP协议实现, 多用于网络设备,以及很多IoT设备都提供了对应的SNMP支持. 多用来方便外部采集设备的内部状态比如CPU, 内存啥的.


重要概念

基础概念
SNMP Agent: 可以理解为一个个的设备, 可以有各种各样的状态, 而且他们提供了可以通过SNMP来访问到这些状态的方式.
SNMP Manager: 另外一个总的服务, 负责来管理这些SNMP Agent的状态, 采集信息, 设置一些配置, 收集SNMP Agent上报的告警.

下面介绍下SNMP 协议:
SNMP Agent内部是通过一个树形结构来管理的:

OID 节点: 每一个节点, 都有一个唯一的标识符. 比如上面的: 1.3.6 是一个OID (以点号分割的字符串) ISO定义了一个规范的OID,所有的Agent都需要遵守的, 比如:  1.3.6.1.2.1.1.1.0  -- 系统描述, 1.3.6.1.2.1.1.5.0 -- 系统名称

MIB: 这样的一个树是通过MIB这种特殊的文件来定义的.

协议相关

snmp协议有v1,v2c,v3等3个版本.
v1 -> v2c -> v3 
v1: 
  • 第一个版本
  • 采用Community来认证, 后面会讲到community是啥.
  • 支持简单的GET, SET, GET-NEXT, TRAP

v2c:
  • 目前应用最多的版本
  • 该版本在v1的基础上主要改进了性能, 和提供更加丰富的OID支持.
  • 提供了GETBULK, 相比于GETNEXT有更快的性能

v3:
  • 该版本在v2的基础上主要改进了安全性
  • 提供了各种的认证方式

snmp agent可以接收和发送各种各样的消息 (PDU- Protocol data unit), 下面的表格将详细解释常见消息和用途:


常见的操作

真正对运维或者开发有用的主要是实现2个动作: 
GET: 获取某个节点的值, 比如获取当前的CPU 或者系统时间
WALK: 查看某个节点下面的所有子节点的值, 相当于遍历一个树的子树.



这篇文章就介绍这么多, 后面我们会接着介绍 如何在windows和linux中安装和使用SNMP服务


猜你喜欢

转载自blog.csdn.net/scugxl/article/details/79035215