MIB结构和语法文档格式.doc

上传人:b****9 文档编号:13008946 上传时间:2022-10-02 格式:DOC 页数:19 大小:190.50KB
下载 相关 举报
MIB结构和语法文档格式.doc_第1页
第1页 / 共19页
MIB结构和语法文档格式.doc_第2页
第2页 / 共19页
MIB结构和语法文档格式.doc_第3页
第3页 / 共19页
MIB结构和语法文档格式.doc_第4页
第4页 / 共19页
MIB结构和语法文档格式.doc_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

MIB结构和语法文档格式.doc

《MIB结构和语法文档格式.doc》由会员分享,可在线阅读,更多相关《MIB结构和语法文档格式.doc(19页珍藏版)》请在冰豆网上搜索。

MIB结构和语法文档格式.doc

1.2MIB分类

MIB依据数据的通用性可以分为:

(1)标准MIB:

rfc1213,rfc1471,rfc1724,rfc2618等等

注:

通用性MIBrfc1213习惯称为MIB-II

(2)自定义MIB:

当标准MIB信息不足以描述厂商设备,需要自定义MIB,但首先要向IANA组织申请编号。

1.3MIB管理对象的基本属性

管理对象的四个基本属性如下:

(1)对象类型(ObjectType):

定义了一个特定对象的名字,例如sysUpTime。

这个名字只是一个标示符。

MIB对象既可以用这个标示符来表示,也可以用相应的MIB号码来表示。

例如定义internetOBJECTIDENTIFIER:

:

={isoorg(3)dod(6)1}

那么既可以用internet也可以用字串.1.3.6.1来表示这个对象。

(2)语法(Syntax):

指定了数据类型,例如整数、8位组串数字(字符串;

范围为0至255)、对象标识符(预先定义的数据类型别名)或NULL。

NULL是留待的后使用的空位。

(3)访问(Access):

表明了这个特定对象的访问级别。

合法的值有:

只读、读写、只写和不可存取。

(4)状态(Status):

定义了这个对象的实现需要:

必备的(被管理节点必须实现该对象);

可选的(被管理对象可能实现该对象):

或者已废弃的(被管理设备不需要再实现该对象)

1.4 

MIB两种对象类型

(1)标量(Type-SpecificObjects):

sysDescrOBJECT-TYPE

SYNTAXDisplayString(SIZE(0..255)):

={system1}

OID:

mib-2.system.1.0

(2)表量(ColumnarObjects):

mib-2.interface.ifTable.ifEntry.ifDescr.2

mib-2.interface.ifTable.ifEntry.ifDescr.6

mib-2.interface.ifTable.ifEntry.ifType.2

mib-2.interface.ifTable.ifEntry.ifType.6

自定义MIB

自定义MIB包含的内容有:

模块级别信息、对象定义(OBJECTTYPE,包括标量对象和表对象)、陷阱定义(TRAPTYPE)。

第1行是MIB开始

第2-7行引入外部定义

第8-13行是模块信息定义

第19-28行是MO定义

第30-36行是TRAP定义

第37行是MIB结束

2.1 

常用对象类型

v1中的

(1)简单类型:

Integer、OctetString、ObjectIdentifier、Null

(2)应用类型:

IpAddress、Counter、Gauge、TimeTicks、Opaque

v2中的

Integer32、OctetString、ObjectIdentifier、Null

IpAddress、Counter32、Counter64、Gauge32、Unsigned32、TimeTicks、Opaque、BITSTRING

2.2 

自定义MIB基本原则

(1)优先采用标准MIB:

如果确实无法满足要求才考虑自定义MIB

(2)采用最新的SNMPV2-SMI来定义MIB:

使用最新的SNMPv2定义MIB可以使得对MIB的描述更详尽,可用的类型也更丰富。

(3)层次清晰,定义时顺序合理

—先定义根节点。

—在定义对象前,如有自定义类型,应当先书写自定义类型的定义。

—先定义标量对象,再表量对象。

(4)符合惯例,以标准MIB为参考

3 理解和掌握ASN.1句法

3.1对象标识符类型(OBJECTIDENTIFIER)

在ASN.1中,对象标识符类型描述对象的抽象信息,MIB树中的每一个标号是用对象标识符描述的。

由于树的各个分支是用数值表示的,所以实际上对象标识符是一个整数数值的序列。

它用OBJECTIDENTIFIER来声明,如:

myBranchOBJECTIDENTIFIER:

={parentBranch10}

