`
tenderuser
  • 浏览: 61876 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
阅读更多
SNMP(Simple Network ManagementProtocol)即简单网络管理协议,它为网络管理系统提供了底层网络管理的框架。SNMP协议的应用范围非常广泛,诸多种类的网络设备、软件和系统中都有所采用,主要是因为SNMP协议有如下几个特点:
首先,相对于其它种类的网络管理体系或管理协议而言,SNMP易于实现。SNMP的管理协议、MIB及其它相关的体系框架能够在各种不同类型的设备上运行,包括低档的个人电脑到高档的大型主机、服务器、及路由器、交换器等网络设备。一个SNMP管理代理组件在运行时不需要很大的内存空间,因此也就不需要太强的计算能力。SNMP协议一般可以在目标系统中快速开发出来,所以它很容易在面市的新产品或升级的老产品中出现。尽管SNMP协议缺少其它网络管理协议的某些优点,但它设计简单、扩展灵活、易于使用,这些特点大大弥补了SNMP协议应用中的其他不足。
less..
其次,SNMP协议是开放的免费产品。只有经过IETF的标准议程批准(IETF是IAB下设的一个组织),才可以改动SNMP协议;厂商们也可以私下改动SNMP协议,但这样作的结果很可能得不偿失,因为他们必须说服其他厂商和用户支持他们对SNMP协议的非标准改进,而这样做却有悖于他们的初衷。

第三,SNMP协议有很多详细的文档资料(例如RFC,以及其它的一些文章、说明书等),网络业界对这个协议也有着较深入的理解,这些都是SNMP协议近一步发展和改进的基础。

最后,SNMP协议可用于控制各种设备。比如说电话系统、环境控制设备,以及其它可接入网络且需要控制的设备等,这些非传统装备都可以使用SNMP协议。

正是由于有了上述这些特点,SNMP协议已经被认为是网络设备厂商、应用软件开发者及终端用户的首选管理协议。
SNMP是一种无连接协议,无连接的意思是它不支持象TELNET或FTP这种专门的连接。通过使用请求报文和返回响应的方式,SNMP在管理代理和管理员之间传送信息。这种机制减轻了管理代理的负担,它不必要非得支持其它协议及基于连接模式的处理过程。因此,SNMP协议提供了一种独有的机制来处理可靠性和故障检测方面的问题。
另外,网络管理系统通常安装在一个比较大的网络环境中,其中包括大量的不同种类的网络和网络设备。因此,为划分管理职责,应该把整个网络分成若干个用户分区,可以把满足以下条件的网络设备归为同一个SNMP分区:它们可以提供用于实现分区所需要的安全性方面的分界线。SNMP协议支持这种基于分区名(communitystring)信息的安全模型,可以通过物理方式把它添加到选定的分区内的每个网络设备上。目前SNMP协议中基于分区的身份验证模型被认是为很不牢靠的,它存在一个严重的安全问题。主要原因是SNMP协议并不提供加密功能,也不保证在SNMP数据包交换过程中不能从网络中直接拷贝分区信息。只需使用一个数据包捕获工具就可把整个SNMP数据包解密,这样分区名就暴露无遗。因为这个原因,大多数站点禁止管理代理设备的设置操作。但这样做有一个副作用,这样一来只能监控数据对象的值而不能改动它们,限制了SNMP协议的可用性。

SNMP的命令和报文
SNMP协议定义了数据包的格式,及网络管理员和管理代理之间的信息交换,它还控制着管理代理的MIB数据对象。因此,可用于处理管理代理定义的各种任务。SNMP协议之所以易于使用,这是因为它对外提供了三种用于控制MIB对象的基本操作命令。它们是:Set 、Get 和 Trap :
Set:它是一个特权命令,因为可以通过它来改动设备的配置或控制设备的运转状态。

Get:它是SNMP协议中使用率最高的一个命令,因为该命令是从网络设备中获得管理信息的基本方式。

Trap:它的功能就是在网络管理系统没有明确要求的前提下,由管理代理通知网络管理系统有一些特别的情况或问题发生了。

SNMP协议也定义了执行以上三个命令时的报文流,但它没有定义其它的设备管理代理命令,可应用于MIB数据对象的操作只有Set和Get命令,这两个命令的目标是数据对象的值。比如说,SNMP协议中没有定义reboot(重启)命令;然而,管理代理软件把MIB数据对象和设备的内部命令联系起来,这样就可以实现某些特殊的命令操作。如果现在想要重启某个设备,管理系统就把某个与重启有关的MIB数据对象的值设为1(我们的假定)。这样就会触发管理代理执行重新启动设备的命令,同时还把这个MIB数据对象重新设置为原来的状态。
一条SNMP报文由三个部分组成:版本域(version field),分区域(community field)和SNMP协议数据单元域(SNMP protocol data unit field),数据包的长度不是固定的。
版本域:这个域用于说明现在使用的是哪个版本的SNMP协议。目前,version 1是使用最广泛的SNMP协议。

分区域:分区(community)是基本的安全机制,用于实现SNMP网络管理员访问SNMP管理代理时的身份验证。分区名(Communityname)是管理代理的口令,管理员被允许访问数据对象的前提就是网络管理员知道网络代理的口令。如果把配置管理代理成可以执行Trap命令,当网络管理员用一个错误的分区名查询管理代理时,系统就发送一个autenticationFailure trap报文。

协议数据单元域:SNMPv1的PDU有五种类型,有些是报文请求(Request),有些则是响应(Response)。它们包括:GetRequest、GetNextRequest、SetRequest、GetResponse、Trap。SNMPv2又增加了两种PDU:GetBulkRequest和InformRequest 。


SNMP管理员使用GetRequest从拥有SNMP代理的网络设备中检索信息,SNMP代理以GetResponse消息响应GetRequest。可以交换的信息很多,如系统的名字,系统自启动后正常运行的时间,系统中的网络接口数等等。GetRequest和GetNextRequest结合起来使用可以获得一个表中的对象。GetRequest取回一个特定对象;而使用GetNextRequest则是请求表中的下一个对象。使用SetRequest可以对一个设备中的参数进行远程配置。Set-Request可以设置设备的名字,关掉一个端口或清除一个地址解析表中的项。Trap即SNMP陷阱,是SNMP代理发送给管理站的非请求消息。这些消息告知管理站本设备发生了一个特定事件,如端口失败,掉电重起等,管理站可相应的作出处理。

MIB概述
管理信息数据库(MIB)是一个信息存储库,它包含了管理代理中的有关配置和性能的数据,有一个组织体系和公共结构,其中包含分属不同组的许多个数据对象。如下图所示。


MIB数据对象以一种树状分层结构进行组织,这个树状结构中的每个分枝都有一个专用的名字和一个数字形式的标识符。上图表示的是标准MIB的组织体系,列出了从MIB结构树的树根到各层树枝的全部内容。结构树的分枝实际表示的是数据对象的逻辑分组。而树叶,有时候也叫节点(node),代表了各个数据对象。在结构树中使用子树表示增加的中间分枝和增加的树叶。
使用这个树状分层结构,MIB浏览器能够以一种方便而且简洁的方式访问整个MIB数据库。MIB浏览器是这样一种工具,它可以遍历整棵MIB结构树,通常以图形显示的形式来表示各个分枝和树叶对象。可以通过其数字标识符来查找MIB中的数据对象,这个数字标识符号从结构树的顶部(或根部)开始,直到各个叶子节点(即数据对象)为止。这种访问方式和文件系统的组织方式一致。两者的主要区别在于文件系统中的路径名可以以绝对也可以以相对方式表示,而MIB数据对象只能以绝对方式表示,不能使用相对方式。例如,在图中,iso(1)位于结构树的最上方,而sysDescr(1)处在叶子节点的位置。现在看不到树根root(.),其余所有的分枝都是从这里扩展而来的。通常用带点的符号来表示数据对象的标识符。要访问数据对象sysDescr(1),其完整的标识符应该是这样的:iso.org.dod.internet.mgmt.mib-2.system.sysDescr(这个标识符应该从左向右读)。数据对象也可以以另一种更短的格式表示,即用数字形式标识符代替分枝名形式的表示形式。这样,上面的那种形式的标识符iso.org.dod.internet.mgmt.mib-2.system.sysDescr 还可以用1.3.6.1.2.1.1.1来表示。这两种表达格式的作用是一致的,都表示同一个MIB数据对象。尽管数字形式的标识符看起来更简洁,选择何种表达格式仍然是个人偏好问题。幸运的是,许多MIB浏览器可以以两者中任何一种格式来表示数据对象,这使得两种格式间的相互转化非常容易。

MIB的访问方式
在定义MIB数据对象时,访问控制信息确定了可作用于该数据对象的操作种类。SNMP协议有如下的MIB数据对象访问方式:
只读方式(Read-only)

可读可写(Read-write)

禁止访问(Not-accessible)

网络管理系统无法改动只读方式的MIB数据对象,但可以通过Get或Trap命令读取数据对象的值。在一件产品的使用期内,某些MIB的信息从不会改变。例如,MIB数据对象sysDescr,它代表SystemDescription,包含了管理代理软件所需要的厂商信息。确定某些数据对象为只读还有另一个原因,即确保有关性能的信息及其它统计数据正确,不至于因误操作而改动它们。

SNMP作为数据传输方法,和数据的组织形式MIB结合,为网络管理系统提供了底层的保障。一个真正的网络管理系统可以建立在SNMP之上,也可以建立在其他的网络管理协议上,如CMIP等等,不过那也是需要另外撰文叙述的了。

 snmpwalk -c public -v 2c 192.168.2.10 -O a > log
分享到:
评论

相关推荐

    介绍snmp和mib

    ### SNMP与MIB简介 #### 一、SNMP与MIB概述 **简单网络管理协议**(Simple Network Management Protocol, SNMP)是一种广泛应用于网络设备管理的标准协议。它为网络管理员提供了远程监控和管理网络设备(如路由器、...

    SNMP+MIB完整手册

    SNMP 和 MIB 是网络管理中的重要组件,SNMP 协议允许管理工作站远程管理网络设备,MIB 则是 SNMP 协议软件中主要的一个模块,管理信息库。了解 SNMP 和 MIB 的概念和原理,对于网络管理和维护非常重要。

    snmp以及mib文档学习

    SNMP(Simple Network Management Protocol,简单网络管理协议)是一种广泛应用于网络设备管理的协议,它允许网络...通过深入学习SNMP协议、ASN.1语法以及MIB的编写和应用,网络管理员可以更好地管理和优化网络资源。

    snmpmib.rar_SNMP_SNMP MIB_mib_snmpm_snmpmib

    MIB(Management Information Base,管理信息库)是SNMP的核心组成部分,用于定义网络管理系统可以管理和控制的网络对象。 MIB是一个结构化的数据集合,包含了网络中可管理对象的定义,这些对象包括接口状态、路由...

    snmp-for-java.rar_java snmp_mib_snmp java_基于snmp

    通过简单网络管理协议(SNMP)和管理信息库(MIB),管理员可以有效地对网络设备进行监控和管理,这对于保持网络稳定性和性能至关重要。在众多的编程语言中,Java凭借其平台无关性和丰富的库支持,在网络管理工具的...

    SNMP.zip_SNMP_SNMP MIB_mib_mib snmp

    学习SNMP和MIB对于网络管理员来说至关重要,它们提供了对网络基础设施的全面洞察,有助于预防和解决网络问题,提高网络的可靠性和效率。通过阅读这些文档,初学者可以逐步掌握SNMP协议的工作方式,以及如何利用MIB...

    SNMP协议MIB查看测试软件mibbrowser

    MIB(Management Information Base,管理信息库)是SNMP中的一个重要概念,它是设备配置和状态信息的结构化表示,通过SNMP协议进行查询和操作。 MIBbrowser是一款用于查看和测试SNMP协议中MIB的工具,它可以帮助...

    基于java的开发源码-SNMP的MIB浏览器 JMIBBrowser.zip

    基于java的开发源码-SNMP的MIB浏览器 JMIBBrowser.zip 基于java的开发源码-SNMP的MIB浏览器 JMIBBrowser.zip 基于java的开发源码-SNMP的MIB浏览器 JMIBBrowser.zip 基于java的开发源码-SNMP的MIB浏览器 JMIBBrowser....

    Windows Snmp MIB扩展开发

    SNMP 通过管理信息库(Management Information Base, MIB)来存储设备的状态信息,并支持对这些信息的读取和修改。然而,随着设备功能的日益复杂,原有的 MIB 结构往往不能满足所有需求,因此需要对其进行扩展。在 ...

    mib_browser.rar_MIB Browser_SNMP MIB_mib_mib brows_snmp++ mib

    本文将围绕“MIB浏览器”这一主题,深入探讨SNMP MIB的概念、作用以及如何通过源代码实现MIB2,旨在为网络管理员和开发人员提供全面的参考。 SNMP是一种广泛使用的网络管理协议,它允许网络设备(如路由器、交换机...

    snmp.zip_SNMP_mib_mib 设备_snmp setrequest

    MIB(Management Information Base)是SNMP的核心部分,是一个结构化的数据库,包含了网络设备的配置、性能和状态信息。 在SNMP操作中,主要有三种基本的请求类型: 1. GetRequest:这是最基础的操作,用于获取MIB...

    F5-net-snmp-mib

    这些库文件对于正确解析和理解F5设备的MIB数据至关重要,因为它们能够帮助SNMP工具识别和使用MIB文件中定义的特定于F5的管理对象。在实际操作中,管理员需要将这些MIB文件导入到网络管理系统中,并配置SNMP代理,...

    SNMP.zip_SNMP MIB_mib_snmp获取数据_基于snmp

    MIB(Management Information Base,管理信息库)是SNMP的核心组成部分,包含了网络设备的各种管理对象的结构化定义,用于存储和组织网络设备的状态和配置信息。 在这个"SNMP.zip"压缩包中,我们可以看到一个关于...

    mib_browser.zip_SNMP_mib_zip

    在网络管理领域中,SNMP(简单网络管理协议)和MIB(管理信息库)技术是两个不可或缺的组成部分。它们共同构成了网络设备远程管理和监控的基础架构。在本文中,我们将深入了解这些概念,并探讨“MIB Browser.zip ...

    动态生成SNMP的MIB库

    4. SNMP库:VS2010下可能使用的SNMP库有libsnmp、net-snmp等,你需要学习如何集成这些库,利用它们提供的API来操作MIB和进行SNMP通信。 5. 动态生成MIB:这部分涉及到MIB的编译和解析过程。你需要编写代码来动态...

    使用mib2c工具添加私有SNMP的OID

    Net-SNMP 是一个开源的 SNMP 实现,它提供了一个完整的 SNMP 解决方案,包括 SNMP agent、SNMP manager 和 MIB compiler 等。 在编译 mib2c 工具时,需要注意工具链的路径。如果使用交叉编译环境,需要修改 ...

    SNMP_MIB.rar_SNMP_mib_mib浏览器

    MIB(管理信息库)是SNMP中的一个重要概念,它是设备配置和状态信息的结构化表示。 在"SNMP_MIB.rar_SNMP_mib_mib浏览器"这个压缩包中,包含的是一套基于SNMP++库开发的MIB浏览器的源代码。SNMP++是实现SNMP协议的...

    net-snmp自定义扩展mib方法

    而MIB(Management Information Base)是SNMP体系中的核心组成部分之一,用于存储网络设备的各种管理数据。对于高级网络管理和特定需求,有时需要对现有的MIB进行扩展或自定义。本文将详细介绍如何在net-snmp 5.4...

    SNMP及MIB相关知识

    ### SNMP及MIB相关知识...总之,SNMP及MIB相关知识构成了现代网络管理的基础,通过对SNMP协议的深入理解和MIB的有效利用,网络管理员能够实现对复杂网络环境的全面监控和高效管理,从而提升网络服务质量和运维效率。

    snmp 中MIB-2主要节点 详解

    SNMP 中 MIB-2 主要节点详解 SNMP(Simple Network Management Protocol)是一种应用层协议,用于在 IP 网络中管理和监控网络设备。MIB-2(Management Information Base-2)是 SNMP 中的一个主要节点,提供了关于...

Global site tag (gtag.js) - Google Analytics