SNMP协议是什么?

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 v1:是 SNMP 协议的最初版本,在 1988 年被制定,并被 Internet 体系结构委员会(IAB)采纳作为一个短期的网络管理解决方案。
SNMP v2:是 1992 年发布的 SNMP 的第二个版本。它修订了第一版,并且在性能、安全、机密性和管理者之间通信等方面进行了大量改进。
SNMP v3:是目前最新的版本。它是 2004 年制定的,协议编号为 RFC3411-RFC3418(STD0062)。它为提升协议的安全性,增加了认证和密文传输功能。

SNMP 架构组成

SNMP 的架构由 3 部分组成,分别为社区、网络管理站和节点,如图所示。
在这里插入图片描述
社区、网络管理站和节点说明如下:
社区:同一个管理框架下的网络管理站和所有节点的集合。
网络管理站:一个管理控制台,也称为网络管理系统(Network Management System,NMS)。它是一台带有必要 SNMP 管理软件的普通计算机,主要用来管理与监控网络上的设备。
节点:网络上的设备(被管理的设备)。例如,上图中的路由器、网关等都是节点设备。

工作原理

SNMP 可以用来发现、查询和监视网络中其他设备的状态信息。其工作流程如图所示。
在这里插入图片描述
上图中展现了管理员通过 NMS 获取网关监控数据的工作流程,其中涉及了一些 SNMP 协议的关键信息。

为了方便理解,下面先介绍这些信息的作用及含义。
MIB(管理信息库):任何一个被管理的设备都表示成一个对象,并称为被管理的对象。而 MIB 就是被管理对象的集合。它定义了被管理对象的一系列属性,如对象的名称、对象的访问权限和对象的数据类型等。每个设备都有自己的 MIB。MIB 是一种树状数据库,MIB 管理的对象,就是树的端节点,每个节点都有唯一位置和唯一名字。
SNMP 代理:是一种嵌入在被管理设备中的网络管理软件模块,主要用来控制本地机器的管理信息。它还负责将管理信息转换成 SNMP 兼容的格式,传递给 NMS。

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

通信方式

SNMP 采用特殊的客户机/服务器模式进行通信。这里的客户端指的是网络管理站 NMS,服务器指的是 SNMP 代理。实际上它们的通信方式是网络管理站 NMS 与 SNMP 代理之间的通信,如图所示。
在这里插入图片描述
上图中的通信方式分为请求与应答两个步骤:
网络管理站 NMS 向 SNMP 代理发出请求,询问一个 MIB 定义的信息的参数值。
SNMP 代理收到请求后,返回关于 MIB 定义信息的各种查询。

操作类型

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

常用的 6 种操作类型如图所示。在这里插入图片描述

上图中为 5 种信息交互形式的操作类型,一共有 6 种操作类型,每种操作类型含义如下:
get-request:网络管理站 NMS 从 SNMP 代理处提取一个或多个参数值。
get-response:返回一个或多个参数的值。
get-next-request:网络管理站 NMS 从 SNMP 代理处提取一个或多个参数的下一个参数值。
set-request:网络管理站 NMS 设置 SNMP 代理处 MIB 的相关参数值。
trap:SNMP 代理主动向网络管理站 NMS 发送报文消息。
informRequest:SNMP 代理主动向网络管理站 NMS 发送报文消息,NMS 进行响应。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/6932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT助力校招----面试问题分享(十二)

1 ChatGPT每日一题:运算放大器与比较器的区别 问题:运算放大器与比较器的区别 ChatGPT:运算放大器和比较器都是电子电路中常用的模拟电路元件,但它们的设计和应用略有不同。下面是两者的主要区别: 功能不同&#xf…

TC3XX - MCAL知识点(十一):WDG EB-tresos配置说明与代码浅析

目录 1、概述 1.1、简介 1.2、Safety Watchdog 1.3、CPU Watchdogs 1.4、看门狗定时器的功能列表

服务器负载均衡算法有哪些

算法举例 服务器负载均衡算法是用于分配网络流量到多个服务器的策略,以实现负载均衡和提高系统性能。以下是一些常见的服务器负载均衡算法的详细说明: 轮询(Round Robin)算法: 轮询算法是最简单且常见的负载均衡算法之…

2.python设计模式【面向对象设计的SOLID原则 基础概念】

1.可放封闭原则 概念:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。即软件实体应该尽量在不修改原有代码的情况下进行扩展 2.里式替换原则 概念:所有引用父类的地方必须能透明地使用其子类的对象 3.依赖倒置原则 概念&#…

qs.stringify() 和 JSON.stringfy 的区别

qs 是 nodejs 的一个模块。qs.stringify()常用于对象转url参数;qs.parse()常用户url参数转对象; JSON.stringfy是js自带的方法。 JSON.stringify()用于对象转字符串;JSON.parse()用于字符串转对象; 两者都能进行序列化&#xff0c…

若依日志打印入参,返回参数,日志切面打印接口调用,出现一个接口多次调用的情况且,多次调用返回值为null,initBinder的原因。

