¿Por qué WLAN utiliza la función de prevención de colisiones y no la detección de colisiones?

18

Estoy buscando esta respuesta desde hace bastante tiempo. ¿Por qué hay CSMA / CD en LAN pero CSMA / CA en WLAN?

La mejor explicación que pude encontrar es "debido a la relación extrema en la potencia de transmisión y recepción, es muy poco práctico transmitir datos en el mismo canal. Por lo tanto, se utiliza la prevención de colisiones". No se pudo entender el significado. Incluso si está utilizando dos canales separados para transmitir y recibir, CSMA se usa para decidir qué nodo usará el canal, por lo que no tiene sentido dejar caer el CD en lugar de CA. Entonces, esta explicación de alguna manera no parece adecuada.

La única razón por la que podría pensar es que si el número de nodos es bajo, por lo tanto, las posibilidades de colisión son bajas, deberíamos usar CD, si las posibilidades de colisión son altas, deberíamos usar CA. Pero no hay una diferencia en el número de usuarios entre LAN y WLAN.
Si alguien pudiera explicarlo.

vish213
fuente
csma / cd no se puede usar en WLAn de manera efectiva porque la tasa de error es muy alta en WLAN y permitir colisiones conducirá a una reducción drástica en el rendimiento. consulte; Red inalámbrica AD Hoc, C.Siva Ram Murthy
usuario63044

Respuestas:

19

En un entorno Ethernet CSMA / CD con cable, es posible detectar una colisión porque hay pares TX y RX separados (usando el ejemplo de 10BaseT). Si una NIC 10BaseT semidúplex envía una trama en el par TX, pero ve que esa trama está dañada en el par RX, la NIC detectó una colisión.

Sin embargo, con un dispositivo inalámbrico 802.11, no hay "conductores", solo antenas que no transmiten ni reciben simultáneamente. Cuando un dispositivo 802.11 está transmitiendo, en términos prácticos no puede escuchar otra señal transmitiendo al mismo tiempo en la misma frecuencia. La razón de esto es que la intensidad de la señal de RF disminuye muy rápidamente cuando se transmite.

Incluso si construimos un dispositivo WiFi imaginario que pueda recibir y transmitir simultáneamente, solo podrá escuchar una colisión descendente si el otro dispositivo está usando una potencia de salida mucho mayor (ya sea potencia bruta o ganancia pasiva / activa de algún tipo) . Normalmente, su propia señal TX será demasiado fuerte y "ahogará" cualquier otra señal recibida.

Por lo tanto, se requirió otro proceso, lo que resultó en la necesidad de CSMA / CA.

YLearn
fuente
1
10base-2 y 10base-5 (desde los primeros días de ethernet) no tienen pares TX y RX. Incluso con 10 / 100base-T, el hub que conecta más de dos puntos finales tendría que agregar más de un TX para el RX de todos los puertos. La simple verdad es que la conexión inalámbrica no puede detectar colisiones de manera confiable porque todas las radios no pueden escucharse entre sí de manera confiable.
Ricky Beam
Mi publicación original no mencionaba los pares TX y RX debido a las redes de autobuses, simplemente lo dejé como conductores TX y RX. Las redes de bus existen básicamente al permitir que todos los dispositivos residan en un solo circuito. La simple verdad es que la conexión inalámbrica no puede detectar colisiones porque no puede hacerlo.
YLearn
18

La evitación se utiliza por el simple hecho de que cada radio ("cliente") no está necesariamente dentro del alcance de la otra. Por lo tanto, sin que el AP coordine quién puede hablar, las radios distantes pueden pisarse mutuamente porque no pueden saber que el otro está transmitiendo.

