¿Cuál es el mecanismo subyacente detrás de Wi-Fi que se vuelve más lento a medida que aumenta la distancia?

Es bien sabido que cuanto más te alejas de un punto de red Wi-Fi, más lenta se vuelve la red a través de Wi-Fi. Pero, ¿por qué sería este el caso? Las señales de radio se propagan esencialmente a la velocidad de la luz, por lo que la distancia de propagación de la señal no debería ser un factor para ningún rango razonable (miles de km/millas).

Mi teoría es que cada vez que se envía un paquete de red, existe la probabilidad de que no llegue a la ubicación, llegue con datos dañados o llegue en el orden incorrecto, y esta probabilidad aumenta con el aumento de la distancia, lo que obliga al TCP capa para hacer que los paquetes sean enviados y reenviados. Este proceso de envío y reenvío lleva una cantidad de tiempo cuantificable. No lo suficiente como para que un solo paquete proporcione un retraso notable, pero lo suficiente como para que si uno de cada tres paquetes necesita ser reenviado, y luego todos los paquetes se vuelven a colocar en el orden correcto en el otro extremo, se tomará más tiempo. Pero esa es solo mi teoría. ¿Cuál es la verdadera respuesta?

El problema no se resuelve (no se puede y no se debe) en la capa TCP, sino en la capa de wifi en sí. Es complicado y depende del estándar wifi real que se utilice, pero es una combinación de retransmisiones a nivel de ethernet, así como el uso de diferentes formas físicas para transmitir datos.
@PlasmaHH: Es de esperar que usen la corrección de errores de avance, con la cantidad de FEC determinada dinámicamente. Los protocolos de Ethernet no se diseñaron para la pérdida de bits que se ve en los enlaces inalámbricos
@MSalters: eso se resumiría en diferentes formas físicas
La opción FEC adaptativa de @MSalters es lo que hace Wifi, por cierto.
¿Quiere decir "más lento" como en ping o "más lento" como en MB/s?
Lo siento, TheEnvironmentalist, por revertir su reversión: Wi-Fi es una marca registrada y tiene dos grafías "oficiales": "Wi-Fi" o "WiFi". Estás usando "wifi", que no lo es. Ahora, normalmente, seguiríamos con eso (¡a quién le importa!), pero de hecho, la edición realizada por Peter fue una mejora ortográfica, ¡así que por favor no la reviertas!
@MarcusMüller En ese caso, mis disculpas. No estaba al tanto, y la edición parecía frívola.
ningún daño hecho en absoluto :)

Respuestas (3)

Explicación

Entonces, la velocidad de la luz no tiene (prácticamente) nada que ver, tienes razón.

WiFi elige un modo de transmisión basado en la calidad del enlace entre dos estaciones. Cuanto peor sea el enlace, más robusta debe ser la transmisión. Una forma de empeorar es tener un enlace más largo, lo que significa que llega menos energía de la señal al extremo receptor, lo que significa que la relación entre el ruido inherente al receptor y la señal recibida empeora; esto normalmente se mide como SNR (relación señal-ruido). Entonces, así es como la distancia entra directamente en esto.

Para hacer una transmisión más robusta, WiFi (IEEE802.11 a/g/n/ac…) hace diferentes cosas:

  1. Utilice una modulación menos fina. Si ya se ha ocupado de las comunicaciones inalámbricas digitales, es posible que haya oído que la información se transporta mediante la modulación de una onda portadora con uno de un conjunto de símbolos, que son básicamente números complejos. Cuanto más grande sea ese conjunto de símbolos, más bits podrá transportar con cada símbolo que transmita, pero también, cuanto más cerca estén estos símbolos entre sí. Más cerca significa que necesita menos potencia de ruido para terminar accidentalmente en un símbolo diferente. Entonces, si su velocidad necesita ser alta, normalmente intentaría usar una constelación con muchos símbolos, pero solo puede tolerar muy poco ruido en comparación con su potencia recibida, es decir, necesita una SNR alta.
  2. Los enlaces inalámbricos (generalmente, todos los enlaces de datos no triviales) emplean algo que llamamos codificación de canal , y especialmente corrección de errores de reenvío.: básicamente agrega redundancia a sus datos (por ejemplo, en la forma de repetir los mismos datos dos veces, o agregando una suma de verificación, o por muchos otros medios). Si está diseñando su código de canal y su decodificador inteligentemente, más redundancia significa que puede corregir muchos errores. Cuanta más redundancia, más corrección de errores. La desventaja de eso, por supuesto, es que en lugar de transportar más datos "interesantes", se ve obligado a transportar esa redundancia. Por lo tanto, si usa un código de canal que agrega el doble de la cantidad de datos originales como redundancia para poder manejar una gran cantidad de errores (ver 1.), entonces solo puede usar 1/3 de su tasa de bits física para la carga útil real pedacitos

