Se IPs públicos são fixados em um único AS, como o BGP anycast funciona?

11

Entendo que os blocos IP públicos são atribuídos pela IANA , que atribui sub-blocos aos RIRs , que atribui sub-blocos aos ISPs, que atribui sub-blocos a ASs individuais, conforme descrito nesta pergunta: Como os endereços IP são realmente atribuídos?

Isso (e recursos como esta página ) parece implicar um mapeamento de 1 IP público para 1 AS.

No entanto, o anycast parece funcionar anunciando o mesmo endereço IP público de vários locais, fornecendo caminhos diferentes para esse IP. Por exemplo:

Se os ips públicos devem resolver para um único AS, como funciona o anycast?

  • É um truque pelo qual você finge estar fazendo BGP multi-homing / multi-pathing e apenas captura o tráfego enquanto passa por um AS (como parece estar implícito aqui: /server//a/728609/148476 )?
  • É apenas uma exceção à "regra" de 1 IP por AS?
  • Ou talvez eu esteja perdendo alguma coisa ...
turtlemonvh
fonte
2
Também não existe uma regra estrita para "1 AS por endereço" - basta ver 192.88.99.0/24 usado pelo 6to4. (Embora ele certamente se torna problemático ...)
user1686
2
Você tem uma referência para a alegação de que IPs são atribuídos a ASs? Faz alguns anos, mas eu só vi blocos de endereços IP atribuídos às organizações. (Os mapeamentos você faz referência, provavelmente, apenas dizer o que AS (s) está anunciando um determinado bloco que está observando o que está realmente acontecendo, não atribuindo.)
David Schwartz
Como os endereços são atribuídos a uma entidade realmente não tem nada a ver com o modo como as rotas para os endereços são anunciadas na Internet. Pode ser possível que todo ISP que compõe a Internet anuncie que possui uma rota para um prefixo específico, e pode ser que cada um deles tenha aprendido uma rota para um prefixo de outro ISP. O roteamento é apenas um roteador que diz ao outro que sabe como encaminhar o tráfego para uma rede, e todo roteador da Internet pode legitimamente acreditar que conhece um. Os roteadores que recebem várias rotas para uma rede escolherão uma dessas rotas para usar.
Ron Maupin 28/05
@DavidSchwartz não há referência para a atribuição de IP para AS. Depois de ler algumas dessas respostas e alguns outros artigos, acho que isso não está certo, apenas parecia estar implícito em muitos recursos (talvez por ser o caso mais comum).
turtlemonvh
@RonMaupin Entendo a separação de roteamento e atribuição de bloco IP. No entanto, os anúncios de rota do BGP carregam uma seção AS_PATH que é usada para decisões de roteamento (consulte: tools.ietf.org/html/rfc4271#section-4.3 ). Minha pergunta é realmente sobre comportamento quando esses anúncios de rota são feitos de muitos ASs e cada AS diz que é o único AS no caminho, ou seja, eles têm um caminho direto para o endereço IP sem nenhum roteamento externo adicional.
Turtlemonvh 30/05

Respostas:

5

Não é necessário que endereços IP ou rotas da Internet para um prefixo venham de um único AS. ASNs são atribuídos a organizações e endereços também são atribuídos a organizações. Registradores como o ARIN não vinculam minha alocação de endereços à minha alocação ASN. Mesmo em novos sistemas como o Resource Public Key Infrastructure, ele ainda permite que vários ASs originem uma rota para uma rede. A página Team Cymru diz isso nas perguntas frequentes:

Em alguns casos, um prefixo de rede será anunciado por várias redes, mas diferentes, ou por sistemas autônomos. A razão mais provável para isso é algo conhecido como "multihoming". Isso é perfeitamente normal. Dependendo da sua visão da topologia da Internet e das políticas da rede de origem, uma dessas redes de origem será o caminho preferido para enviar e receber tráfego com o netblock em questão.

Aqui está uma (longa) lista de redes que atualmente são anunciadas por vários ASs.

Sobre como ele chega aonde está indo: As rotas são selecionadas usando um algoritmo de seleção de caminho BGP que escolhe um caminho com base nas informações que cada roteador pelo qual o tráfego passa conhece. Cada roteador na Internet tem sua própria visão da tabela de roteamento, portanto, o tráfego em uma parte da Internet pode terminar em um local diferente e, como o tráfego em outra parte da Internet. Não existe nem um requisito para que cada pacote em um fluxo vá para o mesmo local, o que obviamente pode tornar as coisas interessantes no caso de qualquer transmissão ou transmissão múltipla.

dk1
fonte
Obrigado dk1. A ideia de que o mapeamento de IP público para AS é 1: N e não 1: 1 foi o ponto principal para mim. Este artigo também foi útil: serverfault.com/questions/137257/… , assim como artigos adicionais que discutem o peering do AS, como: umbrella.cisco.com/blog/blog/2013/01/10/… . Esse artigo do OpenDNS também mostra que seu AS é distribuído globalmente.
turtlemonvh
11

Um AS não precisa necessariamente ser restrito a um único local físico.

Ao fazer qualquer transmissão, você executa roteadores em muitos locais físicos, cada um fazendo um peering com diferentes ISPs como o mesmo AS, anunciando uma rota para os endereços IP de qualquer transmissão.

Da perspectiva do BGP, não é muito diferente do que você faria por redundância com vários ISPs de um AS em um site; na situação "um site, múltiplos ISP", um roteador está enviando "Eu sou AS X e tenho um intervalo de IP Y!" para múltiplos ISPs; em anycast, você está apenas instruindo roteadores geograficamente díspares a anunciarem seus próprios quase idênticos "Eu sou AS X e tenho intervalo de IP Y!" mensagem para seus próprios ISPs, reivindicando seu AS e seu alcance anycast e permitindo que o BGP selecione o melhor ISP para o qual enviar o tráfego.

Os ISPs não sabem nada diferente; a internet não faz sentido que os vários caminhos disponíveis não estão apenas levando ao mesmo site altamente redundante.

Shane Madden
fonte
Ou, em outras palavras, a Internet não sabe que não está falando com o mesmo servidor por meio de sua rede secreta de fibra subterrânea de vários bilhões de dólares.
User253751 28/05
@immibis Essa é uma boa maneira de ver, mas um detalhe: nesse caso (roteando de volta para um servidor central por meio de sua própria rede interna), tecnicamente não estaríamos mais na definição de anycast, pois a solicitação não realmente ser tratado em sites geograficamente diferentes. No caso que estou descrevendo, você teria servidores quase idênticos em cada site, em vez da rede secreta de back-end para levá-lo ao servidor certo.
Shane Madden
Esse não é um ponto, é esse o ponto. É perfeitamente válido ter uma rede privada entre sites separados. E os protocolos de roteamento da Internet não podem dizer a diferença entre você ter uma rede privada e fingir ter uma e usar anycast.
User253751 28/05
Definitivamente, é válido ter uma rede privada entre sites, eu estava dizendo que você não gostaria de implantar anycast dessa maneira (mesmo servidor), já que seria derrotável. Mas eu concordo com o seu argumento: do ponto de vista da internet, eles teriam a mesma aparência.
Shane Madden
Esta é uma ótima resposta. Você pode adicionar alguns links a documentos de normas ou outros recursos externos para mostrar que o que você disse é verdade? (ou seja, que anycast e multi-homing são basicamente a mesma coisa)
turtlemonvh
2

Isso (e recursos como esta página) parece implicar um mapeamento de 1 IP público para 1 AS.

Sim. Isso é verdade.

No entanto, o anycast parece funcionar anunciando o mesmo endereço IP público de vários locais,

Simplesmente exatamente "apenas fazendo". Um AS é a entidade que define seu próprio roteamento internacionalmente. Ele pode conectar o mesmo endereço IP a vários locais - desde que o roteamento não seja alterado no meio de uma conexão, tudo bem.

Apenas seja ignorante por um momento (porque aqui a ignorância funciona).

Se você solicitar o IP x nos EUA, você acessa um datacenter nos EUA de acordo com as regras do AS BGP. Se você fizer isso na Austrália, você acaba em um datacenter na Austrália. Acabado. Não há nada que diga que um IP não pode ser reutilizado enquanto a rota estiver estável.

Este não é um hack do BGP tanto quanto um uso normal do BGP.

TomTom
fonte
1
O BGP não usa divisões geopolíticas para decidir para onde enviar um pacote, e não é verdade que os endereços pertencem a qualquer um.
dk1 28/05
Você menciona "desde que o roteamento não seja alterado no meio de uma conexão, tudo bem". Eu pensei que essas alterações de roteamento eram um problema conhecido nas configurações do anycast, e isso é parte do motivo pelo qual o anycast é comum. reservado para protocolos sem conexão como o udp? Veja: blog.cloudflare.com/…
turtlemonvh