我正在使用网络监视应用程序,需要了解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和其他任何东西都会带来麻烦。