基于SNMP协议的MIB库访问实现研究
ASN.1作为一种用于描述结构化客体结构和内容的语言,其编码规则BER (Basic Encoding Rules) 为ASN.1标准定义的一种传送文法。每个MIB变量格式由SMI规定,并使用ASN.1描述如下:
OBJECTNAME BOJECT-TYPE DESCRIPTION:(description) SYNTAX: (syntax) ACCESS: (access) STATUS: (status) ::={(Parent)number}
其中,OBJECTNAME代表被管对象名称,ASN.1要求MIB中所有对象名称必须唯一;BOJECT-TYPE是每个节点对象必须具备的关键字;SYNTAX作为被管对象类型的关键字,后面紧跟着一个类型 (syntax);ACCESS作为被管对象的访问方式关键字,在SNMP第二版中为MAX-ACCESS关键字,(access) 代表被管对象的访问方式,其值可以是以下几种:read-only、read-write、no-accessible,SNMP第二版中新增了read-create;STATUS作为被管对象关键字,(status) 代表被管对象的状态,例如必备的、可选的或废弃的;DESCRIPTION用于描述被管对象的功能、特征等信息,(description) 是被管对象的文本描述。在:::={(Parent)number }中,Parent代表位于MIB树中的父节点,number则代表是第几个子节点。
MIB树中的每个MIB对象都由对象标识符(OID)唯一标识,OID采用定义在ASN.1语法中的树形结构来组织可用信息,其中每个可用信息都是一个带标号的节点。每个节点可以使用数字和字符两种方式显示。对象标识符OID由句点隔开的一组整数构成,表示从根节点到该节点的路径,用于命名节点并指示其在ASN.1树中的确切位置。
带标号节点可以拥有包含其他带标号节点的子树,如果没有子树则为叶子节点。叶子节点包含一个值,被称为对象。图3展示了一个带有ASN.1编号的MIB树实例:可以看出MIB-Ⅱ的OID为:1.3.6.1.2.1或者iso.org.dod.internet.mgmt.mib2。在SNMP中,实际应用的MIB对象都是MIB-Ⅱ的子树节点。
Access
8
2024-05-23