我正在寻找这个答案已有相当一段时间。为什么在局域网中有CSMA / CD但在WLAN中有CSMA / CA?相同的通道。因此使用了“避免冲突”。无法理解含义。即使您使用两个单独的通道进行发送和接收,CSMA仍可用来决定哪个节点将使用通道,因此丢弃CD代替CA毫无意义。因此,这种解释似乎有点不合适。很高,我们应该使用CA。但是LAN和WLAN之间的用户数量没有区别。
如果有人可以解释。

评论

csma / cd无法在WLAn中有效使用,因为WLAN中的错误率非常高,并且允许冲突将导致吞吐量急剧下降。请参阅; AD Hoc无线网络,C.Siva Ram Murthy

#1 楼

在有线CSMA / CD以太网环境中,由于存在单独的TX和RX对(以10BaseT为例),因此可以检测到冲突。如果半双工10BaseT NIC在TX对上发送了一个帧,但发现该帧在RX对上已损坏,则NIC检测到冲突。

但是,对于802.11无线设备,存在没有“导体”,只有不能同时发送和接收的天线。实际上,当802.11设备正在传输时,它无法侦听以相同频率同时传输的另一个信号。原因是发射时RF信号强度会很快下降。另一个设备正在使用更高的输出功率(原始功率或通过某种形式的无源/有源增益)。通常,它自己的TX信号太强,会“淹没”任何其他接收到的信号。

,因此需要另一种过程,从而需要CSMA / CA。

评论


10base-2和10base-5(从以太网的早期开始)就没有TX和RX对。即使使用10 / 100base-T,连接两个以上端点的集线器也必须为所有端口的RX添加一个以上的TX。一个简单的事实是,无线无法可靠地检测到冲突,因为所有无线电都无法可靠地相互听到。

–瑞奇
2014年9月1日下午0:02

我的原始帖子由于总线网络而没有提及TX和RX对,我只是将其保留为TX和RX导体。总线网络通过基本允许所有设备驻留在单个电路中而存在。一个简单的事实是,无线无法检测到冲突,因为它不能检测到冲突。

– YLearn♦
2014年9月1日,下午3:13

#2 楼

回避用于非常简单的事实,即每个无线电(“客户端”)不一定在彼此的范围内。因此,在没有AP协调谁可以讲话的情况下,遥远的无线电设备可能会互相踩,因为他们不知道对方正在发送信号。

评论


这是正确的答案。为了使无线客户端能够进行通信,它只需要查看AP,而不必看到其他任何客户端。因此,如果两个遥不可及的客户开始交谈,那么他们将在AP处互相干扰信号。但是他们永远不会知道,因为他们彼此听不见。基本上,CSMA / CD在广播域中工作。在无线网络中,广播域不会与物理设备完全重叠。 (将其视为维恩图,任何重叠都会干扰整个其他域。)

–JelmerS
2014年8月31日上午10:12

@JelmerS,对不起,这是第二个答案。虽然为真,但并非总是适用。真正的原因是,即使将无线设备设计为在TX时为RX,它也将无法检测到冲突,因为TX的FAR强度要比其听到的任何其他信号(基于相同的EIRP)强“屏蔽”是接收其他信号的能力。实际上,无线设备不能同时发送和接收。

– YLearn♦
2014年8月31日14:07



不,那只是一种不同的说法。虽然无线电可以(并且确实)在发送时接收,但它仅适用于该发送者。 (通过从RX中减去TX。每个模拟调制解调器已经做了20多年了。)其他所有人都会听到垃圾,或者是功能更强大,更本地化的发送器。

–瑞奇
2014年8月31日23:56



@RickyBeam,将无线技术与有线技术进行比较是一个谬论。大多数RF是半双工的。之所以将其设计为半双工,是因为这样做更便宜/更简单,并且以相同频率进行全双工是不现实的。手机通过使用频率对工作,一对用于TX,一个用于RX。其他大多数RF是半双工的;公民乐队,短波,FM,AM,许多警察/消防广播,许多军事应用等

– YLearn♦
2014年9月1日,下午3:29

重新阅读后,我还应注意,CSMA / CA的实现独立于AP用于管理“谁可以讲话”的任何机制。这就是为什么诸如隐藏节点问题之类的问题除了CSMA / CA之外还可能需要实现RTS / CTS的原因。

– YLearn♦
2014年9月3日,下午3:25

#3 楼

编辑(基于Ricky的更正):

以下摘录自
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.mac.html


CSMA / CA源自CSMA / CD(冲突检测),它是以太网的基础。主要区别是避免冲突:在电线上,收发器具有在发送时监听并检测冲突的能力(通过电线,所有传输的强度大致相同)。但是,即使无线电节点可以在传输时在信道上监听,其自身传输的强度也会掩盖空中的所有其他信号。因此,该协议无法像以太网那样直接检测冲突,而只能尝试避免它们。 :

http://www2.cs.uidaho.edu/~oman/SC&CI/CSMA-CA-collisions_Bonaventure.pdf

评论


负。 CSMA / CD不需要同时发送/接收。在全双工以太网出现之前,它的设计时间很长。

–瑞奇
2014年8月31日在9:13

谢谢@RickyBeam的帮助。您还能请您解释一下如果在传输的同时无法感知到电台的情况,电台将如何退出传输?

–vish213
2014年8月31日12:36

我经常同意Ricky的观点,但是CSMA / CD能够同时监视RX和在TX过程中与全双工操作无关。它基于具有独立的TX和RX导体,并且当设备在TX上发送信号同时在RX上接收信号时检测到冲突。虽然无线电理论上可以同时“发送” TX和RX,但这实际上是不可能的……这就是为什么从根本上讲,无线设备不可能同时发送和接收TX。

– YLearn♦
2014年8月31日14:03



@YLearn,那不是他说的。而且您正在阅读所有内容,好像双绞线(或光纤)是唯一的介质。 CSMA / CD设计于10base-2时代-同轴电缆。通过早期硬件中的当前监控检测到冲突;后来(更高级的)硬件从线路中减去TX以侦听其他信号,但这仍然不是“同时发送和接收数据”

–瑞奇
2014年8月31日23:47

@RickyBeam总线网络基本上是一个所有设备都参与单个电路的网络。同样的原则适用。关于您对电流的评论,是的,在早期硬件中,如果有电流,则有信号。我从未说过它实际上可以使用RX上的信号,而是当TX上接收到这样的信号时,这可以检测到冲突。

– YLearn♦
2014年9月1日,凌晨3:08

#4 楼

在有线总线上,信号损耗很小,因此很容易检测到冲突。 IIRC同轴以太网通过查看线路上的直流电平来完成此操作,但是也可以通过将总线上的信号与您要传输的信号进行比较来实现。在广播上不工作。发射器和接收器之间的信号损耗很大,至少几十个DB。面对强大的输出信号,检测在相同频谱中工作且强度大大降低的输入信号是不切实际的。这基本上排除了冲突检测作为无线系统的一种方法。

P.S.双绞线和光纤以太网在每个方向上都使用单独的数据通道,因此在电线上不会发生冲突。只需一次检测两个通道上的活动即可检测到“冲突”。