MIB基本概念

MIB的概念
MIB的定义
MIB中的OID
OID的表示方式
SMI
对象数据类型
MIB-2中的文本规定
MIB和SMI关系
MIB编写示例[@more@]

一、 MIB的概念

MIB全称Management Information Base,就是管理信息库。MIB是网络管理系统中的重要构件,它由一个系统内的许多被管对象及其属性组成。MIB这个概念实际上就是一个虚拟数据库。这个数据库提供有关被管理网络元素的信息(即能够被管理进程查询和设置的信息),而这些信息由管理进程和各个代理进程共享。

二、 MIB的定义

MIB的编写规则由管理信息结构(SMIStructure of Management Information)定义,我们可以定义符合SMI标准的Scalars Tables Imports等类型的变量。它是开发一个SNMP代理的第一步。SNMP MIB对象的定义是十分严格的,定义指定了对象的数据类型,允许的形式,取值范围和与其它MIB对象的关系。

三、 MIB中的OIDObject Identifier

SNMP的对象标识符(OID)是定义在特定MIB模式中的值,来定义一个特定的在MIB数据库中SNMP目标。它是以SMI(Structure of Management Information)管理信息结构为基础的一系列点分符号,如1.3.6.1.2.1.1.1,这些点分符号在任何网络设备中都唯一标识某一个数据参数。

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。现在的 mib-2所包含的信息类别已超过40个。

1 最初的结点mib管理的信息类别

类别

标号

所包含的信息

System

(1)

主机或路由器的操作系统运转的一些信息,如系统运行时间、计算机名称等。

interfaces

(2)

各种网络接口及它们的测定通信量,监控接口的开放、关闭和发送接受,以及丢包等。

address translation

(3)

地址转换(例如ARP映射)

ip

(4)

Internet软件(IP分组统计),包括IP路由等方面的IP信息

icmp

(5)

ICMP软件(已收到ICMP消息的统计),出错、丢弃等

tcp

(6)

TCP软件(算法、参数和统计)TCP连接状态

Udp

(7)

UDP软件(UDP通信量统计)

egp

(8)

EGP软件(外部网关协议通信量统计)

transmission

10)

没有使用

snmp

11)

测量被管理设备snmp信息包收发

四、 OID的表示方式

ü 绝对OID

从根开始,显示出所有的路径。

如:.1.3.6.1.4.1.2就是显示到IBM公司的一个绝对OID

ü 相对OID

相对于一个节点的OID,不是相对于根的。

如:2.1.1.7表示的对象sysContact就是相对于internet (.1.3.6.1)节点的相对OID

ü 符号表示的OID

如:mgmt.mib-2.system.sysDescr表示的意义和2.1.1.1一样,是相对OID

ü 数字和符号混合表示

可以将数字和符号混合表示OID

如:mgmt.mib-2.1.sysDescr

注意:绝对OID总是以“.”开始,并且必须写明各个节点。

如:.iso.org.dod.internet.mgmt.mib.system.sysDescr
.1.3.6.1.2.1.1.1
.iso.3.dod.1.mgmt.mib-2.1.sysDescr

五、 SMI

MIB的一套公用的结构和表示符号叫做管理信息结构SMI(Structure of Management Information),管理信息是一个被管理对象的集合,SMI定义了一个设备维护的规则集,用于对被管理对象进行命名和编码。这个在RFC 1155 [Rose and McCloghrie 1990] 中定义。

一般,对象有三种属性:

名字:就是OID;

类型和句法:由ASN.1(Abstract Syntax Notation)定义,规定了如何传输和设定SNMP信息;

编码:用BER(Basic Encoding Rules)编译码,方便在网络传输。

六、 对象数据类型

SNMP中,数据类型并不多,形式上也和C语言很类似。

l INTEGER

一个变量虽然定义为整型,但也有多种形式。有些整型变量没有范围限制,有些整型变量定义为特定的数值(例如,IP的转发标志就只有允许转发时的或者不允许转发时的这两种),有些整型变量定义一个特定的范围(例如,UDP和TCP的端口号就从0到65535)。一般是数字。

l OCTER STRING

0或多个8 bit字节,每个字节值在0~255之间。对于这种数据类型和下一种数据类型的BER编码,字符串的字节个数要超过字符串本身的长度。这些字符串不是以NULL结尾的字符串。一般表示文本信息或者是物理地址。

l Counter

非负的整数,可从0递增到232—1(4294976295)。达到最大值后归0。单调递增。主要用来跟踪信息。如接口收发的字节或出错丢弃的字节。

l OBJECT IDENTIFIER

对象名称OID。

l NULL

代表相关的变量没有值。例如,在get或get-next操作中,变量的值就是NULL,因为这些值还有待到代理进程处去取。

l SEQUENCE

