CSMA/CA (载波监听多路访问/碰撞避免) 协议主要用于 无线局域网 (802.11)。由于无线信道的特性 (发送信号强度远大于接收信号), 硬件上实现碰撞检测 (CD) 非常困难, 因此采用碰撞避免 (CA)。
核心机制
为了尽量减少碰撞发生的概率, CSMA/CA 采用了以下机制:
- 预约信道: 发送方在发送数据前先广播 RTS (请求发送) 控制帧, 接收方若空闲则回送 CTS (允许发送) 控制帧。
- 告知其他站点占用信道的时间。
- 解决 隐蔽站与暴露站问题。
- ACK 确认帧: 接收方收到数据后, 必须回送确认帧 ACK。若未收到 ACK, 发送方重传。
- IFS (帧间间隔): 所有的站完成发送后, 必须等待一段很短的时间 (IFS) 才能发送下一帧。
- 高优先级帧等待时间较短 (如 SIFS)。
- 低优先级帧等待时间较长 (如 DIFS)。
- 退避算法: 若信道忙, 则执行二进制指数退避算法, 延迟一段时间后重试。
与 CSMA/CD 的区别
- CSMA/CD: 用于有线以太网, 边听边发, 发生冲突立即停止。
- CSMA/CA: 用于无线局域网, 无法检测碰撞, 只能尽量避免; 发送后需等待 ACK 确认。 重点