¿Por qué las redes móviles tienen altas latencias? ¿Cómo se pueden reducir?

39

Cada vez veo más las tecnologías de redes móviles que se utilizan para obtener acceso a Internet en áreas donde de otro modo no está disponible.

Si bien las redes móviles generalmente aún no son viables como la conexión a Internet principal, la tecnología móvil parece una buena opción para una recuperación de emergencia.

El ancho de banda no es el problema: con HDSPA, son posibles velocidades de varios MBit, lo que proporciona un enlace ascendente decente. Sin embargo, sé por experiencia personal que los enlaces de Internet de las redes móviles (a través de GPRS, UMTS, etc.) tienen latencias mucho más altas que las DSL normales (200-400 ms para UMTS, incluso más para GPRS). Por supuesto, esto los hace inadecuados para muchas aplicaciones, como VoIP y teleconferencias.

  • ¿De dónde viene esta latencia?
  • ¿Hay alguna tecnología disponible que pueda mitigar este problema, para que UMTS sea viable para aplicaciones de baja latencia?

Supongo que debe haber alguna razón técnica inherente, pero ¿cuál es? ¿Tiene que ver con cómo se transmiten los datos por aire? Y si se debe a la transmisión inalámbrica, ¿por qué la WLAN tiene latencias mucho más bajas?

sleske
fuente
66
Pertenece a runningamajortelecom.stackexchange.com. ;-)
ceejayoz
tipo de dispositivo móvil, ubicación de la torre celular, barreras a la señal, etc.
DanBig
3
Esta pregunta no es adecuada para superusuario. Pertenece aquí.
resmon6
2
Lo superarán. Como ingeniero de redes, espero ver una respuesta reflexiva a esta pregunta.
resmon6
1
Cuida

Respuestas:

46

El libro "High Performance Browser Networking" de Ilya Grigorik responde exactamente a esto. Hay un capítulo completo (7mo) dedicado a las redes móviles. El libro afirma que el problema con el alto rendimiento casi siempre está relacionado con la latencia, generalmente tenemos mucho ancho de banda, pero los protocolos se interponen. Ya sea TCP de inicio lento , el Controlador de recursos de radio (RRC) o configuraciones subóptimas. Si experimenta una latencia deficiente solo en redes móviles, es la forma en que están diseñadas.

Hay una tabla en el libro sobre latencias típicas:

Tabla 7-2. Velocidades de datos y latencia para una conexión móvil activa

Generación | Velocidad de datos | Estado latente
2G | 100–400 Kbit / s | 300–1000 ms
3G | 0.5–5 Mbit / s | 100–500 ms
4G | 1–50 Mbit / s | <100 ms

Aunque es muy relevante para la latencia, el apretón de manos tripartito característico de TCP o el inicio lento realmente no responden la pregunta, ya que afectan a las conexiones por cable por igual. Lo que realmente afecta la latencia en las redes móviles es la capa bajo IP. Si la capa bajo IP tiene una latencia de medio segundo, una conexión TCP a un servidor tomará ~ 1.5 segundos (0.5s * 3), ya que verá que los números se suman bastante rápido. Como se dijo antes, eso supone que el móvil no está inactivo. Si el teléfono está inactivo, primero tiene que "conectarse" a la red, eso requiere negociar una reserva de recursos con la torre (simplificado), y eso toma entre 50-100 ms en LTE, hasta varios segundos en 3G y más en redes anteriores.

Figura 7-12. Latencias de flujo de solicitud LTE

  1. Latencia del plano de control : Costo fijo de latencia de una sola vez incurrido para la negociación RRC y las transiciones de estado: <100 ms para inactivo a activo, y <50 ms para inactivo a activo.
  2. Latencia del plano del usuario : Costo fijo por cada paquete de aplicación transferido entre el dispositivo y la torre de radio: <5 ms.
  3. Latencia de red central: costo dependiente del operador para transportar el paquete desde la torre de radio a la puerta de enlace de paquetes: en la práctica, 30–100 ms.
  4. Latencia de enrutamiento de Internet: costo de latencia variable entre la puerta de enlace de paquetes del operador y la dirección de destino en la Internet pública.