Comentario avanzado

Es bien sabido que cuanto más te alejas de un punto de red Wi-Fi, más lenta se vuelve la red a través de Wi-Fi.

El conocimiento común, como de costumbre, es una gran simplificación. La tendencia general es correcta, cuanto más lejos, menos poder, como se explicó anteriormente.

Los canales multitrayecto significan que las cosas no van monótonamente cuesta abajo con la distancia

Pero: WiFi generalmente se usa en interiores. En estos escenarios, tenemos lo que llamamos un escenario fuerte de trayectos múltiples. Eso significa que debido a los reflejos en las paredes, los muebles, las cosas que se encuentran en el entorno general, puede obtener diferentes tipos de señales de autointerferencia. Y eso podría significar que, aunque esté relativamente cerca del transmisor, su receptor podría no ver nada, porque dos caminos tienen una diferencia de media longitud de onda y se cancelan entre sí.

Por lo tanto, para la ruta múltiple interior típica, generalmente no se puede decir "cuanto más lejos, peor"; por lo general es mucho menos fácil. Llamamos a ese fenómeno desvanecimiento (y en este caso, probablemente desvanecimiento a pequeña escala ).

Diversidad de canales para ganancias de robustez

Entonces: los estándares WiFi más modernos admiten MIMO (entrada múltiple, salida múltiple), lo que básicamente significa que tiene múltiples antenas en cada extremo de un enlace. La idea es que desde la antena transmisora ​​1 hasta la antena receptora 1 (llamémosla 1->1) habrá (con una alta probabilidad) una realización de canal diferente (¡los canales son aleatorios!) que desde la antena transmisora ​​2 hasta la antena receptora 1 ( 2->1), y 1->2, y 2->2, y así sucesivamente.

Estos canales físicamente diferentes pueden ayudar con el problema de desvanecimiento mencionado anteriormente. Aunque el canal multirruta 1->1 podría, al azar, resultar gravemente dañado al cancelarse a sí mismo, 1->2 aún podría estar bien. Su "probabilidad de maldad" promedio disminuye con la cantidad de antenas. ¡Bonito! Eso significa que cuanto más no estén correlacionados nuestros canales (es decir, la menor probabilidad de falla de un canal significa que los otros también serán malos), mejor puede ser nuestra transmisión.

Eso también significa que "muy cerca" no es inherentemente "muy bueno", porque eso también significa que, probablemente, las diferentes antenas ven prácticamente la misma realización del canal, por lo que no obtienes esa "seguridad" de "no, es poco probable que todos los canales sean malos al mismo tiempo".

Empleando MIMO por diversión y ganancias (y tarifas más altas)

Además, si está siendo matemáticamente inteligente al respecto, puede encontrar una descripción matemática para un canal entre la antena de transmisión i y recibir antena j , llamemos a eso representación h i , j , y luego simplemente construir una matriz H fuera de estas representaciones de canal, con el número de fila que dice de qué antena transmisora ​​estamos hablando, y el número de columna que dice qué antena receptora.

Para ver lo que recibimos en nuestras antenas de recepción cuando enviamos diferentes señales en las diferentes antenas de transmisión, simplemente continuamos y multiplicamos un vector fila s que contiene todas estas señales con la matriz de canales H :

