snmp 获得硬件信息_计算机网络基础课程—简单网络管理协议(SNMP)

ffd1cc0e13845df0440deac4e32002e8.gif

简单网络管理协议

(Simple Network Management Protocol)

•除了提供网络层服务的协议和使用那些服务的应用程序,因特网还需要运行一些让管理员进行设备管理、调试问题、控制路由、监测机器状态的软件。这种行为称为网络管理。

•随着网络技术的飞速发展,网络数量、网络设备越来越多,而且许多设备来自各个不同的厂家,如何管理这些设备就变得更加重要了。

•从设备来看,基于TCP/IP得网络管理包含两个部分:网络管理站和被管理的网络单元(也叫被管设备)。(见下下页示例图)

–网络管理站是运行管理进程的主机。一般都是带有彩色监视器的工作站,可以显示所有被管设备的状态(例如连线是否掉落、各连线上的流量状况)。

–被管设备主要包括种类繁多的被管主机和被管路由器,但都应该是运行TCP/IP协议的。在被管设备中需要运行与管理相关的软件,叫做代理程序(Agent)或代理进程。

–管理站作为客户,运行客户端的软件;而各个被管设备运行的代理程序为服务器端程序

•为进行管理,管理进程(客户端)需要和代理程序(服务器端)进行通信,这种通信可以有两种方式:

–管理进程向代理进程发出请求,询问一个具体的参数(如询问网络单元中不可达的端口数目)或者要求代理进程改变某些参数值(如把 IP 数据包的生存期改为 64 TTL)

–代理进程主动向管理进程报告有某些重要的事件发生(如某个连接口故障)

•单个被管设备可能接收多个管理站的管理。管理软件使用授权机制来确保只有获得授权的管理员才能管理相应的设备。同时也支持多等级授权。例如:允许多个管理员从某个路由器获得信息,但是只允许其中一部分的管理员能修改和控制路由。

759f4d6ff2ee3f0db1460e2ec762ff29.png

•最初,许多网络都在链路层协议中包含管理协议,这样,即使高层协议失效,也可以在底层进行控制。

•但是,对于广域网,基于TCP/IP的因特网不可能只用单一的链路层协议,而是通常是由多种物理网络由IP路由连接而成。因此,因特网管理和单一网络管理是不同的。这种不同表现在:

–单一网络的管理工作站不能控制异质路由设备

–受控实体不使用相同的链路层协议

–管理工作站控制的机器可能在因特网中的任意一个节点,管理工作站有可能需要控制和它不在同一物理网络中的设备,因此除非使用端到端的高层连接,管理工作站不能与受控设备进行通信。

•因此因特网管理协议工作在应用层,使用运输层协议进行通信。

•管理协议工作在运输层之上有如下的好处:

–协议可以设计成与硬件无关,因而相同的协议可以用于所有被管设备

–从管理员的角度来看,单一的管理协议集意味着所有的路由将响应相同的命令集,通过使用TCP/IP通信,管理员可以控制整个IP网络,而无需直接接触具体的每个物理网络或路由器类型。

•当然,工作在应用层也提出了更多的要求:

–就需要下层协议都是在正常工作的,否则无法进行网管所需要的高层通信

–需要操作系统也是正常工作的,操作系统不正常,就不可能达到应用层

•基于TCP/IP的网络管理协议分为两个部分:

–其一是管理中所需要的数据及其格式,分别为:

•管理信息库(Management Information Base)

•管理信息结构(Structure of Management Information)

–其二是规定运行在管理站上的客户软件如何与管理代理进行通信,这部分定义了客户与服务器端交换信息的格式和意义。即简单网络管理协议。

•下面分别介绍

>

•简单网络管理协议(Simple Network Management Protocol)

•SNMP 规定管理进程如何与管理代理进行通信,定义了客户与服务器端交换信息的格式和意义。此外,提供管理授权机制。

•早期的管理方式是提供一些管理命令,如重启系统用reboot、删除或增加路由用 delete 或 add 等等。但是这种方式的一个重要缺陷是对于每种数据项的每种操作都必须定义一个单独的命令,这样,当出现一种新的数据项时,需要增加相应的协议。

