【问题标题】:Using SNMP4J to retrieve MIB info over TCP instead of UDP使用 SNMP4J 通过 TCP 而不是 UDP 检索 MIB 信息
【发布时间】:2014-02-03 19:10:34
【问题描述】:

使用 SNMP4J 库,我能够使用 SNMP over UDP 从多个代理中成功检索信息。我遇到了需要使用 SNMP over TCP 从代理检索信息的情况。 SNMP4J 库提供了一个 DefaultTcpTransportMapping 类来执行此操作,我相信我已经适当地实现了它。使用 Wireshark,我看到从通过 TCP 运行 SNMP 的代理返回响应数据包,但我得到空响应 PDU。在通过 TCP 而不是 UDP 实现 SNMP 时,我还需要考虑哪些其他注意事项?非常感谢任何帮助!

在与电路板制造商讨论后,我们了解到通信模型是基于 TCP 的 PMPP 上的 SNMP,我正在开发自定义 SNMP4J 传输来处理此模型。

【问题讨论】:

  • SNMP 代理是否在侦听 TCP 端口?
  • 您好 EJP,是的,TCP 仅在他们指定的端口上。他们没有使用 UDP(端口 161)进行 SNMP 传输。

标签: tcp udp snmp snmp4j pdu


【解决方案1】:

尝试增加超时值,TCP比udp慢

UserTarget target = new UserTarget();
target.setTimeout(timeoutInMillis);

【讨论】:

  • 汤姆,好主意。我确实尝试了几种不同的更长间隔和每次会话重试次数的不同组合,但没有成功。
  • 虽然在我们开始工作之前对传输进行了许多其他必要的调整,包括构建一个自定义传输,因为我们最终发现该模型是 TCP over PMPP,但在最后的步骤中它是一个(剧烈的) 增加我们获得响应所需的超时时间 - 感谢 tomm!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-26
  • 2015-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
相关资源
最近更新 更多