SNMP原理和MIB库

article/2025/9/14 23:19:57

目录

背景概述

SNMP简介

基于SNMP的网管结构概述

SNMP协议

SNMP报文格式

报文处理过程

MIB

MIB树结构

参考


背景概述

随着网络的规模越来越庞大,网络中的设备种类繁多,如何对越来越复杂的网络进行有效的管理,从而提供高质量的网络服务已成为网络管理所面临的最大挑战。网络管理已成为整个网络解决方案中重要的一部分。

网络管理通常包含4个要素:

  • 被管理节点:需要进行管理的设备。

  • 代理(Agent):跟踪被管理设备状态的软件或硬件。

  • 网络管理工作站(Manager):与在不同的被管理节点中的代理通信,并且显示这些代理状态的设备。

  • 网络管理协议:网络管理工作站和代理用来交换信息的协议。目前TCP/IP网络中应用最为广泛的网络管理协议是简单网络管理协议SNMP(Simple Network Management Protocol)

SNMP简介

SNMP(Simple Network Management Protocol) 是一套网络管理协议,虽然名字叫做简单网络管理协议,但实际上并不是字面上的意思,尤其是看到.1.3.6.1.2.1.1.1.0这样一串串诡异的数字时候,就会有点让人崩溃。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。

基于SNMP的网管结构概述

基于SNMP的网络管理体系结构中包含4个主要组成部分:

  • 网络管理站NMS(Network Management Station)

    NMS通常是一个独立的设备,运行网络管理应用程序。网络管理应用程序至少能够提供一个人机交互界面,网络管理员通过它完成绝大多数网络管理工作。

  • SNMP代理器(Agent)

    Agent是驻留在被管理设备的一个软件模块,主要负责接收和处理来自NMS的请求报文,并形成响应报文,返回给NMS;在一些紧急情况下,它会主动发送trap报文,通知NMS。

  • SNMP协议

    SNMP协议属于TCP/IP网络的应用层协议,用于在NMS和被管理设备间交互管理信息。

  • 管理信息库MIB(Management Information Base)

    MIB是一个被管理对象的集合,是NMS同Agent进行沟通的桥梁,可以使网管软件和设备进行标准对接。每一个Agent都维护这样一个MIB库,NMS可以对MIB库中对象的值进行读取或设置。

基于SNMP网络管理的示意图

从图中可以了解网络管理中涉及到的几个主要组成部分的相互关系,它们之间的通信方式描述如下:

  • NMS通过SNMP协议与设备的Agent通信,完成对MIB的读取和修改操作,从而实现对网络设备的监控与管理。

  • SNMP是NMS与Agent之间通信的载体,通过其协议数据单元PDU(Protocol Data Unit)完成信息交换。SNMP并不负责数据的实际传输,数据交换的任务是通过UDP等传输层协议来完成的。

  • Agent是设备上的代理进程,主要工作包括与NMS通信,对设备中的MIB库进行维护,以管理和监控设备中的各个模块。

  • MIB保存设备中各个模块的信息。通过对MIB信息的读写操作来完成对设备的监控和维护。

SNMP协议

SNMP规定了5种协议数据单元PDU(也就是SNMP报文),用于NMS与Agent的交互。

各种报文的操作如下:

  • get-request:从代理进程处提取一个或多个参数值。

  • get-next-request:从代理进程处提取紧跟当前参数值的下一个参数值。

  • set-request:设置代理进程的一个或多个参数值。

  • get-response:返回的一个或多个参数值。这个操作是由代理进程发出的,它是对前面3种操作的响应。

  • trap:代理进程主动发出的报文,通知管理进程有某些事件发生。

前面3种操作由NMS向Agent发出,后面2种操作由Agent向NMS发出。

SNMP报文格式

PDU类型的取值范围是0-4,正好表示5种SNMP消息。差错状态字段是一个整数,它是由代理进程标注的,指明有差错发生。

报文处理过程

Agent通过UDP端口161接收来自NMS的Request报文。

Agent接收到报文后,其基本处理过程如下:

  1. 解码:依据ASN.1基本编码规则,生成用内部数据结构表示的报文。如果此过程出现错误导致解码失败,则丢弃该报文,不做进一步处理。

  2. 比较SNMP版本号:将报文中的版本号取出,与本Agent支持的SNMP版本号比较。如果不一致,则丢弃该报文,不做进一步处理。

  3. 团体名验证:将报文中的团体名取出,此团体名由发出请求的网管站填写。如与Agent所在设备认可的团体名不符,则丢弃该报文,不做进一步处理,同时产生一个Trap报文。SNMPv1提供较弱的安全措施,在版本3中这一功能被加强。

  4. 提取PDU:从通过验证的ASN.1对象中提出协议数据单元PDU。如果失败,丢弃报文,不做进一步处理。

  5. 处理PDU:根据不同的PDU,SNMP协议实体进行不同的处理。得到管理变量在MIB树中对应的节点,从相应的模块中得到管理变量的值,形成Response报文,编码发回网管站。

  6. 网管站得到响应报文后,经过同样的处理,最终显示结果。

