DCTCP 是用于数据中心环境的 TCP 的变体。来源在这里
DCTCP 使用商品交换机中的 ECN 功能将交换机中缓冲区的队列长度限制在阈值 K 左右。这样做,很少发生丢包,因为 K 远小于缓冲区的容量,因此缓冲区几乎没有满。
DCTCP 实现了小流的低延迟,同时保持大流的高吞吐量。原因是当队列长度超过阈值 K 时,将向发送者反馈拥塞通知。在发送方,随着时间的推移计算拥塞概率值,因此发送方将根据拥塞程度相应地降低发送速率。
DCTCP 指出,小队列长度将减少延迟或流的传输时间。我对此表示怀疑。因为除非丢包导致重传等高延迟。在 DCTCP 中,丢包很少发生。
交换机上的小队列迫使发送者降低发送速率,因此迫使数据包在发送者的 TX 缓冲区中排队。
交换机上更大的队列使发送方具有更高的发送速率,并且数据包在发送方的 TX 缓冲区中排队,现在它在交换机的缓冲区中排队。
所以我认为小队列和大队列的延迟仍然是一样的。
你怎么看?