Si dos dispositivos emiten una señal wifi en la misma frecuencia al mismo tiempo y alcanzan una antena al mismo tiempo, ¿cómo pueden los datos no superponerse?

15

Quiero decir, sé que cada paquete se envía con una dirección MAC, pero ¿qué pasa con la transmisión?

¿Qué sucede si mientras el enrutador recibe un paquete, llega un paquete de otro dispositivo?

¿Cómo puede saber el enrutador que los fotones que chocan con la antena son parte del primer paquete o del segundo paquete?

¿O es que la velocidad de la luz es tan rápida que esto casi nunca sucede y los paquetes simplemente se informan como corruptos y se envían nuevamente?

Zequez
fuente
44
Eso se llama colisión . Ambos paquetes se pierden.
vonbrand

Respuestas:

20

En una red inalámbrica, solo un dispositivo está "hablando" a la vez. Cada otro dispositivo escucha y espera a que el aire en ese canal esté en silencio antes de hablar. Esta técnica se denomina acceso múltiple de detección de portadora con evitación de colisión (CSMA / CA)

Un intercambio RTS / CTS ayuda a que todos los nodos se mantengan sincronizados de manera eficiente al proporcionar una manera para que un nodo diga "oye, voy a hablar por tanto tiempo, así que espera tanto" a todos los demás nodos.

@Petr Abdulin es correcto, pero creo que todas las redes Wifi usan CSMA / CA. Las antiguas redes cableadas no conmutadas 10BaseT dependían del acceso múltiple de detección de portadora con detección de colisión (CSMA / CD) . Las colisiones no ocurren en redes donde todos los nodos están conectados a un conmutador.

LawrenceC
fuente
44
Mayormente correcto, excepto que es posible que las colisiones ocurran con CSMA / CA. Considere tres dispositivos A, B y C, donde A y C están demasiado lejos el uno del otro para recibir los datos del otro, pero B está entre ellos y puede recibir de cualquiera de ellos. A y C no pueden detectar colisiones (en lo que a ellos respecta, no hay ninguna), pero B no podrá recibir datos de ninguno de ellos, a menos que uno esté en silencio.
George Skoptsov
@GeorgeSkoptsov - Por supuesto, todavía es posible una colisión, si las colisiones no fueran posibles, todo sería inalámbrico ya que no habría ninguna pérdida de paquetes.
Ramhound
55
@Ramhound: la colisión no es la razón principal por la que hay pérdida de paquetes, y la pérdida de paquetes no es la razón principal, no todo es inalámbrico.
George Skoptsov
8

Si sucede que dos transmisiones se interfieren entre sí (colisión), ambas transmisiones se corromperán y se retransmitirán después de un retraso aleatorio, lo que reduce el riesgo de repetición de la colisión.

Petr Abdulin
fuente
1

¿Qué sucede si mientras el enrutador recibe un paquete, llega un paquete de otro dispositivo?

La consecuencia inmediata es que algunos de los bits superpuestos están dañados. A menudo, se corrompen tantos bits que el receptor ve que la secuencia de verificación de trama no coincide, y el receptor simplemente arroja los datos incorrectos y actúa como si no escuchara ninguno de los paquetes.

Más tarde, los protocolos de nivel superior eventualmente notan que un paquete no ha sido reconocido (ACK) y lo reenvían.

Sin embargo, los estándares WiFi incluyen muchas formas diferentes de prevenir tales colisiones, que incluyen:

  • La mayoría de las versiones de WiFi utilizan COFDM o alguna otra combinación de bits de corrección de error extra de espectro extendido. Si tiene suerte, solo se voltearon unos pocos bits, todos esos bits se pueden corregir en el receptor y uno de los paquetes pasa sin error.

  • Como LawrenceC ya señaló, la mayoría de las versiones de WiFi utilizan el acceso múltiple de detección de operador con evitación de colisión (CSMA / CA) : el punto de acceso inalámbrico coordina todas las computadoras portátiles que se comunican con él de modo que (generalmente) solo se transmite un dispositivo a la vez, por lo que (generalmente) no hay colisión. (A veces aún se produce una colisión con un paquete de otra computadora portátil que intenta comunicarse con otro punto de acceso inalámbrico o interferencia con otros dispositivos).

¿Qué pasa con la transmisión?

¿Qué hay de eso?

Cuando una computadora portátil está reproduciendo transmisión de audio (o transmisión de video; aproximadamente 5 Mbit / s para transmisiones de video de 1080p), el remitente la envía como una serie de pequeños paquetes. El hardware de comunicación moderno es rápido (802.11a transmite a más de 20 Mbit / s, y los estándares de Wi-Fi más recientes son aún más rápidos), por lo que hay brechas (relativamente) largas entre un paquete para esa computadora portátil y el siguiente paquete para el mismo ordenador portátil.

Entre cada paquete hay mucho tiempo para que el punto de acceso inalámbrico envíe paquetes a varias otras computadoras portátiles, escuchando los paquetes ocasionales de esas computadoras portátiles que ACEPTAN las transmisiones anteriores y solicitan la siguiente parte de la transmisión, y aún más ocasionalmente reenviar paquetes cuando hay una colisión o algún otro error.

Si todas estas computadoras portátiles están hablando con el mismo punto de acceso, entonces el punto de acceso coordina las transmisiones para que solo un dispositivo a la vez esté transmitiendo.

Si algunas de estas computadoras portátiles están hablando con un punto de acceso, y otras están hablando con otro punto de acceso (no coordinado), y todos esos dispositivos están ubicados lo suficientemente cerca como para poder escucharse fácilmente, entonces habrá colisiones frecuentes.

Cualquier paquete que colisione se retransmite. Por lo general, el paquete retransmitido finalmente llega, mucho antes de que sea hora de reproducirlo, por lo que ningún ser humano se da cuenta de que hay un problema. Entonces (típicamente) cada humano tiene la ilusión de su propio flujo dedicado "continuo".

David Cary
fuente
Recuérdame que nunca escriba el firmware del enrutador inalámbrico, suena terriblemente doloroso.
gato