SNMP RFC、导入、physAddress的多个定义

SNMP RFC、导入、physAddress的多个定义,snmp,Snmp,我一直在研究SNMP v1和v2 RFC,包括MIB和SMI RFC(管理信息库是以一种称为“管理信息结构”的抽象语法编写的),具体来说,我一直在研究文本约定“physadress” 下面是我正在使用的私有MIB的导入声明: PhysAddress FROM RFC1213-MIB 以下是rfc2011(1996)中的内容: RFC4181(2005)指出SNMPv2 TC是RFC2579(1999) …有些MIB编译器不需要physadress的IMPORT语句 宣言的规范形式是什么?不同

我一直在研究SNMP v1和v2 RFC,包括MIB和SMI RFC(管理信息库是以一种称为“管理信息结构”的抽象语法编写的),具体来说,我一直在研究文本约定“physadress”

下面是我正在使用的私有MIB的导入声明:

 PhysAddress FROM RFC1213-MIB
以下是rfc2011(1996)中的内容:

RFC4181(2005)指出SNMPv2 TC是RFC2579(1999)

…有些MIB编译器不需要physadress的IMPORT语句


宣言的规范形式是什么?不同的MIB编译器是否需要从RFC2579而不是SNMPv2 TC导入?有一个标准形式吗?如果有规范形式,它在哪里记录?

规则是,对于任何SNMP MIB编译器,它们只关心文档中的模块名称。比如说,

SNMPv2 TC定义::=开始

在RFC2579中,文档指出它定义了一个名为
SNMPv2 TC
的新模块

当然,您可以导入“RFC2579”,但需要在任何地方定义相应的模块(但它在RFC空间中从来都不是有效的模块名)

一些编译器,如MG-SOFT,决定将基本类型视为内置类型,这样产品的用户就不必担心从何处导入它们。这可能解决一些问题,但也可能导致其他问题

我想你只是想知道为什么
RFC1213-MIB
模块中也有
physaddress
。这是因为
RFC1213-MIB
被定义为与其他snmpv1组件一起使用

所以给你的提示是

  • 非常清楚地说明要使用哪种SMI版本,v1或v2
  • 编写MIB文档时,仅使用与所选SMI版本兼容的引用(通过导入)
    RFC1213-MIB
    用于SMI v1,而
    SNMPv2 TC
    用于SMI v2
  • 如果您查看IETF或Cisco等大公司的标准MIB文档,您会发现在大多数情况下,它们都遵循提示

     PhysAddress FROM SNMPv2-TC