我有大约 20 个客户端与同一个 LAN 中的中央服务器一起通信。客户端可以与服务器同时进行交易。服务器将每个事务转发到网络中的外部设备。有时有效,有时我的应用程序在客户端屏幕上显示“超时”消息(随机)
我镜像了所有流量并发现了第一个 TCP 序列的 TCP 重置数据包后的 TCP 重传。我立即想到数据包丢失,但我所有的电缆/NIC 都很好,而且我在捕获中没有看到 DUP ACK。
看来RST包可能有不同的含义。
是什么导致了这些 TCP 重置?
我应该将调查重点放在哪里:网络设计还是应用程序设计?
如果有任何帮助,我将不胜感激。提前致谢。
最佳答案
根据截图判断,我假设你的中央服务器是 137.56.64.31
。发生的情况是客户端使用 SYN
数据包启动与服务器的连接,而服务器使用 RST
进行响应。如果服务器没有应用程序监听该特定端口,则这是典型的情况,例如Web 服务器应用程序未运行,客户端尝试连接到端口 80。
客户端都连接到服务器上的不同端口,这对于中央服务器来说并不常见,但并非闻所未闻。客户端连接到服务器上的目标端口是:11007、11012、11014、11108 和 11115
。这对应用程序来说是正常的吗?如果不是,则客户端应该连接到应用程序服务器正在监听的任何端口。
重传的原因是,客户端在收到来自服务器的 RST
后并没有放弃连接,而是尝试再次发起连接,因此 Wireshark 将其视为重传。
关于networking - 重置 RST 标志后的 TCP 重传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24882287/