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

Libro blanco del lag en juegos › L4 Ruta por internet

IP compartida del ISP (CGNAT) Carrier-grade NAT

ID de la causa isp-cgnat · Responsable principal Desarrollo de cliente (Equipo de desarrollo) · También Desarrollo de servidor (Equipo de desarrollo), Infraestructura de red (Equipo de infraestructura)

Abrir la ficha interactiva con gráficos y simulaciones →

En las redes móviles y en algunos ISP, varios abonados comparten una misma IP, y el mapeo de las conexiones inactivas se borra al poco tiempo.

Por qué Un dispositivo del ISP (CGNAT) gestiona la tabla de sesiones de muchísimos abonados → Efecto Límite de la tabla de sesiones, timeout por inactividad corto → En pantalla Desconexión tras un rato inactivo, falsos positivos que bloquean a la vez a todos los que comparten la misma IP

Síntomas
Desconexión, No conecta / carga infinita
Factores
Pérdida de paquetes
A quién afecta
Una región o un ISP
Cuándo
Tras un rato inactivo
Responsable
Responsable principal Desarrollo de cliente (Equipo de desarrollo) · También Desarrollo de servidor (Equipo de desarrollo), Infraestructura de red (Equipo de infraestructura)
Tareas (Equipo de desarrollo)
Cliente: enviar heartbeats a intervalos de como mucho la mitad del timeout por inactividad más corto (en redes móviles a veces ronda los 30 s), enviarlos desde el cliente (el mapeo CGNAT del ISP solo se renueva con seguridad con los paquetes que salen desde dentro), reconectar automáticamente si se corta. Servidor: responder a los heartbeats y cerrar primero la conexión si no llegan durante cierto tiempo, reconocer al mismo jugador con un token de sesión aunque el mapeo cambie y llegue desde otra dirección y otro puerto, ser prudente con los bloqueos por IP porque muchas personas pueden compartir una IP (decidir junto con criterios de cuenta y dispositivo).
Tareas (Equipo de infraestructura)
Ajustar a las IP compartidas de los ISP los límites de conexiones por IP y de conexiones nuevas por segundo de los firewalls y los dispositivos de protección DDoS (subir el umbral para los rangos de los operadores móviles o dejarlos como excepción).
Cifras de referencia
En redes móviles, el timeout por inactividad de UDP a veces ronda los 30 segundos.
En el gráfico
Desconexión masiva · Desconexiones (timeout de heartbeat), tiempo inactivo antes de la desconexión (por ISP)
Dónde mirar
En los logs de conexión, ver cuántas cuentas se conectan a la vez desde una IP y de qué ISP (ASN) son, y reunir por ISP el tiempo inactivo de las conexiones que se cortaron tras estar inactivas. En el lado del jugador, mirar la dirección de internet (WAN) en la página de administración del router
Se confirma si
En los rangos de los operadores móviles, varias cuentas se conectan desde una misma IP y el tiempo inactivo antes de la desconexión se concentra en valores cortos, de unos 30–60 s. La dirección WAN del router está en 100.64.0.0/10 (espacio de direcciones compartido para el NAT del operador) o no coincide con la que ve el servidor
Se descarta si
Si se concentra en jugadores con router doméstico, sin importar el ISP, apunta a “Expiración del mapeo NAT”
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego

Fuentes

  1. A Multi-perspective Analysis of Carrier-Grade NAT Deployment (IMC 2016) ACM
    Duración medida del mapeo UDP en NAT: 10–200 s, el 74% de 1 minuto o menos; mediana de CGN: 65 s en redes móviles y 35 s en redes fijas
  2. RFC 6888: Common Requirements for Carrier-Grade NATs (CGNs) IETF
    El CGN debe permitir limitar el número de puertos externos por abonado y la velocidad de creación de mapeos nuevos
  3. RFC 6269: Issues with IP Address Sharing IETF
    Cuando varios comparten una dirección, el bloqueo por IP (penalty box) también bloquea a los demás abonados de esa dirección
  4. RFC 6598: IANA-Reserved IPv4 Prefix for Shared Address Space IETF
    100.64.0.0/10 es el rango de direcciones compartido que se usa entre el dispositivo NAT del operador (CGN) y el router de cada abonado

Ver también

Misma capa: L4 Ruta por internet

Causas de otras capas con el mismo síntoma (Desconexión)

Ver la ficha interactiva con gráficos y simulaciones