Appearance
题目
两台主机之间的数据链路层采用后退 N 帧协议(GBN)传输数据,数据传输速率为 16 kbps,单向传播时延为 270 ms,数据帧长度范围是 128~512 字节,接收方总是以与数据帧等长的帧进行确认。为使信道利用率达到最高,帧序号的比特数至少为( )。
错因
A
帧序号位数 5 → ,远超必要——对应窗口 31,信道利用率确实能达 100%,但题面问"至少",应取最小满足条件的位数。错的根源:选了能用但不是最少的方案。
C
帧序号位数 3 → ,窗口最多 7。本题最坏情况(最小帧长 L=128)需要窗口 ≥ 11,7 不够。错的根源:算窗口时没用最坏帧长(最小帧长导致 RTT/T_f 比值最大、窗口需求最大)。
D
帧序号位数 2 → ,窗口最多 3,远不够。错的根源:完全没解不等式或解错。
总解析
第一步:明确题意 — "信道利用率最高"的含义
GBN 信道利用率 。"利用率最高" 意味着 ,即 。题面"接收方总是以与数据帧等长的帧确认" → 。
代入:
第二步:考虑帧长对 W 的影响
帧长 L 范围 [128, 512] 字节、速率 R = 16 kbps:
ms。
| 帧长 L(B) | (ms) | 取整 | |
|---|---|---|---|
| 128 | 64 | ||
| 512 | 256 |
第三步:取最坏帧长(W 需求最大)
题面"为使信道利用率达到最高"——这个条件对所有可能的帧长都要满足。所以取最坏情况 L = 128 B,对应 W ≥ 11。
第四步:算帧序号位数 n
GBN 序号约束:,所以:
n 必须是整数 → n ≥ 4。
验证:n = 4 → ✓;n = 3 → ✗
第五步:核对
| 选项 | n | 是否 ≥ 11 | |
|---|---|---|---|
| A | 5 | 31 | ✅(但浪费) |
| B | 4 | 15 | ✅(最少满足) |
| C | 3 | 7 | ❌ |
| D | 2 | 3 | ❌ |
最终答案是 B(4)。
编者注(生僻术语):本题"接收方以与数据帧等长的帧确认"是关键陷阱——一般题目会说"忽略 ACK 时延"让 ,但本题刻意让 ,相当于把"一周期"从 拉长到 ,对窗口需求的影响明显。考研题里看到 "ACK 帧长度等于数据帧" 立刻警惕:周期里要算两个 。