•SNMP采取另一种方式,

•SNMP 规定了两类从管理进程到代理的基本命令:

–从一个数据项取数据,这包括两个命令:

•get-request:从代理进程处提取一个或多个数据项

•get-next-request:从代理进程处提取一个或多个数据项的下一个数据项(关于“下一个”于数据格式有关,在后面讲。)

–把值存储到一个数据项中。

•set-request:设置代理进程的一个或多个数据项

•而其他的命令都是通过这两类命令来实现。

•从代理进程到管理进程规定了两个操作:

–get-response:这个操作是代理进程作为对上述三个管理进程操作的响应。

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

•前四种操作是简单的请求--应答方式,而 SNMP 传输通常使用UDP ,因而需要使用超时重传机制。

•SNMP 报文格式:

6b3a4f8aa5c43556b20ff824213f422e.png

SNMP报文使用ASN.1编码,其各字段长度取决于其取值,因此整个长度(除了IP、UDP首部长度确定)不是固定的。

•Abstract Syntax Notation 1 是一种形式语言,有两种表示方式:

–供人阅读使用的

–压缩编码表示,用于通信协议

•特点:

–无歧义

–标准化

–互操作

•版本字段的值为SNMP版本号减 1

•共同体字段是管理进程与代理进程之间的明文格式的口令,默认值为 public

PDU类型字段

cb32a59c352f94f1ffe6ccb3f091f842.png

0-3时的报文格式如上述表格

而为4时有所不同

•请求标识由管理进程在命令中设置,由代理进程在响应中返回。该字段用于使客户进程能够将服务器进程发出的响应和客户进程先前发出的查询进行匹配。

•差错状态字段由代理进程标注,指明有差错发生,差错发生在哪个参数。

de8fced66ac30b85e14904697cd48440.png

•差错索引字段是一个整数偏移量,指明当有差错发生时,差错发生在哪个参数。它是由代理进程标注的,且只在差错状态为2、3、4时才进行标注。

•名称和值字段是要请求的数据名称或要设置的变量名称以及其值。

•信息管理库(Management Information Base)(MIB-II RFC 1213 1991)

•本标准指定主机和路由器等被管设备需要保存的数据项,以及可以对这些数据项进行的操作。例如:MIB 规定 IP 软件必须保存到达每个网络接口的8位组的数目,并规定网络管理软件只能读这项数据。

•MIB把管理信息划分为八组,每组都有若干种数据项:

ecf9bb47a6f3b5d060a4fb0c36b7d949.png

010c1f9767fc2771f2ec1be9051080b6.png

•管理信息结构(Structure of Management Information)(RFC 1155)

•对MIB中允许的变量类型进行约束,定义MIB 中各种数据项的数据结构和表示符号,并指定命名变量的规则。SMI规定所有的MIB变量也必须使用ASN.1。

•SNMP中使用的数据类型如下:

–INTEGER、OCTER STRING、……、SEQUENDE OF等共12种。

•MIB变量的命名采用对象标识符(Object Identifier),所用对象标识符组成一个名称空间,由OSI 与 ITU 共同管理对象标识符命名体系利用对象标识符命名体系可以为任意对象命名(如每个国际协议标准都有一个名称)

•每个命名都是全球唯一的绝对名称

•名称空间为一个层次结构(类似DNS)(如下页图)

f17ea46ed9f2aaf87b31ef1977618f87.png

8b822c02480497ef2238e05b08910475.png

•说明:

•层次结构中每个节点的对象标识符是由从根节点到其上的数字序列组成,如 mib 的对象标识符为 1.3.6.1.2.1,为方便阅读也可以用相应的字符序列 iso.org.dod.internet.mgmt.mib

•可以看到在MIB中说明的八个组实际上是对象标识符空间中mib节点的8个子节点。这8个节点进一步可以往下分,即为各个组的变量。例如 ipInReceives 是 ip 下的第三个节点,则其对象标识符为:1.3.6.1.2.1.4.3 ,相应字符序列为:iso.org.dod.internet.mgmt.mib.ip.ipInReceives

