正在阅读有关 Active Queue Management 的一篇论文。刚看到这一段,我无法理解。在这部分感到困惑:
https://queue.acm.org/detail.cfm?id=2209336
图 4 显示了 TCP 接收器的队列与时间的关系,它每个窗口发送一个 ack 而不是每个数据包发送一个。这是一些商业操作系统使用的合法但脆弱的操作模式,每个数据包的开销非常高,以减少生成的 ack 数量,以便在基准测试中可靠地执行。这种队列长度的变化也出现在 Web 流量中——主要是小传输的叠加,这些传输基本上都是启动瞬态的。由于这个 ack 策略意味着一个完整的数据包窗口总是作为一个背靠背的突发传输,初始开启瞬态在每个 RTT 重复,并且缓冲区总是被占用。然而,窗口恰好填满了管道,并且没有多余的队列,因此任何减少此队列的尝试都将导致瓶颈的利用率低下。因此,
1)。我的理解是 Ack 总是按数据包发送。如果不是,每个窗口也发送 ack 是什么意思?2)。这个语句是什么意思“由于这个 ack 策略意味着一个完整的数据包窗口总是作为背对背突发传送,初始开启瞬态重复每个 RTT 并且缓冲区总是被占用”?