En la práctica, la latencia de extremo a extremo de muchas redes 4G implementadas tiende a estar en el rango de 30 a 100 ms una vez que el dispositivo está conectado.

Entonces, tiene una solicitud (Figura 8-2. Componentes de una solicitud HTTP "simple"):

  1. Negociación CRR 50-2500 ms
  2. Búsqueda de DNS 1 RTT
  3. Protocolo de enlace TCP 1 RTT (conexión preexistente) o 3 RTT (nueva conexión)
  4. Apretón de manos TLS 1-2 RTT
  5. Solicitud HTTP 1-n RTT

Y con datos reales:

Tabla 8-1. Sobrecarga de latencia de una sola solicitud HTTP

                       El | 3G | 4G
Plano de control | 200–2,500 ms | 50–100 ms
Búsqueda de DNS | 200 ms | 100 ms
TCP apretón de manos | 200 ms | 100 ms
Apretón de manos TLS | 200–400 ms | 100-200 ms
Solicitud HTTP | 200 ms | 100 ms
Latencia total sobrecarga | 200–3500 ms | 100–600 ms

Además, si tiene una aplicación interactiva que desea realizar moderadamente bien en una red móvil, puede experimentar deshabilitando el algoritmo de Nagle (el kernel espera que los datos se unan en paquetes más grandes en lugar de enviar múltiples paquetes más pequeños) busque formas de probarlo en https://stackoverflow.com/a/17843292/869019 .


Existe la opción de leer el libro completo de forma gratuita para todos en https://hpbn.co/ patrocinado por Velocity Conference. Este es un libro muy recomendado, no solo para las personas que desarrollan sitios web, es útil para todos los que sirven bytes a través de una red a un cliente.

Jorge Nerín
fuente
Gracias por la información, muy interesante. Dado que no todos pueden leer el libro (y las respuestas deben ser independientes): ¿Podría explicar un poco más cómo el inicio lento de TCP, los controladores de radio y la configuración contribuyen a la latencia?
sleske
1
Acabo de editar la respuesta con fragmentos y tablas del libro para que sea útil por sí sola.
Jorge Nerín
2
Nota personal: Otro documento interesante sobre latencia: Latencia en redes de datos HSPA , Qualcomm.
sleske
Muchas gracias. Estoy tratando de explicarle a mi jefe por qué estamos teniendo problemas con la latencia sobre los módems 3G para los quioscos desplegados de forma remota, y esto lo dejó fuera del parque.
jklemmack
4

Sospecho que una gran proporción de la latencia que puede experimentar al usar tecnologías de "banda ancha celular" es un problema compuesto de varias cosas.

Hay distancia, pero como se menciona en syneticon-dj, en realidad solo es una proporción muy pequeña del tiempo de ida y vuelta.

Aquí hay algo a tener en cuenta ... Los retrasos que experimente como cliente (especialmente como cliente doméstico o de una pequeña empresa) probablemente se induzcan artificialmente, al menos en cierta medida. Existe una clase de comunicaciones 3G y GSM para la utilización de M2M, para SCADA, etc., que a veces puede proporcionar una mayor confiabilidad y una menor transmisión de latencia. Como resultado, generalmente son prohibitivamente caros.

Básicamente, te enfrentas a la conformación del tráfico. O el ISP / Telco lo está haciendo para priorizar a los clientes que pagan mejor, o la celda a la que está conectado está un poco ocupada, o toda su red está un poco lenta (intente 00:00 GMT el 1/1/2012, para ejemplo).