使用若依Springboot项目,Controller均继承BaseController。 这里若依原日志切面不会打印接口请求参数,返回参数等信息,这里我做了修改。 修改后日志打印出现一个接口调用4次,5次的情况 15:08:58.342 [http-nio-8082-exec-4] INF…

DevOps系列文章之 Git知识大全

常用命令 其他参数 --inital-branch 初始化的分支 --bare 创建一个裸仓库(纯 Git 目录,没有工作目录) --template 可以通过模板来创建预先建好的自定义 git 目录 常见 Git 配置 用户名配置 git config --global user.name "yourname&qu…

Oracle压缩数据

Oracle压缩数据的处理基于数据库块,其本质上是通过消除在数据库块中的重复数据来实现空间节约,具体方法如下:比较数据块中包含的所有字段或记录,其中重复的数据只在位于数据块开始部分的记号表(Symbol Table&#xff0…

基于Springboot的汽车租赁系统

摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包括软件架构模式、整体功能模块、数据库设计。…

信息熵和决策树

在预测分析领域,决策树是可应用于回归和分类任务的算法之一 决策树背后的想法是,根据数据集中的特征对当时响应变量的贡献方式,递归地构建一个颠倒的树状结构。 在每次迭代中,将以使得所得模型最小化成本函数的方式选择特征。 该结…

cmder 使用简介

文章目录 1. cmder 简介2. 下载地址3. 安装4. 配置环境变量5. 添加 cmder 到右键菜单6. 解决中文乱码问题 1. cmder 简介 cmder 是一个增强型命令行工具,不仅可以使用 windows 下的所有命令,更爽的是可以使用 linux的命令, shell 命令。 2. 下载地址 …

选择合适的图表,高效展现数据魅力

随着大数据时代的来临,数据的重要性愈发凸显,数据分析和可视化成为了决策和传递信息的重要手段。在数据可视化中,选择合适的图表是至关重要的一环,它能让数据更加生动、直观地呈现,为观众提供更有说服力的信息。本文将…

模型构建——使用逻辑回归构建模型,lightGBM进行特征筛选

1、模型构建流程 1.1 实验设计 新的模型要跟原有方案对比,而且是通过实验证明,特别注意模型和策略不能同时调整。一般实验设计包含以下流程: 问题:业务稳定后,可以去掉人工审核吗? 答:不可以…

React拆分窗格组件

React拆分窗格的两种方法 react-split-pane 使用第三方库react-split-pane的优点: 方便快捷:使用现有的第三方库可以快速实现拆分窗格功能,无需自己编写复杂的逻辑。 功能丰富:第三方库通常提供了许多可配置的选项和功能&…

c语言练手项目【编写天天酷跑游戏2.0】EASYX图形库的运用。代码开源,素材已打包

天天酷跑项目的开发 项目前言 项目是基于Windows,easyX图形库进行开发的, 开发环境:Visual Studio 2022 项目技术最低要求: 常量,变量,数组,循环,函数。 文章目录 天天酷跑项目的…

超详细-Vivado配置Sublime+Sublime实现Verilog语法实时检查

目录 一、前言 二、准备工作 三、Vivado配置Sublime 3.1 Vivado配置Sublime 3.2 环境变量添加 3.3 环境变量验证 3.4 Vivado设置 3.5 配置验证 3.6 解决Vivado配置失败问题 四、Sublime配置 4.1 Sublime安装Package Control 4.2 Sublime安装Verilog插件 4.3 安装语…

#pragma region用法

简介 #pragma region 是VS(Visio Studio)所特有的预处理语法(其他IDE或者Cmake会报错),其可以用来收缩或者展开一段代码。 #pragma region MyRegion// ...Code content #pragma endregion 其中,MyRegion 即给这代码块所定义的名…

工业边缘网关HiWoo Box的4G/5G CPE功能:为现场无线设备提供网络

引言 随着工业物联网的快速发展,现场设备的无线连接需求越来越迫切。然而,在一些室外或者不方便布网的场景下,为现场的无线设备提供网络仍然是一个挑战。为了满足这一需求,工业边缘网关HiWoo Box引入了4G/5G CPE(Cust…

【计算机网络】简易TCP网络小程序

文章目录 1. 简易TCP网络程序1.1 服务端1.1.1 服务端创建套接字1.1.2 服务端绑定1.1.3 服务端监听1.1.4 服务端获取连接1.1.5 服务端处理请求 1.2 客户端1.2.1 客户端创建套接字1.2.2 客户端连接服务器1.2.3 客户端发起请求 1.3 服务器测试1.4 单执行流服务器的弊端 2. 多进程版…

【Java】 服务器cpu过高如何排查和解决?

文章目录 前言一、常见能够引起CPU100%异常的情况都有哪些?二、服务器CPU使用率飙升异常,黄金4步排查法三、排查 CPU 故障的常用命令四、什么场景会造成 CPU 低而负载确很高呢?五、监控发现线上机器内存占用率居高不下,如何分析进…