TCP RFC提到接收方应该为它收到的每2个完整大小的段发送一个ACK(假设它们是有序的),并且不应该延迟ACK。
考虑到窗口大小为8个段,发送方发送8个完整段,这是否意味着,即使接收到8个段,接收方也会发送4个ACK?
是否可以通过一个ACK确认所有8个段?
答案 0 :(得分:2)
我只是复制粘贴RFC的重要部分:
4.2.3.2何时发送ACK段
A host that is receiving a stream of TCP data segments can increase efficiency in both the Internet and the hosts by sending fewer than one ACK (acknowledgment) segment per data segment received; this is known as a "delayed ACK" [TCP:5]. A TCP SHOULD implement a delayed ACK, but an ACK should not be excessively delayed; in particular, the delay MUST be less than 0.5 seconds, and in a stream of full-sized segments there SHOULD be an ACK for at least every second segment.
可以在此处找到完整的RFC:RFC 1122