其中myBranch是一个子树支,它定义在parentBranch树支下,“10”是子树myBranch在父树支parentBranch下的一个唯一对象标识符,即通常所说的OID。

在parentBranch树支下,可以定义多个子树支,但子树支的名字和数字(如上的10)不能重复,即必须是唯一的。

3.2标量(叶子)对象标识符——简单变量

在一个树支下,读者可以定义多个子树,也可以定义被管理资源的管理对象,其定义的句法如下:

(objectname)OBJECT-TYPE

SYNTAX(syntax)

ACCESS(access)

STATUS(status)

DESCRIPTION(description)

={(parent)(number举例

)}

sysContactOBJECT-TYPE

SYNTAXDisplayString(SIZE(0..255))

ACCESSread-write

STATUSmandatory

DESCRIPTION

"

Thetextualidentificationofthecontactperson

forthismanagednode,togetherwithinformation

onhowtocontactthisperson."

:

={system4}

以上的各部分解释如下:

(1)(objectname).这是被对象的名字,ASN.1句法要求所有对象的名字必须以小写字母开头,而且该名字在MIB中必须是唯一的。

(2)OBJECT-TYPE.这是一个每一个叶子对象的所必须的关键字。

(3)SYNTAX.被管对象类型的关键字,说明随后跟着的是一个类型。

(4)(syntax).被管对象的类型,ASN.1句法要求所有的对象类型必须以大写字母开头,其中已预定义了的类型有Counter、Gauge、DisplayString、INTEGER等等,请参阅“3.对象语法定义”及“5.ASN.1的派生类型”。

(5)ACCESS.被管对象的访问方式的关键字。

在SNMP第二版中为MAX-ACCESS关键字。

(6)(access).被管对象的访问方式,可为如下列举值中之一:

read-only、read-write、no-accessible,SNMP第2版中又新增了read-create。

(7)STATUS.被管对象的状态的关键字。

(8)(status).可取的值为:

mandatory、optional、obsolete、deprecate(SNMP第1版中),current、obsolete、deprecate(SNMP第2版)。

其中:

mandatory为该对象的状态是必备的

optional为该对象的状态是可选的

obsolete为该对象的状态是不再使用

deprecate使用该值使得MIB的某些部分标记为过时,被标记为“废弃”的对象将从现行版本中删除,并在新的MIB版本中标记为“过时”。

current为该对象的状态是当前可用的。

(7)DESCRIPTION.对被管对象的功能、特征等等进行描述的关键字。

(8)(description).被管对象的文本描述。

须用双引号把其文本说明括起来,有时由于用MIB编译器编译结果太大时,可以把文本说明删除,即只保留一个空的双引号。

(9)(parent).包含此叶子对象的树支,即叶子对象的父亲必须是用“OBJECTIDENTIFIER”声明。

(10)(number).在此父树支下的第几个叶子对象,这个数字在此父树支下必须是唯一的。

一般number都是从取1开始的。

例如:

“:

={myObject22}”,则在myObject树支下22必须是唯一的,否则在用MIB编译器(如pSOS所提供的MIB编译器)进行编译时会提示有错。

除此之外,还有一些关键字:

UNITS、INDEX、REFERENCE、DEFVAL等等,分别代表被管对象的单位、索引、参考、缺省值。

这些关键字都并不是很重要,有兴趣的读者可参阅RFC1155的说明。

值得注意的是INDEX关键字在表对象定义中必须存在的,否则表内的对象不能使用。

3.3表类型 

SNMP表是一个特殊类型的声明,表内声明的对象称为列对象,声明如下:

(tablename) 

OBJECT-TYPE 

SYNTAX 

SEQUENCE 

OF 

(tabletype) 

ACCESS 

not-accessible

STATUS 

mandatory 

DESCRIPTION 

(description)

(parent) 

(number) 

(entryname) 

not-accessible 

(description) 

(column1) 

(column1type),

(column2) 

(column2type),

(columnN) 

(columnNtype) 

 

读者也许注意到(tablename)和(entryname)中的ACCESS为not-accessible,这是因为表和行对象没有叶子对象,因此不能被SNMP访问。

ASN.1句法中关于定义一个表的规则如下:

(1) 

在表名(tablename)的命名中,必须要有一个“Table”关键字,例如定义一个表对象“myTable” 

(2) 

同样,在表对象下面的表目(entryname)也须有一个“Entry”关键字,例如“myEntry”。

(3) 

(column1)是表的列对象,(column1type)是此列对象的类型 

为了加深理解,举个

子如下:

myTable 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1