Skip to content

CSMA/CA(载波监听多路访问/碰撞避免)

CSMA/CA 是IEEE 802.11无线局域网的介质访问控制协议,与有线以太网的[[CSMA_CD|CSMA/CD]]相对应。

为什么不用CSMA/CD?

  1. 碰撞检测硬件代价过大:无线中自身发送信号远强于碰撞信号
  2. 隐蔽站问题:A和C互相听不见,但都向B发送,B处发生碰撞,A和C均不知道
A ◯←(10m)→ B ←(10m)→◯ C
     A和C超出彼此的通信范围

核心机制:时间间隔(IFS)

  • SIFS(短帧间间隔):最短,用于ACK、CTS等紧急响应帧
  • DIFS(分布协调功能帧间间隔):用于数据帧和管理帧
  • 规则:DIFS > SIFS,保证ACK帧优先于新数据帧

发送流程(DCF)

1. 站A监听信道
2. 信道空闲持续DIFS时间 → A立即发送DATA
3. B接收,CRC校验通过
4. 等待SIFS → B发ACK(因SIFS短,其他站的DIFS还没到)
5. A收到ACK → 成功完成

退避算法(Backoff)

当信道忙或发生碰撞时: 1. 推迟接入(冻结退避计时器) 2. 等待信道空闲后进入争用期 3. 在 \([0, CW]\) 时隙中随机选一个数,开始倒计时 4. 计时器先归零的站先发送 5. 碰撞后:\(CW\) 近似加倍(指数退避),重新随机

建议参数:\(15 \leq CW \leq 1023\),初始CW=15

RTS/CTS信道预约

解决隐蔽站问题:

时间轴:
A: ─RTS──────────────────DATA──
B:    ─CTS──                  ─ACK─
C:       ─(收到CTS, 设置NAV)─等待──
  • NAV(网络分配向量):C收到CTS后设置NAV,在NAV期间不发送
  • RTS/CTS是可选的,帧超过阈值时才值得使用(RTS=20B, CTS=14B,数据帧最大2346B)

与CSMA/CD对比

特性 CSMA/CD CSMA/CA
介质 有线(以太网) 无线(WiFi)
策略 碰撞检测 碰撞避免
碰撞处理 检测到立即停止 随机退避预防
ACK 无(高层保证) 每帧ACK确认
当前状态 已被全双工交换机淘汰 仍是主流无线MAC

参见

  • [[09-无线网络]] — WLAN完整介绍
  • [[CSMA_CD|CSMA/CD]] — 有线以太网的对应协议
  • [[09-无线网络|802.11帧格式]] — 四地址字段详解