MIB

MIB(管理信息库)是一个被管理对象的集合,它定义被管理对象的一系列属性,包括

  • 对象的名字

  • 对象的访问权限

  • 对象的数据类型

管理信息结构SMI(Structure of Management Information)规定了被管理的对象应该如何定义和组织,它定义了一系列MIB可以使用的数据类型,比如Counter、Gauge等。

MIB指明了网络元素所维护的变量,即能够被NMS查询和设置的信息,给出了一个网络中所有可能的被管理对象的集合的数据结构。

MIB树结构

MIB以树状结构进行存储,树的叶子节点表示管理对象,它可以通过从根节点开始的一条惟一路径来识别,这也就是OID(Object Identifier)。

OID是由一些系列非负整数组成,中间以"."分割,用于唯一标识管理对象在MIB树中的位置。由SMI来保证OID不会冲突。在上图的树形结构中,mgmt对象可以标识为:1.3.6.1.2,这种标识就叫做OID。iso.org.dod.internet.private.enterprises(1.3.6.1.4.1)这个标识,是给厂家自定义而预留的,比如华为的为1.3.6.1.4.1.2011,华三的为1.3.6.1.4.1.25506。

参考

《TCP/IP详解 卷一》


http://chatgpt.dhexx.cn/article/Rg5qY7H6.shtml

相关文章

LTE系统信息 --- MIB、SIB

前言 UE在搜索小区过程之后, 已经与小区取得下行同步,得到小区的 PCI(Physical-layer-Cell Identity) 以及检测到系统帧的 timing(即 10ms timing)。 接着,UE 需要获取到小区的系统信息&#xf…

计算机系统cache是什么意思啊,cache是什么意思 ?(图文)

在计算机存储系统的层次结构中,介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。Zkk电脑_数码_手机应用问题解决的IT技术网站seo - 云狐网 某些机器甚至有二…

SNMP中的MIB是什么?

 在SNMP中,我们都应该知道著名的MIB了。那么这个具体是什么作用呢?在此我们就来详细介绍一下这个SNMP mib的具体作用。管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。MIB…

计算方法实验:方程求根二分法、不动点迭代法、牛顿法

计算方法实验一,方程求根 分别用Matlab和C写了一下,初学Matlab,如有不足还请指正。 实验内容: 1)在区间[0,1]内用二分法求方程 e x 10 ∗ x − 2 e^x10*x-2 ex10∗x−2的近似根,要求误差不超过 0.5 1 0…

MATLAB之牛顿迭代法

MATLAB之牛顿迭代法 一、算法原理 1、迭代公式 将 f (x)在点xk做Taylor展开f(x)f(xk)f’(xk)(x-xk)…,则有 由上式可得牛顿迭代公式为: X(k1)X(k)- f (X(k))/f’(X(k)) 2、牛顿法的几何意义 由上式可知,如果如果我…

Matlab牛顿迭代法求方程的根(GUI)

牛顿迭代法的具体内容不赘述它的核心算法是&#xff1a; k 1; x x0; x0 x e*2; % 为了让初启动时满足循环条件 while (abs(x-x0))>e && (k<N) % 同时限定误差和最大循环次数x0 x;x x0 - f(x0)/df(x0); % 牛顿迭代法式子k k1; end这是一个非常简单的牛顿…

牛顿迭代法 求 根

这是一个求根很牛皮的一个方法, 迭代几次后精度也变得非常的高了. 假设我们求√2的值, 用牛顿迭代法. 大致过程就是随便选取一个自认为离根比较近的, 离谱点也没事, 假如选x 4, 然后不断进行如下操作: 不断令 x x - f(x)/f’(x); (f(x) x^2 - a(a 2)); 所以就是: x 4 - …

牛顿迭代法求开方-详细且通俗讲解

目录 •写在前面 •前戏-二分法实现 •牛顿迭代法 代码实现 •写在前面 求开方这件事儿&#xff0c;很多时候用一个sqrt方法就搞定了&#xff0c;很少有趣思考这底层的实现到底是用什么方法完成的。正好我遇到了需要实现sqrt方法&#xff0c;这里就仔细的讲解一下如何去实…

【Matlab】牛顿迭代法实现

