MIB in SNMP

管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。SNMP的管理信息库采用和域名系统DNS相似的树型结构,它的根在最上面,根没有名字。图3画的是管理信息库的一部分,它又称为对象命名(objectnamingtree)。

 

 

 

图3管理信息库的对象命名举例
对象命名树的顶级对象有三个,即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。现在de mib-2所包含的信息类别已超过40个。


表1 最初的结点mib管理的信息类别
类别
 标号
 所包含的信息
 
system

interfaces

address translation

ip

icmp

tcp

udp

egp
 (1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)
 主机或路由器的操作系统

各种网络接口及它们的测定通信量

地址转换(例如ARP映射)

Internet软件(IP分组统计)

ICMP软件(已收到ICMP消息的统计)

TCP软件(算法、参数和统计)

UDP软件(UDP通信量统计)

EGP软件(外部网关协议通信量统计)
 
应当指出,MIB的定义与具体的网络管理协议无关,这对于厂商和用户都有利。厂商可以在产品(如路由器)中包含SNMP代理软件,并保证在定义新的MIB项目后该软件仍遵守标准。用户可以使用同一网络管理客户软件来管理具有不同版本的MIB的多个路由器。当然,一个没有新的MIB项目的路由器不能提供这些项目的信息。
这里要提一下MIB中的对象{1.3.6.1.4.1},即enterprises(企业),其所属结点数已超过3000。例如IBM为11.3.6.1.4.1.2},Cisco为{1.3.6.1.4.1.9},Novell为{1.3.6.1.4.1.23}等。世界上任何一个公司、学校只要用电子邮件发往iana-mib@isi.edu进行申请即可获得一个结点名。这样各厂家就可以定义自己的产品的被管理对象名,使它能用SNMP进行管理。

本篇文章来源于 中国协议分析网|www.cnpaf.net 原文链接:http://www.cnpaf.net/Class/SNMP/200408/44.html

### 关系概述 管理信息库 (Management Information Base, MIB)[^1] 是一种虚拟数据库,它包含了网络设备的各种可管理对象的信息。简单网络管理协议 (Simple Network Management Protocol, SNMP)[^2] 利用这些 MIB 来监控和配置网络中的设备状态。而操作维护语言 (Man-Machine Language, MML)[^3] 主要用于电信领域的人机交互命令集。 #### MIBSNMP 的关系 SNMP 使用 MIB 文件来定义可以被查询或设置的对象及其数据结构。当管理员通过 SNMP 协议发送请求时,代理会依据对应的 MIB 定义解析并返回所需的数据。因此,在 SNMP 中,MIB 起到了桥梁作用,连接了抽象的管理需求与具体的硬件实现[^4]。 ```python from pysnmp.hlapi import * errorIndication, errorStatus, errorIndex, varBinds = next( getCmd(SnmpEngine(), CommunityData('public'), UdpTransportTarget(('demo.snmplabs.com', 161)), ContextData(), ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysDescr', 0))) if errorIndication: print(errorIndication) else: for varBind in varBinds: print(' = '.join([x.prettyPrint() for x in varBind])) ``` 上述 Python 示例展示了如何利用 PySNMP 库基于标准 MIB 查询远程主机描述符(sysDescr)。 #### MML 在此上下文的角色 尽管 MML 命令通常独立于 SNMP 运作,但在某些复杂的网管场景下也可以间接关联起来。例如,一些高级管理系统可能先通过执行特定的 MML 指令完成初步设定之后再启用 SNMP 功能;或者反过来讲,如果发现某个参数无法经由 SNMP 正常读取,则转而尝试借助厂商专有的 MML 接口获取更多信息[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值