OBJECT-GROUP 的 SNMP 目的,关于 OBJECT-TYPES 的 MODULE-COMPLIANCE

SNMP purpose of OBJECT-GROUP, MODULE-COMPLIANCE with regards to OBJECT-TYPES

我正在实施自己的 MIB,并且还使用 smilint 检查以验证 MIB。我收到了很多 node xxx must be contained in at least one conformance group 警告。

我无法理解 OBJECT-GROUP 的用途及其在 MIB 文件中的位置。它是否提供了一种机制,用于将位于同一 OID 子树中各种 OID 的相关托管 OBJECT-TYPES 分组?真的需要它吗,因为我可以不用它来设计一个有用的 MIB?

我也在努力理解与对象相关的 MODULE-COMPLIANCE 宏的用途。这适用于扩展我正在创建的 MIB 吗?

有人在 SO here 上提出了类似的问题,我仍然觉得不清楚,因为 OBJECT-GROUP 是在一个 OID 下定义的,而引用的 OBJECT-TYPE 是在完全不同的树下定义的。 谢谢

正如您所说,OBJECT-GROUP 宏用于对位于各种 OID 的概念上相关的托管 OBJECT-TYPES 进行分组。但是,它们不必来自同一子树。严格来说,OBJECT-GROUP 宏不是必需的,因为它只是来自 smilint 的 4 级警告这一事实可以证明。

您链接到的答案确实提到了其中的一些内容,但希望这对您来说是一个更有用的答案。

至于这些东西的用途,我会尽力解释。这些 OBJECT-GROUP 和 MODULE-COMPLIANCE 宏旨在用于那些将实现您正在创建的 MIB 的宏,而不是用于与 MIB 本身有关的任何事情。 OBJECT-GROUP 给出了关于 OID 的逻辑关系的想法,而 MODULE-COMPLIANCE 语句显示了在什么情况下哪些 OID 是强制性的。即来自 RFC2580:

The compliance statement contained in the (hypothetical) XYZv2-MIB might be:

    xyzMIBCompliance MODULE-COMPLIANCE

    DESCRIPTION
           "The compliance statement for XYZv2 entities which
           implement the XYZv2 MIB."
      MODULE  -- compliance to the containing MIB module
      MANDATORY-GROUPS { xyzSystemGroup,
                         xyzStatsGroup, xyzTrapGroup,
                         xyzSetGroup,
                         xyzBasicNotificationsGroup }
      GROUP   xyzV1Group
      DESCRIPTION
          "The xyzV1 group is mandatory only for those
           XYZv2 entities which also implement XYZv1."
::= { xyzMIBCompliances 1 }

According to this invocation, to claim alignment with the compliance statement named

   { xyzMIBCompliances 1 }

a system must implement the XYZv2-MIB's xyzSystemGroup, xyzStatsGroup, xyzTrapGroup, and xyzSetGroup object conformance groups, as well as the xyzBasicNotificationsGroup notifications group. Furthermore, if the XYZv2 entity also implements XYZv1, then it must also support the XYZv1Group group, if compliance is to be claimed.

因此,如另一个问题所述,如果您确实决定创建 OBJECT-GROUP 宏,那么您可能应该遵循并创建支持的 MODULE-COMPLIANCE 对象以配合它们,因为您已经去了麻烦了。