SNMP GetBulk命令

4
我希望知道是否可以在SNMPv1中使用getbulk命令。如果可以,请告诉我它的优点是什么。如果不行,那么有哪些缺点。
谢谢。
Uday.
4个回答

5
正如其他人所说,GetBulkRequest是在SNMPv2中引入的。但是您可能会发现,版本1的GetRequest PDU可以与多个变量绑定相关联。这样做,GetRequest响应将包含这些OID对象及其当前值的映射(如果请求成功)。
如果您不需要“遍历”树,并且您已经提前拥有所有的OID,则加载具有所有所需变量绑定的GetRequest可能适合您。
如果您使用Java,则SNMP4J API与SNMP v1、v2c和v3兼容。 SNMP4J API

5

不行。这由协议栈决定(GET BULK在v2协议栈中引入),而不是其他因素。

如果您想使用GET BULK,必须使用SNMP v2和v3,而不是v1。


3
值得注意的是,GETBULK在v2c中,这是对SNMPv1的轻微升级,因此即使供应商没有完全采用SNMPv3,几乎每个设备都支持它。
SNMPv1:使用带有V1 PDU的社区 SNMPv2c:使用带有V2 PDU的社区 SNMPv3:使用带有V2 PDU的多个安全模块
然后,SMI版本号(1和2)可以与任何协议一起使用,除非有无法使用V1 PDU访问的SMIv2数据类型(例如,counter64)。

2
如果您使用v1执行snmpbulkwalk,则会收到以下错误。
bash# snmpbulkwalk -v 1 -Os -c demopublic test.net-snmp.org
No log handling enabled - using stderr logging
snmpbulkwalk: Cannot send V2 PDU on V1 session

当使用v2c版本的snmpbulkwalk时,可以获得整洁的输出结果,了解概念

bash# snmpbulkwalk -v2c -Os -c demopublic test.net-snmp.org
sysDescr.0 = STRING: test.net-snmp.org
sysObjectID.0 = OID: netSnmpAgentOIDs.10
sysUpTimeInstance = Timeticks: (174391443) 20 days, 4:25:14.43
sysContact.0 = STRING: Net-SNMP Coders <net-snmp-coders@lists.sourceforge.net>
sysName.0 = STRING: test.net-snmp.org
sysLocation.0 = STRING: Undisclosed
sysORLastChange.0 = Timeticks: (7) 0:00:00.07

另外,snmpbulkwalk -v2c -Os -c public demo.snmplabs.com - Ilya Etingof

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接