[摘译] 为何CSMA/CD不能用于无线网络?
简译文
为何CSMA/CD(Carrier Sense Multiple Access with Collision Detection,载波侦听多路访问/碰撞检测)不能用于无线网络?
答: 在无线网中,发送功率远大于接收敏感度,导致发送信号会盖过接收信号,无法在发送过程中检测到其他节点发来的数据,导致无法实现碰撞检测。在无线网中应当使用CSMA/CA。
在有线网中,发送和接收的电压往往是一致的。当你发送2.5V的信号时,若另一人发送-2.5V的信号,你这里的信号就变成了0V,你就可以检测到碰撞。
原文
Explain why CSMA/CD cannot be used in wireless LAN.
原文地址: https://serverfault.com/questions/452675/what-is-the-reason-csma-cd-cant-be-used-on-a-wireless-network
作者: Ian Muscat, Chris S
I'm new to wireless networking and wondering why the same Collision Detection mechanisms used for Ethernet can't be applied to WiFi. I think I'm starting to understand, but not sure if I've got it:
The physical characteristics of WiFi make it impossible and impractical for the CAMA/CD mechanism to be used. This is due to CSMA/CD’s nature of ‘listening’ if the medium is free before transmitting packets. Using CSMA/CD, if a collision is detected on the medium, end-devices would have to wait a random amount of time before they can start the retransmission process. For this reason, CSMA/CD works well for wired networks, however, in wireless networks, there is no way for the sender to detect collisions the same way CSMA/CD does since the sender is only able to transmit and receive packets on the medium but is not able to sense data traversing that medium. Therefore, CSMA/CA is used on wireless networks. CSMA/CA doesn’t detect collisions (unlike CSMA/CA) but rather avoids them through the use of a control message. Should the control message collide with another control message from another node, it means that the medium is not available for transmission and the back-off algorithm needs to be applied before attempting retransmission.
You've got acronyms mixed up left and right, but the basic gist is right.
Wireless transceivers can't send and receive on the same channel at the same time, so they can't detect collisions.This is due to the fact that there's an incredible difference between send power (generally around 100mw) and receive sensitivity (commonly around 0.01 to 0.0001mw). The sending would cover up any possible chance of receiving a foreign signal, no chance of "Collision Detection". For this reason Collision Avoidance with Control Messages is necessary.
On most wired networks the (like Ethernet) the voltage is around 1 to 2.5v; both sending and receiving are roughly the same voltage. So if you're sending a 2.5v signal, and someone else collides with a -2.5v signal, the "Detection" parts will see a signal somewhere around 0v and know a collision occurred.