snmp总结一:概述

  1. SNMP概述

    SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议"。SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。

    SNMP是管理进程(NMS)和代理进程(Agent)之间的通信协议。它规定了在网络环境中对设备进行监视和管理的标准化管理框架、通信的公共语言、相应的安全和访问控制机制。网络管理员使用SNMP功能可以查询设备信息、修改设备的参数值、监控设备状态、自动发现网络故障、生成报告等。

    SNMP具有以下技术优点:

  • 基于 TCP/IP 互联网的标准协议,传输层协议一般采用 UDP。
  • 自动化网络管理。网络管理员可以利用 SNMP 平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告。
  • 屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP 只提供最基本的功能集,使得管理任务与被管设备的物理特性和实际网络类型相对独立,从而实现对不同厂商设备的管理。
  • 简单的请求—应答方式和主动通告方式相结合,并有超时和重传机制。
  • 报文种类少,报文格式简单,方便解析,易于实现。
  • SNMPv3 版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性。
  1. SNMP网络架构

    SNMP网络架构由三部分组成:NMS、Agent和MIB。

2.1 NMS简介

NMS是网络中的管理者,是一个利用SNMP协议对网络设备进行管理和监视的系统。NMS既可以指一台专门用来进行网络管理的服务器,也可以指某个设备中执行管理功能的一个应用程序。NMS可以向Agent发出请求,查询或修改一个或多个具体的参数值。同时,NMS可以接收Agent主动发送的Trap信息,以获知被管理设备当前的状态。

2.2 Agent简介

Agent是网络设备中的一个应用模块,用于维护被管理设备的信息数据并响应NMS的请求,把管理数据汇报给发送请求的NMS。

Agent接收到NMS的请求信息后,完成查询或修改操作,并把操作结果发送给NMS,完成响应。同时,当设备发生故障或者其他事件的时候,Agent会主动发送Trap信息给NMS,通知设备当前的状态变化。

2.3 MIB简介

任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB是被管理对象的集合。它定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。每个Agent都有自己的MIB。MIB也可以看作是NMS和Agent之间的一个接口,通过这个接口,NMS可以对Agent中的每一个被管理对象进行读/写操作,从而达到管理和监控设备的目的。NMS、Agent和MIB之间的关系如下图所示。

  1. SNMP版本

    SNMP 主要有 SNMPv1、SNMPV2c、SNMPv3 几种最常用的版本。

3.1 SNMPv1

SNMPv1 是 SNMP 协议的最初版本,提供最小限度的网络管理功能。SNMPv1 的 SMI 和 MIB 都比较简单,且存在较多安全缺陷。

SNMPv1 采用团体名认证。团体名的作用类似于密码,用来限制 NMS 对 Agent 的访问。如果 SNMP 报文携带的团体名没有得到 NMS/Agent 的认可,该报文将被丢弃。

3.2 SNMPv2c

SNMPv2c 也采用团体名认证。在兼容 SNMPv1 的同时又扩充了 SNMPv1 的功能:它提供了更多的操作类型(GetBulk 操作等);支持更多的数据类型(Counter32 等);提供了更丰富的错误代码,能够更细致地区分错误。

3.3 SNMPv3

SNMPv3 主要在安全性方面进行了增强,它采用了 USM 和 VACM 技术。USM 提供了认证和加密功能,VACM 确定用户是否允许访问特定的 MIB 对象以及访问方式。
  1. SNMP协议原理

4.1 SNMP操作

SNMP 支持多种操作,主要为以下几种基本操作:
  • Get 操作:NMS 使用该操作从 Agent 获取一个或多个参数值。

  • GetNext 操作:NMS 使用该操作从 Agent 获取一个或多个参数的下一个参数值。

  • Set 操作:NMS 使用该操作设置 Agent 一个或多个参数值。

  • Response 操作:Agent 返回一个或多个参数值。该操作是前面三种操作的响应。

  • Trap 操作:Agent 主动发出的操作,通知 NMS 有某些事情发生。

    执行前四种操作时设备使用 UDP 协议采用 161 端口发送报文,执行 Trap 操作时设备使用 UDP 协议采用 162 端口发送报文。由于收发采用了不同的端口号,所以一台设备可以同时作为 Agent 和 NMS。

