Appearance
题目
如下图所示,主机 H1 向 H2 发送一个 2 MB(1 MB = 10⁶ B)文件有三种方式:① 电路交换,建立时间为 32 μs,速度为 10 Mbps;② 分组交换,分组长度为 400 B,忽略首部;③ 报文交换。电路交换的时间为 Tcs,报文交换的时间为 Tms,分组交换的时间为 Tps,则三者的大小关系是( )。
错因
A
把"电路交换的建立时间"当成了大头,误以为电路交换最慢。实际比对:电路建立只有 32 μs,相对 1.6 s 的传输主体可忽略不计;而报文交换是整个 2 MB 文件每过一跳都要完整接收再转发,三跳串行下来 = 1.6 + 0.16 + 0.016 = 1.776 s,比电路交换还多 0.176 s。把"建立电路慢"的直觉无限放大就会选 A。
C
记住了"报文交换最慢"这个结论(Tms 最大没错),但把 Tcs 和 Tps 的大小颠倒了。可能想着"分组交换有流水线 → 应该最快",所以把 Tps 摆最低。忽略了一个细节:在本题参数下,电路交换没有"流水线尾巴"(电路一旦建立就是一根直通管道),而分组交换最后一个分组还得在后面两跳走完 32 + 3.2 = 35.2 μs 的"尾时延"——它比电路交换的 32 μs 建立时间略大 3.2 μs,所以 Tcs 反而更小。
D
完全反向选择——把 Tps 当最大、Tcs 当最小。这是对"分组交换有流水线"这一优势的过度修正:可能错以为"分片传输 + 排队 + 重组"会大幅拖慢,反而比"一次性整个文件交付"的报文交换还慢。其实题面已经暗示了"忽略首部"——分片本身不增加额外开销,且分组在 R1 / R2 处不会堆积(后两跳速率 100 / 1000 Mbps 远高于第一跳 10 Mbps),分组交换的总时延几乎等于"瓶颈链路传完所有分组 + 最后一个分组的尾时延",远快于报文的串行三跳。
总解析
文件大小换算:。
① 电路交换 Tcs:建立电路(32 μs)→ 整条电路按 10 Mbps 传输文件。
② 分组交换 Tps:分组数 = 个分组。每跳的单分组传输时延:
| 链路 | 速率 | 单分组传输时延 |
|---|---|---|
| H1 → R1 | 10 Mbps | |
| R1 → R2 | 100 Mbps | |
| R2 → H2 | 1000 Mbps |
H1 → R1 是瓶颈(最慢),后两跳都比它快 10 倍以上 → 分组到 R1 后立即可转发,不堆积。流水线时序:
- H1 把 5000 个分组连续推进瓶颈链路:
- 最后一个分组从 R1 走完剩下两跳的"尾时延":
③ 报文交换 Tms:整个 2 MB 当一个报文,每跳必须完整接收再转发(存储转发),三跳串行:
比对三者:
| 数值 | 说明 | |
|---|---|---|
| Tcs | 1.600 032 s | 主体 1.6 s + 建立 32 μs |
| Tps | 1.600 035 s | 主体 1.6 s + 流水线尾巴 35.2 μs |
| Tms | 1.776 s | 三跳完整串行,慢链路被反复"卡两次" |
Tms ≫ Tps > Tcs(Tps 仅比 Tcs 多 3.2 μs,差距很小但确实大于 Tcs;Tms 比前两者多近 0.18 s,明显最慢)。
最终答案是 B(Tms > Tps > Tcs)。
编者注(生僻术语):题面里"速度为 10 Mbps"专指电路交换建立后的传输速率——这是一个常考的"语境陷阱"。图里画的 10/100/1000 Mbps 是链路物理速率,分组交换 / 报文交换才会感受到三档不同。电路交换一旦建立就把整条端到端通路看成一根 10 Mbps 的管道(题面给定),不再受沿途各段差异影响。