我正在阅读TCP/IP Illustrated一书,在零窗口部分中,我注意到 TCP 持续计时器的使用——它用于避免在零窗口场景刚刚结束后丢失来自接收器的窗口更新消息。显然,丢失窗口更新消息的可能性更高,因为它是一个“纯 ACK”数据包,而不是具有实际数据的数据包。
有人可以告诉我纯ack包和数据包的传递有什么区别吗?谢谢!
我正在阅读TCP/IP Illustrated一书,在零窗口部分中,我注意到 TCP 持续计时器的使用——它用于避免在零窗口场景刚刚结束后丢失来自接收器的窗口更新消息。显然,丢失窗口更新消息的可能性更高,因为它是一个“纯 ACK”数据包,而不是具有实际数据的数据包。
有人可以告诉我纯ack包和数据包的传递有什么区别吗?谢谢!
有人可以告诉我纯ack包和数据包的传递有什么区别吗?
区别只是一个包含数据(应用程序有效负载)而另一个不包含数据。如果数据包包含数据,则需要由接收者确认。如果它不包含数据,则不会被确认。
这意味着只有当 ACK 未完成时,发送方才会识别到数据包的丢失。这不适用于纯窗口更新。
或者在更清晰的场景中: