gpt4 book ai didi

linux - 超过一定大小 (~1450) 的 TCP 消息获取 "stuck"

转载 作者:太空宇宙 更新时间:2023-11-04 04:38:16 25 4
gpt4 key购买 nike

我正在尝试通过我的硬件发送各种长度的数据包,当数据包达到特定大小(约 1450 字节)时,我遇到了问题。当数据包大小小于 ~1450 字节时,一切正常。

我一直在用我的网卡驱动程序调试这个问题,并在发送数据之前输出我得到的结果。我可以看到 TCP 握手,以及发送 < ~1450 字节时的数据包。

一旦我尝试发送超过约 1450 字节的数据包,我就再也看不到 TCP 握手或我的 NIC 驱动程序中的数据包。因此我确信数据包在 Linux 中的某个地方丢失了...这看起来是 Linux 中数据包碎片的某种错误,但我不确定。

是否有人在尝试发送特定阈值的数据包时遇到数据包丢失的情况,在我的情况下,在 Linux 中约为 1450 字节?

我不确定从哪里开始查找我的包裹被滞留的位置或原因......

我使用的是Linux 3.10.39,无法更改。我还在我的 NIC 驱动程序中将 MTU 大小增加到更大的值,但这似乎没有影响,并且 ~1450 字节的数据包继续卡住。

我正在使用基本的 Perl tcp 服务器/客户端 found here测试通信。

最佳答案

这可能是您的盒子或中间的某些路由器错误地丢弃参与路径 MTU 发现 ( https://en.wikipedia.org/wiki/Path_MTU_Discovery ) 的 ICMP 数据包的症状。是否有什么东西正在限制这些,例如基于这样的假设:ICMP 只与 ping 相关,因此并不重要?

关于linux - 超过一定大小 (~1450) 的 TCP 消息获取 "stuck",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55819280/

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