网络管理与维护(3.3)标量对象、表对象、词典顺序
只有非聚合对象,标量对象、列对象是叶子节点,被管对象推出对象类型,由宏定义推出宏实例。
管理对象也可以上述推导。表对象和行对象标识一个整体,所以问他的值等于多少是没有意义的,所以不是叶子节点
聚合对象——>非叶子节点的被管对象
非聚合对象——>叶子节点的被管对象
标量对象就是在运行时只有一个实例,如接口数
列对象一个值表示一个实例。而对象类型会在MIB数中被组织成表的形式(注意MIB不是数据库,不会存储实例即图中三角部分)。
列对象也是叶子节点。
表对象是一个二维数组,要用到索引
行由不同元素构成,使用SEQUENCE
表由相同元素(行)构成,用SEQUENCE OF .
如图不会出现缺省表
这个netstat命令下就是五列的表
复习一下TCP
其类型就用5(基本类型)+6(应用类型)来表示
这样就是简化机器编码, 提高传输效率。
例如如上表格
这就是一个行元素
一定要注意这个是小写开头,因为表对象是 文本名,值名 必须要小写
tcp索引就由四个元素组成
注意对象名的小写
行类型,首字母大写
对象定义,小写字母
考点,表对象的孩子是行对象,独生子女
行类型完了定义行对象
SYNTAX这里可以写写行类型的一坨,也可以直接写行类型(注意大写)
因为只有行对象才能指明索引,所以定义了行对象
列对象就是行对象的孩子节点
箭头表示索引
然后理解蓝色的两句话
都是对象的实例
但是一个表、行不代表一个值,但是表、行是一个实例
mib树中是对象,想要找到实例就是接下来讨论的问题
标量对象的实例就在标量对象后面写.0
列对象的常规规则就是在对象后面加.跟上索引的值
这个实例等于5
最前面的是列对象的OID,然后就跟这个对象所在行的值(索引)
1.3.6.1.2.1是mib
1.3.6.1.2.1.6是mib下的tcp
1.3.6.1.2.1.6.13是表对象
1.3.6.1.2.1.6.13.1是行对象
1.3.6.1.2.1.6.13.1.1是列对象
简化写法就是定义前面某几个是x
接口表中,索引只有一列,当指向24时就在OID后写.7
三个特殊规则
变长字符
NetworkAddress(Ipaddress常用规则)
OID
oid.字节个数.index
首先确定他是变长字符串用特殊规则
然后找到索引列xyz
找到abc标识符1.3.6.1.2.1.2.2.2.1.2
实例22就如下写法
1.3.6.1.2.1.2.2.2.1.2.4.104.111.115.116
即
abc.4.h.o.s.t
对象标识符不知道可以写列名
索引可以写成h.o.s.t
有四个字符,中间就写4
NetworkAddress类型因为是一个单选题,选项只有一个IpAddress
所以在其中写的是1不是字节个数
而NetworkAddress的索引就是一个ip
所以就OID.1.ip
上述流程一样,看到是NetworkAddress
中间写1,然后跟索引ip
数索引规则
这就是之前提到的,表对象、行对象整体没有标识符。不是叶子节点。SNMP不能访问,状态位就是not-accessibe.即聚合对象没有对象标识符
词典顺序
按照某种顺序,找到各个节点
网管里采用前序,跟左右顺序。
实际应用就是不知道OID但直到上方节点可以通过词典追溯到想要找到的叶子
常规规则
实例是虚构在mib树上的
表、行、第一列的对象实例都是第一列的第一个对象实例
这种图可以看到更清楚
同时由于概念表、行,它们没有实例OID。用的对象OID
同时根据前序关系可以推出下一个实例
SNMP不在乎非叶子,所以就只管叶子
对OID明了可以直接用Get操作
而不知道具体可有OID通过词典找到