文章目录 题目&#xff1a;牛顿迭代法程序1&#xff1a;牛顿迭代法通用函数程序2&#xff1a;求最大Delta程序3&#xff1a;观察结果 题目&#xff1a;牛顿迭代法 程序1&#xff1a;牛顿迭代法通用函数 function [x] newton(x0,epsilon,f,print_flag) digits(10) % 控制牛顿…

C语言---牛顿迭代法求根

用牛顿迭代法求下面方程在1.5附近的根&#xff1a;2x3-4x23x60 先定义一个x0,通过x0找出f(x0),做f(x0)的切线&#xff0c;切线的交点为x1&#xff0c;tanxf(x0)/x1-x0;然而切线在函数中就是f(x)的导数&#xff0c;我们利用这一结论可以找出f(x0)和f(x0)的导数之间的关系&#x…

牛顿迭代法(Newton's Method)

简介 牛顿迭代法&#xff08;简称牛顿法&#xff09;由英国著名的数学家牛顿爵士最早提出。但是&#xff0c;这一方法在牛顿生前并未公开发表。 牛顿法的作用是使用迭代的方法来求解函数方程的根。简单地说&#xff0c;牛顿法就是不断求取切线的过程。 对于形如f(x)0的方程&am…

如何通俗易懂地讲解牛顿迭代法?

五次及以上多项式方程没有根式解&#xff08;就是没有像二次方程那样的万能公式&#xff09;&#xff0c;这个是被伽罗瓦用群论做出的最著名的结论。 但是&#xff0c;没有王屠夫难道非得吃带毛猪&#xff1f;工作生活中还是有诸多求解高次方程的真实需求&#xff08;比如行星…

使用“牛顿迭代法”求解方程

使用牛顿迭代法求解方程 尽管通过因式分解和利用求根公式可以很方便的得出多项式方程的根&#xff0c;但大多数时候这个多项式的次数都很高&#xff0c;计算将变得非常复杂&#xff0c;因此&#xff0c;我们必须转向一些近似解法。 牛顿迭代法是其中最好的方法之一。从根本上说…

牛顿迭代法求解方程

说明&#xff1a;该篇博客源于博主的早些时候的一个csdn博客中的一篇&#xff0c;由于近期使用到了&#xff0c;所以再次作一总结。原文地址 概述 牛顿迭代法&#xff08;Newton’s method&#xff09;又称为牛顿-拉夫逊&#xff08;拉弗森&#xff09;方法&#xff08;Newto…

方程求根的迭代法——牛顿迭代法

用牛顿法解方程xe(x) -10 程序流程图如下&#xff1a; //方程求根的迭代法——牛顿迭代法 /*************Analysis********** *1.初值x0,精度e,迭代次数N *2.牛顿法解方程f(x)x*e**x-1 *3.取初值为0.5 ********************************/ #include<iostream> #include&…

牛顿迭代法

转自 LeetCode 解答 一篇解释得很细的文章 牛顿迭代法是一种可以用来快速求解函数零点的方法。 以 LeetCode 上的一题为例&#xff1a;模拟 int sqrt(x) 函数&#xff0c;返回的开方值向下取整。 为了叙述方便&#xff0c;我们用 C 表示待求出平方根的那个整数。显然&#xff…

牛顿迭代法(Newton’s Method)迭代求根的Python程序

迭代法的作用 许多复杂的求解问题&#xff0c;都可以转换成方程f(x)0的求解问题。这一系列的解叫做方程的根。对于非线性方程的求解&#xff0c;在自变量范围内往往有多个解&#xff0c;我们将此变化区域分为多个小的子区间&#xff0c;对每个区间进行分别求解。我们在求解过程…

用牛顿迭代法求方程的根

用牛顿迭代法求方程的根&#xff08;C语言&#xff09; 题目要求&#xff1a;牛顿迭代法是一种重要的基本的求方程根的方法。现有方程为axˆ3bxˆ2cxd0&#xff0c;系数a&#xff0c;b&#xff0c;c&#xff0c;d的值一次为1&#xff0c;2&#xff0c;3&#xff0c;4&#xff…

【源码】牛顿迭代法求根的matlab实现

牛顿迭代法求根的matlab实现 本篇是在课程学习中自己编程实现的牛顿迭代法计算非线性方程或者超越方程近似根的算法&#xff0c;写一下&#xff0c;后边便于复习和期末课程设计引用。 牛顿迭代法本质上是一种特殊的不动点迭代&#xff0c;只不过它的迭代函数的构造比较特殊&am…

牛顿迭代法求方程的根

牛顿迭代法&#xff08;牛顿-拉弗森方法&#xff09; 五次及以上多项式方程没有根式解&#xff08;就是没有像二次方程那样的万能公式&#xff09;&#xff0c;这个是被伽罗瓦用群论做出的最著名的结论。没有根式解不意味着方程解不出来&#xff0c;数学家也提供了很多方法&am…