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

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

Roteamento com desvio Suboptimal routing

ID da causa isp-routing · Responsável principal Infraestrutura de rede (Equipe de infraestrutura) · Também envolvidos Externo (Externo)

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

Por causa dos contratos de interconexão entre operadoras, o tráfego até um servidor próximo pode dar uma volta longa.

Por quê Sua operadora e a operadora do servidor não têm conexão direta → Efeito O tráfego passa por outro país ou outra cidade, o que soma distância e equipamentos no caminho → Na tela Só os jogadores de certas operadoras têm ping muito alto

Sintomas
Input lag
Fatores
Latência
Quem é afetado
Região ou operadora específica
Quando
Sempre
Responsável
Responsável principal Infraestrutura de rede (Equipe de infraestrutura) · Também envolvidos Externo (Externo)
O que fazer (Equipe de infraestrutura)
Conectar com várias operadoras (multihoming), monitorar o ping por operadora para achar as que fazem desvio, negociar ajustes de rota com as operadoras.
O que fazer (Externo)
Pedir à operadora que ajuste a rota.
Números de referência
Mesmo dentro do mesmo país, o ping pode ser duas ou três vezes maior conforme a rota.
No gráfico
Sempre alto desde o início · RTT (por operadora/ASN)
Onde olhar
Comparar o RTT por operadora (ASN) e ver, com traceroute ou mtr a partir de probes do RIPE Atlas na operadora lenta ou dos jogadores, por quais países e cidades a rota passa. Medir IPv4 e IPv6 separadamente (mtr -4, -6)
Confirma se
Na mesma região, só uma operadora fica sempre mais alta e a rota passa por outro país ou por uma cidade distante. Ou só uma família de endereços (IPv4 ou IPv6) fica alta
Descarta se
Todas as operadoras igualmente altas: “Atraso de propagação (distância física)”. Alto só à noite: “Congestionamento no peering em horário de pico”
Como verificar
Ferramentas de infra (sem precisar do código do jogo)
Saiba mais
As rotas de IPv4 e IPv6 são definidas separadamente, então, para o mesmo servidor, uma delas pode dar uma volta longa e ficar lenta (medição da APNIC de 2016: dentro de uma mesma operadora, apareceram grupos de usuários para quem o IPv6 era 15, 25 ou 75 ms mais lento que o IPv4). Apps com Happy Eyeballs (RFC 8305) usam o que conectar primeiro entre IPv6 e IPv4: tentam o IPv6 antes e, se ele conectar dentro dos 250 ms recomendados, nem tentam o IPv4. Por isso tendem a ficar no IPv6 mesmo quando esse caminho é um pouco mais lento. Se o ping está alto só em uma operadora, meça IPv4 e IPv6 separadamente.
Casos reais
Riot Games 2015: Desvios no tráfego do League of Legends e o Riot Direct

Fontes

  1. Quantifying the Causes of Path Inflation (SIGCOMM 2003) ACM
    Análise de 65 ISPs: as políticas de peering entre ISPs e o roteamento entre domínios alongam muito as rotas
  2. The Internet at the Speed of Light (HotNets 2014) ACM
    As rotas reais entre roteadores têm, na mediana, cerca de 1,5 vez a distância em linha reta pela fibra, e há casos em que pacotes entre dois pontos próximos dão a volta pelo outro lado do mundo (hairpinning)
  3. Probe Selection (RIPE Atlas REST API) RIPE NCC
    Nas medições do RIPE Atlas, os probes são escolhidos por país, região, ASN ou bloco de endereços para executar ping e traceroute
  4. mtr(8) manual page source mtr
    -4 e -6 medem a rota só por IPv4 ou só por IPv6
  5. RFC 8305: Happy Eyeballs Version 2: Better Connectivity Using Concurrency IETF
    Um endereço ou uma família de endereços (IPv4/IPv6) pode estar bloqueado, quebrado ou lento dependendo da rede; tentar o IPv6 primeiro e esperar os 250 ms recomendados antes da próxima tentativa de conexão
  6. IPv6 Performance – Revisited APNIC
    Comparação dos tempos de ida e volta em IPv6 e IPv4 dos mesmos usuários dual stack: algumas redes de acesso tratam pacotes IPv6 de forma totalmente diferente, e dentro de uma operadora aparecem grupos em que o IPv6 é 15, 25 ou 75 ms mais lento

Veja também

Mesma camada: L4 Conexão de internet

Mesmo sintoma (Input lag) em outras camadas

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