Windows 上的 TCP Windows 大小与套接字缓冲区大小

use*_*pal 5 networking windows tcpip socket tcp-window

我是 Windows 网络的新手。当人们谈论 Windows 平台上的 TCP 调优时,他们总是提到 TCP 窗口大小。我想知道 Windows 是否使用“套接字缓冲区大小”的概念?

在 Windows XP 上,TCP 窗口大小是固定的。我们可以使用 TCPWindowSize 注册表值来设置它。套接字缓冲区大小如何?我们如何在 Windows 上设置套接字缓冲区大小?我们可以将其设置为与 TCP 窗口大小不同的值吗?

小智 1

AFD.sys 是用于支持 Windows 中套接字的库。更改发送和接收缓冲区大小

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters]
DefaultReceiveWindow = <value>
DefaultSendWindow = <value>
Run Code Online (Sandbox Code Playgroud)

需要重新启动才能使更改生效。

我发现 1GbE 的最佳位置是 65536,我个人认为这应该是默认值,而不是当前的 8192。RAM 很便宜。:D