SNMPv2
被考次数: 5次
被考频率: 中频率
答错率:    39%
知识难度:
考试要求: 掌握     
知识路径:  > 网络技术  > 网络管理  > 网络管理  > 网络管理协议  > 简单网络管理协议


本知识点历年真题试卷分布
>> 试题列表    
 

 
       SNMPv2的管理信息结构是在总结SNMP应用经验的基础上对SNMPv1 SMI进行了扩充,提供了更精致、更严格的规范,规定了新的管理对象和MIB的文档,可以说是SNMPv1 SMI的超集。SNMPv2 SMI引入了4个关键的概念。
       .对象的定义。
       .表的定义。
       .通知的定义。
       .信息模块。
       对象的定义
       对象的定义是使用对象语法来描述的。在每一个MIB内部的对象都有一个正式的定义,它规定了对象的数据类型、允许的形式、取值范围以及与其他MIB内部对象之间的关系。使用ASN.1符号定义了每一个对象,而且也定义了整个MIB的结构。为了保持对象的简单性,只是使用了ASN.1元素和特性的一个有限子集。其中对象的数据类型通常是UNIVERSAL,但是在MIB-Ⅱ中只有下列数据类型可用于MIB对象的定义。
       .integer(UNIVERSAL 2)。
       .octetstring(UNIVERSAL 4)。
       .null(UNIVERSAL 5)。
       .object identifier(UNIVERSAL 6)。
       .sequence、sequence-of(UNIVERSAL 16)。
       其中,前面4种是基本类型,是组成其他对象类型的基本块。sequence和sequence-of用来构建表。
       在MIB-2中,每个应用程序都定义了自己的APPLICATION数据类型。这里APPLICATION类型是ASN.1的APPLICATION类,它由与特定应用程序相关的数据类型组成。RFC1155中定义的一些应用程序范围类型如下。
       .networkaddress:使用CHOICE结构来定义,允许从许多协议组中选择一种地址格式。
       .ipaddress:由IP定义的32位地址。
       .counter:只能增加不能减少的非负整数。
       .gauge:可增可减的非负整数。
       .timeticks:计算从某一个时刻开始时间的非负整数,以0.01s为单位进行计算。
       .opaque:该类型能够产生任意类型数据。
       与SNMPv1一样,SNMPv2也是用ASN.1宏定义OBJECT-TYPE表示管理对象的语法和语义,但是SNMPv2的OBJECT-TYPE增加了新的内容,如下图所示。
       
       SNMPv2新添内容
       对象宏定义说明如下。
       .UnitsPart:在SNMPv2的OBJECT-TYPE宏定义中增加了UNITS子句。这个子句用文字说明与对象有关的度量单位。当管理对象表示一种度量手段(如时间)时,这个子句是有用的。
       .MAX-ACCESS子句:类似于SNMPv1的ACCESS子句,说明最大的访问级别,与授权策略无关。SNMPv2定义的访问类型中去掉了write-only类,增加了一个与概念行有关的访问类型read-create,表示可读、可写、可生成。还增加了accessible-for-notify访问类,这种访问方式与陷入有关。
       .STATUS子句:这个子句是必要的,也就是说必须指明对象的状态。新标准去掉了SNMPv1中的optional和mandatory,只有3个可选的状态。如果说明管理对象的状态是current,则表示在当前的标准中是有效的。如果管理对象的状态是obsolete,表示不必实现这种对象。状态deprecated表示对象已经过时了,但是为了与旧的实现互操作,实现时还要支持这种对象。
       其他子句的意义和SNMPv1相同。
       表的定义
       由于SMI只支持简单的二维标量表这一种数据结构,因此,与SNMPv1一样,SNMPv2的管理操作只能作用于标量对象,复杂的信息要用表来表示。按照SNMPv2规范,表是行的序列,而行是列对象的序列。SNMPv2把表分为两类。
       (1)禁止删除和生成行的表。这种表的最高访问级别是read-write。在很多情况下这种表由代理控制,表中只包含read-only型的对象。
       (2)允许删除和生成行的表。这种表开始时可能没有行,由管理站生成和删除行。行数可由管理站或代理改变。
       在SNMPv2表的定义中必须含有INDEX或AUGUMENTS子句,但是只能有一个。INDEX子句定义了一个基本概念行,而INDEX子句中的索引对象确定了一个概念行实例。与SNMPv1不同,SNMPv2的INDEX子句中增加了任选的IMPLIED修饰符。假定一个对象的标识符为y,索引对象为i1,i2,…,iN,则对象y的一个实例标识符为y.i1).(i2).…(iN)。
       SMI中表的定义不允许嵌套,也就是说,不允许表中的元素又是另外一个表,这限制了SMI的性能和灵活性。
       表的操作
       SNMPv2允许生成和删除行的表必须有一个列对象,其SYNTAX子句的值为RowStatus, MAX-ACCESS子句的值为read-write,这种列称为概念行的状态列。状态列可取6种值。
       .active(可读写):被管理设备可以使用概念行。
       .notInService(可读写):概念行存在,但由于其他原因(下面解释)而不能使用。
       .notReady(只读):概念行存在,但因没有信息而不能使用。
       .createAndGo(只写不读):管理站生成一个概念行实例时先设置成这种状态,生成过程结束时自动变为active,被管理设备就可以使用了。
       .createAndWait(只写不读):管理站生成一个概念行实例时先设置成这种状态,但不会自动变成active。
       .destroy(只写不读):管理站需删除所有的概念行实例时设置成这种状态。
       这6种状态中除notReady外的5种状态是管理站可以用set操作设置的状态,前3种可以是响应管理站的查询而返回的状态。
       表中概念行的生成可以使用两种不同的方法,分成4个步骤。
       (1)选择实例标识符。针对不同的索引对象可考虑用不同的方法选择实例标识符。
       (2)a管理站通过事务处理产生和激活概念行。b管理站与代理协商生成概念行。
       (3)初始化非默认值对象。管理站用get命令查询所有列,以确定是否能够或需要设置列对象的值。
       (4)激活概念行。
       概念行的挂起:当概念行处于active状态时,如果管理站希望概念行脱离服务,以便进行修改,则可以发出set命令,把状态列由active置为notInService。
       概念行的删除:管理站发出set命令,把状态列置为destroy,如果这个操作成功,概念行立即被删除。
       通知和信息模块
       SNMPv2提供了通知类型的宏定义NOTIFICATION-TYPE,用于定义异常条件出现时SNMPv2实体发送的信息。
       SNMPv2还引入了信息模块的概念,用于说明一组有关的定义。共有以下3种信息模块。
       .MIB模块:包含一组有关的管理对象的定义。
       .MIB的依从性声明模块:使用MODULE-COMPLIANCE和OBJECT-GROUP宏说明有关管理对象实现方面的最小要求。
       .代理能力说明模块:用AGENT-CAPABILITIES宏说明代理实体应该实现的能力。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有