2016-12-01 38 views
2

背景是什么SNMP GETBULK之间的区别和GET操作

我想创建一个SNMP网站的一个项目,以获取有关网络设备的信息。我已经使用由LeXtudio创建的SNMP库 - sharpsnmp。

我创建使用GETBULK和一个与得到两个方法中的一个问题。两者都包含OID列表。两者都是在出现问题时工作的。我遇到的唯一问题是在网络设备上非常遥远。每个人需要完全相同的时间。 2分钟。我觉得这是一个很长的等待时间。尽管在接近的设备上速度非常快,但在5秒以内。

问题

我想知道它的GETBULK没有要求的所有信息一次,然后回来的所有信息。或者它一次要求列表中的每个OID。和Get一样吗?

有没有办法让一个电话获得所有我需要的信息,只需要对设备进行一次调用,或者只是我可以对设备进行重复呼叫?

我还有其他选择吗?

+0

请了解什么是SNMP,https://en.m.wikipedia.org/wiki/Simple_Network_Management_Protocol该协议定义了什么是GET和GET BULK。 –

回答

1

通常,如果处理标量OID或精确表对象实例,应该使用GET请求。

否则,如果代理程序支持SNMPv2C,则应该使用GETNEXT或甚至GETBULK。

通常,您应该使用GETNEXT来获取表或整个表的选定列。在这种情况下,您需要递归执行GET-NEXT请求,直到结果超出树分支范围。

如果代理程序启用了SNMPv2C,则应使用GETBULK。这是GETNEXT请求的优化。所以基本上你不需要执行几个GET-NEXT请求来获得一些实例。相反,您可以发送单个GETBULK请求并将参数Max-Repetitions设置为10,然后您将从请求中指定的OID开始,获得接下来的10个后续变量。

相关问题