SNMP从入门到开发:进阶篇

管理信息库:MIB

我们要扩展mib首先必须清楚mib是如何定义的,用的什么语言,有哪些约定,遵循哪些规则等等。这些基本东西掌握过后,我们就可以很轻松的来写自己的mib文件了。

所谓管理信息库,或者MIB,就是所有代理进程包含的、并且能够被管理进程进行查询和设置的信息的集合,或者叫管理对象的集合,在RFC 1213 [McColghrie Rose 1991]中定义了MIB-II,即第二版的MIB库。MIB是采用SMI(RFC 1155)来定义的。SMI全称为Structure Management Information,管理信息结构。SMI规范定义了一个基本框架,使用框架内的规范可以定义MIB,而SMI同时又是ASN.1的一个子集,它主要约定了使用到的语法、类型、宏、数据格式等。

本节知识相对来说有些枯燥,但是没办法,如果你要看懂mib的定义文件,并且能很灵活自如的对其进行扩展,那么这些基础是必须夯实的。俗话说“磨刀不误砍柴工”。

 

ASN.1 语法

    ASN.1(Abstract Syntax Notification 1),抽象语法描述语言,是一种独立于机器的描述语言,用于描述在网络上传递的消息。在SNMPANS.1主要用于MIB的定义,另一方面也用于协议的定义。所以理解ASN.1是理解协议、读懂SNMP国际规范RFC、进行SNMP开发的前提。在SNMP开发中,不但要用ASN.1编写MIB文件,还要使用ASN.1中的BER进行编解码。

ASN.1 可分为两个部分:

l  语法规则:从数据类型、内容顺序或结构等方面来描述消息的内容

l  编码规则:如何编码、解码实际消息中的数据

语法部分用于对数据结构、类型、顺序进行描述。编码则将语法部分描述的数据进行编码,变为二进制比特流,以便在网络上传输,或反方向地将接收到的数据流进行解码。这使得编码流可以跨平台、跨设备进行传输。

ASN.1的记法规则,ASN.1的结构、类型和取值的表示方法和编程语言的表示法相似:

Ø  多个空格和空行都看作是一个空格。

Ø  注释用成对的连字符(--)在注释的每行开始处表示,或者将一对连字符用在注释的开始处和注释行结束的结尾处。

Ø  标识符(取值和字段的名称)、类型引用(类型的名称)和模块名称由大写字母、小写字母、数字和连字符组成。

Ø  标识符、类型引用或模块名以由大写字母开始。

Ø  内建类型都由大写字母组成。内建类型一般用作标准表示法提供的类型。

Octet(字节)表示一个8bit的无符号整数。bit8表示最高位,bit1标识最低位。下列元语用于定义ASN.1符号:

l  BIT 类型和值用等宽字体表示。它通畅表示一个十六进制的字节值。

l  n1 粗斜体表示变量

l  []  粗的方括号标示该值为可选项

l  {}  粗的大括号表示一组相关项。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值