一、题目解析
A和B相距1km,A用1Mb/s的速率发送200000字节的文件。数据帧总长128比特(首部48比特,有效数据80比特),ACK帧22比特。传播速率为200m/μs,求传输时间和有效速率。
二、解题思路
-
拆分文件
文件共200000字节 = 1,600,000比特。每帧有效数据80比特 → 需要发送 20000帧(1,600,000 ÷ 80)。 -
计算单帧传输周期
- 数据帧传输时间:128比特 ÷ 1Mb/s = 128μs
- ACK帧传输时间:22比特 ÷ 1Mb/s = 22μs
- 传播时延:1km ÷ 200m/μs = 5μs(单向),往返需 10μs
- 单帧总周期时间:128μs(数据帧) + 22μs(ACK) + 10μs(往返传播) = 160μs
-
总传输时间
每帧需等待一个周期(160μs),共20000帧 → 20000 × 160μs = 3.2秒。 -
有效数据速率
总有效数据:20000帧 × 80比特 = 1,600,000比特 = 1.6Mb
有效速率:1.6Mb ÷ 3.2s = 0.5 Mb/s(仅计算有效数据,不包括帧头和ACK)。
三、同类型题目通用解法总结
步骤口诀:
“拆文件、算周期、乘帧数、除总时间。”
-
拆分文件
- 文件大小(字节)→ 比特:×8
- 每帧有效数据 = 帧长(比特) - 首部(比特)
- 帧数 = 文件总比特 ÷ 每帧有效数据(向上取整)
-
计算单帧周期时间
- 数据帧传输时间 = 帧长 ÷ 带宽
- ACK帧传输时间 = ACK帧长 ÷ 带宽
- 传播时延(单向) = 距离 ÷ 传播速率
- 总周期时间 = 数据帧传输时间 + ACK传输时间 + 2×传播时延
-
总传输时间
- 总时间 = 帧数 × 总周期时间
- 若题目明确不等待最后一个ACK,总时间 = (帧数-1) × 周期时间 + 数据帧传输时间 + 传播时延
-
有效数据速率
- 有效速率 = 文件总比特 ÷ 总传输时间
四、注意事项(避坑指南)
- 单位统一:比特(b)、字节(B)、微秒(μs)转成秒(s)。
- 帧数取整:若文件比特数不能整除每帧有效数据,需向上取整。
- 周期时间:必须包含数据帧、ACK传输时间和往返传播延迟。
- 有效速率:仅计算有效数据,忽略帧头和ACK开销。
五、答案
- 传送文件时间:3.2秒
- 有效数据速率:0.5 Mb/s