Appearance
题目
假设采用 CSMA/CA 的 IEEE 802.11 无线局域网,其数据传输速率为 300 Mbps,DIFS = 128 μs,SIFS = 28 μs。忽略除数据帧以外的其他帧的传输时延及信号传播时延,主机 H 发送一个总长度为 1500 B 的数据帧,则从开始发送数据帧至确认接收方收到所需的时间至少为( )。
错因
A
只算了数据帧的传输时延(40 μs),忘了"确认接收方收到"还要等 ACK——而 ACK 之前必须先等一个 SIFS 间隔。CSMA/CA 的"可靠性靠 ACK 保证"是 802.11 区别于 CSMA/CD 的核心机制:发送方拿到 ACK 才认为传输成功。题面问"至确认接收方收到",必须算到 ACK 这一步。
C
误把 DIFS 算进了"开始发送数据帧"之后的时间。DIFS(128 μs)+ 数据帧传输时延(40 μs)= 168 μs。错的根源:没区分发送数据帧前的等待和发送数据帧的过程。CSMA/CA 流程是「监听信道空闲 → 等 DIFS → 开始发送数据帧 → 发完 → 等 SIFS → 收 ACK」,DIFS 是发送数据帧之前的等待,题面起点已经过了 DIFS。
D
把 DIFS、数据帧、SIFS 全部加上:128 + 40 + 28 = 196 μs。同样误把 DIFS 算进起点之后的时间。完整一次 CSMA/CA 帧交换的总耗时确实是这三项之和(如果题面问"从信道空闲到收到 ACK",答案就是 196 μs),但本题起点是"开始发送数据帧",DIFS 已经在起点之前结束。
总解析
完整 CSMA/CA 帧交换流程(数据帧 + ACK,无碰撞场景):
| 阶段 | 时长 | 说明 |
|---|---|---|
| ① 发送方监听信道 + 等 DIFS | 128 μs | 信道必须空闲至少一个 DIFS(128 μs)才能发 |
| ② 发送方传数据帧 | 40 μs | 1500 B × 8 / 300 Mbps |
| ③ 接收方等 SIFS | 28 μs | 数据帧收完之后等一个 SIFS才能回 ACK(保证发送方切换到接收态) |
| ④ 接收方传 ACK | 题面忽略 | "忽略除数据帧以外的其他帧的传输时延" |
| ⑤ 信号传播时延 | 题面忽略 | "及信号传播时延" |
题面起点是"开始发送数据帧"——也就是从阶段 ② 开始。①(DIFS)已经在起点之前结束了。
计算阶段 ② + ③ + ④ + ⑤:
- 阶段 ②: s = 40 μs
- 阶段 ③:SIFS = 28 μs(必经流程,不能省,否则发送方还来不及切到接收态)
- 阶段 ④:题面规定忽略 → 0
- 阶段 ⑤:题面规定忽略 → 0
合计 μs。
最终答案是 B(68 μs)。
编者注(生僻术语):DIFS(Distributed Inter-Frame Space)和 SIFS(Short Inter-Frame Space)是 802.11 里两个不同优先级的帧间间隔。SIFS 最短(28 μs,本题数值),用于最高优先级动作(ACK / CTS 等紧接前一帧的回应);DIFS 较长(128 μs,本题数值),用于普通数据帧竞争信道前的等待。SIFS < DIFS 这条不等式保证了 ACK 总是抢在新数据帧之前发出去,不会被打断。