SNMP MIB(信息管理库)格式剖析

MIB 是一个信息管理库,在该库中包含了大量的对象,这些对象有自己唯一的位置和名字。那么它们是如何进行区分的呢?本节将介绍这些信息格式。

对象标识符(OID)

管理信息库 MIB 指明了网络元素所维持的变量,即能够被管理进程查询和设置的信息。MIB 给出了网络中所有可能的被管理对象集合的数据结构

SNMP 的管理信息库采用和域名系统 DNS 相似的树形结构,如图所示。

SNMP MIB(信息管理库)格式剖析

上图所示为管理信息库中的一部分信息。最上面部分为根,没有名字,其余部分都是节点,由一个专用的名字和数字这两部分构成。这些名字不是随便分配的,而是由一些权威组织进行管理和分配的。

上图中的每一个节点表示一个被管理的对象,每一个对象都可以从根开始找出一条唯一的路径,这个路径就是对象标识符 OID,它是以点.进行分隔的整数序列。例如,对象标识符 1.3.6.1.2.1,表示对象 iso.org.dod.internet.mgmt.mib。

对象下面的分组

在管理信息库 MIB 中,管理对象下面会被分为若干个组。例如,管理对象 mib 的分组如图所示。

SNMP MIB(信息管理库)格式剖析

其中,mib 下的分组有 system 组、interfaces 组和 at 组等。

数据类型(值类型)

管理信息库 MIB 用于收集和储存管理信息(管理对象的状态和统计信息),并且能够使 NMS 通过 SNMP 代理查询对象信息或进行设置。而 MIS 用于定义通过 SNMP 协议可访问对象的规则,它定义在 MIB 中使用的数据类型。

常用的数据类型及含义如下:

  • Integer:整数类型,有多种形式。有些整型变量没有范围限制,有些整型变量定义为特定的数值。例如,IP 的转发标志只有允许转发或者不允许转发。有些整型变量定义包含特定的范围,如 UDP 和 TCP 的端口号从 0~65535。
  • OCTER STRING:0 或多个 8bit 字节,每个字节值在 0~255 之间。
  • Display String:0 或多个 8bit 字节,但是每个字节必须是 ASCII 码。在 MIB-II 中,所有该类型的变量不能超过 255 个字符,但可以为 0 个字符。
  • OBJECT IDENTIFIER:对象标识符。
  • NULL:表示相关的变量没有值。例如,在 get 或 get-next 操作中,变量的值就是 NULL。因为这些值还没有获取。
  • IpAddress:以网络序表示的 IP 地址。因为它是一个 32 位的值,所以定义为 4 个字节。
  • PhysAddress:OCTER STRING 类型,代表物理地址。例如,以太网物理地址为 6 个字节。
  • Counter:以网络序表示的 IP 地址。它是一个 32 位的值,被定义为 4 个字节。
  • Gauge:非负整数,取值范围为 0~4294976295(或增或减)。达到最大值后锁定,直到复位。例如,MIB 中的 tcpCurrEstab 就是这种类型,它代表目前在 ESTABLISHED 或 CLOSE_WAIT 状态的 TCP 连接数。
  • TimeTicks:时间计数器,以 0.01 秒为单位递增,但是不同的变量可以有不同的递增幅度。所以在定义这种类型变量时,必须指定递增幅度。
  • SEQUENCE:用于列表。这一数据类型与大多数程序设计语言中的 structure 类似。一个 SEQUENCE 包括 0 个或多个元素,每一个元素可以是另一个 ASN.1 数据类型。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/21348.html

(0)
上一篇 2021年7月20日
下一篇 2021年7月20日

相关推荐

发表回复

登录后才能评论