标签: tcp-window

接收器将 TCP 窗口大小限制为 64,512

事实(请指出任何虚假陈述):

  1. 我在相距 80 毫秒的两个站点之间建立了 100 Mbps 的连接

  2. 这是一个长长的胖连接,可以从大 TCP 窗口大小中受益,可能高达 100 Mbps * 0.08 秒 = 1,000,000 字节

  3. 两台机器都运行Windows Server 2012。“接收窗口自动调整级别”在两台机器上都是正常的。两者都禁用了“窗口缩放启发式”。

  4. 我在一侧运行“iperf -s”,在另一侧运行“iperf -c”。传输速度为 5 Mbps。我在另一个方向得到相同的结果。

  5. 双方都在他们的 SYN 中宣传了对 TCP 滑动窗口的支持。

  6. 接收器在整个运行期间请求 64,512 字节 (0xFC00) 的 TCP 窗口大小,TCP 窗口缩放值为“无移位”(0x000)。

  7. 网络能够处理更大的窗口大小(参见下面的序列图)

  8. 接收器保持窗口小于网络支持

  9. 此连接发生在 IPSEC VPN 内。隧道接口的 MTU 减少到双向 1400 字节。

  • 为什么接收器保持窗口很小?

无答案

  • 网络坏了

    运行在同一网络上的 Linux 机器将 TCP 窗口打开到 1.5 兆字节并以 6 倍的带宽传输数据

  • 启用窗口缩放启发式

    窗口缩放启发式被禁用(参见下面的“netsh interface tcp show heuristics”的输出)

  • 接收窗口自整定电平不正常

    Receive Window Auto-Tuning Level 正常(见下面“netsh interface tcp show global”的输出)

  • 这在 …

tcp-window tcp-window-scaling windows-server-2012

34
推荐指数
1
解决办法
3万
查看次数

卫星连接的 TCP 窗口缩放

卫星连接通常具有大约 500 毫秒的 RTT。尽管有大量带宽,但连接通常会遭受次优传输速度的影响,因为 TCP 确认需要很长时间才能到达。

我的理解是,解决 TCP 连接问题的一个好方法是将 TCP 窗口大小设置为连接速度(以位为单位)乘以 RTT(以秒为单位)。因此,通过卫星的 1mbps 连接应该具有 512kb 的窗口大小。

这其中有哪些陷阱?是否还有其他类似的调整可以优化卫星连接?我知道许多现代操作系统会自动修改窗口大小,但它们是否足够激进,使窗口大小足够大以用于卫星通信?

顺便说一句,我将假设在经常丢弃数据包的网络上不希望使用大窗口大小,因为重传将以窗口大小进行,并且您可能会将大部分带宽用于重传开销。

谢谢,我仍在学习很多关于网络的知识,感谢您的投入。

latency satellite tcp-window tcp-window-scaling

7
推荐指数
1
解决办法
2127
查看次数

如何防止 TCP ZeroWindow 将大文件写入 Windows 共享?

我已获得访问 Windows Server 2003 SP1 系统 (10.a.bbb.ccc) 上的共享的权限,该系统是一个文件和打印机服务器,并且经常将大文件复制到该共享。但是,有时这样的副本会失败。使用 Robocopy(在 10.xxx.yy.zzz 上)重现此问题时,我得到类似

 70.4%
2013/07/31 11:20:21 ERROR 64 (0x00000040) Copying File <<file name removed>>
The specified network name is no longer available.

Waiting 30 seconds... Retrying...
         New File          105.2 m   <<file name removed>>
  0.0%
Run Code Online (Sandbox Code Playgroud)

dumpcap + Wireshark 显示,当发生这种情况时,在复制过程中,服务器突然不再接受 TCP 端口 445 上的任何数据,方法是将窗口大小设置为零:

No.     Time           Source                Destination           Protocol Length Info
   7303 5.841186000    10.a.bbb.ccc          10.xxx.yy.zzz         TCP      60     [TCP ZeroWindow] microsoft-ds > 57918 [ACK] Seq=10864 Ack=6973070 Win=0 Len=0
   7304 6.149715000    10.xxx.yy.zzz         10.a.bbb.ccc          TCP      55     [TCP …
Run Code Online (Sandbox Code Playgroud)

networking windows server-message-block tcp tcp-window

6
推荐指数
1
解决办法
1万
查看次数

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

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

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

networking windows tcpip socket tcp-window

5
推荐指数
1
解决办法
1万
查看次数