Snmp MIB限制(表中的列和符合性对象)

Snmp MIB限制(表中的列和符合性对象),snmp,asn.1,net-snmp,mib,Snmp,Asn.1,Net Snmp,Mib,我正在编写一些企业MIB模块,包括表(列对象)和符合性声明 我注意到,在Linux下使用iReasoning MIB浏览器(版本9.0 build 3532)时,它似乎只显示组中的前15个符合性对象(请参阅MODULE-compliance和group) 是否有人知道单个组中合规性对象的任何限制?例如,在网络SNMP、NMS、(其他)MIB浏览器等中,在MIB定义中使用多少是“安全的”?我知道我可以定义多个组,以将对象的数量保持在此限制范围内 此外,组中的对象是表的列。我知道可以使用扩展表来减少

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

我注意到,在Linux下使用iReasoning MIB浏览器(版本9.0 build 3532)时,它似乎只显示组中的前15个符合性对象(请参阅MODULE-compliance和group)

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

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


提前感谢。

除了我们的实现之外,我不能谈论任何实现,关于什么是“安全的”,但是标准对组中的对象数量没有这样的限制,只是对象组和通知组(分别)的对象和通知条款中列出的对象类型或通知类型必须在与组本身相同的模块中定义。如果您的工具仅显示15,则听起来像是该特定工具的限制

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

除此之外,对于可能希望一次获取整行表而不是整列表的工具,您只需要考虑特定于实现的SNMP消息大小限制(或基本UDP数据包大小限制)

但是,如果您有太多的列需要关注,那么不管怎样,表的分解/规范化可能有很大的空间,而不需要考虑消息大小——只需要考虑组织