Mudança de rota e convergência do BGP Route change / BGP convergence
ID da causa isp-bgp · Responsável principal Infraestrutura de rede (Equipe de infraestrutura) · Também envolvidos Desenvolvimento do servidor (Equipe de desenvolvimento), Externo (Externo)
Quando as informações de roteamento da internet mudam, pacotes se perdem enquanto as rotas convergem de novo, o que leva de alguns segundos a dezenas de segundos (raramente alguns minutos).
Por quê As informações de rota mudam em algum trecho de uma operadora → Efeito Por alguns segundos a dezenas de segundos, os pacotes somem ou passam para uma rota nova → Na tela A tela trava de repente por alguns segundos e depois o ping muda de patamar (ex.: 40 → 70 ms)
Responsável principal Infraestrutura de rede (Equipe de infraestrutura) · Também envolvidos Desenvolvimento do servidor (Equipe de desenvolvimento), Externo (Externo)
O que fazer (Equipe de desenvolvimento)
Usar timeouts que aguentem quedas curtas (não derrubar na hora uma conexão que ficou alguns segundos parada).
O que fazer (Equipe de infraestrutura)
Monitorar rotas (acompanhar mudanças de rota e de ping nos nossos blocos de IP), detectar falhas nos nossos links em até 1 segundo com BFD e fazer o failover (o hold time padrão do BGP é de 90–180 segundos), mover o tráfego para outro link se a rota mudar para um caminho longo e não voltar.
O que fazer (Externo)
Pedir à operadora que investigue os trechos da rede dela em que as rotas mudam com frequência.
No gráfico
Degrau a partir de um momento · RTT, rota do traceroute
Onde olhar
Comparar as rotas do traceroute e do mtr de antes e depois do momento em que o RTT mudou, e ver no RIPEstat BGPlay o histórico de mudanças de rota BGP do nosso bloco de endereços (prefix)
Confirma se
Uma pausa de alguns segundos e, em seguida, o RTT muda de patamar, com updates do BGP e mudança de AS path no mesmo instante
Descarta se
Sem mudança de rota registrada, mas alto só à noite: “Congestionamento no peering em horário de pico”. Só algumas conexões ruins: “Um caminho ECMP com defeito”
Como verificar
Ferramentas de infra (sem precisar do código do jogo)
RFC 4271: A Border Gateway Protocol 4 (BGP-4)IETF Valor padrão recomendado do hold time do BGP: 90 segundos (se nenhuma mensagem do vizinho chegar nesse tempo, a sessão é encerrada)
BGP updates in 2024APNIC Tempo médio diário até rotas instáveis se estabilizarem de novo: 25–35 segundos (IPv4), 40–50 segundos (IPv6)
BGPlay (RIPEstat Data API)RIPE NCC Mostra as rotas BGP de um bloco de endereços (prefix) no início do período, os updates do BGP observados nesse período e os AS no caminho