Networking 收到超过2个全尺寸段后发送的ACK数是多少?

Networking 收到超过2个全尺寸段后发送的ACK数是多少?,networking,tcp,Networking,Tcp,TCP RFC提到,接收器应该为它接收的每2个完整大小的段发送一个ACK(假设它们是有序的),并且不应该延迟ACK 考虑到窗口大小为8个段,发送方发送8个完整段,这是否意味着接收方即使已接收8个段,也会发送4个ACK 它不能用一个ACK确认所有8段吗 我只需将RFC的重要部分复制粘贴到此处: 4.2.3.2何时发送ACK段 A host that is receiving a stream of TCP data segments can increase eff

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

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


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

我只需将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可以在这里找到:

所以您同意我们需要发送4个ACK,以防我们收到8个段。我可能会用另一种方式实现它,但是RFC是有约束力的,如果您公开使用它们。所以是的,我同意当你收到8段时,你也需要发送至少4个ACK。