首页 > 解决方案 > TCP Tahoe 和 Reno:拥塞窗口为奇数时的阈值

问题描述

当 TCP Tahoe 或 Reno 观察到丢失事件时,阈值将重置为最后一个拥塞窗口 (CW) 的一半。当之前的 CW 是奇数时,新的阈值是 的下限还是上限CW/2

标签: tcpcongestion-control

解决方案


拥塞窗口和阈值都以字节为单位,如RFC 2001中所述:

拥塞避免要求每次收到 ACK 时 cwnd 增加 segsize*segsize/cwnd,其中 segsize 是段大小,cwnd 以字节为单位。

RFC 2581

  ssthresh = max (FlightSize / 2, 2*SMSS)            (3)

有很多文档将 CWND 显示为整数值,它计算多少 MSS,以字节为单位。如果 MSS 不是偶数,我不知道,因为我没有尝试过,而且我们通常在任何地方都有相同的值(536 或 1460),或多或少一个字节,这几乎没有影响。


推荐阅读