第6节 变量
推荐给好友
打印
加入收藏
更新于2008-08-01 15:20:03

D.6.1 基本定义

使用Variable Request OAMPDU和Variable Response OAMPDU可查询和返回MIB变量。Variable Request OAMPDU的数据结构称为Variable Descriptor(见D.6.2 节)。OAMClient可在每个Variable Request OAMPDU中请求一个或多个变量。Variable ResponseOAMPDU的数据结构称为Variable Container(见D.6.3 节)。每个返回VariableContainer应由单一Variable Response OAMPDU承载。如果单一Variable ResponseOAMPDU不能承载一个Variable Container,返回错误码。在返回请求变量时,OAM Client对收到的每个Variable Request OAMPDU 至少产生一个或多个Variable ResponseOAMPDU。

D.6.2 Variable Descriptor

Variable Descriptor用于请求MIB属性、对象和分组包,并使用CMIP协议进行编码(见Annex 30A)。Variable Descriptor结构见表D. 13。


Variable Container用于返回MIB属性、对象和分组包。Variable Response OAMPDU的Data域可包含一个或多个Variable Container。

D.6.3.1 返回属性时的Variable Container格式

返回属性的Variable Container的结构见表D. 14。


第一个域是1字节的Variable Branch域,第二个域是2字节的Variable Leaf域,表D. 16是Variable Branch和Variable Leaf的举例。第三个域是1字节的Variable Width域,该域或者包含属性的实际宽度,或者包含携带不能返回的特殊属性信息的Variable Indications,如表D. 17所示。如果Variable Width域包含一个宽度值,则第四个域是包含属性的VariableValue域。该域长度最大为128字节,最高有效字节居先。如果Variable Width域包含VariableIndications,则Variable Value域不存在。

D.6.3.2 返回对象和分组包时的Variable Container格式

返回对象和分组包时的Variable Container格式见表D. 15。


分组包定义为一组MIB属性和/或动作。对象是一组分组包,由MIB属性和/或动作按序组成。Variable Container提供了一个返回分组包和对象的有效方式。分组包和对象中的属性按照Annex 30A中所列属性的顺序返回。

返回分组包和对象的Variable Container和返回属性的Variable Container非常相似。第一个域是1字节的Variable Branch域,用于返回特定的分组包和对象。第二个域是2字节的Variable Leaf域,用于返回特定的分组包和对象。表D. 16是Variable Branch和Variable Leaf的举例。第三个域1字节,是返回的分组包或对象中第一个属性的Variable Width域。该域或者包含属性的实际宽度,或者包含携带不能返回的特殊属性信息的Variable Indications,如表D. 17所示。如果Variable Width域包含一个宽度值,则第四个域是Variable Value域,包含返回分组包和对象的第一个属性。该域长度最大是128字节,最高有效字节居先。如果Variable Width域包含Variable Indications,则Variable Value域不存在。对于分组包中的每个后续属性(如果实现),Variable Width域和Variable Value域将重复。

对于对象中的每个后续分组包中的每个后续属性(如果实现),Variable Width域和Variable Value域将重复。

D.6.4 Parsing

OAM Client 解析Variable Descriptor 和Variable Container 。所有VariableDescriptor/Container均包含一个1字节的Variable Branch域和一个2字节的Variable Leaf域。Variable Descriptor/Container的处理应遵循以下原则:

a) Variable Branch域值为0x00,表示没有Variable Descriptor/Container要处理(后续的域被忽略)。
b) Variable Branch或Variable Leaf域包含不认识或不期望的值时应被忽略。
c) 如果Variable Width域指示Variable Container扩展超过了帧(例如,长度和帧长、起始点不匹配),则Variable Container应被忽略。
d) Variable Indication值为0x40,指示对象中没有其它属性需要处理。
e) Variable Indication值为0x60,指示分组包中没有其它对象需要处理。是不是对象和分组包反了?

D.6.5 Variable Branch/Leaf举例

表D. 16包含一组返回属性、分组包和对象的Branch和Leaf值。

 

<<上一节




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.