CSMA/CA 是什么
Wi-Fi 用「先听后发加随机退避」避免冲突。终端发送前先做载波侦听,信道空闲还要再等一个帧间间隔(DIFS 或 AIFS),然后在竞争窗口内随机退避,退避计数归零才允许发送。因为无线无法边发边听,冲突只能靠接收方的 ACK 发现并重传,这是它与以太网 CSMA/CD 最本质的区别。
基本信息
| 机制 | CSMA/CA,冲突避免 |
|---|---|
| 关键参数 | AIFS、CWmin 与 CWmax、退避计数 |
| 与以太网的差异 | 无线不能边发边听,用 ACK 兜底 |
| 质量优先级 | WMM 用不同的 AIFS 与竞争窗口实现四类业务分级 |
| 结果 | 终端越多退避越久,空口利用率越低 |
退避过程中的关键参数
| 参数 | 作用 | 影响 |
|---|---|---|
| DIFS / AIFS | 信道空闲后必须等待的帧间间隔 | 优先级越高取值越小 |
| CWmin / CWmax | 随机退避的取值范围 | 冲突后窗口翻倍,重试越多等待越久 |
| 退避计数器 | 每空闲一个时隙减一 | 归零后才允许发送 |
| ACK | 接收方确认 | 没有 ACK 即视为冲突并重传 |
| WMM 四类队列 | 语音、视频、尽力而为、背景 | 决定各类业务可用的空口占比 |
观察争用与重传
观察争用与重传
# 查看信道忙时间占比(Linux)
iw dev wlan0 survey dump
# 抓包观察重传与确认
wlan.fc.retry == 1 # 重传帧
wlan.fc.type==1 && wlan.fc.type_subtype==13 # 控制帧 ACK终端越多、退避越多,这是高密场景「人一多就慢」的根本原因,也是 OFDMA 与各类调度机制要解决的问题。这个现象无法靠提高速率档位消除。
半双工共享介质意味着同一信道上的所有终端争用同一段空口:AP 千兆上联不代表无线能跑满,容量必须按空口时间而不是接口速率来算。
哪些现象源于信道竞争
- 终端数量增加后所有人一起变慢,但每台终端的信号强度依旧良好
- 时延抖动明显而平均吞吐尚可,说明重传与退避在反复发生
- 同一位置在不同时段体验差异大,与邻居 AP 的业务高峰有关
- 空口利用率很高但本 AP 客户端并不多,竞争来自邻区
- 语音与视频优先失效,通常是 WMM 未启用或队列标记没有生效