【问题标题】:Configuring TCP for a very high volume network为非常大容量的网络配置 TCP
【发布时间】:2013-09-04 10:14:45
【问题描述】:

目前在由 2 个传感器(每个传感器的数据速率为 1Khz)组成的系统中遇到网络问题,通过以太网链路与 Windows 7 操作系统通信。 windows系统上运行的程序是用Java编写的。

问题:由于 TCP 本地缓冲区溢出,程序在未定义的时间段内正常运行,然后停止。

我的直觉让我相信这是由于 TCP RWIN 造成的——消费者从堆栈中接收数据包的速度太慢,最终导致缓冲区溢出。

查看从 NIC 捕获的数据包,崩溃前的最终序列始终如下所示:一个大的 ACK 块,然后是来自每个传感器的 RST,然后关闭连接。我们可以看到,在每个 RST 上,WIM 大小设置为 200,而在此之前为 1000 以上。

谁能提供一些关于如何开始解决这个问题的建议?在这一点上所做的所有研究中,我仍然不知道如何解决这个问题。

【问题讨论】:

    标签: networking tcp crash buffer-overflow


    【解决方案1】:

    如果传感器正在发送 RST,则连接在传感器处关闭。你应该调查为什么会这样?一个原因可能是连接超时——也许 TCP@sensors 试图发送一些东西但无法通过。你能在传感器上运行一些跟踪工具(如 tcpdump/windump)吗?

    【讨论】:

      猜你喜欢
      • 2018-02-15
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 2014-11-05
      • 2018-03-01
      • 2014-07-12
      • 2010-09-14
      • 1970-01-01
      相关资源
      最近更新 更多