📡 一道题讲透网络传输时延:为什么总时间只看“最后一个分组”?
适用人群:408考研党 / 计算机专业学生 / 网络初学者
核心收获:彻底理解端到端时延的构成,破除“传播时延只属于最后一个分组”的误解
🔍 题目回顾
主机 H₁ 通过一个路由器与主机 H₂ 相连,网络结构为:
H₁ ──(链路1)── 路由器 ──(链路2)── H₂已知条件:
每段链路带宽:100 Mbps
每段链路的时延带宽积:1000 比特
发送文件大小:1 MB(即 10^6 字节)
分组大小:1000 字节
忽略排队和处理时延
但需考虑传播时延
问:从 H₁ 开始发送第一个比特,到 H₂完全接收整个文件所需的总时间是多少?
✅ 第一步:基础参数计算
发送时延(每跳):
传播时延(每跳):
由时延带宽积 = 带宽 × 传播时延得:
✅ 注意:两段链路,共 2 跳,因此总传播时延影响为
✅ 第二步:关键问题来了——
❓ “每个分组都有传播时延,为什么只分析最后一个?”
这是一个极其常见的困惑!我们来彻底澄清:
✅ 所有分组在每一跳上都经历传播时延!
第1个、第500个、第1000个分组——无一例外。
但题目问的是:
“从开始发送,到 H₂ 完全接收整个文件”所需的总时间
这意味着:直到最后一个比特被 H₂ 收到,才算传输完成。
第1个分组可能在 0.18 ms 就到了(发送+传播+转发+传播)
第2个在 0.26 ms 到
…
第1000个分组在80.10 ms到
所以,整个过程的结束时刻,由最后一个分组决定。
这就像:
一列100节车厢的火车穿过隧道。
整列火车“完全通过”的时间,不是第一节进隧道的时间,
而是最后一节出隧道的时间。
因此,我们不是忽略其他分组的传播时延,而是因为:
总完成时间 = 最后一个分组的到达时间
所以只需精确计算它的路径。
✅ 第三步:追踪最后一个分组的时间线
🕒 1. 何时从 H₁ 开始发送?
前999个分组已发送完毕:
🕒 2. 经过第一段链路(H₁ → 路由器)
发送:79.92 → 80.00 ms(最后一位离开 H₁)
传播:80.00 →80.01 ms(最后一位到达路由器)
路由器此时才完整收到该分组,立即开始转发。
🕒 3. 经过第二段链路(路由器 → H₂)
发送:80.01 → 80.09 ms(最后一位离开路由器)
传播:80.09 →80.10 ms(最后一位到达 H₂)
✅ 最终答案:80.10 毫秒
这是从 H₁ 开始发送(t=0)到 H₂ 完全接收文件的端到端总时延。
✅ 通用公式(供参考)
对于 N 个分组、L 跳链路:
代入本题:
💡 教学总结
误区 | 正确认知 |
|---|---|
“只有最后一个分组有传播时延” | ❌ 所有分组都有,只是总时间由最后一个决定 |
“传播时延可以忽略” | ❌ 题干明确要求“考虑”,就必须计入 |
“总时间 = 所有分组时间之和” | ❌ 网络是流水线,不是串行累加 |
📌记住:在网络性能分析中,我们永远关注“最晚完成的那个任务”。