我想弄清楚的问题是:
在这个问题中,我们考虑 TCP 慢启动阶段引入的延迟。考虑通过一个速率为 R 的链路直接连接的客户端和 Web 服务器。假设客户端想要检索大小正好等于 15S 的对象,其中 S 是最大段大小 (MSS)。将客户端和服务器之间的往返时间表示为 RTT(假设为常数)。忽略协议头,确定何时检索对象(包括 TCP 连接建立)时
- 4S/R > S/R + RTT > 2S/R
- 8S/R > S/R + RTT > 4S/R
- S/R > RTT
我已经有了解决方案(这是教科书上的问题),但我不明白他们是如何得到答案的。
- RTT + RTT + S/R + RTT + S/R + RTT + 12S/R = 4 · RTT + 14 · S/R
- RTT + RTT +S/R + RTT +S/R + RTT +S/R + RTT + 8S/R = 5 · RTT + 11 ·S/R
- RTT + RTT + S/R + RTT + 14S/R = 3 · RTT + 15 · S/R
这是与答案相关的图像:
哪种对我有意义:每种情况都是 RTT 时间多于或少于传输一定数量段所需时间的情况。因此,对于第一个,每个 RTT 需要 3S/R 到 S/R 秒。从那里我不明白慢启动是如何运作的。我认为它只会增加每个确认数据包的窗口大小。但是,例如在#1 的解决方案中,似乎只有两个数据包被发送和确认,而窗口大小却跳到 12S?我在这里想念什么?