gpt4 book ai didi

c# - 如何在高度可靠的批量传输期间减少 TCP ACK 的数量

转载 作者:可可西里 更新时间:2023-11-01 02:49:36 24 4
gpt4 key购买 nike

我有一个应用程序,其中两台计算机距离非常近 - 通常彼此相距几英尺。

我在两台计算机上的应用程序之间建立了 TCP 连接。服务器在 Linux 上用 C 语言编写,Windows 上的客户端使用 C# 和 TCPClient。

通过这个套接字,我正在传输非常大的有效载荷,一次通常是千兆字节。

当我使用 Wireshark 监控通信时,我注意到传输的 数据包 中大约有 66% 是 ACK。每个有效负载数据包往往约为 5k。所以 ACK 中的数据百分比非常低,只有一两个百分点。

我应该关心 ACK 的数量吗?我不关心数据包丢失,我希望连接在数据包丢失方面具有高质量。

有什么我可以(或应该?)做的来减少 ACK 的数量吗?

最佳答案

您可能看到的是接收方确认发送方的传输。接收方必须使用 ACK-only 数据包,因为它没有其他任何东西要发送(发送方也发送 ACK——每个 TCP 数据包都包含一个 ACK​​)。

我认为您不必为 ACK 的数量而烦恼——如果窗口大小足够大,发送方就不会等待它们。您应该问自己的问题是 - 我是否获得了我在 LAN 速度上应该获得的吞吐量?

关于c# - 如何在高度可靠的批量传输期间减少 TCP ACK 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10221875/

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