![为什么 CSMA/CD 不能在无线网络中使用?](https://linux22.com/image/797198/%E4%B8%BA%E4%BB%80%E4%B9%88%20CSMA%2FCD%20%E4%B8%8D%E8%83%BD%E5%9C%A8%E6%97%A0%E7%BA%BF%E7%BD%91%E7%BB%9C%E4%B8%AD%E4%BD%BF%E7%94%A8%EF%BC%9F.png)
我是无线网络的新手,想知道为什么以太网使用的相同冲突检测机制不能应用于 WiFi。我想我开始明白了,但不确定我是否明白了:
WiFi 的物理特性使得 CAMA/CD 机制无法使用,也不切实际。这是因为 CSMA/CD 的本质是“监听”介质是否空闲,然后再传输数据包。使用 CSMA/CD,如果在介质上检测到冲突,终端设备必须等待一段随机时间,然后才能开始重新传输过程。因此,CSMA/CD 适用于有线网络,但在无线网络中,发送方无法像 CSMA/CD 那样检测冲突,因为发送方只能在介质上发送和接收数据包,但无法感知穿过该介质的数据。因此,CSMA/CA 用于无线网络。CSMA/CA 不检测冲突(与 CSMA/CA 不同),而是通过使用控制消息来避免冲突。如果控制消息与来自另一个节点的另一个控制消息发生冲突,则意味着介质不可用于传输,并且在尝试重新传输之前需要应用退避算法。
我的做法是否正确,或者我还应该考虑其他什么?
答案1
您把缩写词都混淆了,但是基本要点是正确的。
无线收发器无法同时在同一信道上发送和接收,因此无法检测冲突。这是因为发送功率(通常约为 100mw)和接收灵敏度(通常约为 0.01 到 0.0001mw)之间存在巨大差异。发送会掩盖任何可能接收到外来信号的机会,没有“冲突检测”的机会。因此,使用控制消息进行冲突避免是必要的。
在大多数有线网络(如以太网)中,电压约为 1 到 2.5v;发送和接收的电压大致相同。因此,如果您发送 2.5v 信号,而其他人发出 -2.5v 信号,则“检测”部分将看到 0v 左右的信号并知道发生了碰撞。