한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Libro blanco del lag en juegos › Causas raíz de la retransmisión TCP

ACK retrasados o perdidos (subida saturada) ACK path congestion on asymmetric links

ID de la causa rt-ack-path · Responsable principal Externo (Externo) · También Desarrollo de cliente (Equipo de desarrollo)

Abrir la ficha interactiva con gráficos y simulaciones →

Los datos llegaron bien, pero si el ACK que confirma la recepción se retrasa o se pierde en una cola de subida llena, el emisor lo da por perdido y retransmite.

Por qué En casa, una subida de video o una copia de seguridad en la nube satura la subida → Efecto Los ACK se retrasan cientos de ms en la cola del router, o la cola se desborda y se descartan → En pantalla Los paquetes del juego que envía el servidor suelen llegar a tiempo. Tus inputs, acumulados en la misma cola de subida, se retrasan: input lag y rubber banding, y a veces retransmisiones espurias

Síntomas
Input lag, Rubber banding
Factores
Latencia, Pérdida de paquetes
A quién afecta
Misma casa
Cuándo
De vez en cuando, al azar, Horas pico de la noche
Responsable
Responsable principal Externo (Externo) · También Desarrollo de cliente (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Mostrar en pantalla el estado de la red cuando el ping se dispara, mostrar el aviso “Revisa si hay programas subiendo archivos”.
Tareas (Externo)
Indicar a los jugadores que acorten la cola de subida con SQM en el router, prioricen los paquetes pequeños (ACK) y limiten la velocidad de subida (subidas de video, copias de seguridad en la nube).
Cifras de referencia
Como cada ACK posterior confirma también los anteriores, que se pierdan unos pocos normalmente no es un problema. El problema es el retraso en la cola.
En el gráfico
Alto solo en algunos · RTT (ping) por conexión
Dónde mirar
Desde la computadora del jugador, comparar el ping al servidor del juego con la subida (subida de video, copia de seguridad en la nube) activa y detenida. En el servidor, el rtt de la conexión de ese jugador con ss -ti
Se confirma si
Solo durante la subida el ping sube a cientos de ms y aparecen input lag y rubber banding, que desaparecen enseguida al detener la subida. Desde el servidor, el rtt de esa conexión también sube en ese momento
Se descarta si
Si hay pérdida y latencia sin relación con la subida, apunta a “Pérdida en el tramo inalámbrico” o a una causa en la ruta. Si solo va lento el sentido servidor → jugador y no tiene que ver con la subida, a “Desbordamiento de la cola en el cuello de botella (pérdida por congestión)”
Se verifica con
En el entorno del jugador

Fuentes

  1. RFC 3449: TCP Performance Implications of Network Path Asymmetry IETF
    En conexiones asimétricas con poca subida, si los ACK se retrasan o se pierden, el rendimiento de TCP cae; como los ACK son acumulativos, aunque se pierdan algunos, los posteriores los sustituyen; medidas como la planificación con prioridad para los ACK
  2. Smart Queue Management Bufferbloat.net
    Mantener cortas las colas del router con gestión de colas y shaping
  3. tc-cake(8) — Linux manual page iproute2
    CAKE separa los flujos y minimiza la latencia de los que envían poco y de forma espaciada (sparse flows)
  4. ss(8) — Linux manual page iproute2
    rtt (tiempo medio de ida y vuelta) y rttvar (desviación) de ss -i

Ver también

Misma capa: Causas raíz de la retransmisión TCP

Causas de otras capas con el mismo síntoma (Input lag)

Ver la ficha interactiva con gráficos y simulaciones