Por que a WLAN usa a prevenção de colisões e não a detecção de colisões?

18

Estou procurando esta resposta há algum tempo. Por que há CSMA / CD na LAN, mas CSMA / CA na WLAN?

A melhor explicação que pude encontrar é "devido à extrema proporção na transmissão e recepção de energia, é muito impraticável transmitir dados no mesmo canal. Portanto, é usado o combate a colisões". Não foi possível entender o significado. Mesmo se você estiver usando dois canais separados para transmissão e recebimento, o CSMA é usado para decidir qual nó usará o canal, portanto, não faz sentido colocar o CD no lugar da CA. Portanto, essa explicação não parece adequada.

A única razão pela qual pude pensar é que, se o número de nós for baixo, portanto, as chances de colisão são baixas, devemos usar o CD; se as chances de colisão forem altas, devemos usar o CA. Mas não há diferença no número de usuários entre LAN e WLAN.
Se alguém pudesse explicar.

vish213
fonte
O csma / cd não pode ser usado com eficiência na WLAn porque a taxa de erro é muito alta na WLAN e permitir colisões levará a uma redução drástica na taxa de transferência. A rede sem fio AD Hoc, C.Siva Ram Murthy
user63044 2/11

Respostas:

19

Em um ambiente Ethernet CSMA / CD com fio, é possível detectar uma colisão porque existem pares TX e RX separados (usando o exemplo de 10BaseT). Se uma NIC 10BaseT half-duplex envia um quadro no par TX, mas vê que o quadro está corrompido no par RX, a NIC detectou uma colisão.

No entanto, com um dispositivo sem fio 802.11, não existem "condutores", apenas antenas que não transmitem e recebem simultaneamente. Quando um dispositivo 802.11 está transmitindo, em termos práticos, não é possível ouvir outro sinal transmitido ao mesmo tempo na mesma frequência. A razão para isso é que a intensidade do sinal de RF diminui muito rapidamente durante a transmissão.

Mesmo se construíssemos um dispositivo WiFi imaginário que pudesse receber e transmitir simultaneamente, ele só poderá ouvir uma colisão a jusante se o outro dispositivo estiver usando uma potência de saída muito maior (energia bruta ou ganho passivo / ativo de algum tipo) . Normalmente, seu próprio sinal TX será muito forte e "afogará" qualquer outro sinal recebido.

Portanto, outro processo foi necessário, resultando na necessidade de CSMA / CA.

YLearn
fonte
1
10base-2 e 10base-5 (desde os primeiros dias da ethernet) não possuem pares TX e RX. Mesmo com 10 / 100base-T, o hub que conecta mais de dois pontos de extremidade precisaria adicionar mais de um TX para o RX de todas as portas. A verdade simples é que o sistema sem fio não pode detectar colisões com segurança, porque todos os rádios não podem se ouvir com segurança.
Ricky Beam
Minha postagem original não mencionou os pares TX e RX por causa das redes de barramento, eu simplesmente a deixei como condutores TX e RX. As redes de barramento existem basicamente permitindo que todos os dispositivos residam em um único circuito. A verdade simples é que a rede sem fio não pode detectar colisões porque não pode fazê-lo.
YLearn
18

A prevenção é usada pelo simples fato de que todo rádio ("cliente") não está necessariamente ao alcance um do outro. Portanto, sem a coordenação do AP, quem pode falar, rádios distantes podem pisar um no outro porque não sabem que o outro está transmitindo.

Ricky Beam
fonte
4
Essa é a resposta correta. Para um cliente sem fio poder se comunicar, ele precisa apenas ver o ponto de acesso, não necessariamente outros clientes. Portanto, se dois clientes que estão fora do alcance um do outro começarem a conversar, eles estariam bloqueando os sinais no AP. Eles nunca saberiam sobre isso, pois não conseguem se ouvir. Basicamente, o CSMA / CD funciona em um domínio de broadcast. Na rede sem fio, o domínio de transmissão não se sobrepõe completamente aos dispositivos físicos. (Pense-lo como um diagrama de Venn, qualquer sobreposição vai interferir com todo o outro domínio.)
JelmerS
1
@ JelmerS, desculpe, esta é uma resposta secundária. Embora verdadeiro, nem sempre é aplicável. A verdadeira razão é que, mesmo que um dispositivo sem fio seja projetado para RX enquanto é TX, ele não será capaz de detectar uma colisão, porque o TX seria MUITO mais forte do que qualquer outro sinal que pudesse ouvir (com base no mesmo PIR) e "mascarar" é habilidade RX que outro sinal. Em termos práticos, um dispositivo sem fio não pode ao mesmo tempo TX e RX.
YLearn
Não, é apenas uma maneira diferente de dizer isso. Embora um rádio possa (e receba) durante a transmissão, ele funcionaria apenas para esse remetente. (subtraindo o TX do RX. algo que todo modem analógico faz há mais de 20 anos.) Todos os outros ouvirão lixo, ou o transmissor mais poderoso e local.
Ricky feixe
1
@ RickyBeam, comparar a tecnologia sem fio com uma tecnologia com fio é uma falácia. A maioria dos RF é half-duplex. Ele foi projetado como half-duplex porque é mais barato / mais simples e não é prático ser full-duplex na mesma frequência. Os telefones celulares funcionam usando pares de frequências, um para TX e outro para RX. A maioria dos outros RF é half-duplex; faixa cidadã, ondas curtas, FM, AM, muitos rádios policiais / bombeiros, muitas aplicações militares, etc.
YLearn
Após a releitura, devo observar também que o CSMA / CA é implementado independentemente de qualquer mecanismo que o AP use para gerenciar "quem pode falar". É por isso que problemas como o problema do nó oculto também podem exigir a implementação do RTS / CTS, além do CSMA / CA.
YLearn
4

