我正在开发一个网络监控应用程序,需要知道哪些版本的 SNMP 与其他版本向后兼容。我正在用 Java 编写程序并使用 SNMP4J 来查询特定设备上的 OID。在 SNMP4J 中,您必须在设置目标时指定 SNMP 设备的版本。
目前,有 SNMP 版本 1、2c 和 3。如果我的设备是 SNMP 版本 1,SNMP 版本 2c 或 3 是否会向后兼容该版本?
如果设备是第 2 版,那么第 1 版或第 3 版会向后兼容吗?
... 等等
无论如何,非常感谢所有帮助,
史蒂夫
我正在开发一个网络监控应用程序,需要知道哪些版本的 SNMP 与其他版本向后兼容。我正在用 Java 编写程序并使用 SNMP4J 来查询特定设备上的 OID。在 SNMP4J 中,您必须在设置目标时指定 SNMP 设备的版本。
目前,有 SNMP 版本 1、2c 和 3。如果我的设备是 SNMP 版本 1,SNMP 版本 2c 或 3 是否会向后兼容该版本?
如果设备是第 2 版,那么第 1 版或第 3 版会向后兼容吗?
... 等等
无论如何,非常感谢所有帮助,
史蒂夫
SNMPv1 使用社区字符串,它成为 SNMPv2c 中的上下文 ID。本质上它是同一件事,但看待事物的方式略有不同。
SNMPv3 具有安全性和各种附加功能,使协议绝非简单。
如果您尝试在 SNMPv1 设备上发出 SNMPv2c 请求,如果 SNMPv2c 管理器使用 get-bulk 请求(它一次请求多个后续对象,对于快速拉入柱状对象很有用),您将遇到问题。SNMPv1 不支持批量操作。
因此,SNMPv1 管理器可能能够从 SNMPv2c 代理检索对象。但是 SNMPv2c 管理器可能无法从 SNMPv1 设备获取对象。
将 SNMPv3 与其他任何东西混合是自找麻烦。