SNMP MIB 介绍
- 格式:docx
- 大小:42.83 KB
- 文档页数:17
标准snmp.mibSNMP(Simple Network Management Protocol)是一种用于网络管理的协议,它允许管理者监视和配置网络设备。
而MIB(Management Information Base)则是一种用于存储管理信息的数据库。
标准snmp.mib即为SNMP协议中定义的标准MIB文件,它包含了一系列的对象标识符(OID)和相应的管理信息,用于描述网络设备的状态、配置和性能等信息。
在标准snmp.mib中,定义了大量的OID,每个OID都对应着一个特定的管理信息。
这些信息可以包括设备的型号、厂商、操作系统版本、CPU利用率、内存使用情况、接口状态等。
通过使用SNMP协议,管理者可以通过网络获取这些信息,从而进行网络设备的监控和管理。
标准snmp.mib文件的结构通常是按照模块进行组织的。
每个模块包含了一组相关的OID定义,这些定义通常是按照树状结构进行组织的,以便更好地组织和管理这些信息。
在实际的网络管理中,管理者可以通过使用这些OID来查询设备的信息,或者对设备进行配置。
除了标准的snmp.mib文件之外,还存在着许多厂商特定的MIB文件。
这些MIB文件通常包含了一些特定厂商设备的一些特定信息,如Cisco、Juniper等厂商都提供了自己的MIB文件。
这些MIB文件可以帮助管理者更好地监控和管理特定厂商的设备。
在实际的网络管理中,管理者通常会使用一些网络管理软件来帮助他们进行设备的监控和管理。
这些软件通常会提供一个图形化的界面,让管理者可以方便地查询设备的信息,或者对设备进行配置。
这些软件通常会内置了一些常用的MIB文件,同时也支持用户导入自定义的MIB文件,以便更好地支持不同厂商的设备。
总的来说,标准snmp.mib文件是SNMP协议中非常重要的一部分。
它定义了大量的管理信息,帮助管理者更好地监控和管理网络设备。
同时,它也为网络管理软件的开发提供了重要的支持,使得这些软件可以更好地支持不同厂商的设备。
snmp介绍oid及mib库SNMP介绍,OID及MIB库1.1.SNMP概览SNMP的基本知识介绍简单网络管理协议(SNMP-SimpleNetwork Management Protocol)是一个与网络设备交互的简单方法。
该规范是由IETF在1990年五月发布的RFC 1157中定义的。
SNMP通常被认为相当难懂,并且过于复杂,其可用的API 似乎在本来非常简单的东西外面封装了大量的东西。
现在关于SNMP 的书籍又往往只是把它更加复杂化了,而没有解释清楚。
SNMP对于任何程序设计人员来说是特别易于理解的。
总体的简化能够很好地把这个系统简化。
一个网络设备以守护进程的方式运行SNMP代理,该守护进程能够响应来自网络的各种请求信息。
该SNMP代理提供大量的对象标识符(OID -Object Identifiers)。
一个OID是一个唯一的键值对。
该代理存放这些值并让它们可用。
一个SNMP管理器(客户)可以向代理查询键值对中的特定信息。
从程序员的角度看,这和导入大量的全局变量没有多少区别。
SNMP的OID 是可读或可写的。
尽管向一个SNMP设备写入信息的情况非常少,但它是各种管理应用程序用来控制设备的方法(例如针对交换机的可管理GUI)。
SNMP中有一个基本的认证框架,能够让管理员发送公共名来对OID读取或写入的认证。
绝大多数的设备使用不安全的公共名"public" 。
SNMP协议通过UDP端口161和162进行通信的。
注意,我还没有提到MIB!MIB的重要性被大大地夸大了。
刚开始时,MIB显得非常复杂,但是它们其实非常简单。
OID 是数字的和全局的键值对。
一个OID看起来和一个IPv6的地址很象,并且不同的厂商有不同的前缀等信息。
OID都非常长,使得人们难以记住,或者对他非常感冒。
因此,人们就设计了一种将数字OID翻译为人们可读的格式。
这种翻译映射被保存在一个被称为“管理信息基础"(Management Infomation Base) 或MIB的、可传递的无格式文本文件里。
mib管理简单说明以mib管理MIB(Management Information Base)是一种用于管理网络设备的方法和协议。
它定义了一套标准的对象和属性,用于描述和控制网络设备的状态和行为。
通过使用MIB,网络管理员可以监控和管理网络设备的运行状况,诊断和解决问题,以及进行配置和性能优化。
MIB管理的核心是SNMP(Simple Network Management Protocol),它是一种用于网络设备管理的协议。
SNMP通过发送和接收消息来实现网络设备的监控和控制。
在SNMP中,MIB被组织成一个层次结构的树形结构,称为MIB树。
每个节点代表一个对象,具有唯一的标识符(OID)。
通过OID,可以访问和操作特定的对象。
MIB树中的每个节点都有一个对应的OID,用于唯一标识该节点。
OID由一系列的数字组成,每个数字代表一个节点在树中的位置。
例如,OID 1.3.6.1.2.1.1.1表示MIB树中的一个节点,它对应的对象是设备的系统描述。
MIB管理的基本原理是通过SNMP协议,向网络设备发送请求,获取设备的状态和信息。
管理员可以使用SNMP管理工具,如SNMP管理软件,通过指定设备的IP地址和SNMP协议版本,来连接到设备,并获取设备的MIB信息。
MIB管理主要包括以下几个方面:1. 监控和收集信息:通过SNMP协议,管理员可以获取设备的各种状态和信息,如设备的CPU利用率、内存使用情况、接口流量等。
这些信息对于及时发现和解决问题非常重要。
2. 配置和管理设备:通过SNMP协议,管理员可以对网络设备进行配置和管理。
例如,可以通过SNMP设置设备的IP地址、路由表、访问控制列表等。
3. 故障诊断和故障排除:通过监控设备的MIB信息,管理员可以快速发现和定位故障。
例如,可以通过查看设备的接口流量、错误计数等信息,判断是否存在网络拥堵或故障。
4. 性能优化和容量规划:通过分析设备的MIB信息,管理员可以评估设备的性能状况,并进行容量规划。
SNMP功能详解SNMP(Simple Network Management Protocol)是一种网络管理协议,用于监视和管理网络中的设备和系统。
它是基于管理信息基础架构(Management Information Base,MIB)的标准化协议,可以提供对网络设备的配置、性能、状态和告警等信息的收集、查询和控制。
下面将详细介绍SNMP的功能和应用。
1.网络设备监控:SNMP可以通过查询网络设备的MIB来获得设备的配置信息、状态信息和性能指标。
这包括设备的名称、型号、固件版本、接口状态、带宽使用率、内存使用率等。
通过对这些信息进行分析和监控,可以及时发现设备的异常状态和性能问题,并采取相应的措施进行修复和优化。
2.配置管理:SNMP可以通过设置设备的MIB来进行远程端口的配置和管理。
管理员可以通过SNMP协议来远程修改设备的配置,如修改接口速率、配置访问控制列表、开启或关闭一些功能等。
这样可以简化配置的过程,提高配置的一致性和准确性。
3.告警和事件管理:SNMP可以实现设备的告警和事件的管理。
设备可以将发生的告警和事件信息发送给网络管理系统(NMS),管理员可以通过NMS来查看和处理这些告警和事件信息。
当发生设备故障或异常时,SNMP可以及时通知管理员,以便立即采取相应的措施来解决问题。
4.性能监控:SNMP可以实时收集和监控网络设备的性能指标,如带宽利用率、吞吐量、丢包率等。
管理员可以通过这些指标来评估网络的性能,并进行优化和调整。
另外,SNMP还可以提供历史数据的存储和分析功能,以便进行性能趋势的预测和容量规划。
5.安全管理:SNMP提供了安全管理的功能,可以对网络设备进行身份认证和访问控制。
SNMPv3协议引入了安全模型和安全策略,支持消息的加密和认证机制,保护管理信息的机密性和完整性。
管理员可以通过配置SNMP的安全参数来确保对设备信息的保护和控制。
总之,SNMP是一种强大的网络管理协议,提供了全面的设备监控和管理功能。
SNMP介绍OID及MIB库SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于网络设备监控及管理的协议。
它基于客户-服务器模型,通过管理站点(Management Station)收集并监控网络设备(Agent)上的信息,以实现对网络设备的集中管理。
在SNMP中,OID(Object Identifier,对象标识符)是一种用于标识管理信息的标准化方法。
每个OID都是一个由一系列数字组成的唯一标识符,它代表了网络设备上的一些管理对象。
OID通常由一个标识符序列组成,例如,1.3.6.1.2.1.1代表系统信息。
通过OID,管理站点可以查询设备上的特定属性或执行特定操作。
OID是SNMP中的核心概念,用于定义管理信息的层次结构。
为了提供设备和管理站点之间的通信标准,SNMP使用MIB (Management Information Base,管理信息库)库。
MIB是一种结构化的信息库,定义了网络设备上可被管理的对象和属性。
MIB库存储了每个OID对应的具体信息,包括对象的含义、名称、数据类型等。
MIB库提供了一个标准的集合,以便管理站点了解设备上的各种管理信息,例如设备的网络接口、硬件状态、链路负载等。
通过MIB库,管理站点可以根据OID查询设备的信息,并且可以根据设备返回的信息进行相应的管理和配置。
MIB库中的信息被组织成树状结构,类似于文件系统中的目录结构。
根节点被称为iso,其下的子节点代表了各种管理信息的不同级别。
MIB 库的顶级节点是三个标准MIB库:MIB-2、SNMPv2-SMI和SNMPv2-TC。
MIB-2含有关于系统、接口、IP、ICMP、TCP、UDP等方面的信息。
SNMPv2-SMI包含了SNMPv2定义的基本概念和类型。
SNMPv2-TC定义了一些常用的和通用的数据类型。
除了这些标准MIB库,还有各种厂商特定的MIB库,用于描述特定设备的管理信息。
snmp mib的用法SNMP(Simple Network Management Protocol)MIB (Management Information Base)是用于管理网络设备的一种标准协议。
MIB是一种数据库,其中包含了关于网络设备的信息,例如设备的配置、性能统计和状态信息等。
SNMP协议通过MIB来管理网络设备,允许网络管理员监控和控制网络设备。
首先,让我们来看一下SNMP MIB的结构。
SNMP MIB由一组层次结构的对象标识符(OID)组成,每个OID对应一个特定的管理信息。
这些OID按照树状结构进行组织,类似于文件系统中的目录结构,使得管理者可以轻松地定位到所需的信息。
SNMP MIB的用法主要包括以下几个方面:1. 监控,通过SNMP MIB,网络管理员可以监控网络设备的性能和状态信息。
例如,可以使用MIB中的OID来查询设备的CPU利用率、内存使用情况、接口流量等信息。
2. 配置,SNMP MIB也可以用于配置网络设备。
管理员可以使用MIB中的OID来修改设备的配置参数,例如修改路由器的路由表、配置交换机的VLAN等。
3. 告警,通过监控MIB中的特定OID,管理员可以设置告警规则,当设备的某些指标超出预设的阈值时,系统可以自动发送告警通知,以便及时采取措施。
4. 故障诊断,当网络设备出现故障时,管理员可以通过查询MIB中的信息来进行故障诊断,找出故障的原因和位置。
5. 性能优化,通过分析MIB中的性能数据,管理员可以对网络设备进行性能优化,提高网络的稳定性和性能。
总之,SNMP MIB是管理网络设备的重要工具,通过合理利用MIB中的信息,可以帮助管理员更好地监控、配置和优化网络设备,保障网络的正常运行。
SNMP的工作原理SNMP(Simple Network Management Protocol)是一种用于管理和监控网络设备的协议。
它允许网络管理员远程监控和管理网络设备,以确保网络的正常运行。
SNMP的工作原理是基于客户端-服务器模型,其中网络设备充当服务器,而网络管理系统(NMS)充当客户端。
SNMP的工作原理可以分为两个主要方面:管理信息库(MIB)和SNMP协议操作。
1. 管理信息库(MIB):SNMP使用MIB来描述网络设备的管理信息。
MIB是一个层次结构的数据库,其中包含了网络设备的各种参数和状态信息。
每一个网络设备都有一个惟一的标识符,称为OID(Object Identifier)。
OID用于标识MIB中的特定对象,例如接口状态、CPU利用率、内存使用情况等。
管理员可以使用SNMP协议从网络设备中获取这些信息,并根据需要进行监控和管理。
2. SNMP协议操作:SNMP协议定义了一组操作,用于管理和监控网络设备。
这些操作包括获取(GET)、设置(SET)、轮询(GETNEXT)和陷阱(TRAP)等。
下面是这些操作的详细说明:- 获取(GET):管理员可以使用GET操作从网络设备中获取特定对象的值。
例如,可以使用GET操作获取某个接口的状态信息。
- 设置(SET):管理员可以使用SET操作向网络设备中设置特定对象的值。
例如,可以使用SET操作修改某个接口的配置。
- 轮询(GETNEXT):管理员可以使用GETNEXT操作轮询获取MIB中的下一个对象。
这样可以遍历整个MIB树,获取所有的对象值。
- 陷阱(TRAP):网络设备可以主动发送陷阱消息给NMS,以通知管理员发生了某些特定的事件。
例如,设备断开连接或者浮现故障时,可以发送陷阱消息给NMS。
SNMP的工作原理基于UDP协议,使用默认端口号161进行通信。
当NMS需要获取或者设置网络设备的信息时,它会向设备发送SNMP请求。
设备收到请求后,会根据请求的类型执行相应的操作,并将结果返回给NMS。
snmp的名词解释SNMP(Simple Network Management Protocol)是一种广泛应用于计算机网络管理的协议。
它允许网络设备如路由器、交换机、服务器等通过网络进行远程管理和监控。
本文将对SNMP中的一些关键名词进行解释,以帮助读者更好地理解和使用这一协议。
1. 管理站(Manager):管理站是指拥有SNMP管理系统的主机,它负责对网络设备进行监控、配置和管理。
管理站通过SNMP协议与被管理设备进行通信,并获取设备的状态信息、执行操作指令等。
2. 代理(Agent):代理是网络设备上运行的SNMP软件,它负责收集设备的状态信息,并将其以统一的格式发送给管理站。
代理还可以接收来自管理站的配置命令,并对设备进行相应的操作。
3. 管理信息库(MIB):MIB是一种结构化的数据文件,用于描述网络设备的各种属性和状态信息。
MIB中的对象(Object)以唯一的标识符OID(Object Identifier)来进行区分。
管理站通过查询MIB中的对象来获取设备的信息。
4. OID(Object Identifier):OID是用于唯一标识MIB中的对象的一串数字。
每个MIB对象都有一个唯一的OID,其格式为一系列由点号分隔的整数。
OID的结构类似于文件系统中的路径,用于引导管理站定位到MIB中的具体对象。
5. PDU(Protocol Data Unit):PDU是SNMP协议中的数据单元,用于在管理站和代理之间传输信息。
常见的PDU类型包括GET、SET、GETNEXT、GETBULK等,分别用于获取单个对象的值、修改对象的值、获取下一个对象的值以及批量获取对象的值。
6. SNMP版本:SNMP协议有多个版本,常见的包括SNMPv1、SNMPv2c和SNMPv3。
不同版本的协议在功能和安全性方面有所差异。
SNMPv1是最早的版本,功能相对简单,安全性较低;SNMPv2c在SNMPv1基础上进行了扩展,支持更多的操作类型;SNMPv3是最新的版本,增强了安全性,支持加密和认证机制。
MIB浏览与SNMP操作MIB浏览与SNMP操作是指使用管理信息库(MIB)和简单网络管理协议(SNMP)来监控和管理网络设备的过程。
MIB是一种描述网络设备的数据结构和属性的标准格式,SNMP是一种网络协议,用于收集和管理网络设备的信息。
一旦了解了MIB树的结构,就可以使用SNMP操作来监控和管理网络设备。
SNMP操作包括读取、写入和修改网络设备的属性值,以及重启设备、收集性能数据等操作。
具体来说,使用SNMP操作可以实现以下功能:1.获取设备的属性值:通过SNMP操作可以获取设备的各种属性值,如接口状态、CPU利用率、内存使用情况等。
这些属性值可以帮助管理员了解设备当前的状态和性能。
2.配置设备:通过SNMP操作可以修改设备的配置,比如设置网络接口的IP地址、启用或禁用一些功能等。
这使得管理员可以远程管理设备,而无需直接访问设备。
3.重启设备:通过SNMP操作可以重启设备。
这在一些情况下非常有用,比如设备出现故障或需要应用配置更改时。
4.收集性能数据:通过SNMP操作可以定期收集设备的性能数据,比如带宽利用率、丢包率等。
这些数据可以用于性能监控和故障诊断。
5.发送警报信息:通过SNMP操作可以设置警报规则,当设备达到一些预设的阈值时,可以向管理员发送警报信息。
这使得管理员可以及时采取措施,防止设备故障或网络中断。
总之,MIB浏览与SNMP操作是网络管理中的重要工具,它们可以帮助管理员了解和管理网络设备。
通过浏览MIB树和使用SNMP操作,管理员可以获得设备的详细信息,并对设备进行配置和监控,以确保网络的正常运行。
SNMP中的MIB是什么?在SNMP中,我们都应该知道著名的MIB了。
那么这个具体是什么作用呢?在此我们就来详细介绍一下这个SNMP mib的具体作用。
管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。
MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。
SNMP的管理信息库采用和域名系统DNS相似的树型结构,它的根在最上面,根没有名字。
图1画的是管理信息库的一部分,它又称为对象命名(objectnamingtree)。
图1 管理信息库的对象命名举例对象命名树的顶级对象有三个,即ISO、ITU-T和这两个组织的联合体。
在ISO的下面有4个结点,其中的饿一个(标号3)是被标识的组织。
在其下面有一个美国国防部(Department of Defense)的子树(标号是6),再下面就是Internet(标号是1)。
在只讨论Internet中的对象时,可只画出Internet以下的子树(图中带阴影的虚线方框),并在Internet结点旁边标注上{1.3.6.1}即可。
在Internet结点下面的第二个结点是mgmt(管理),标号是2。
再下面是管理信息库,原先的结点名是mib。
1991年定义了新的版本 MIB-II,故结点名现改为mib-2,其标识为{1.3.6.1.2.1},或{Internet(1) .2.1}。
这种标识为对象标识符。
最初的结点mib将其所管理的信息分为8个类别,见表1。
现在de mib-2所包含的信息类别已超过40个。
表1 最初的结点mib管理的信息类别应当指出,MIB的定义与具体的网络管理协议无关,这对于厂商和用户都有利。
厂商可以在产品(如路由器)中包含SNMP代理软件,并保证在定义新的 MIB 项目后该软件仍遵守标准。
用户可以使用同一网络管理客户软件来管理具有不同版本的MIB的多个路由器。
当然,一个没有新的MIB项目的路由器不能提供这些项目的信息。
SNMP MIB 介紹對MIB檔中一些常見的巨集定義的描述1.DEFINITIONS ::= BEGINSNMP始終使用ASN.1概念中的描述塊(module)來組織ASN.1對象的,ASN.1的描述塊是一些相關描述語句的集合,module的結構如下<<module>> DEFINITIONS ::= BEGIN<<linkage>><<declarations>>END2.<<basetype>> ::= TEXTUAL-CONVENTION定義了對標準資料類型的進行擴展的語法很多MIB定義中都會先定義一些基於標準類型的擴展類型,如:CiFlowDirection ::= TEXTUAL-CONVENTIONSTATUS currentDESCRIPTION"The direction of data flow thru a circuit.transmit(1) - Only transmitted datareceive(2) - Only received databoth(3) - Both transmitted and received data."SYNTAX INTEGER {transmit(1),receive(2),both(3)}CiFlowDirection 是基於INTEGER的枚舉類型3.<<mibname>> MODULE-IDENTITY該定義添加了一個公共的標示段來對整個資訊描述塊進行頂層的文字描述,以加強對管理MIB描述塊的文檔管理和控制,每個MIB定義中都會有該定義。
如:circuitIfMIB MODULE-IDENTITY4.OBJECT-IDENTIFIFIER聲明一個節點如:atmClpTaggingNoScr OBJECT-IDENTITY5.OBJECT-TYPE如:ciCircuitTable OBJECT-TYPESYNTAX SEQUENCE OF CiCircuitEntryMAX-ACCESS not-accessibleSTATUS currentDESCRIPTION"The Circuit Interface Circuit Table."::= { ciObjects 1 }包括了SNMP定義該管理物件的全部資訊,相當於一個範本。
实验一MIB浏览和SNMP的操作MIB(Management Information Base)浏览和SNMP(SimpleNetwork Management Protocol)的操作是网络管理中非常重要的一部分。
MIB是一种数据库,用于存储网络设备的管理信息,而SNMP是一种协议,用于在网络上管理和监控设备。
在本实验中,我们将学习如何浏览MIB和执行SNMP操作。
首先,我们需要了解MIB是什么以及它的结构。
MIB由一系列的对象标识符(OID)组成,每个OID对应一个特定类型的信息。
这些OID可以以层次结构的方式组织,以便更好地组织和管理信息。
MIB通常使用基于文本的格式(如MIB文件)进行表示。
要浏览MIB,我们需要使用一种称为MIB浏览器的工具。
MIB浏览器可以让我们浏览和MIB中的对象,并查看其属性和值。
它还提供了一些可选的操作,如设置属性值、触发事件等。
常见的MIB浏览器工具包括SnmpB、iReasoning MIB Browser等。
在使用MIB浏览器时,我们可以通过在工具中输入设备的IP地址和SNMP团体字符串来连接到设备。
一旦连接成功,我们就可以浏览设备的MIB,并查看和管理各个对象。
在浏览MIB时,我们可以根据需要特定的OID,以找到我们感兴趣的对象。
当我们找到一个感兴趣的对象时,我们可以查看该对象的属性和值。
这些属性描述了该对象的状态和性能信息。
我们可以通过这些属性来监控和管理设备。
除了浏览MIB,我们还可以使用SNMP协议执行一些操作。
SNMP定义了一组操作,如GET、SET、GETNEXT、GETBULK等,用于读取和修改设备的管理信息。
使用SNMP协议执行操作时,我们需要指定要操作的目标设备的IP地址、SNMP团体字符串以及要执行的操作类型。
例如,GET操作用于获取设备的管理信息,SET操作用于设置设备的一些属性等。
当我们执行GET操作时,我们会获得一个或多个管理信息的值。
SNMP的工作原理SNMP(Simple Network Management Protocol)是一种用于网络管理的协议,它允许网络管理员监控和管理网络设备、系统和应用程序。
SNMP的工作原理涉及到SNMP管理器和被管理设备之间的通信,其中SNMP管理器负责发送请求并接收响应,被管理设备则负责接收请求并发送响应。
SNMP的工作原理主要涉及到两个重要的组件:管理信息库(MIB)和SNMP 协议数据单元(PDU)。
1. 管理信息库(MIB):管理信息库是一个层次结构的数据库,它包含了被管理设备的各种信息。
MIB 中的信息以对象标识符(OID)的形式进行标识,每个OID都对应着一个特定的信息。
OID由一系列的数字组成,用于唯一标识一个特定的信息。
MIB中的信息可以是设备的配置信息、性能统计数据、错误日志等。
2. SNMP协议数据单元(PDU):SNMP使用PDU来进行管理信息的传输。
PDU是一种特定格式的数据包,用于在SNMP管理器和被管理设备之间进行通信。
常见的PDU类型包括GetRequest (用于获取设备信息)、GetResponse(用于回复GetRequest请求)、SetRequest (用于修改设备配置)等。
SNMP的工作原理如下:1. 管理器发送请求:SNMP管理器通过发送GetRequest或者SetRequest等PDU类型的消息来请求被管理设备的信息。
请求中包含了要获取或修改的OID以及其他必要的参数。
2. 被管理设备接收请求:被管理设备接收到SNMP管理器发送的请求后,会根据请求中的OID来查找相应的信息。
如果找到了对应的信息,设备会将其打包成GetResponse或者SetResponse等PDU类型的消息,并发送回SNMP管理器。
3. 管理器接收响应:SNMP管理器接收到被管理设备发送的响应后,会解析其中的信息,并根据需要进行相应的处理。
如果是GetResponse类型的响应,管理器会提取出所需的信息并进行展示或存储。
snmp协议详解SNMP(Simple Network Management Protocol)是一种用于网络管理的标准协议。
它允许网络管理员远程监控和管理网络中的设备,例如路由器、交换机、服务器等。
SNMP协议通过网络管理系统(NMS)与网络设备进行通信,从而实现对网络设备的监控和管理。
SNMP协议的核心是管理信息库(MIB),MIB是一种描述网络设备所支持的参数和状态信息的数据库。
通过MIB,网络管理员可以获取设备的各种信息,例如CPU利用率、内存使用情况、接口状态等。
此外,管理员还可以通过SNMP协议对设备进行配置和控制,例如修改路由表、重启设备等操作。
SNMP协议主要由三个部分组成,管理系统、代理和MIB。
管理系统通常是一个专门的网络管理软件,用于监控和管理网络设备。
代理是安装在网络设备上的软件模块,负责收集设备的状态信息,并响应管理系统的请求。
MIB是一个由标准和私有部分组成的数据库,描述了设备所支持的各种参数和状态信息。
在SNMP协议中,有两种类型的消息,GET和SET。
GET消息用于从设备中获取信息,而SET消息用于向设备发送配置命令。
管理系统通过发送GET消息来获取设备的状态信息,然后根据这些信息来进行管理和监控。
而当需要对设备进行配置时,管理系统则会发送SET消息来修改设备的配置参数。
SNMP协议采用了简单的基于UDP的通信方式,它使用端口号161来接收管理系统的请求,并使用端口号162来接收代理的通知。
这种基于UDP的通信方式使得SNMP协议具有了较高的效率和较低的开销,但也带来了一定的不可靠性,因为UDP是一种无连接的协议,无法保证消息的可靠传输。
除了GET和SET消息外,SNMP协议还定义了TRAP消息,用于代理向管理系统发送通知。
当设备发生重要事件时,代理会向管理系统发送TRAP消息,以便及时通知管理员。
这种事件可以是设备的故障、性能下降、安全事件等,管理员可以根据这些通知来及时做出响应。
SNMP协议详解协议概述:Simple Network Management Protocol(SNMP)是一种用于管理和监控网络设备的应用层协议。
它允许网络管理系统(NMS)通过发送请求和接收响应来监视和控制网络设备。
SNMP协议采用客户端-服务器模型,其中网络设备充当服务器,而NMS充当客户端。
协议结构:SNMP协议定义了管理信息库(MIB)和SNMP消息格式。
MIB是一种层次化的数据库,用于描述网络设备的管理信息。
SNMP消息由两部分组成:协议数据单元(PDU)和SNMP版本号。
PDU包含操作类型(GET、SET、TRAP等)和相关的管理信息。
SNMP版本:SNMP协议有三个主要版本:SNMPv1、SNMPv2c和SNMPv3。
SNMPv1是最早的版本,它提供了基本的网络设备监控功能。
SNMPv2c是对SNMPv1的改进,提供了更多的功能和更好的安全性。
SNMPv3是最新的版本,它在SNMPv2c的基础上增加了更强大的安全性和认证机制。
SNMP操作:SNMP协议定义了一组操作,用于与网络设备进行交互。
常见的操作包括:1. GET:用于从网络设备中获取指定的管理信息。
2. SET:用于向网络设备中设置指定的管理信息。
3. GETNEXT:用于获取下一个管理信息。
4. GETBULK:用于获取大量管理信息。
5. TRAP:用于向NMS发送警报或通知。
SNMP安全性:SNMP协议的安全性是一个重要的考虑因素。
SNMPv1和SNMPv2c在安全性方面存在一些问题,如明文传输和缺乏身份验证机制。
SNMPv3通过添加认证和加密机制来提供更强大的安全性。
它支持三种安全级别:无认证无加密(noAuthNoPriv)、认证无加密(authNoPriv)和认证加密(authPriv)。
SNMP实现:SNMP协议的实现通常包括以下组件:1. 管理器(Manager):运行NMS的计算机或设备。
2. 代理(Agent):运行在网络设备上的软件,负责处理SNMP请求和提供管理信息。
SNMP MIB 介紹對MIB檔中一些常見的巨集定義的描述1.DEFINITIONS ::= BEGINSNMP始終使用ASN.1概念中的描述塊(module)來組織ASN.1對象的,ASN.1的描述塊是一些相關描述語句的集合,module的結構如下<<module>> DEFINITIONS ::= BEGIN<<linkage>><<declarations>>END2.<<basetype>> ::= TEXTUAL-CONVENTION定義了對標準資料類型的進行擴展的語法很多MIB定義中都會先定義一些基於標準類型的擴展類型,如:CiFlowDirection ::= TEXTUAL-CONVENTIONSTATUS currentDESCRIPTION"The direction of data flow thru a circuit.transmit(1) - Only transmitted datareceive(2) - Only received databoth(3) - Both transmitted and received data."SYNTAX INTEGER {transmit(1),receive(2),both(3)}CiFlowDirection 是基於INTEGER的枚舉類型3.<<mibname>> MODULE-IDENTITY該定義添加了一個公共的標示段來對整個資訊描述塊進行頂層的文字描述,以加強對管理MIB描述塊的文檔管理和控制,每個MIB定義中都會有該定義。
如:circuitIfMIB MODULE-IDENTITY4.OBJECT-IDENTIFIFIER聲明一個節點如:atmClpTaggingNoScr OBJECT-IDENTITY5.OBJECT-TYPE如:ciCircuitTable OBJECT-TYPESYNTAX SEQUENCE OF CiCircuitEntryMAX-ACCESS not-accessibleSTATUS currentDESCRIPTION"The Circuit Interface Circuit Table."::= { ciObjects 1 }包括了SNMP定義該管理物件的全部資訊,相當於一個範本。
表,實體,葉子都是該類型。
SNMPv2中對SNMP的相容性做了規定,主要是通過引入三個宏:OBJECT-GROUP,MODULE-COMPLIANCE,AGENT-CAPABILITIES.6.OBJECT-GROUP –v2定義相關管理物件集合以及他們彼此關聯的一致性程度。
OBJECT-GROUP聲明的MIB物件是實現該組所必須包括的MIB物件的最小集合。
也就是說,要實現這個組,必須包括這些物件。
7.MODULE-COMPLIANCE–v2通過定義模組內所包含的組來保證模組的相容性。
規定了要實現該模組必須包含的組的最小集合。
其中MANDATORY-GROUPS規定了此模組必須實現的組的名稱。
GROUP子句說明條件必須活條件可選的組。
8.AGENT-CAPABILITIES–v2管理代理實現了模組中的哪些組以及這些組中的MIB物件在實現時和原定義的差別在管理資訊結構中由此巨集定義表示。
此巨集定義在實際應用中很少見。
9.OBJECT-IDENTITY物件標示巨集,此巨集定義用於說明物件標示符(OBJECT-IDENTIFIER),給物件標示符的說明加上附加資訊,包括狀態,文字說明等,可用於對一個表中幾個參數的不同組合的意義的說明。
10.NOTIFICATION-TYPE說明了SNMPv2的trap格式。
定義了通知類型報文中傳輸的資料。
3.1 MIB物件定義格式/thread-1137550-1-1.htmlASN.1是一種用於描述結構化客體的結構和內容的語言,基於編碼規則BER(Basic Encoding Rules)是ASN.1標準定義的一種傳送文法。
每個MIB變數格式是SMI規定的,用ASN.1描述如下:OBJECTNAME BOJECT-TYPEDESCRIPTION:(description)SYNTAX: (syntax)ACCESS: (access)STATUS: (status)::={(Parent)number}OBJECTNAME是被管對象的名字,ASN.1要求所有物件的名字在MIB中必須是唯一的;BOJECT-TYPE 是每一個節點物件所必需的關鍵字;SYNTAX是被管物件類型的關鍵字,隨後跟著的是一個類型(syntax);ACCESS是被管物件的訪問方式關鍵字,在SNMP 第二版中為MAX-ACCESS 關鍵字,(access)是被管物件的訪問方式,可為如下列舉值之一: read-only、read-write、no-accessible, SNMP 第2 版中又增加了read-create;STATUS是被管物件關鍵字,(status)是被管物件的狀態,如必備的、可選的或廢棄的;DESCRIPTION是對被管物件的功能、特徵等進行描述的關鍵字,(description)是被管物件的文本描述,在::={(Parent)number }中,Parent表示位於MIB樹中的父節點,number 表示是第幾個子節點。
-- Some holders from another obsolete mibGeoSuFilterId ::= TEXTUAL-CONVENTIONSTATUS currentDESCRIPTION"Uniquely identifies a GEO su filter"SYNTAX Integer32GeoQuickFilterId ::= TEXTUAL-CONVENTIONSTATUS currentDESCRIPTION"Uniquely identifies a GEO quick filter"SYNTAX Integer323.2 MIB 樹每個MIB物件都用物件識別碼(OID)來唯一的標識,這是用定義在ASN.1語法中的樹型結構來組織的可用資訊,其中每個可用資訊是一個帶標號的節點,每個節點用數位和字元兩種方式顯示,其中物件識別碼OID是由句點隔開的一組整數,也就是從根節點通向它的路徑,它命名節點並指示它在ASN.1樹中的準確位置。
一個帶標號節點可以擁有包含其它帶標號節點為它的子樹,如果沒有子樹它就是葉子節點,它包含一個值並被稱為物件。
圖3是帶有ASN.1編號的MIB樹實例:可以看出MIB-Ⅱ的OID是:1.3.6.1.2.1或者.dod.internet.mgmt.mib2。
在SNMP中,實現應用到的MIB物件都是MIB-Ⅱ的子樹節點。
On the server, the file is /home/geo/spIserver/etc/inet.defs(2) On 12u probes, the file is /inet/spIprobe/basic/arm-xinu/mibs/mib, or/inet/spIprobe/basic/xscale-xinu/mibs/mib. There is also a version for mips-xinu.On 14u probes, the file is /inet/spIprobe/basic/atca-x86-linux/mibs/mib.Step two:How to add a new alarma. modify mib file, for ip application the file is "spidev/spiV4.5/mibs/ipAlarms.my"the definition is the same with phyDeviceStateAlarm.ipInterfaceShteamAlarm NOTIFICATION-TYPE OBJECTS { phyDeviceStateTime, phyDeviceState, ipInterfaceIdForPd } STATUS current DESCRIPTION " Test Alarms " ::= {ipAlarmsMib 5}note. In fact, 5 is the alarmID. It must keep unique in spidev-spiV4.5-mibs-ipAlarms.my. If the last alarmID is 9 then we define the alarmID of ipInterfaceShteamAlarm as 10b. compile mibsc. copy inet.defs to probe /inet/spIprobe/basic/atca-x86-linux/mibs, change name to mib.d. copy inet.defs,inet.alarms.defs and inet.events.defs to server/station :/home/geo/spIserver/site or (etc) for teste. update spidev/spiV4.5/spi/etc/server/defaultSpiProbeAlarmDefn.txtA 2 209 3813 1 0x0006 0x0006 0 "Shteam Test Alarms Device Available"""\\\\\\\\\\\\\\\\\\\\\\\\\\\\\3814 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ipInterfaceShteamAlarm 1"A 2 209 3814 1 0x0006 0x0002 0 "Shteam Test Alarms Equipment Down" ""\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ipInterfaceShteamAlarm 2"defaultBullsEye.txtALARM 10 3813 # Shteam Test Alarms Device AvailableALARM 25 3814 # Shteam Test Alarms Equipment Downf. copy defaultSpiProbeAlarmDefn.txt and defaultBullsEye.txt to server:/home/geo/spIserver/site or (etc) for testg. update spIprobeApps/v4.5/basic/mibs/event, add a lineipInterfaceShteamAlarm initialContextId.198.4.15.2.24copy to probe:/inet/spIprobe/support/site, /inet/spIprobe/basic/atca-x86-linux/mibsh. update spidev/spiV4.5/spi/src/alarms/probe/, h.AlarmWork.h - add one new linestatic const char* const ipInterfaceShteamChanged = "ipInterfaceShteamAlarm"; - we just re-use PhyDeviceStateAlarm functionpProc->name = ipInterfaceShteamChanged; pProc->proc =&AlarmWork::PhyDeviceStateAlarm; pProc->logProc =&AlarmWork::PhyDeviceStateAlarmLogProc; pProc->parm = 0; pProc ; compile it and copy alarmSpiProbe binary execute file to server:/home/geo/spIserver/bin [Q&A]Why sometimes alarmSpiProbe restarts when it receive the alarm of Shteam Test Alarm?Answer: The version of libnwGprsDbExt.so is not compitable to alarmSpiProbe. We have to rebuild spi/api/src/db/nwGprs,then copy libnwGprsDbExt.so to server:/home/geo/spIserver/libi. update spIprobeApps/v4.5/basic/src/ipMon/ipStateMonitor/srcIPStateMonSnmp.h--compare to phyDeviceStateAlarm, only trap name is different,so update phyDeviceStateAlarm to ipInterfaceShteamAlarm.const char* const ipTrapNames\[\] = { "ipInterfaceShteamAlarm", "ipInterfaceStateAlarm" } ; compile it and repleace binary ipStateMonitor in the probe.j. server restartsu - geospiStop(make sure no db process running, "ps -eaf | grep db")spiStartk. re-configure alarmsl. probe restartsu - rootservice spIprobe restart allm. probe side: command: aui ipStateMon1, send i 3, then check the alarm in the GUI IP-ALARMS-MIB DEFINITIONS ::= BEGIN-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- Copyright (c) 1994-2003 Inet Technologies, Inc.-- All Rights Reserved.-- This product and related documentation is-- protected by copyright and distributed under licenses restricting-- its use, copying, distribution and decompilation.-- No part of this product or related documentation may be reproduced-- in any form by any means without prior written authorization-- of Inet Technologies, Inc. and its licensors, if any.-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -EXPORTS;IMPORTSGmtTime,gmtTimeFROM INET-INC-MIBgprsAlarms,gprsPhyDeviceId,gprsIPInterfaceIdFROM GPRS-SURVEILLANCE-MIBphyDeviceStateTime,ipInterfaceState,ipInterfaceStateTime,phyDeviceState,ipInterfaceId,ipInterfaceIdForPdFROM IP-STATUS-MIB ipProbeBandwidthTime,ipProbeMonId,ipProbeBandwidthStateFROM IP-PROBE-STATUS-MIB ipInterfaceAlarmMessageFROM IP-INTERFACE-STATUS-MIB applInfoAlarmType,applInfoAlarmMessage, applInfoAlarmDescriptionFROM APPL-INFO-ALARM-MIBMODULE-IDENTITYFROM SNMPv2-SMITEXTUAL-CONVENTION, DisplayString, gmtTime FROM SNMPv2-TC;ipAlarmsMib MODULE-IDENTITYLAST-UPDATED "0306060000Z" ORGANIZATION "Inet Inc."CONTACT-INFO"Pierce E. BrockmanPostal: Inet Inc.1255 W. 15th St.Suite 600Plano, Tx 75075Tel: 1 214 578 6100Fax: 1 214 578 6113E-mail: peb@"DESCRIPTION"This module defines alarms provided by theGeoProbe in the IP Surveillance Package"::= { gprsAlarms 3 }-------------------------------------------------------------------------- -- The following inform-requests are sent by the agent-- for the IP Surveillance PackagephyDeviceStateAlarm NOTIFICATION-TYPEOBJECTS{phyDeviceStateTime,phyDeviceState,ipInterfaceIdForPdSTATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent whenever the physical device state changes value"::= {ipAlarmsMib 1}ipInterfaceStateAlarm NOTIFICATION-TYPE OBJECTS{ipInterfaceStateTime,ipInterfaceState,ipInterfaceId}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent whenever the physical device state changes value"::= {ipAlarmsMib 2}ipProbeBandwidthAlarm NOTIFICATION-TYPE OBJECTSipProbeMonId,ipProbeBandwidthState,ipProbeBandwidthTime}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent whenever the bandwidth monitoring state changes value "::= {ipAlarmsMib 3} ipInterfaceAddChannelAlarm NOTIFICATION-TYPE OBJECTS{ipInterfaceStateTime,ipInterfaceState,ipInterfaceId,ipInterfaceAlarmMessage}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent when there are AddChannel failures for an IP interface::= {ipAlarmsMib 4}ipApplIdMapConflictAlarm NOTIFICATION-TYPE OBJECTS{gmtTime,applInfoAlarmType,applInfoAlarmMessage,applInfoAlarmDescription}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent when there are informative alarms for a probe"::= {ipAlarmsMib 5} etherealToDiskNoDataAlarm NOTIFICATION-TYPE OBJECTS{gmtTime,applInfoAlarmType,applInfoAlarmMessage,applInfoAlarmDescriptionSTATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent when there are informative alarms for ethereal to disk application "::= {ipAlarmsMib 6}etherealToDiskResumeDataAlarm NOTIFICATION-TYPE OBJECTS{gmtTime,applInfoAlarmType,applInfoAlarmMessage,applInfoAlarmDescription}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent when there are informative alarms for ethereal to disk application "::= {ipAlarmsMib 7} etherealToDiskSessionRebootAlarm NOTIFICATION-TYPEOBJECTS{gmtTime,applInfoAlarmType,applInfoAlarmMessage,applInfoAlarmDescription}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent when there are informative alarms for ethereal to disk application "::= {ipAlarmsMib 8}etherealToDiskSessionFailureAlarm NOTIFICATION-TYPE OBJECTS{gmtTime,applInfoAlarmType,applInfoAlarmMessage,applInfoAlarmDescription}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agentwhen there are informative alarms for ethereal to disk application"::= {ipAlarmsMib 9}ENDAnother example of imports during compilation comes from the BLADETYPE2-TRAP MIB used by the HP ProLiant BL p-Class GbE2 Interconnect Switch:BLADETYPE2-TRAP-MIB DEFINITIONS ::= BEGINIMPORTSTRAP-TYPEFROM RFC-1215sysNameFROM RFC1213-MIBhpSwitchBladeType2-MgmtFROM HP-SWITCH-PL-MIBagSlotNumberFROM BLADETYPE2-SWITCH-MIBipCurCfgGwIndexFROM BLADETYPE2-NETWORK-MIBIn this example,TRAP-TYPE and sysName are readily resolved as in the example above. hpSwitchBladeType2-Mgmt is resolved by mcompile checking HP-SWITCH-PL.MIB. agSlotNumber is resolved from BLADETYPE2-SWITCH.MIBand ipCurCfgGwIndex is resolved from BLADETYPE2-NETWORK.MIB.To illustrate further how imports are resolved—the following procedure shows how mcompile would attempt to resolve the import for hpSwitchBladeType2-Mgmt:1. Look for a file named HP-SWITCH-PL-MIB.mib (module name, uppercase).2. Look for a file named HP-SWITCH-PL.mib (module name without -MIB, uppercase).3. Look for hp-switch-pl.mib (convert name to lowercase for case sensitivity in Linux/HP-UX).4. Look for hp-switch-pl-mib.mib (convert name to lowercase for case sensitivity inLinux/HP-UX).5. Report an error indicating that the imported MIB could not be found.A major consideration when importing MIBs is locating variables from other third-party MIBs. In many cases, MIBs are named to match module names. However, in some circumstances it might be necessary to rename MIB files to match the module names prior to compilation. For example, some vendors might provide MIB files with different extensions such as .my. In this case, before using mcompile, the mibfile.my file needs to be renamed to mibfile.mib.。