4.2 SNMP报文

4.2.1 报文格式

一个 SNMP 报文共有三个部分组成,即公共 SNMP 首部、get/set 首部、trap 首部、变量绑定。

4.2.2 编码规则 BRE

在具体系统中,我们需要用具体的编码规则将 ASN.1 语法表示的抽象数据转换成具体的比特流。SNMP 使用的编码方法是 BER(Basic Encoding Rule)。BER 的数据都由三个域构成:标识域(tag)+长度域(length)+值域(value)。

标识域 标识域 的编码规则

标识域指明数据的类型,占用 1 个字节,常见的类型有:
BOOL(0x01); INT(0x02); OCTSTR(0x04); NULL(0x05); OBJID(0x06); ENUM(0x0A); SEQ(0x30);

SETOF(0x31); IPADDR(0x40); COUNTER(0x41); GAUGE(0x42); TIMETICKS(0x43); OPAQUE(0x44)

长度域的编码规则

长度域指明值域的长度,不定长,一般为一到三个字节。其格式可分为短格式(后面的值域没有超过 127 长)和长格式。

length=30=>1E(30 没有超过 127,长度域为 0001 1110)

length=169=>81 A9(169 超过 127,长度域为 1000 0001 1010 1001,169 是后 8 位的值,前八位的第一个 1 表示这是长格式的表示方法,前八位的后七位表示后面有多少个字节表示针对的长度,这里,是 000 0001,后面有一个字节表示真正的长度,1010 1001 是 169,后面的值有 169 个字节长。)

4.2.3 实例分析

30 4b :表示整个 snmp 报文的编码方式为 30 ,即是 SEQUENCE 类型表示 snmp 报文的长度为 4b,即为 75

02 01 00 :02 表示该字段是 INTERGER 类型,01 表示该字段占用一个字节,00 表示版本号为 1

04 06 70 75 62 6c 69 63 :04 表示该字段为 OCTET STRING 类型,06 表示该字段的长度 ,70 75 62 6c 69 63 表示 “public”

a0 3e :a 是该字段的固定值,0 表示这是一个 get-request 报文,3e 表示 PUD 还有 62 个字节

02 01 48 : 02 表示该字段是 INTERGER 类型 ,01 表示该字段占用一个字节,48 表示request-id 为 72

02 01 00 :02 表示该字段是 INTERGER 类型 ,01 表示该字段占用一个字节,00 表示报文的差错状态为 0

02 01 00 :02 表示该字段是 INTERGER 类型 ,01 表示该字段占用一个字节,00 表示报文的差错索引为 0

30 33 : 30 表示编码类型为 30 ,即是 SEQUENCE 类型,33 表示后续 “键 - 值”区域占用 51 个字节

30 0f 06 0b 2b 06 01 02 01 19 03 02 01 05 01 05 00 : 30 表 示 编 码 类 型 为 30 , 即 是SEQUENCE 类型,0f 表示该字段共有 15 个字节,06 表示第一个变量为键,0b 表示键长为 11个字节,2b 06 01 02 01 19 03 02 01 05 01 表示 1.3.6.1.2.1.25.3.2.1.5.1 , 00 表示该值的字段的长度为 0,即为空