Ricky Beam
fuente
44
Esta es la respuesta correcta. Para que un cliente inalámbrico pueda comunicarse, solo necesita ver el AP, no necesariamente otros clientes. Entonces, si dos clientes que están fuera del alcance del otro comienzan a hablar, se estarían bloqueando las señales del otro en el AP. Sin embargo, nunca lo sabrían, ya que no pueden escucharse. Básicamente, CSMA / CD funciona en un dominio de difusión. En inalámbrico, el dominio de difusión no se superpone completamente con los dispositivos físicos. (Piense en ello como un diagrama de Venn, cualquier superposición interferirá con todo el otro dominio.)
JelmerS
1
@JelmerS, lo siento, esta es una respuesta secundaria. Si bien es cierto, no siempre es aplicable. La verdadera razón es que, incluso si un dispositivo inalámbrico está diseñado para RX mientras es TX, no podrá detectar una colisión porque es TX sería MUCHO más fuerte que cualquier otra señal que pudiera escuchar (según el mismo EIRP) y "enmascarar" su habilidad RX esa otra señal. En términos prácticos, un dispositivo inalámbrico no puede TX y RX al mismo tiempo.
YLearn
No, esa es solo una forma diferente de decirlo. Si bien una radio puede (y recibe) mientras transmite, solo funcionaría para ese remitente. (restando TX de RX. algo que todo módem analógico ha hecho durante más de 20 años). Todos los demás escucharán basura, o el transmisor más potente y local.
Ricky Beam
1
@RickyBeam, comparar una tecnología inalámbrica con una tecnología cableada es una falacia. La mayoría de RF es half-duplex. Está diseñado como half-duplex porque es más barato / simple hacerlo y no es práctico ser full-duplex en la misma frecuencia. Los teléfonos celulares funcionan mediante pares de frecuencias, uno para TX y otro para RX. La mayoría de los otros RF son semidúplex; banda ciudadana, onda corta, FM, AM, muchas radios de policía / bomberos, muchas aplicaciones militares, etc.
YLearn
Al volver a leer, también debo tener en cuenta que CSMA / CA se implementa independientemente de cualquier mecanismo que el AP use para administrar "quién puede hablar". Es por eso que problemas como el problema del nodo oculto también pueden requerir la implementación de RTS / CTS además de CSMA / CA.
YLearn
4

EDITAR (Basado en la corrección de Ricky):

A continuación se muestra un extracto de http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.mac.html

CSMA / CA se deriva de CSMA / CD (Detección de colisión), que es la base de Ethernet. La principal diferencia es la prevención de colisiones: en un cable, el transceptor tiene la capacidad de escuchar mientras transmite y, por lo tanto, de detectar colisiones (con un cable, todas las transmisiones tienen aproximadamente la misma potencia). Pero, incluso si un nodo de radio pudiera escuchar en el canal mientras transmite, la fuerza de sus propias transmisiones enmascararía todas las demás señales en el aire. Entonces, el protocolo no puede detectar directamente colisiones como con Ethernet y solo trata de evitarlas.

El siguiente enlace es una buena lectura en CSMA / CA y también explica cómo funciona CSMA / CA:

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

jrnetclueless
fuente
1
Negativo. CSMA / CD no requiere tx / rx simultáneo. Fue diseñado MUCHO antes de que existiera Ethernet full-duplex.
Ricky Beam
Gracias por la captura @RickyBeam. ¿Podría también explicar cómo la estación retrocedería de la transmisión si no puede detectar la estación al mismo tiempo de la transmisión?
vish213
A menudo estoy de acuerdo con Ricky, pero CSMA / CD puede monitorear RX y mientras está en el proceso de TX no tiene nada que ver con la operación full-duplex. Se basa en tener conductores TX y RX separados y se detecta una colisión cuando un dispositivo envía una señal en TX mientras también recibe una señal en RX. Mientras que una radio "podría" en teoría TX y RX al mismo tiempo, esto no es prácticamente posible ... por eso, en términos básicos, no es posible que un dispositivo inalámbrico transmita TX y RX al mismo tiempo.
YLearn
@YLearn, eso no fue lo que dijo. Y estás leyendo todo como si un par trenzado (u óptico) fuera el único medio. CSMA / CD fue diseñado en una era de 10base-2 - cableado coaxial. Las colisiones fueron detectadas por el monitoreo actual en hardware temprano; el hardware posterior (más avanzado) resta TX de la línea para escuchar otras señales, pero eso todavía no es "transmitir y recibir datos al mismo tiempo"
Ricky Beam
@RickyBeam una red de bus es básicamente una red donde todos los dispositivos participan en un solo circuito. Se aplican los mismos principios. En cuanto a su comentario sobre la corriente, sí, en el hardware anterior, si había corriente, había una señal. Nunca dije que realmente podría usar la señal en RX, sino que cuando se recibió dicha señal mientras TX permitía la detección de una colisión.
YLearn
0

En un bus con cable, las pérdidas de señal son bastante pequeñas, por lo que es bastante fácil detectar colisiones. IIRC coax ethernet lo hace mirando el nivel de CC en la línea, pero sería igualmente posible hacerlo comparando la señal en el bus con la señal que está tratando de transmitir.

Eso simplemente no funciona para la radio. La pérdida de señal entre el transmisor y el receptor es masiva, decenas de DB al menos. Ante la fuerte señal saliente, no es práctico detectar la señal entrante que opera en el mismo espectro de frecuencia y es masivamente más débil. Esto básicamente descarta la detección de colisiones como un enfoque para los sistemas inalámbricos.

PS Par trenzado y fibra Ethenet utiliza canales de datos separados para cada dirección, por lo que no hay colisiones en el cable. Una "colisión" se detecta simplemente detectando actividad en ambos canales a la vez.

Peter Green
fuente