知识卡片

CSMA/CD 与 CSMA/CA:检测碰撞与避免碰撞

专业/工作 · 1288.a

内容

以太网总线网络用 CSMA/CD 协议协调谁能发消息:机器先监听总线是否空闲,空闲就开始发送并持续监听,一旦发现和别的机器同时发送(碰撞),双方都停下、各自等一段随机时间后重试。这个机制依赖”每台机器都能监听到所有其他机器的信号”这个前提,而无线星形网络里,两台设备可能都能连上中央接入点、却彼此听不到对方(隐藏终端问题),导致基于检测的协议失效,因此 WiFi 改用 CSMA/CA:先等待信道空闲一小段时间以确认没有人在排队等待,才允许抢占,从而尽量在发生前避免碰撞而非事后检测。发散:CD(检测再补救)和 CA(预判并避让)代表了并发协调的两种根本思路,同样的分野出现在数据库并发控制里——乐观锁靠检测冲突后重试(类似 CD),悲观锁靠提前加锁避免冲突(类似 CA),选择哪种取决于冲突发生的频率和检测的可行性。

参考来源

《计算机科学概论》第4章《组网及因特网》