这一数据类型与C程序设计语言中的“structure”类似。一个SEQUENCE包括0个或多个元素,每一个元素又是另一个ASN.1数据类型。例如,MIB中的UdpEntry就是这种类型的变量。它代表在代理进程侧目前“激活”的UDP数量(“激活”表示目前被应用程序所用)。在这个变量中包含两个元素:

Ø IpAddress类型中的udpLocalAddress,表示IP地址。

Ø INTEGER类型中的udpLocalPort,从0到65535,表示端口号。

l SEQUENCE OF

这是一个向量的定义,其所有元素具有相同的类型。如果每一个元素都具有简单的数据类型,例如是整数类型,那么我们就得到一个简单的向量(一个一维向量)。但是我们将看到,SNMP在使用这个数据类型时,其向量中的每一个元素是一个SEQUENCE(结构)。因而可以将它看成为一个二维数组或表。

l IpAddress

32位长度,以网络序号表示的IP地址。每个字节代表IP地址的一个字段。

l NetworkAddress

IpAddress一样,但可以代表不同的网络地址类型。

l Gauge

非负的整数,取值范围为从0到4294976295(或增或减)。达到最大值后锁定直到复位。例如,MIB中的tcpCurrEstab就是这种类型的变量的一个例子,它代表目前在ESTABLISHED或CLOSE_WAIT状态的TCP连接数。

l TimeTicks

时间计数器,以0.01秒为单位递增,但是不同的变量可以有不同的递增幅度,取值范围为从0到4294976295。所以在定义这种类型的变量的时候,必须指定递增幅度。例如,MIB中的sysUpTime变量就是这种类型的变量,代表代理进程从启动开始的时间长度,以多少个百分之一秒的数目来表示。

l Opaque

八进制字符串。

以上数据类型是MIB-1中定义,在MIB-2中新增了几种数据类型。

l Integer32

l Counter32

l Gauge32

l Unsigned32

0到232—1的十进制数值。

l Counter64

Counter一样,只是最大值为264—1。

l BITS

非负的列举数字。

七、 MIB-2中的文本规定

l DisplayString

0或多个8bit字节,但是每个字节必须是ASCII码。在MIB-II中,所有该类型的变量不能超过255个字符(0个字符是可以的)。

l PhysAddress

OCTER STRING类型,代表物理地址(例如以太网物理地址为6个字节长度)。

l MacAddress

6个八进制表示,以太地址。

l TruthValue

布尔型,true或false

l TestAndIncr

阻止多个管理站同时改变设备状态。

l AutonomousType

定义子树的OID,附加了MIB相关定义。

l VariablePointer

对特定对象实例的指针。

l RowPointer

指针,指向表格的一行。

l RowStatus

管理表格中行的创建和删除。相关命令和状态变量有:active(1), notInService(2), notReady(3), createAndGo(4), createAndWait(5), and anddestroy(6).

l TimeStamp

测量设备启动到故障发生的时间。

l TimeInterval

可以取0-2147483647之间的任意值,以10ms来测量一段时期。

l DateAndTime

以八进制表示。

l StorageType

代理使用的存储类型,other(1), volatile(2), nonVolatile(3), permanent(4), and readOnly(5)

l TDomain

表示一种传输设备。

l TAddress

传输设备的地址,1-255的八进制表示。

八、 MIBSMI关系

(1)管理信息结构之于管理信息库类似于模式之于数据库。管理信息结构定义了每一个对象“看上去像什么”,管理信息库则说明每个对象“是什么”。

(2)管理信息库的变量。有两种变量,一是简单变量,一是表格。简单变量对应于MIB树中的叶子结点,其标识方法是在其对象标识后面添加“.0”;表格的标识方法是采用联合索引的方式。

九、 MIB编写示例

MIB的编写步骤如下:

l 定义MIB的名字

l IMPORT引入其他MIB的数据类型和OID,使用格式“IMPORT oids FROM ……”

l 定义对象,格式为:(MIB-2红色表示)

OBJECT-TYPE

SYNTAX

UnitsParts < seconds, milliseconds>

ACCESS < read-only, read-write, write-only, not-accessible>

MAX-ACCESS accessible-for-notify>

STATUS < mandatory, optional, obsolete>< current, obsolete, deprecated >

DESCRIPTION

"文字描述……"

AUGMENTS { <表格名称> }

::= { <此对象的OID > }

例:

RFC1213-MIB DEFINITIONS ::= BEGIN

IMPORTS

mgmt, NetworkAddress, IpAddress, Counter, Gauge,

TimeTicks

FROM RFC1155-SMI

OBJECT-TYPE

FROM RFC 1212;

mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }

ifTable OBJECT-TYPE

SYNTAX SEQUENCE OF IfEntry

ACCESS not-accessible

STATUS mandatory

DESCRIPTION

"A list of interface entries. The number of entries is

given by the value of ifNumber."

::= { interfaces 2 }

……

END

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/143526/viewspace-1031206/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/143526/viewspace-1031206/

你可能感兴趣的:(MIB基本概念)