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

Guia do Lag em Jogos › Causas-raiz da retransmissão TCP

Erros físicos (cabo, transceptor óptico ou conector com defeito) Bit errors: bad cable, optics, dirty fiber

ID da causa rt-physical · Responsável principal Infraestrutura de rede (Equipe de infraestrutura) · Também envolvidos Infraestrutura de servidores (Equipe de infraestrutura), Externo (Externo)

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

Cabos danificados, conectores ópticos sujos e transceptores ópticos no fim da vida útil geram erros de bit, e os equipamentos descartam silenciosamente os pacotes corrompidos.

Por quê Cabo, transceptor óptico ou conector com defeito inverte bits → Efeito O equipamento descarta os pacotes cujo checksum (CRC) não confere → Na tela Só quem passa por esse caminho tem, de forma constante, engasgos curtos seguidos de avanço rápido, sem relação com o horário

Sintomas
Travamento, Avanço rápido, Teleporte
Fatores
Perda de pacotes
Quem é afetado
Local ou canal específico, Mesma casa
Quando
Sempre
Responsável
Responsável principal Infraestrutura de rede (Equipe de infraestrutura) · Também envolvidos Infraestrutura de servidores (Equipe de infraestrutura), Externo (Externo)
O que fazer (Equipe de infraestrutura)
Os erros de CRC se acumulam na ponta que recebe no sentido com defeito, então verificar as duas pontas. Rede: verificar os contadores de erros de CRC e de entrada das portas dos equipamentos, checar a potência do sinal óptico (informações do transceptor no switch), limpar os conectores ópticos, trocar cabos e transceptores. Servidores/SO: verificar rx_crc_errors no ethtool -S do servidor (o nome varia um pouco conforme o driver), checar a potência do sinal óptico (ethtool -m), trocar o cabo ou a NIC do lado do servidor.
O que fazer (Externo)
Se o problema estiver no trecho da casa do jogador, orientar a trocar o cabo de rede ou o roteador; se estiver no trecho da operadora, pedir à operadora que verifique a linha.
Números de referência
Mesmo 0,1% de perda é uma vez a cada 1.000 pacotes do jogo. Se dezenas de pessoas passam por esse caminho, alguém engasga a cada poucos segundos. Quanto maior o pacote, maior a chance de ele sofrer um erro de bit.
No gráfico
Alto só em alguns · Erros de CRC por porta, taxa de retransmissão por servidor e por porta
Onde olhar
Ver os contadores de CRC nas duas pontas do link. No servidor, rx_crc_errors no ethtool -S ou crc no ip -s -s link; no switch, os erros de FCS (dot3StatsFCSErrors) e de entrada (ifInErrors) da porta. Em link óptico, ver a potência óptica recebida com ethtool -m e nas informações do transceptor no switch
Confirma se
Os erros de CRC de uma porta crescem de forma constante, em qualquer horário, e só os servidores e conexões que passam por essa porta têm taxa de retransmissão alta. A potência óptica recebida é menor que a de outros links do mesmo tipo
Descarta se
CRC parado e só os descartes de saída aumentando: estouro de fila (“Estouro de buffers rasos por bursts de envio”, “Estouro de fila no gargalo”). Colisões tardias de um lado e CRC do outro aumentando juntos: “Incompatibilidade de duplex”
Como verificar
Ferramentas de infra (sem precisar do código do jogo)

Fontes

  1. Interface statistics Linux kernel
    rx_crc_errors é o número de pacotes que a interface receptora contou como erro de CRC; visível com ip -s -s link e ethtool -S
  2. ethtool(8) — Linux manual page ethtool
    -S mostra estatísticas por NIC e driver; -m mostra a EEPROM e as informações de diagnóstico óptico do transceptor (SFP+, QSFP)
  3. RFC 3635: Definitions of Managed Objects for the Ethernet-like Interface Types IETF
    Erros de FCS da porta do switch (dot3StatsFCSErrors), que entram na soma dos erros de entrada (ifInErrors)

Veja também

Mesma camada: Causas-raiz da retransmissão TCP

Mesmo sintoma (Travamento) em outras camadas

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