在 CentOS 7 上有 TCP 客户端,在 Windows 2012 R2 上有 TCP 监听器,我通过 wireshark、sysinternals procmon 和 ss -bitmonz 命令观察到,tcp 客户端 wscale 为 7(比例因子 128),而 tcp 监听器 wscale 为 8(比例因子 256):
skmem:(r0,rb367360,t0,tb46080,f110,w49042,o0,bl0) ts sack cubic wscale:8,7 rto:251 rtt:50.27/20.789 ato:49 mss:1388 cwnd:10 ssthresh:8 send 2.2Mbps lastsnd:43 lastrcv:43 lastack:43 pacing_rate 4.4Mbps unacked:10 rcv_space:29200
基于上述情况,客户端和服务器(监听器)之间的 TCP 通信似乎没有调整/对齐,请研究并指出需要进行哪些调整才能使客户端和服务器就窗口比例达成一致顺便说一句,如果我使用 winscp 传输数据,wscale 是 7,7(没有不匹配)。目前,两个操作系统上的 TCP 都是纯默认的,没有进行任何调整,我更喜欢调整 CentOS 7 并保留 Windows 2012 R2 作为默认设置,因为服务器接受来自 80 个客户端的连接及其生产。
请分享提供 TCP 调整的参考资料,其中客户端是 CentOS 7 并且服务器是 Windows 2012 R2。