我正在努力为我的应用程序添加巨型帧功能。我的问题是,对于有效载荷超过 2000 字节的帧,我没有收到 ACK。我的系统如下所示:服务器将请求的测量时间发送到客户端。服务器端是一个 ARM 处理器,带有 tcp/ip 堆栈的 lwip 实现,并启用了对巨型帧的支持。客户端是我电脑上的 Python 脚本,其网络接口启用了巨型帧。
配置如上,有效载荷高于默认的 1460,系统工作正常。我确实运行了 2000 字节的有效载荷,没有问题。客户端的 MSS 是 9158,WIN 是 64320。服务器端是:MSS 2000 和 WIN 8000。但是,一旦我将服务器端的 MSS 增加到 2000 字节以上,通信就会中断。在 Wireshark 上,我可以看到长度超过 2000 的第一帧没有被客户端(PC 端)确认,并且开始重新传输。
我将感谢有经验的用户提供的任何建议。在我看来,巨型帧不应该成为问题,因为我可以以远高于标准以太网有效负载大小的方式运行,没有任何问题。
云鲨链接(带tcp过滤器):https://www.cloudshark.org/captures/5bf2180b65cf?filter=tcp
先感谢您。