snmp总结一:概述的更多相关文章

  1. SNMP基础知识

    注:本篇博客并非原创,仅是学习笔记 1. 概述1.1 诞生背景1.2 SNMP简介1.3 版本1.4 术语1.5 网络结构1.6 MIB简介2. Linux的SNMP安装 1. 概述 1.1 诞生背景 ...

  2. 自学Zabbix11.1 Zabbix 配置SNMP监控

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix11.1 Zabbix 配置SNMP监控 1. 概述 zabbix采集数据方式: ...

  3. 【SNMP】SNMP概述

    SNMP概述 SNMP(Simple Network Management Protocol,简单网络管理协议)是目前UDP/IP网络中应用最为广泛的网络管理协议,它提供了一个管理框架来监控和维护互联 ...

  4. SNMP学习笔记之SNMP简单概述

    0x00 SNMP简单概述 0.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理 ...

  5. SNMP简单概述

    一.SNMP简单概述 1.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议& ...

  6. SNMP概述–运维必知的协议基础

    一.什么是SNMP?   SNMP是  “Simple Network Management Protocol” 的缩写,中文意思是简单网络管理协议,它是由互联网工作小组在RFC1157中定义的应用层 ...

  7. 网络监测工具之Zabbix的搭建与测试方法(二)-- SNMP、OID和MIB概述

    概念 SNMP是专门设计用于在 IP 网络管理网络节点的一种标准协议,它是一种应用层协议.SNMP使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长.通过SNMP接收随机消息(及事件报告 ...

  8. SNMP 原理与实战详解

    原文地址:http://freeloda.blog.51cto.com/2033581/1306743 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法 ...

  9. 《TCP/IP详解卷1:协议》第1章 概述-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  10. SNMP协议入门

    SNMP协议入门 1.引言 基于TCP/IP的网络管理包含3个组成部分: 1) 一个管理信息库MIB(Management Information Base).管理信息库包含所有代理进程的所有可被查询 ...

随机推荐

  1. Docker镜像介绍

    一.Docker镜像介绍 镜像是Docker的三大核心概念之一. Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认的镜像仓库下载(默认使用Docker Hu ...

  2. Delphi CheckListBox 用法

    for i := CheckListBox1.Items.Count-1 downto 0 do //从后面往前面删 begin if CheckListBox1.Checked[i] then // ...

  3. 导入SpaceClaim的iges模型尺寸被放大1000倍的问题

    问题 ANSYS APDL 和 Workbench 联合仿真时,导入 SpaceClaim 的 .iges 模型尺寸被放大 1000 倍数. 如 APDL 生成的尺寸为 10 mm(注:此处的 mm ...

  4. C#反射与特性{学习笔记}

    其实这篇文章主要是想要学习反射,但是反射和特性往往是不分家的,所以也要了解一些特性相关的知识. 简单来说,继承了Attribute类的,就是特性 作用是给类或者方法打个标签 反射是在程序运行时,去读取 ...

  5. 【逆向】修改LightCycler® 96文件Summary日期

    修改LightCycler 96文件Summary日期 零.需求 来自我的一个朋友 她是要准备改某个软件(LightCycler 96)保存的数据(时间和日期),当时得知此意图后心里已经判了8成不能改 ...

  6. 如何定位 Druid & HikariCP 连接池的连接泄漏问题?

    背景 最近碰到一个 case,一个 Java 应用无法获取新的数据库连接,日志中出现了以下错误: com.alibaba.druid.pool.GetConnectionTimeoutExceptio ...

  7. .NET 平台上的开源模型训练与推理进展

    .NET 平台上的开源模型训练与推理进展 作者:痴者工良 博客:https://www.whuanle.cn 电子书仓库:https://github.com/whuanle/cs_pytorch M ...

  8. Spring AI与DeepSeek实战四:系统API调用

    一.概述 在 AI 应用开发中,工具调用 Tool Calling 是增强大模型能力的核心技术.通过让模型与外部 API 或工具交互,可实现 实时信息检索(如天气查询.新闻获取).系统操作(如创建任务 ...

  9. 使用PyMuPDF对pdf文件插入文字时 遇到配置本地的字体文件缺仍然使用默认Helvetica字体问题

    背景 昨天收到的新需求,一份文件从其他部门发起,进行一些文字填写后盖章,再到我们部门,我们接收到的是pdf文件,所以需要在pdf文件中进行修改,插入当日日期等文字.但有要求字体必须和原文档字体相同. ...

  10. Vitepress 建站资源汇总

    整理下使用 Vitepress 搭建博客过程中使用过的一些资源和方案 主要参考站点 Vitepress 官方文档 VitePress快速上手中文教程,这个站点扩展很全,包括静态部署选择,样式美化,第三 ...