(9 分)TCP 的拥塞窗口 cwnd 大小与传输轮次 n 的关系如下所示:
(1)画出 TCP 的拥塞窗口与传输轮次的关系曲线。
(2)分别指明 TCP 工作在慢开始阶段和拥塞避免阶段的时间间隔。
(3)在第 16 轮次和第 22 轮次之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?
(4)在第 1 轮次、第 18 轮次和第 24 轮次发送时,门限 ssthresh 分别被设置为多大?
(5)在第几轮次发送出第 70 个报文段?
(6)假定在第 26 轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口 cwnd 和门限 ssthresh 应设置为多大?
[tag_link]
**【解析】** 本题考查TCP的拥塞控制算法。在画出拥塞窗口与传输轮次的曲线后,根据四种拥塞控制算法的特点,以图像的拐点进行分段分析。初始时,拥塞窗口置为 1,即 `cwnd=1`,慢开始门限置为 32,即 `ssthresh=32`。慢开始阶段,`cwnd` 初值为 1,以后发送方每收到一个确认 ACK,`cwnd` 值加 1,也即经过每个传输轮次(RTT),`cwnd` 呈指数规律增长。当拥塞窗口 `cwnd` 增长到慢开始门限 `ssthresh` 时(即当 `cwnd=32` 时),就改用拥塞避免算法,`cwnd` 按线性规律加性增长。当 `cwnd=42` 时,收到三个重复的确认,启用快恢复算法,更新 `ssthresh` 值为 21(即变为超时时 `cwnd` 值 42 的一半)。`cwnd` 重置为 `ssthresh` 减半后的值,并执行拥塞避免算法。当 `cwnd=26` 时,网络出现拥塞,改用慢开始算法,`ssthresh` 置为拥塞时窗口值的一半,即 13,`cwnd` 置为 1。
(1) 拥塞窗口与传输轮次的关系曲线如下图所示:
(2) 慢开始的时间间隔:[1, 6] 和 [23, 26]。拥塞避免的时间间隔:[6, 16] 和 [17, 22]。
(3) 在第 16 轮次之后发送方通过收到三个重复的确认检测到丢失的报文段。在第 22 轮次之后发送方是通过超时检测到丢失的报文段。
(4) 在第 1 轮次发送时,门限 `ssthresh` 被设置为 32。 在第 18 轮次发送时,门限 `ssthresh` 被设置为发生拥塞时的一半,即 21。 在第 24 轮次发送时,门限 `ssthresh` 是第 22 轮次发生拥塞时的一半,即 13。
(5) 第 70 报文段在第 7 轮次发送出。
(6) 拥塞窗口 `cwnd` 和门限 `ssthresh` 应设置为 8 的一半,即 4。