我正在尝试debuggingnetworking问题,并使用Wireshark和tcpdump从我的服务器抓取数据包。 我有一个客户端应用程序抓取所有可用的连接,然后持有它们,尝试发送大量数据,并且基本上导致无意的DOS攻击。 在debugging过程中,我注意到我看到我的服务器发送“窗口closures”和“零窗口”TCP数据包 – 但从不发送任何“窗口更新”数据包。 我猜这就是为什么客户端永远不会放弃连接(它仍然有更多的数据发送和等待)。 有没有人见过这种行为? 让我们不了解为什么我没有build立一个iptables规则来限制并发连接(是的,我知道)。 我最近也把MTU从1500改为9000,这是否会产生这样的负面影响? (Linux)谢谢。
TCP ZeroWindow – 当接收者通知接收窗口大小为零时发生。 这有效地告诉发送者停止发送,因为接收者的缓冲区已满。 由于应用程序没有及时从TCP缓冲区中检索数据,因此表示接收方有资源问题。