1

TCP RFC 提到接收者应该为它接收到的每 2 个完整大小的段发送一个 ACK​​(假设它们是有序的)并且不应该延迟一个 ACK​​。

考虑到窗口大小是 8 个段,发送方发送 8 个完整段,这是否意味着接收方发送 4 个 ACK​​,即使它已收到 8 个段?

它不能用一个 ACK​​ 确认所有 8 个段吗?

4

1 回答 1

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

于 2013-11-06T11:14:07.753 回答