(1) r = s H .

El problema es que probablemente nos gustaría tener muchos canales totalmente independientes entre transmisión y recepción, es decir, que lo que enviamos de una antena a otra antena no tenga efecto en todos los demás pares de antenas. Luego, podemos enviar múltiples flujos de datos en paralelo . ¡Eso nos dará un gran aumento en la velocidad de transmisión!

Lamentablemente, la ecuación anterior dice que de alguna manera tenemos que sopesar y sumar todas las señales de transmisión para obtener la señal de recepción de cada antena. Mmm, triste.

Ahora, armado con esa ecuación, el matemático interno en nosotros nos dice que, hm, si pudiéramos hacerlo para que transformemos H a alguna otra matriz Λ , podríamos estar teniendo canales realmente independientes.

Eso es posible si Λ es de forma diagonal, es decir, es todo ceros, excepto por sus entradas diagonales. ¡El hecho feliz es que en realidad podemos hacer eso! Hay un método matemático que nos da

(2) H = tu Λ V

con Λ siendo diagonal; es la descomposición en valores singulares (SVD). Entonces, podemos reescribir ( 1 ) a

(3) r = s tu Λ V .

Ahora, eso realmente no nos está ayudando, porque aunque acabamos de encontrar otra forma de denotar nuestra matriz de canales, esta fórmula sigue siendo (reemplazada por alguna otra forma de escribirla) la original H , que decía que todas las antenas interfieren entre sí. Pero mira este truco de magia: Multipliquemos con V desde la derecha Ya que V es una *matriz unitaria, V V = yo :

(4) r V = s H V (5) = s tu Λ V V (6) = s tu Λ yo (7) = s tu Λ

Genial. Leer ( 7 ) otra vez en voz alta:

Si multiplicamos la señal recibida por V , nuestro efecto de canal en realidad se reduce a una matriz diagonal, y podemos enviar arbitrariamente s sobre ese canal, si primero los multiplicamos con tu . La matriz diagonal significa que solo obtenemos tantos canales independientes como entradas diagonales, es decir min ( antenas de recepción, antenas de transmisión ) ).

Entonces, el algoritmo se vuelve bastante fácil:

  1. Medida H , es decir, la matriz de canales que contiene todos los canales en todas las partes de la antena. Esta es en realidad la parte más difícil.
  2. Haz el SVD en H , dándonos tu Λ V .
  3. En el lado del transmisor, multiplique nuestra señal de transmisión prevista s con tu .
  4. En el lado del receptor, multiplica nuestra señal de recepción r con V .

Todo esto solo funciona si el SVD da buenos resultados, y eso solo sucede cuando los canales del par de antenas físicas son lo suficientemente independientes. Eso significa que para MIMO, la proximidad significa que en realidad puede transmitir potencialmente incluso menos que para una distancia media, porque la distancia significa que hay más reflectores aleatorios diferentes en el camino. (Después de cierta distancia, los efectos de pérdida de ruta dominan y siempre empeoras).

El problema no es el tiempo que se tarda en ir del emisor (router) al receptor (tu portátil) que como dices es despreciable con unos pocos metros, sino la potencia que llega con la distancia.

Echa un vistazo a la fórmula de Friis .

ingrese la descripción de la imagen aquí

El rendimiento de la red es la tasa de entrega exitosa de mensajes a través de un canal de comunicación. Con menos potencia recibida, las posibilidades de que un mensaje no se reciba correctamente son mayores.

El ruido es algo a tener en cuenta aquí.

