为什么TCP在快速重传之前等待三次重复的ACK?

use*_*401 38 network-programming tcp

为什么TCP在快速重传之前等待三次重复的ACK?

Don*_*oby 50

RFC 2001

由于TCP不知道重复的ACK是由丢失的段引起还是仅仅是对段的重新排序,因此它等待接收少量的重复ACK.假设如果仅对片段进行重新排序,则在处理重新排序的片段之前将仅存在一个或两个重复的ACK,然后将生成新的ACK.如果连续接收到三个或更多个重复的ACK,则强烈表明某个段已丢失.然后,TCP在不等待重传计时器到期的情况下执行看似丢失的段的重传.

在第三次重复之前不进行重传的原因似乎是直到那一点,它更可能只是无序传递而且实际上不需要重传.