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

Guia do Lag em Jogos › L4 Conexão de internet

IP compartilhado pela operadora (CGNAT) Carrier-grade NAT

ID da causa isp-cgnat · Responsável principal Desenvolvimento do cliente (Equipe de desenvolvimento) · Também envolvidos Desenvolvimento do servidor (Equipe de desenvolvimento), Infraestrutura de rede (Equipe de infraestrutura)

Abrir o card interativo, com figuras e simulações →

Redes móveis e algumas operadoras fazem vários assinantes dividirem um mesmo IP e apagam em pouco tempo o mapeamento das conexões ociosas.

Por quê O equipamento da operadora gerencia a tabela de sessões de uma enorme quantidade de assinantes → Efeito Limite da tabela de sessões, timeout de inatividade curto → Na tela Desconexão depois de ficar parado, falsos positivos que bloqueiam de uma vez todos que usam o mesmo IP

Sintomas
Desconexão, Não conecta / loading infinito
Fatores
Perda de pacotes
Quem é afetado
Região ou operadora específica
Quando
Depois de ficar parado
Responsável
Responsável principal Desenvolvimento do cliente (Equipe de desenvolvimento) · Também envolvidos Desenvolvimento do servidor (Equipe de desenvolvimento), Infraestrutura de rede (Equipe de infraestrutura)
O que fazer (Equipe de desenvolvimento)
Cliente: enviar heartbeats em intervalos de no máximo metade do menor timeout de inatividade (em redes móveis, pode ser de cerca de 30 segundos), sempre a partir do cliente (o mapeamento do CGNAT da operadora só é renovado com certeza por pacotes que saem da rede interna), reconectar automaticamente se cair. Servidor: responder aos heartbeats e encerrar a conexão por conta própria se não receber nenhum por um certo tempo, usar um token de sessão para manter o mesmo jogador quando o mapeamento mudar e o endereço e a porta forem outros, ter cuidado com políticas de bloqueio por IP, porque várias pessoas podem dividir um IP (decidir junto com critérios de conta e de dispositivo).
O que fazer (Equipe de infraestrutura)
Ajustar os limites de conexões por IP e de novas conexões por segundo nos firewalls e equipamentos de proteção contra DDoS para os IPs compartilhados das operadoras (elevar o limite ou abrir exceção para os blocos das operadoras móveis).
Números de referência
Em redes móveis, o timeout de inatividade de UDP pode ser de cerca de 30 segundos.
No gráfico
Queda de conexões em massa · Desconexões (timeout de heartbeat), tempo ocioso antes da queda (por operadora)
Onde olhar
Ver nos logs de conexão quantas contas estão conectadas ao mesmo tempo por IP e de qual operadora (ASN), e juntar por operadora o tempo ocioso das conexões que caíram depois de ficar paradas. No lado do jogador, conferir o endereço de internet (WAN) na página de configuração do roteador
Confirma se
Nos blocos das operadoras móveis, várias contas conectam de um mesmo IP, e o tempo ocioso antes da queda se concentra em valores curtos, por volta de 30–60 segundos. O endereço WAN do roteador está em 100.64.0.0/10 (espaço de endereços compartilhado para o NAT das operadoras) ou é diferente do endereço que o servidor vê
Descarta se
Concentrado em quem usa roteador doméstico, independentemente da operadora: “Expiração do mapeamento NAT”
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo

Fontes

  1. A Multi-perspective Analysis of Carrier-Grade NAT Deployment (IMC 2016) ACM
    Tempos de mapeamento UDP medidos em NATs: 10–200 segundos, 74% de até 1 minuto; mediana dos CGNs de 65 segundos em redes móveis e de 35 segundos em redes fixas
  2. RFC 6888: Common Requirements for Carrier-Grade NATs (CGNs) IETF
    CGNs precisam permitir limitar o número de portas externas por assinante e a taxa de criação de novos mapeamentos
  3. RFC 6269: Issues with IP Address Sharing IETF
    Quando muitos dividem um endereço, o bloqueio por IP (penalty box) também bloqueia os outros assinantes desse endereço
  4. RFC 6598: IANA-Reserved IPv4 Prefix for Shared Address Space IETF
    100.64.0.0/10 é o bloco de endereços compartilhado usado entre o equipamento de NAT da operadora (CGN) e o roteador do assinante

Veja também

Mesma camada: L4 Conexão de internet

Mesmo sintoma (Desconexão) em outras camadas

Ver o card interativo, com figuras e simulações