Puedo ver claramente que esto se relaciona con un retraso de tiempo.
¿Por qué una potencia más baja debería hacer que la conexión sea más lenta?
el rendimiento de la red es la tasa de entrega exitosa de mensajes a través de un canal de comunicación. Con menos potencia recibida, las posibilidades de que un mensaje no se reciba correctamente son mayores. El ruido es algo a tener en cuenta aquí.
Esta respuesta necesita un enlace a en.wikipedia.org/wiki/Shannon%E2%80%93Hartley_theorem , que obtiene la capacidad del canal (bits por segundo) de la potencia de la señal (calculada en esta respuesta) dividida por la potencia del ruido (supuestamente constante).
… y por lo tanto, en realidad no responde a la pregunta central de "por qué se vuelve más lento", sino solo a "por qué hay menos potencia de recepción" (que no se preguntó).
Una potencia más baja significa menos posibilidades de que la potencia de la señal exceda la potencia del ruido.

La pérdida fundamental con la distancia frente a la frecuencia es principalmente el tamaño del área de apertura de la portadora f proporcional al cuadrado de la longitud de onda. Por lo tanto, la pérdida de trayectoria es menor para las frecuencias más bajas, que es el término dominante en Friis Loss.

El segundo problema más común es la orientación de la antena y las pérdidas en el patrón de radiación, pero depende menos de la frecuencia que del patrón toroidal de los resonadores y dipolos de 1/4 de onda. La señal mínima o patrón nulo está mirando hacia abajo en el extremo de la antena.

Los conductores y dieléctricos de algunos materiales de construcción permiten que las señales se reflejen por todas partes. Sin embargo, esto también es un problema para las pérdidas de Rice Fading en niveles de señal marginales <-80dBm para señales de clase B y comienza a ser un problema por encima de esto. La línea de visión sin reflejos en el suelo del agua es la ruta de transmisión óptima para microondas. Sin embargo, para VHF e inferiores, una gran masa de agua y la ionosfera actúan como reflectores para aumentar el alcance de una señal. Pero para frecuencias más altas, los reflejos conducen a señales más distorsionadas y provocan errores de desvanecimiento de Ricean.

Cada banda tiene su propio umbral de error y el WiFi de alta velocidad de banda más ancha que usa 20 MHz o 40 MHz tiene un umbral más alto debido a las Leyes de Shannon sobre SNR frente al ancho de banda de ruido frente a BER. El mejor umbral suele ser la velocidad de datos más baja, pero depende del diseño. Siempre bloqueo las opciones de mi chip WiFi a 11 Mbps en Windows para obtener un mayor rendimiento en los niveles de señal marginal que el modo automático porque incluso el movimiento humano alrededor de las rutas puede causar la pérdida de paquetes y reintentos ocultos a velocidades de datos más altas, como 54 MBps y más. Nuevamente, las leyes de Shannon se aplican aquí a partir de los efectos Ricean Fading y los efectos fundamentales de Friis Loss.

En el modo automático, un chip WiFi siempre intentará reducir la velocidad de datos automáticamente mediante el módem móvil cuando la pérdida de paquetes sea demasiado alta. Primero, puede tratar de volver a entrenar al receptor para la ecualización de retardo de grupo. Luego, negocie una tasa de datos más baja si la tasa de error es demasiado alta. Esto se sigue de la ley de Shannon. Pero recuerde que estos ecos y el desvanecimiento del arroz afectan a este grupo, retrasan la ecualización y mover la antena Wifi obliga a volver a entrenar donde hay muchos ecos en un edificio con niveles bajos de señal. El resultado de los cambios en la intensidad del eco de la portadora es distorsionar el patrón del ojo en las señales demoduladas.

Mi experiencia me dice que cuanto más lejos estén sus puntos finales entre el móvil y el enrutador WiFi, más posibilidades hay de reflejos y más posibilidades de que se cancelen los reflejos y más abandonos. Esto se llama Desvanecimiento del arroz y es la causa más común de los resultados de mi prueba para la pérdida de paquetes en niveles de campo marginales por debajo de -75dBm.

Las señales a continuación para net y dlink-guest son de mi PC arriba con un dongle WiFi en una torre y un enrutador Dlink de alta potencia abajo colocado en un cajón. Mover la antena en el enrutador hizo que cambiara los niveles de señal y cambiara de canal y de red a invitado sin que el usuario se diera cuenta de la pérdida momentánea de conectividad.ingrese la descripción de la imagen aquí