Resumo

  • A atualização de um par de firewalls deixou o Router B sem prefixos BGP por 121 segundos, embora as sessões aparecessem como Established e o tráfego continuasse seguindo para o firewall.
  • As capturas e a reprodução em laboratório do palestrante apontaram um erro ao interpretar o contexto do vizinho IPv6 e um TCP Reset; a espera pelo End-of-RIB do IPv6 também atrasou a instalação de rotas IPv4.

Established parecia tranquilizador. A tabela de rotas foi mais direta: zero prefixos por 121 segundos.

Foi esse o incidente apresentado por Marian Rychtecký na NANOG 98. Durante a atualização de um par de firewalls em alta disponibilidade, as sessões BGP voltaram ao estado Established, mas o Router B não recebeu prefixos. O tráfego continuou sendo encaminhado ao firewall. Como ele ainda não havia instalado as rotas esperadas, os pacotes caíram em um buraco negro por quase dois minutos.

O número decisivo é 121 segundos. End-of-RIB chegou perto do temporizador de reconexão de 120 segundos, mas o temporizador era uma pista, não a explicação inteira. A investigação de Rychtecký descobriu que a recuperação do IPv4 aguardava uma sessão BGP IPv6 específica. O Graceful Restart considerava incompleto o estado negociado do vizinho até receber o marcador End-of-RIB. Uma sessão travada em uma família de endereços segurou as rotas da outra.

As capturas de pacotes mostraram um TCP Reset na nova sessão. Em uma reprodução de laboratório, o endereço IPv6 esperado do vizinho, 2001:db8:1::2, aparecia armazenado como 2001:db8:1:. O sistema operacional não conseguia associar a conexão ao contexto correto de VRF e BGP e devolvia um reset. Durante parte da troca, a conexão TCP antiga ainda parecia ativa; a nova colidia com esse estado obsoleto.

A conclusão vai além de “Graceful Restart pode falhar”. Uma sessão BGP verde não garantia rotas na tabela; um painel de controle recuperado não significava encaminhamento restaurado. A atualização do firewall foi o gatilho. O contexto do vizinho lido incorretamente e a espera entre famílias formaram o mecanismo. A RIB vazia e os pacotes descartados foram o impacto.

O palestrante relata que, nesse caso, um temporizador de conexão mais curto acelerou a reconexão e a troca de End-of-RIB. É uma saída provisória descrita para aquela configuração, não um valor universal: encurtar uma espera pode criar outra janela de falha. O teste duradouro precisa cobrir a cadeia inteira: reconexão TCP, End-of-RIB por família, instalação das rotas e entrega real dos pacotes.

Os slides não informam modelos dos equipamentos, versões de firmware nem medições de tráfego perdido por clientes; esses registros mostrariam se foi um defeito isolado ou um padrão em vários ambientes.

Fontes