2 pontos por GN⁺ 2024-11-27 | 1 comentários | Compartilhar no WhatsApp

Um dia na vida da tabela BGP global

  • Já foram feitas muitas análises sobre a tabela BGP, em geral com foco em tendências de longo prazo. No entanto, este texto busca observar um dia da tabela BGP sob uma perspectiva de curto prazo.

Começando o yak shaving

  • Para coletar os dados, foi desenvolvida a ferramenta bgpsee, que usa um daemon BGP para gerar mensagens BGP em formato JSON.
  • O conjunto de dados coletado entre 1º de junho e 1º de julho de 2024 é composto por 464.673 mensagens BGP UPDATE.

Transmissão inicial, contagem de rotas v4 e v6

  • Ao iniciar um peering BGP, recebe-se uma grande quantidade de mensagens UPDATE como uma “primeira leva”.
  • Nessa primeira leva, há um total de 949.483 rotas incluídas.

Mangueira de jardim ou mangueira de incêndio?

  • As atualizações não são enviadas como um fluxo em tempo real, mas agrupadas e transmitidas em intervalos de 30 segundos.
  • Em média, as rotas IPv4 têm cerca de 50 atualizações de rota a cada 30 segundos, enquanto o IPv6 tem cerca de 47.
  • As atualizações de IPv4 mostram uma variabilidade periódica, com um ciclo observado de 40 minutos.

Loucura do prepending

  • Administradores de rede podem ajustar o comprimento do caminho AS para controlar as rotas de tráfego.
  • O comprimento máximo das rotas IPv4 é 105, e o das rotas IPv6 é 599, valores extremamente altos que podem ter sido causados por erro de administradores de rede.

Atributos de rota

  • As atualizações BGP incluem atributos de rota e informações de alcançabilidade da camada de rede.
  • Alguns AS estão anunciando rotas usando o atributo 255, reservado para desenvolvimento.

Rotas flapping: quem está tendo problemas?

  • A rota com maior variação é 140.99.244.0/23, pertencente à empresa EpicUp.
  • A variação das rotas pode ocorrer por diversos fatores, o que mostra a diversidade de peerings da rede global moderna e a resiliência do protocolo BGP.

Isso é só o começo

  • A tabela BGP resume diversos elementos do mundo inteiro, incluindo instabilidade política, fenômenos naturais e erros de administradores de rede.
  • Entender essa complexidade é algo fascinante e belo.

1 comentários

 
GN⁺ 2024-11-27
Comentários no Hacker News
  • Há 25 anos, trabalhei em um pequeno ISP e usei o tutorial do Avi Freedman para configurar multihoming. Graças a isso, consegui um /20 da ARIN e pude anunciar rotas para dois peers. Aprendi muito no processo e fiquei impressionado com a forma como isso funcionava

  • O flap do prefixo EpicUp 140.99.244.0/23 deveria ter sido alvo de route damping. Isso é um limite aplicado por ISPs a todos os peers para evitar que um único prefixo represente uma parte significativa da instabilidade global do BGP

  • Não tenho certeza sobre a correlação com os updates mencionada pelo autor. Em particular, basear anúncios na rota de prefixo de um sistema autônomo instável seria algo instável

  • Também tenho dúvidas sobre a periodicidade de 40 minutos. Quando eu estava profundamente envolvido com o mundo do BGP, há 8 anos, não havia esse tipo de periodicidade. Isso pode ser algo que apareceu por acaso no dataset ou pode ter a ver com a rede da qual o autor recebeu o feed de BGP

  • Ao cavar fundo nos dados e observar as mudanças em AS e prefixos, as alterações acontecem em vários lugares sem um padrão específico

  • Todos os dias há alguns ISPs barulhentos, por causa de circuitos ruins ou configurações incorretas. Às vezes, também acontece flap quando um novo prefixo entra online pela primeira vez

  • É ao mesmo tempo fascinante e um pouco assustador que um pequeno ISP do Kansas apareça em um roteador em Perth por causa do backbone de fibra. Ainda assim, a frequência de updates permanece globalmente abaixo de <10hz

  • Se você quiser aprender sobre BGP, a série de vídeos do Network Startup Resource Center da Universidade de Oregon é útil

  • O atributo BGP reservado 0xff provavelmente é uma peculiaridade da Huawei. Quase todos os 0xff vistos no bgp.tools seguem o mesmo formato, e algumas dessas redes usam equipamentos da Huawei

  • Escrevi um script em Python para extrair dados de rotas BGP de arquivos MRT, importar tudo para o Neo4j e explorar. Esses arquivos contêm cerca de 56 milhões de rotas muito redundantes, e o Neo4j é excelente para fazer o "merge" desse tipo de dado

  • Aprendi muitas coisas sobre BGP que eu não sabia com este artigo, e especialmente a bagunça dele foi o que achei mais interessante. Gostaria de ler mais detalhes em um artigo de acompanhamento

  • Tenho experiência projetando e configurando uma rede híbrida satélite-micro-ondas para um grande cliente americano com escritórios de campo na região de Bornéu. Lembro de fazer o handoff de linha dedicada em Jacarta. Li que seria necessário usar BGP para conectar uma rede OSPF/UBNT e uma WAN corporativa IGRP/Cisco

  • Seria ótimo se a iniciativa de Memory Safety também se aplicasse à implementação de servidores BGP por meio do trabalho de reimplementar a segurança e a confiabilidade da infraestrutura da internet em Rust

  • O as8772 NetAssist roteia tráfego ruim

    • AS15626 GREEN FLOID LLC (propaganda russa)
    • AS34224 Neterra Ltd. (bulletproof)
    • AS44477 STARK INDUSTRIES SOLUTIONS LTD (bulletproof)
    • AS207656 Epinatura LLC (bulletproof)
  • Fico curioso sobre qual é a forma mais fácil para uma pessoa comum obter dados de BGP. Gostaria de tentar uma análise parecida se não for preciso ter um amigo em um ISP