【问题标题】:Is it possible in ASN.1 to inherit?ASN.1 中是否可以继承?
【发布时间】:2019-05-13 10:33:30
【问题描述】:

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

我有多个版本的电路板。所有的板子都有共同的属性,但后来的版本有额外的属性

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

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

【问题讨论】:

  • 该问题被表述为关于 ASN.1 的问题,但在正文中,您谈到“板的多次修订”和“新版本”(可能是板的)继承属性。我不知道 MIB 或 SNMP。我确实知道 ASN.1。我不明白你在问什么。

标签: snmp asn.1 mib oid


【解决方案1】:

这取决于你在做什么以及你需要什么。

如果我有一堆标量对象,并且我在子树的末尾添加了一些以支持较新的设备,而旧设备不支持它,那么您只需依靠旧设备拒绝请求对于较新的 OID。这真是太好了。

如果您的 MIB 更结构化,使用表格,您可以:

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

一般来说,您希望尽量避免扩展 MIB。无论硬件支持的状态如何,都尽可能提前考虑您需要的数据。当然,实际上您稍后会想到/发明功能,因此无法完全避免。当然不要更改 OID:that's prohibited

顺便说一句,虽然 MIB 的词汇表示法是 ASN.1,但您真正使用的方案是 SMIv2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多