📡 2010年408(34)真题类似题详解:报文交换 vs 分组交换时延对比
题目来源 :高校计算机网络课程典型例题
难度等级 :★★★☆☆(基础但易错)
适用人群 :备考408考研、学习计算机网络的初学者
核心考点:存储-转发机制、报文交换与分组交换的时延分析
🔍 题目原文
【例】主机甲通过1个路由器(存储-转发)与主机乙互联,两段链路的数据传输速率均为 10 Mbps ,主机甲分别采用报文交换 和分组大小为10 kb的分组交换 向主机乙发送一个大小为 8 Mb 的报文。若忽略链路传播延迟、分组头开销和分组拆装时间,则两种交换方式完成该报文传输所需的总时间分别为( )。
A. 800ms、1600ms
B. 801ms、1600ms
C. 1600ms、800ms
D. 1600ms、801ms
✅ 解题目标
比较 报文交换 和 分组交换 在相同网络条件下,传输同一个报文所花费的总时间。
关键在于理解:
-
存储-转发机制下,必须完整接收才能转发;
-
流水线效应在分组交换中的作用;
-
谁先到达终点?谁最后到达?
🧩 第一步:统一单位
-
报文大小:8 Mb = 8 × 10⁶ 比特(注意是"Mb"= megabit)
-
链路速率:10 Mbps = 10⁷ bps
-
分组大小:10 kb = 10,000 比特 = 10⁴ 比特
⚠️ 注意:这里用的是"kb"表示千比特(kilo-bit),不是字节。
所以 10 kb = 10,000 bits,不是 10,000 字节!
✅ 情况一:报文交换(Message Switching)
特点:
-
整个报文作为一个整体发送;
-
路由器必须完整接收整个报文后,才能开始转发;
-
无流水线,串行处理。
计算过程:
1. 主机甲 → 路由器
- 发送时间 =
= 800 ms
2. 路由器 → 主机乙
- 路由器收到后,再发送给乙,同样需要 800 ms
总时间:

✅ 因为是存储-转发,必须等前一段发完才能发下一段。
✅ 情况二:分组交换(Packet Switching)
特点:
-
将报文划分为多个小分组;
-
每个分组独立传输;
-
支持流水线传输(Pipeline);
-
路由器收到一个分组就立即转发(存储-转发)。

步骤 1:计算分组数量
-
报文大小:8 × 10⁶ bits
-
每个分组:10⁴ bits
-
分组数:

步骤 2:计算单个分组的发送时延
- 每跳发送时间 =

步骤 3:分析第一个分组的传输路径
-
甲 → 路由器:1 ms
-
路由器 → 乙:1 ms
-
所以第一个分组在 t = 2 ms 到达乙
步骤 4:分析最后一个分组的传输路径
-
第一个分组在 t=0 开始发送
-
第二个分组在 t=1 ms 开始发送(因为前一个发完才发下一个)
-
...
-
第 800 个分组在 t = (800 - 1) × 1 = 799 ms 时从甲发出
然后它要经过:
-
甲 → 路由器:1 ms → 到达路由器:800 ms
-
路由器 → 乙:1 ms → 到达乙:801 ms
✅ 所以,最后一个分组到达乙的时间是 801 ms
这就是整个报文被完全接收的时间!
✅ 对比结果
| 交换方式 | 总时间 |
|---|---|
| 报文交换 | 1600 ms |
| 分组交换 | 801 ms |
✅ 正确答案
D. 1600ms、801ms
💡 关键结论
| 项目 | 报文交换 | 分组交换 |
|---|---|---|
| 是否拆分 | 否 | 是 |
| 是否流水线 | 否 | 是 |
| 网络利用率 | 低 | 高 |
| 最终时间 | 1600 ms | 801 ms |
✅ 分组交换虽然每个分组有额外处理开销,但在本题中忽略这些因素,因此能实现更高的效率。
❗ 常见误区提醒
-
误以为分组交换更快是因为"并行"
实际上是流水线,不是并行。每个分组仍按顺序发送。
-
忘记最后一个分组的延迟
很多人只算到"第800个分组发出",忘了它还要走两跳。
-
混淆单位
"8 Mb"是比特 ,不是字节;"10 kb"也是千比特。
-
认为分组交换时间更短是因为"不需等待"
错!分组交换也需要等待,只是等待时间更短。
📚 延伸思考
-
如果分组头占 20 bits,会如何影响?
-
若使用虚电路 或数据报模式,有何区别?
-
如果链路带宽变为 1 Gbps,结果会怎样?
欢迎在评论区讨论!