•末尾为0表明是一个变量的实例:如1.3.6.1.2.1.4.3 .0,标识一个1.3.6.1.2.1.4.3 (ipInReceives的)变量的实例。

•以上介绍的是SNMPv1,1993年,发表SNMPv2(RFC 1441),版本二的改进:

–为从代理进程读取大块数据而定义了一个新的分组

–为使在管理进程之间通信而增加了另一个分组

–定义了两个新的 MIB ,用于管理进程之间的数据

–提高了安全性, 可以对报文进行加密和鉴别

•小结

•SNMP是一种简单的管理进程和代理进程之间的请求应答协议。

•MIB中定义了所有代理进程所包含的、能够被管理进程查询和设置的变量。

•所有这些变量都以对象标识符进行标识,这些对象标识符构成了一个层次命名结构。

上海艾磊科技有限公司专门为企业提供IT咨询,IT外包,系统集成,以及各类IT增值服务。其中增值服务包括OFFICE 365云服务,鼎捷企业ERP管理软件,云备份,企业邮箱,无线覆盖,上网行为管理,VPN架设,网络安全服务,INTERNET接入,设备租赁, IP电话服务。

c6b21b95e341a4ff92c93578d58af3e6.png

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

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

相关文章

僵尸毁灭工程 服务器已停止运行,《僵尸毁灭工程》steam is not enabled错误解决方法...

Steam 上面的 Project Zomboid 因为带有 VAC 所以建服开服需要 Steam服务器认证,这也是出现 steam is not enabled 错误主要原因,也是无法和普通零售正版所建的服务器联机的罪魁祸首。分两种情况(下面 Project Zomboid 均简称PZ):1、steam版P…

spring boot 1.4默认使用 hibernate validator

spring boot 1.4默认使用 hibernate validator 5.2.4 Final实现校验功能。hibernate validator 5.2.4 Final是JSR 349 Bean Validation 1.1的具体实现。 How to disable Hibernate validation in a Spring Boot project As [M. Deinum] mentioned in a comment on my original …

服务器修改开机启动项,启动项设置_服务器开机启动项

最近很多观众老爷在苦觅关于启动项设置的解答,今天钦编为大家综合5条解答来给大家解开疑惑! 有98%玩家认为启动项设置_服务器开机启动项值得一读!启动项设置1.如何在bios设置硬盘为第一启动项详细步骤根据BIOS分类的不同操作不同:…

字符串查找字符出现次数_查找字符串作为子序列出现的次数

字符串查找字符出现次数Description: 描述: Its a popular interview question based of dynamic programming which has been already featured in Accolite, Amazon. 这是一个流行的基于动态编程的面试问题,已经在亚马逊的Accolite中得到了体现。 Pr…

Ubuntu 忘记密码的处理方法

Ubuntu系统启动时选择recovery mode,也就是恢复模式。接着选择Drop to root shell prompt ,也就是获取root权限。输入命令查看用户名 cat /etc/shadow ,$号前面的是用户名输入命令:passwd "用户名" 回车就可以输入新密码了转载于:…

服务器mdl文件转换,Simulink Project 中 MDL 到 SLX 模型文件格式的转换

打开弹体示例项目并将 MDL 文件另存为 SLX运行以下命令以创建并打开“sldemo_slproject_airframe”示例的工作副本。Simulink.ModelManagement.Project.projectDemo(airframe, svn);rebuild_s_functions(no_progress_dialog);Creating sandbox for project.Created example fil…

vue 修改div宽度_Vue 组件通信方式及其应用场景总结(1.5W字)

前言相信实际项目中用过vue的同学,一定对vue中父子组件之间的通信并不陌生,vue中采用良好的数据通讯方式,避免组件通信带来的困扰。今天笔者和大家一起分享vue父子组件之间的通信方式,优缺点,及其实际工作中的应用场景…

源码安装nginx以及平滑升级

源码安装nginx以及平滑升级作者:尹正杰版权声明:原创作品,谢绝转载!否则将追究法律责任。欢迎加入:高级运维工程师之路 598432640这个博客不方便上传软件包,我给大家把软件包放到百度云链接:htt…

乐高泰坦机器人视频解说_“安防”机器人将亮相服贸会

