0

我正在编写一些企业 MIB 模块,包括表格(列对象)和合规性声明。

我注意到在 Linux 下使用 iReasoning MIB 浏览器(版本 9.0 build 3532)时,它似乎只显示组中的前 15 个合规对象(参见 MODULE-COMPLIANCE 和 GROUP)。

有谁知道单个组中合规对象的任何限制?例如,在 Net-SNMP、NMS、(其他)MIB 浏览器等中。在 MIB 定义中使用多少是“安全的”?我知道我可以定义多个组以将对象数量保持在此限制内。

此外,组中的对象是表格的列。我知道可以使用扩展表来减少这个数字,即使用 AUGMENTS 子句的扩展表,或来自基表的“重复”INDEX 子句。但是,表中的列数是否有一般限制?

提前致谢。

4

1 回答 1

1

除了我们的实现,我不能谈论什么是“安全”的,但是标准对组中对象的数量没有这样的限制,只有 OBJECTS 中列出的 OBJECT-TYPE 或 NOTIFICATION-TYPE OBJECT-GROUP 和 NOTFICATION-GROUP(分别)的 NOTIFICATIONS 子句必须与组本身在同一模块中定义。如果您的工具仅显示 15,那么这听起来像是该特定工具的限制。

同样,该标准没有专门对表中的列数施加限制。但是,根据类型,您间接限制了将多少列用作 INDEX:SNMP 特别将 OID 限制为最多 128 个子标识符 [RFC-2578 §3.5]。对于用作索引的对象的不同语法有不同的编码规则,这导致子标识符附加到列的 OID 以指示该列对象的特定实例 [RFC-2578 §7.7]。列的 OID 中的子标识符加上每个实例子标识符的总数将限制为 128。

除此之外,您关心的只是 SNMP 消息大小(或基本 UDP 数据包大小限制)的实现特定限制,这些工具可能希望一次获取全行而不是一次全列的表。

但是,如果您关心的列太多,那么无论如何都可能有很大的空间来分解/规范化表格,而不用担心消息大小 - 只是与组织有关。

于 2013-10-18T20:20:43.287 回答