理解SNMP协议(三)

本文深入解析MIB-II中的语法类型与文字约定,包括INTEGER、<enumerated>、<integerBitstring>、OCTETSTRING等类型,并通过实例详细解释其用法与特性。
 

4.5.5 文字约定(Textual Conventions)

一个文字约定就是一个条目用来在一个存在的语法类型中指定一个附加的含义.在MIB-II中的两个文字约定是DisplayString 和 PhysAddress.这两个类型的基语法类型都是OCTET STRING.下面是文字约定的定义和例子

4.5.6 用来表示语法的值

<syntax>的值用来决定被管理对象的类型.前面提到过.表对象有一个值"SEQUENCE OF <SequenceName>".行对象有一个值"<SequenceName>".叶对象不能给它的syntax指定一个序列的名字.他们的<syntax>的值被<leafSyntax>定义.如下图所示.

下面描述了每一个语法类型的详细信息:

INTEGER

Integers 都有一个和它相关的值范围.Integers 默认是32位的.(注意: integer 的范围总是必须被指定的.)新的MIBs开始使用16进制常量来指定范围.当这样做会使范围更加明显.这样这些值被假设为正值.

example :

                  SYNTAX INTEGER (0..65535)

                  SYNTAX INTEGER (0..'ffff'h)

                  SYNTAX INTEGER (0..'ff'H)

 

<enumerated>

integer的特例,0和负值不是被允许的值.但是,私有的MIBs可以不正确的使用这些值.这个对象必须只能取这个列表中的值

example:

                 SYNTAX INTEGER {

                                                      gateway(1),

                                                      host(2), }

                 SYNTAX INTEGER {

                                                       other(1),
                                                       invalid(2),

                                                       direct(3),

                                                       indirect(4) }

<integerBitstring> 

一个integer的特例.这个类型通常应用于short bit strings .bit以0开始 .

example:

               SYNTAX INTEGER (0..127)

OCTET STRING

有一个相关的大小由多个字节组成的字符串.不是必须被指定的.

example:

               SYNTAX  OCTET  STRING (SIZE (0..9))

               SYNTAX  OCTET  STRING 

               SYNTAX  OCTET  STRING (SIZE (6))

 

 

ASN.1是一种用于描述结构化客体的结构和内容的语言,基于编码规则BER(Basic Encoding Rules)是ASN.1标准定义的一种传送文法。每个MIB变量格式是SMI规定的,用ASN.1描述如下: OBJECTNAME BOJECT-TYPE DESCRIPTION:(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表示是第几个子节点。 MIB 树 每个MIB对象都用对象标识符(OID)来唯一的标识,这是用定义在ASN.1语法中的树型结构来组织的可用信息,其中每个可用信息是一个带标号的节点,每个节点用数字和字符两种方式显示,其中对象标识符OID是由句点隔开的一组整数,也就是从根节点通向它的路径,它命名节点并指示它在ASN.1树中的准确位置。一个带标号节点可以拥有包含其它带标号节点为它的子树,如果没有子树它就是叶子节点,它包含一个值并被称为对象。图3是带有ASN.1编号的MIB树实例:可以看出MIB-Ⅱ的OID是:1.3.6.1.2.1或者iso.org.dod.internet.mgmt.mib2。在SNMP中,实现应用到的MIB对象都是MIB-Ⅱ的子树节点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值