我一直在阅读有关 TCP 的更多信息,并发现由于可以一次设置多个标志,因此基本上在初始 SYN 之后的每个数据包都设置了 ACK 标志,并用作对截至该点的所有数据包的确认。
这听起来像是一个伟大而有效的想法!但是等等,为什么我通常会看到在 TCP 对话中发送的单个 ACK 数据包?事实上,我经常看到发送一个单独的 ACK,然后同一台机器立即发送一个也设置了 ACK 的数据包,具有相同的确认号!单独的 ACK 和数据包似乎有相同的目的!
将 ACK 数据包与数据分开发送的原因是什么?他们是否更有可能更快地通过网络拥塞?