CSMA/CA 协议和CSMA/CD的区别
| 对比项 | MAC 子层的 CSMA/CA 协议 | CSMA/CD 协议 |
|---|---|---|
| 所属网络类型 | 无线局域网(WLAN),如 IEEE 802.11 | 以太网(有线局域网) |
| 核心机制 | 碰撞避免(Collision Avoidance) | 碰撞检测(Collision Detection) |
| 信道监测方式 | 发送前侦听信道,通过各种机制(如帧间间隔、后退计时等)避免碰撞,无法在发送时检测碰撞 | 发送时同时检测信道,若发现碰撞则立即停止发送 |
| 对碰撞的处理 | 从源头避免碰撞发生 | 检测到碰撞后处理(如停止发送、退避重发) |
| 硬件要求 | 无需复杂的碰撞检测硬件,因无线环境中检测碰撞成本高 | 需要支持同时发送和检测的硬件,以实现碰撞检测 |
| 协议细节 | 包含帧间间隔(IFS)、后退计时器、停止等待协议等,用于无线 MAC 子层 | 包含二进制指数退避算法等,用于以太网 MAC 子层 |
| 应用标准 | IEEE 802.11 | IEEE 802.3 |
一、无线局域网不能直接使用 CSMA/CD 的核心原因
- 碰撞检测难实现:无线环境中,设备发送信号的强度远大于接收信号强度,“边发送边检测碰撞” 的硬件成本极高,实际难以落地;
- 无法解决隐蔽终端问题:部分设备因信号覆盖范围限制,无法感知其他设备的传输行为,易误判信道空闲而发送数据,最终导致碰撞。
二、暴露站问题
部分设备能检测到非自身通信对象的传输信号,误将信道判定为占用状态;即便该设备要向无冲突的目标设备传输数据,也会放弃发送,造成信道资源的不必要浪费。
