在ASN.1中是否可以继承?

时间:2019-05-13 10:33:31

标签: snmp asn.1 mib oid

我正在使用ASN.1在SNMP的MIB上编写。

我有一个董事会的多个修订版。所有开发板都具有“公共”属性,但更高版本具有附加属性

新修订版是否可以继承以前的属性?

可以这样走吗? 修订版0(OID 1)->属性(OID 1) 版本1(OID 2)->属性(OID 1) 在单个MIB中? 我稍后尝试更改属性的标识符,但所有对象类型都转到Revision0!

1 个答案:

答案 0 :(得分:0)

这取决于您在做什么和需要什么。

如果我有一堆标量对象,并且在子树的末尾添加了一些以支持较新的设备,而较旧的设备不支持它,则您将仅依靠较旧的设备拒绝请求用于较新的OID。真是酥脆。

如果您的MIB具有更结构化的表格,则可以:

  1. 做同样的事情;只需向表中添加有条件支持的更多字段,或者
  2. 使用新信息sharing an index with the first one创建第二个表,以有效地“扩展”第一个表。但是,这可能太过分了,您的用户将不得不独立地轮询两个表。但是,从语义上讲,它们将被整齐地链接。

通常,您要尝试避免扩展MIB。无论硬件支持的状态如何,请尽可能考虑一下您需要的数据。当然,实际上,您稍后会考虑/发明功能,因此无法完全避免。当然不要更改OID:that's prohibited

顺便说一下,尽管MIB的词法表示法是ASN.1,但您真正使用的方案是SMIv2