EDIT (Baseado na correção de Ricky):

Abaixo está um trecho de http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.mac.html

O CSMA / CA é derivado do CSMA / CD (detecção de colisão), que é a base da Ethernet. A principal diferença é a prevenção de colisões: em um fio, o transceptor tem a capacidade de ouvir durante a transmissão e, assim, detectar colisões (com um fio, todas as transmissões têm aproximadamente a mesma força). Mas, mesmo que um nó de rádio pudesse ouvir o canal enquanto transmitia, a força de suas próprias transmissões mascararia todos os outros sinais no ar. Portanto, o protocolo não pode detectar diretamente colisões como a Ethernet e apenas tenta evitá-las.

O link abaixo é uma boa leitura do CSMA / CA e também explica como o CSMA / CA funciona:

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

jrnetclueless
fonte
1
Negativo. O CSMA / CD não requer simultâneo tx / rx. Foi projetado LONGO antes que a Ethernet full-duplex existisse.
Ricky feixe
Obrigado pela captura @RickyBeam. Você também poderia explicar como a estação se afastaria da transmissão se não puder sentir a estação no mesmo momento da transmissão?
precisa saber é o seguinte
Costumo concordar com Ricky, mas o CSMA / CD é capaz de monitorar o RX e, durante o processo de TX, não tem nada a ver com a operação full-duplex. Ele se baseia em ter condutores TX e RX separados e uma colisão é detectada quando um dispositivo está enviando um sinal em TX enquanto também recebe um sinal em RX. Enquanto um rádio "poderia" em teoria TX e RX ao mesmo tempo, isso não é praticamente possível ... e é por isso que, em termos básicos, não é possível para um dispositivo sem fio TX e RX ao mesmo tempo.
YLearn
@YLearn, não foi isso que ele disse. E você está lendo tudo como se o par trançado (ou óptico) fosse a única mídia. O CSMA / CD foi projetado em uma era de cabeamento coaxial 10base-2. As colisões foram detectadas pelo monitoramento atual no hardware inicial; mais tarde (mais avançado) hardware subtrai TX da linha para ouvir outros sinais, mas isso ainda não é "transmitir e receber dados ao mesmo tempo"
Ricky feixe
@RickyBeam uma rede de barramento é basicamente uma rede em que todos os dispositivos participam de um único circuito. Os mesmos princípios se aplicam. Quanto ao seu comentário sobre a corrente, sim, no hardware inicial, se havia corrente, havia um sinal. Eu nunca disse que ele realmente poderia usar o sinal no RX, mas quando esse sinal foi recebido enquanto TX isso permitia a detecção de uma colisão.
YLearn
0

Em um barramento com fio, as perdas de sinal são bastante pequenas e, portanto, é fácil detectar colisões. A Ethernet coaxial IIRC faz isso observando o nível DC na linha, mas seria igualmente possível comparando o sinal no barramento com o sinal que você está tentando transmitir.

Isso simplesmente não funciona para o rádio. A perda de sinal entre o transmissor e o receptor é enorme, pelo menos dezenas de DB. Diante do sinal de saída forte, é impraticável detectar o sinal de entrada que está operando no mesmo espectro de frequência e é massivamente mais fraco. Isso basicamente exclui a detecção de colisão como uma abordagem para sistemas sem fio.

O par trançado PS e a fibra Ethenet usam canais de dados separados para cada direção, para que não haja colisões no fio. Uma "colisão" é detectada simplesmente detectando atividade nos dois canais ao mesmo tempo.

Peter Green
fonte