gpt4 book ai didi

networking - 具有多个 OID 的 SNMP getBulkRequest - 哪个是返回的响应 OID 顺序?

转载 作者:行者123 更新时间:2023-12-03 12:22:21 33 4
gpt4 key购买 nike

我正在发送 SNMP getBulkRequest ,使用基于一些 3rd 方库(如 agent++、snmp++ 等)的专有 SNMP 浏览器,具有多个 OID,例如
.1.3.6.1.2.1.1.1
.1.3.6.1.2.1.1.5
.1.3.6.1.2.1.1.6
.1.3.6.1.2.1.1.4

是否保证返回的集合(如果存在具有此类前缀的 OID)将以完全相同的顺序返回?

例如
.1.3.6.1.2.1.1.1.0
.1.3.6.1.2.1.1.5.0
.1.3.6.1.2.1.1.6.0
.1.3.6.1.2.1.1.4.0

欢迎任何答案、文档链接、与此问题相关的提示。

更新:非中继器 = 0,MaxRepetitions >= 1

最佳答案

假设代理被正确实现,那么是的,尽管说响应 PDU 的完整返回集由请求中每个 OID 的单独结果集组成可能更清楚一些,并且这些单独的结果集以相同的方式返回他们在请求中给出的顺序。每个单独的结果集的行为类似于零个或多个(取决于 non-repeaters 和 max-repetitions 字段的值)get-next 请求。

如果您的非中继器是 N,则响应中的前 N ​​个 OID 将与请求中的前 N ​​个 OID 相对应,每个 OID 的行为类似于单个 get-next 请求(如果没有,则返回下一个更大的 OID 或 endOfMibView 异常) .请求中的其余 OID 受最大重复次数限制。

如果您的最大重复次数为 M,则请求中剩余的每个 OID 的行为类似于 0..M 个 get-next 请求(从请求 OID 返回最多 M 个下一个更大的 OID;如果没有 M 更大,则有将是一些较小的数字,然后是 endOfMibView 异常,在来自请求中下一个 OID 的结果 OID 之前)。

[这也意味着如果 non-repeaters 和 max-repetitions 都是 0,结果是一个空集;或者如果 max-repetitions 为 0 并且非中继器小于请求中的 OID 数量,那么对于那些超过非中继器的请求 OID,将不会返回任何内容。]

如果在上述处理过程中的任何一点,代理无法在不超过其消息大小限制的情况下向响应添加更多结果,则处理停止并且代理将返回迄今为止获得的部分结果。

引用:RFC 3416 section 4.2.3

关于networking - 具有多个 OID 的 SNMP getBulkRequest - 哪个是返回的响应 OID 顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20657294/

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