可巡视园区、自动避障、自动充电,实现24小时巡逻,与后台链接实时视频监控,异常检测……17日下午,北青-北京头条记者在特斯联科技集团有限公司的展厅中看到,一款“身怀绝技”的“安防”机器人备受关注。这款机器人也将在…

ios上传文件云服务器上,ios文件上传服务器

ios文件上传服务器 内容精选换一换在当前的迁移流程中,可能会存在迁移后ECS控制台镜像名称与实际操作系统不一致的现象。在当前机制下,该现象属于正常现象。该处显示的是下发ECS时使用的镜像名称,而不是操作系统名称。如果设置目的端时使用的…

这是一个UIImage集合类,可以很方便的对图片的染料(着色),增加亮度(闪电)和降低亮度(黑)和其他扩展的功能模块。...

2019独角兽企业重金招聘Python工程师标准>>> 这是一个UIImage集合类,可以很方便的对图片的染料(着色),增加亮度(闪电)和降低亮度(黑)和其他扩展的功能模块。 在swift下实…

微商相册一直显示服务器偷懒,【小程序】微商个人相册多端小程序源码以及安装...

程序介绍学习node.js顺便接的400元单子,前后端都是自己写,相比自己以前写的,这次相对来说比较规范,用于个人相册展示,适合微商,有客服联系,无需后台管理系统,小程序上直接进行管理&a…

ipfs分布式存储网络服务器系统,IPFS分布式存储是什么意思 分布式云存储服务器详解...

一直以来,数据的安全性,存储的隐私性都是用户很重视的方面。基于此,再加上现在媒体对于分布式存储的疯狂报道,分布式存储一词再度涌入了大家的视野之中,接下来IPFS新说就为大家详解一下有关IPFS分布式存储的知识。VIPF…

时间轮

老早之前就听说时间轮算法特别高效,Linux内核都用的它,这两天抽空实现了遍……嗯,被差一bug搞死(~ ̄▽ ̄~) 啊哈 网上扣来的图,原理好懂:轮子里的每格代表一小段时间(精度)…

qt tab弹出特效_Nuke Studio 12(影视特效合成软件)中文版分享

Nuke 12是一款功能强大,世界知名的影视后期特效合成软件。NUKE是一个获得学院奖(Academy Award)的数码合成软件。已经经过10年的历练,为艺术家们提供了创造具有高质素的相片效果的图像的方法。NUKE无需专门的硬件平台,但却能为艺术家提供组合…

【转】unity地形插件T4M使用帮助

unity的地形系统在手机游戏中因为效率问题基本无法使用,只能通过T4M这个地形插件来进行优化制作。下面大概讲解一下使用流程及方法。 先中U3D里面用自带的地形系统刷出想要的地形和贴图。贴图可以大概刷一下。后面要重新刷。 用导出脚本ExportTerrain.js导出地形为O…

Linux的简介与虚拟机的管理

Linux的简介: 严格的来讲,Linux不算是一个操作系统,只是一个Linux系统中的内核,Linux的全称是GUN/Linux,这才算是一个真正意义上的Linux系统。 Linux是一个多用户多任务的操作系统,拥有良好的用户界面&…

R语言:ggplot2精细化绘图——以实用商业化图表绘图为例(转)

本文旨在介绍R语言中ggplot2包的一些精细化操作,主要适用于对R画图有一定了解,需要更精细化作图的人,尤其是那些刚从excel转ggplot2的各位,有比较频繁的作图需求的人。不讨论那些样式非常酷炫的图表,以实用的商业化图表…

Linux中常用的命令

1.文件建立 touch file(文件的名字) 注意: touch不但可以建立文件也可以修改文件的时间戳 时间戳分为: atime:文件内容被访问的时间标识 mtime:文件内容被修改的时间标识 ctime:文件属性或文件内…

Linux系统中输出输入的管理

1.什么是输入和输出 输入和输出是计算机系统中的主机与外部进行通信的系统。它由外围设备和输入输出控制系统两部分组成,我们在shell中键入指令,然后送入CPU中运算产生结果,再将结果送到字符设备中显示。简单点来说输入输出就是通过我们的键盘…