Pero hay una forma de evitar todo esto, aunque es un poco astuto. Básicamente, necesitaría un proxy de conexión TCP antes de que su tráfico salga por la WWAN móvil. Este proxy esencialmente enviaría un ACK falso a su aplicación, ya que el ACK real podría retrasarse por la configuración del tráfico del ISP.
Es claramente dudoso, pero varios proveedores de satélites usan este mecanismo para hacer que la latencia parezca más baja de lo que realmente es.

Tom O'Connor
fuente
El proxy tcp es una idea interesante y ayudará a TCP a hacer un mejor uso del ancho de banda disponible. Sin embargo, realmente no ayuda con el tipo de aplicación sobre la que pregunta el OP. La latencia en la conexión es visible para el usuario. Creo que probablemente podría usar Phoebus: e2epi.internet2.edu/phoebus.html como tal proxy TCP.
Dan Pritts
2

Es un poco tarde para el juego, pero es posible que desee consultar el artículo de mi Calendario de rendimiento sobre el tema: http://calendar.perfplanet.com/2012/latency-in-mobile-networks-the-missing-link/

tl; dr: una parte importante de la latencia móvil se debe a un enrutamiento no optimizado en el recorrido de retorno.

r0u1i
fuente
Punto interesante Sin embargo, esto explica solo una parte del problema. GPRS generalmente tiene latencias de 500-1,000ms. La latencia en un continente, por lo general, no es más de 200-300 ms, por lo que incluso el enrutamiento muy derrochador no debería proporcionarle 1,000 ms.
sleske
@sleske Sospecho que con GPRS (y otras tecnologías antiguas) está llegando a un cuello de botella de ancho de banda. Puede agrupar tantos paquetes en 56 kb / s (máx.) Antes de que comiencen a ponerse en cola (tal vez me equivoque, pero ¿56 kb / s no significa aproximadamente cuatro marcos de 1500 bytes por segundo?).
r0u1i
Backhaul no es la respuesta. Al menos desde el punto de vista del metro. Los SLA requieren tráfico de backhaul en el Carrier ethernet en todas partes donde he estado en el rango de 8-12 ms, torre a MSC / MTSO. La forma en que el operador celular enruta el tráfico desde allí hacia la red troncal es asunto suyo, pero no debería ser diferente del tráfico normal de ISP / no celular.
1

Las tecnologías de módem de teléfono celular sufren de alta latencia debido a la naturaleza de las comunicaciones al aire libre: las distancias de transmisión WLAN suelen ser mucho más cortas que las de las otras tecnologías que mencionó, por lo tanto, esta es una razón por la cual la latencia es menor.

Isaac Butt
fuente
66
La distancia es realmente una preocupación menor aquí. La velocidad de propagación de las ondas de radio en el aire es bastante cercana a la velocidad de la luz en el vacío (aproximadamente 300,000 km / s), por lo que incluso una distancia de 3 km representaría solo 0.02 ms de retraso de ida y vuelta.
the-wabbit
2
@ syneticon-dj Tiene razón en parte en que el viaje a la torre es solo una (muy pequeña fracción) del retraso en las redes celulares. También hay redundancia de transmisión (el enlace de radio nunca es perfecto en el mundo real y la corrección de errores es inherentemente inductora de retardos), la red de retorno al edificio de conmutación / conmutación de telecomunicaciones (generalmente en una red de paquetes en estos días, puede ser uno o más saltos) , conectándolo a un enlace de voz o datos en el CO, y luego suponiendo que estamos hablando de conexiones de datos que está en The Big Bad Internet con todos sus retrasos inherentes.
voretaq7
1
También agregaría algoritmos de detección de colisión / evitación de colisión y parámetros de operación actuales (como una velocidad de transmisión reducida que resulta en un mayor tiempo de bits que debería representar 1-4 ms) también. Pero no sé lo suficiente sobre UMTS para componer una respuesta integral.
the-wabbit
@ syneticon-dj Buenos puntos; Escribí un artículo sobre tecnología CDMA, ¡pero eso fue hace mucho tiempo!
Isaac Butt