Skip to content

2009年 408 计算机网络 第 39 题

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

题目

一个 TCP 连接总是以 1 KB 的最大段长发送 TCP 段,发送方有足够多的数据要发送。当拥塞窗口为 16 KB 时发生了超时,如果接下来的 4 个 RTT(往返时间)时间内的 TCP 段的传输都是成功的,那么当第 4 个 RTT 时间内发送的所有 TCP 段都得到肯定应答时,拥塞窗口大小是( )。

错因

A

可能算到 cwnd = 7(少 1 跳),或者把 ssthresh 算错。错的根源:慢启动 / 拥塞避免阶段切换的 RTT 数算错。

B

只算到 cwnd 达到 ssthresh = 8(第 3 RTT 末),漏掉第 4 RTT 的拥塞避免 + 1。错的根源:以为达到 ssthresh 后 cwnd 就停止增长,但实际进入拥塞避免后每 RTT 仍 +1。

D

直接给 16 KB(超时前的值)——完全忽略超时事件 + 慢启动重置。超时后 cwnd 必须重置为 1 KB,从慢启动重新开始。错的根源:以为超时只是"发送暂停一下、然后继续",但实际 TCP 会重启拥塞控制状态。

总解析

第一步:超时事件的影响

cwnd = 16 KB 时超时:

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

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

慢启动每 RTT cwnd 翻倍;达到 ssthresh = 8 后切到拥塞避免(每 RTT + 1 MSS)。

时刻事件cwnd(KB)阶段
0(超时刚结束)重置1慢启动起步
第 1 RTT 末翻倍2慢启动
第 2 RTT 末翻倍4慢启动
第 3 RTT 末翻倍达 ssthresh8切到拥塞避免
第 4 RTT 末+ 1(拥塞避免)9拥塞避免

第三步:核对

题面问"第 4 个 RTT 时间内发送的所有 TCP 段都得到肯定应答时" → 第 4 RTT 末 → cwnd = 9 KB

选项错处
A7RTT 数算错
B8漏第 4 RTT 的 +1
C9正确(慢启动 1→2→4→8 + 拥避 +1 = 9)
D16漏超时重置

最终答案是 C(9 KB)

编者注(生僻术语):本题 cwnd 增长的关键节点是 ssthresh = 8 处——前 3 RTT 是慢启动(指数翻倍),第 4 RTT 是拥塞避免(线性 +1)。这种"先指数后线性"的混合增长是 TCP 拥塞控制的标准行为。

区别于 cn-2014-38(10 RTT 后 cwnd 也类似算法),cn-2022-38(11 RTT 后 cwnd 回到 16)等题——所有这类题的核心都是:① 超时后 ssthresh = cwnd/2、cwnd = 1;② cwnd < ssthresh 时翻倍、≥ ssthresh 时 +1;③ 数 RTT 数。

最后更新:

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

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