Top Qs
Linha do tempo
Chat
Contexto
Anycast
metodologia de endereçamento e encaminhamento de rede Da Wikipédia, a enciclopédia livre
Remove ads
Anycast é uma metodologia de endereçamento e roteamento de rede na qual um único endereço IP é compartilhado por dispositivos (geralmente servidores) em múltiplos locais. Os roteadores direcionam pacotes endereçados a esse destino para o local mais próximo do remetente, usando seus algoritmos de tomada de decisão normais, tipicamente o menor número de saltos de rede do BGP. O roteamento Anycast é amplamente utilizado por redes de distribuição de conteúdo (CDNs), como servidores web e servidores de nomes [en], para trazer seu conteúdo para mais perto dos usuários finais.
Remove ads
História
Resumir
Perspectiva
O primeiro uso documentado de roteamento anycast para balanceamento de carga topológico de serviços conectados à Internet foi em 1989;[1][2] a técnica foi documentada formalmente pela primeira vez na IETF quatro anos depois.[3] Foi aplicada pela primeira vez à infraestrutura crítica em 2001 com o anycasting do servidor de nomes raiz I.[2]
Objeções iniciais
As primeiras objeções à implantação do roteamento anycast centraram-se no conflito percebido entre conexões TCP de longa duração e a volatilidade da topologia roteada da Internet. Em conceito, uma conexão de longa duração, como uma transferência de arquivo FTP (que pode levar horas para ser concluída para arquivos grandes), poderia ser roteada para uma instância anycast diferente no meio da conexão devido a mudanças na topologia da rede ou no roteamento, com o resultado de que o servidor muda no meio da conexão, e o novo servidor não está ciente da conexão e não possui o estado da conexão TCP da instância anycast anterior.
Na prática, tais problemas não foram observados, e essas objeções se dissiparam no início dos anos 2000. Muitas implantações iniciais de anycast consistiam em servidores DNS, usando principalmente o transporte UDP.[4][2] Medições de fluxos anycast de longo prazo revelaram muito poucas falhas devido a trocas de instância no meio da conexão, muito menos (menos de 0,017%[5] ou "menos de um fluxo por dez mil por hora de duração"[1] de acordo com várias fontes) do que foram atribuídas a outras causas de falha. Numerosos mecanismos foram desenvolvidos para compartilhar eficientemente o estado entre instâncias anycast.[6] E alguns protocolos baseados em TCP, notavelmente HTTP, incorporaram mecanismos de "redirecionamento", pelos quais endereços de serviço anycast poderiam ser usados para localizar a instância mais próxima de um serviço, após o que um usuário seria redirecionado para essa instância específica antes do início de qualquer transação com estado de longa duração.[1][7]
Remove ads
Internet Protocol versão 4
O Anycast é implementado na Internet via Border Gateway Protocol (BGP), onde múltiplos hosts (geralmente em diferentes áreas geográficas) recebem o mesmo endereço IP anycast e todos o anunciam em sua tabela BGP. Os roteadores consideram essas rotas como alternativas para o mesmo destino, embora sejam, na verdade, rotas para destinos diferentes com o mesmo endereço. Os roteadores geralmente selecionarão o caminho com menos saltos, o que leva à escolha daquele mais próximo do cliente (geralmente mais rápido). Isso nem sempre acontece, pois alguns roteadores escolherão outras métricas (menos congestionado, mais barato).
Remove ads
Internet Protocol versão 6
Resumir
Perspectiva
O Anycast é suportado explicitamente na arquitetura de endereçamento IPv6.[8] O endereço mais baixo dentro de uma sub-rede IPv6 (identificador de interface 0) é reservado como o endereço anycast "Roteador de Sub-rede". Além disso, os 128 identificadores de interface mais altos dentro de uma sub-rede também são reservados como endereços anycast.[9]
A maioria dos roteadores IPv6 no caminho de um pacote anycast através da rede não o distinguirá de um pacote unicast, mas um tratamento especial é exigido dos roteadores próximos ao destino (isto é, dentro do escopo do endereço anycast), pois eles são obrigados a rotear um pacote anycast para a interface "mais próxima" dentro desse escopo que tenha o endereço anycast adequado, de acordo com qualquer medida de distância (saltos, custo, etc.) que esteja sendo usada.
O método usado no IPv4 de anunciar múltiplas rotas no BGP para endereços unicast atribuídos multiplamente também funciona no IPv6, e pode ser usado para rotear pacotes para o mais próximo de vários hosts dispersos geograficamente com o mesmo endereço. Essa abordagem, que não depende de roteadores cientes de anycast, tem os mesmos casos de uso, juntamente com os mesmos problemas e limitações que no IPv4.
Aplicações
Resumir
Perspectiva
Com o crescimento da Internet, os serviços de rede têm cada vez mais requisitos de alta disponibilidade. Como resultado, a operação de serviços anycast cresceu em popularidade entre os operadores de rede.[10]
Domain Name System (DNS)
Todos os servidores raiz de nomes da Internet são implementados como clusters de hosts usando endereçamento anycast.[11] Todos os 13 servidores raiz A–M existem em múltiplos locais, com 11 em múltiplos continentes. (Os servidores raiz B e H existem em dois locais nos EUA.)[12][13][14] Os servidores usam anúncios de endereço anycast para fornecer um serviço descentralizado. Isso acelerou a implantação de servidores raiz físicos (em vez de lógicos) fora dos Estados Unidos. Muitos provedores comerciais de DNS mudaram para um ambiente IP anycast para aumentar o desempenho de consultas e a redundância, e para implementar o balanceamento de carga.[2]
Transição IPv6
Na transição de IPv4 para IPv6 [en], o endereçamento anycast pode ser implantado para fornecer compatibilidade IPv6 a hosts IPv4. Este método, 6to4 [en], usa um gateway padrão com o endereço IP 192.88.99.1.[15] Isso permite que múltiplos provedores implementem gateways 6to4 [en] sem que os hosts precisem saber os endereços de gateway de cada provedor individual. O 6to4 foi descontinuado[16] em resposta ao IPv6 nativo tornando-se mais prevalente.
Redes de distribuição de conteúdo
Redes de distribuição de conteúdo (CDNs) podem usar anycast para conexões HTTP reais aos seus centros de distribuição, ou para DNS. Como a maioria das conexões HTTP para tais redes solicita conteúdo estático, como imagens e folhas de estilo [en], elas são geralmente de curta duração e sem estado (stateless) através de sessões TCP subsequentes. A estabilidade geral das rotas e a falta de estado das conexões tornam o anycast adequado para esta aplicação, embora utilize TCP.[5][1]
Conectividade entre redes Anycast e Multicast
O ponto de encontro (rendezvous point) anycast pode ser usado no Protocolo de Descoberta de Fonte Multicast (MSDP) e sua aplicação vantajosa como Anycast RP é um recurso intra-domínio que fornece redundância e capacidades de compartilhamento de carga. Se o ponto de encontro anycast múltiplo for usado, o roteamento IP selecionará automaticamente o ponto de encontro topologicamente mais próximo para cada fonte e receptor. Isso forneceria a uma rede multicast os requisitos de tolerância a falhas.[17]
Remove ads
Segurança
O Anycast permite que qualquer operador cuja informação de roteamento seja aceita por um roteador intermediário sequestre quaisquer pacotes destinados ao endereço anycast. Embora isso pareça inseguro à primeira vista, não é diferente do roteamento de pacotes do IP comuns, e não é nem mais nem menos seguro. Assim como no roteamento IP convencional, a filtragem cuidadosa de quem tem permissão e de quem não tem para propagar anúncios de rota é crucial para prevenir ataques homem-no-meio ou ataques de buraco negro [en]. O primeiro também pode ser prevenido criptografando e autenticando mensagens, como usando Transport Layer Security, enquanto o último pode ser frustrado pelo roteamento onion [en].
Remove ads
Confiabilidade
O Anycast é normalmente altamente confiável, pois pode fornecer failover automático sem adicionar complexidade ou novos pontos potenciais de falha. Aplicações Anycast tipicamente apresentam monitoramento externo de "sinal de vida" (heartbeat) da função do servidor, e retiram o anúncio da rota se o servidor falhar. Em alguns casos, isso é feito pelos próprios servidores anunciando o prefixo anycast para o roteador via OSPF ou outro IGP. Se os servidores morrerem, o roteador retirará automaticamente o anúncio. A funcionalidade de "heartbeat" é importante porque, se o anúncio continuar para um servidor falho, o servidor agirá como um "buraco negro" para clientes próximos; este é o modo de falha mais sério para um sistema anycast. Mesmo neste evento, esse tipo de falha causará apenas uma falha total para clientes que estão mais próximos deste servidor do que de qualquer outro, e não causará uma falha global. No entanto, mesmo a automação necessária para implementar a retirada de rota por "heartbeat" pode, por si só, adicionar um ponto potencial de falha, como visto na interrupção do Facebook em 2021.
Remove ads
Mitigação de ataques de negação de serviço
Em ataques de negação de serviço, um host de rede desonesto pode se anunciar como um servidor anycast para um serviço de rede vital, para fornecer informações falsas ou simplesmente bloquear o serviço.
As metodologias Anycast na Internet podem ser exploradas para distribuir ataques DDoS e reduzir sua eficácia: Como o tráfego é roteado para o nó mais próximo, um processo sobre o qual o atacante não tem controle, o fluxo de tráfego DDoS será distribuído entre os nós mais próximos. Assim, nem todos os nós podem ser afetados. Esta pode ser uma razão para implantar o endereçamento anycast.[18] A eficácia desta técnica depende da manutenção do segredo de quaisquer endereços unicast associados aos nós de serviço anycast, no entanto, uma vez que um atacante de posse dos endereços unicast de nós individuais pode atacá-los de qualquer local, contornando os métodos de endereçamento anycast.[19]
Remove ads
Nós locais e globais
Algumas implantações de anycast na Internet distinguem entre nós locais e globais para beneficiar a comunidade local, endereçando nós locais preferencialmente. Um exemplo é o Domain Name System. Nós locais são frequentemente anunciados com a comunidade BGP no-export para impedir que hosts os anunciem aos seus pares, ou seja, o anúncio é mantido na área local. Onde ambos os nós locais e globais são implantados, os anúncios de nós globais frequentemente têm o AS prefixado (ou seja, o AS é adicionado mais algumas vezes) para tornar o caminho mais longo, de modo que um anúncio de nó local seja preferido em relação a um anúncio de nó global.[20]
Remove ads
Ver também
- Multihoming [en]
- Busca de linha, para um sistema equivalente para telefones
Referências
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
