假设往返时间为60ms大约在整个大陆上可能发生的情况并且链路的可用带宽为1Gbps段大小为576个八位字节。使用Jacobson的方法确定保持管道满所需的窗口大小以及超时后达到该窗口大小所需的时间。
根据Jacobson的方法,我们需要首先估计往返时间 RTT 和偏差 RTTvar。
RTT 的估计可以通过在每个往返时间中测量得到。如果假设往返时间为60ms,那么我们可以进行多次测量,最终得到一个平均值。假设进行了10次测量,得到的平均值为60ms,则 RTT = 60ms。
RTTvar 的估计可以通过计算每个往返时间与平均值之差的平方,然后进行多次测量并求平均值得到。假设进行了10次测量,得到的平均 RTTvar = 4ms。
接下来,我们可以计算出最小的窗口大小,使得管道保持满状态:
SSThresh = 1Gbps * RTT + 4 * RTTvar = 1Gbps * 0.06s + 4 * 0.004s = 62400 bit
因为段大小为576个八位字节,所以窗口大小应该为:
Window size = SSThresh / 576 = 108.33
由于窗口大小必须是整数,因此我们可以将窗口大小取整为 108。
接下来,我们需要确定在超时后需要多长时间才能达到该窗口大小。根据Jacobson的方法,我们可以使用以下公式:
Timeout = RTT + 4 * RTTvar = 0.06s + 4 * 0.004s = 0.074s
接下来,我们需要确定需要多少个段才能填满该窗口。因为窗口大小为 108,所以我们可以计算出需要的段数为:
Segments = Window size * 2 = 108 * 2 = 216
因此,在超时后,需要 216 个段才能填满该窗口。如果我们假设每个段的大小为 576 个八位字节,则需要的时间为:
Time = Segments * Segment size / Available bandwidth = 216 * 576 * 8 / 1Gbps = 0.0013824s
因此,在超时后,需要约 1.38ms 的时间才能达到窗口大小
原文地址: https://www.cveoy.top/t/topic/hbj8 著作权归作者所有。请勿转载和采集!