Skip to content

2014年 408 计算机网络 第 38 题

计算机网络2014年选择题2分

题目

主机甲和主机乙已建立了 TCP 连接,甲始终以 MSS = 1 KB 大小的段发送数据,并一直有数据发送;乙每收到一个数据段都会发出一个接收窗口为 10 KB 的确认段。若甲在 t 时刻发生超时时拥塞窗口为 8 KB,则从 t 时刻起,不再发生超时的情况下,经过 10 个 RTT 后,甲的发送窗口是( )。

错因

B

可能按"全程线性增长 cwnd 1→2→...→12(10 RTT 后)"算,漏掉慢启动段的指数翻倍 + 漏 rwnd 限制。本题 cwnd 在第 8 RTT 末就达到 10,之后被 rwnd=10 限制不再增长。错的根源:忽略 rwnd 的硬上限。

C

可能按 cwnd = 14 KB 算(误用某种翻倍 + 加法的混合算法)。错的根源:cwnd 计算流程混乱;同时漏 rwnd 限制。

D

可能按 cwnd = 8 + 7 = 15 KB(10 RTT - 慢启动 2 RTT - 8 = 走拥塞避免 7 次)。但 cwnd 在第 8 RTT 末就达 10、被 rwnd 限制不能再增。错的根源:漏 rwnd=10 限制。

总解析

第一步:明确超时事件后的状态变化

t 时刻 cwnd = 8 KB 发生超时:

变量超时前超时后
cwnd8 KB重置为 1 KB(即 1 MSS)
ssthresh不知道 KB
算法阶段拥塞避免重新进入慢启动

第二步:列出 10 RTT 内的 cwnd 变化

慢启动阶段(cwnd < ssthresh = 4)每 RTT cwnd 翻倍; 拥塞避免阶段(cwnd ≥ 4)每 RTT cwnd + 1 MSS。 发送窗口 = (cwnd, rwnd = 10)。

RTT 数cwnd阶段发送窗口 = min(cwnd, 10)
0(t 时刻)1慢启动起步1
12慢启动2
24(达 ssthresh)切到拥塞避免4
35拥塞避免5
466
577
688
799
810(达 rwnd)10
911cwnd 继续 +1min(11, 10) = 10
1012min(12, 10) = 10

第三步:核对

10 RTT 后甲的发送窗口 = = 10 KB

最终答案是 A(10 KB)

编者注(生僻术语):TCP 的 cwnd(拥塞窗口)和 rwnd(接收窗口)共同决定发送窗口的上限:

  • cwnd 由发送方动态调节(慢启动 / 拥塞避免)
  • rwnd 由接收方在每个 ACK 中通告

本题虽然 cwnd 持续增长到 12+ KB,但发送方的"实际能发的数据量"被 rwnd = 10 KB 锁死。这反映了 TCP 流量控制的本质:接收方决定能收多少,发送方再快也没用

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数