none
关于部分电脑FTP上传时TCP MSS不起作用的问题 RRS feed

  • 常规讨论

  • 您好,

    在测试FTP上传下载过程中发现一个问题,部分型号的PC终端, FTP上传时TCP MSS值协商并没有起作用,比如说客户端和服务器端各自申请的MSS值是1432和1398. 但是客户端上传时报文的长度竟然达到超过1万字节。(目前账号还没权限上传图片,稍后补充)

    请指教这是什么引起? 如何解决?

    PS: 测试有问题的PC: Lenovo+网卡Intel 82579LM 

           测试没有问题的PC: Think pad T430和DellE7450-i7

    操作系统: Win7

    2019年11月16日 8:16

全部回复

  • 您好!

    感谢您的上贴。

    我在 answers 论坛找到了您上的同样的帖子,其中有截图。

    关于window操作系统上传文件时TCP MSS协商不生效的求助
    https://answers.microsoft.com/zh-hans/windows/forum/all/%E5%85%B3%E4%BA%8Ewindow%E6%93%8D%E4%BD%9C/f103a28f-75c1-488b-a976-b34a2646faba?auth=1

    针对这个问题,我的理解是这样的:
    这个现象可能和 TCP 的 Large Send Offload feature 有关,我们抓包的时候,数据包发出的时候,wireshark已经 capture 到,然后才到网卡。当这个 feature 开启的时候,软件就可以发送大于 MTU 的数据包,相当于缓存到网卡,网卡仍旧切片出去。
    详细信息,可以参考 wireshark 网站的这篇文章:
    TCP packet length was much greater than MTU
    https://osqa-ask.wireshark.org/questions/24699/tcp-packet-length-was-much-greater-than-mtu

    为了验证这个问题,我们可以进行以下2个测试:
    一是关闭网卡的这个 feature
    需要关闭4个参数,都设置为 disabled,除了图中标出的3个外,下面还有1个 UDP的。然后重新启动电脑,进行测试。




    第二种方法,我们可以在 ftp server 和 ftp client 上同时抓包,比对 sequence number,看 server 上收到的包是不是 length 比较小的。说白了,就是从 client 端抓的包并不是实际从网卡出去的包。

    另外,您没有提到这两种情况上传是否成功。根据猜测,可能都是成功的,对吗?或者是其它情况,麻烦告知。

    如果您有任何疑问,请您及时告知我。

    Regards,

    Alex Zhu
    -----------------------------------------------
    如果回复有帮助, 请记住将其标记为答案。
    如果您有有关 technet 订阅者支持的反馈, 请联系 tnmff@microsoft.com.
    2019年11月21日 8:31