gpt4 book ai didi

c# - SNMP GETBULK 和 GET 操作有什么区别

转载 作者:行者123 更新时间:2023-11-30 20:32:46 25 4
gpt4 key购买 nike

背景

我正在尝试创建一个 SNMP 网站项目以获取有关网络设备的信息。我使用了 LeXtudio 创建的 SNMP 库 - sharpsnmp。

问题

我创建了两种方法,一种使用 Getbulk,另一种使用 Get。两者都接受 OID 列表。两者都照常工作,没有问题。我遇到的唯一问题是在很远的网络设备上。他们每个人都需要完全相同的时间。就在 2 分钟。我觉得这是一个非常漫长的等待时间。尽管在靠近的设备上它非常快并且不到 5 秒。

问题

我想知道 Getbulk 不会一次询问所有信息,然后返回所有信息。还是一次一个地询问列表中的每个 OID。和Get一样吗?

有没有一种方法可以通过一次调用设备获得我需要的所有信息,或者我只能多次调用设备?

我还有其他选择吗?

最佳答案

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

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

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

如果代理启用了 SNMPv2C,您应该使用 GETBULK。它是 GETNEXT 请求的优化。所以基本上你不必执行多个 GET-NEXT 请求来获取多个实例。相反,您可以只发送单个 GETBULK 请求并将 Max-Repetitions 参数设置为 10,您将从请求中指定的 OID 开始获得接下来的 10 个结果变量。

关于c# - SNMP GETBULK 和 GET 操作有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40907115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com