Simple Science

Ciência de ponta explicada de forma simples

# Informática# Arquitetura de redes e da Internet

Analisando o Desempenho e a Confiabilidade do DNS

Um estudo sobre como os resolvers DNS públicos lidam com desempenho e confiabilidade.

― 6 min ler


Estudo de Performance deEstudo de Performance deDNSpúblicos.velocidade dos resolvedores DNSAnalisando a confiabilidade e a
Índice

O Sistema de Nomes de Domínio (DNS) é super importante pra converter nomes de sites, tipo www.example.com, em endereços IP que os computadores usam pra se comunicar. Desde que foi criado em 1987, o DNS se tornou essencial pro funcionamento da Internet. Ele pode operar tanto com TCP (Protocolo de Controle de Transmissão) quanto com UDP (Protocolo de Datagrama de Usuário), sendo o UDP a escolha mais comum porque é mais rápido e tem menos overhead.

Com mais e mais dados, incluindo novos tipos de registros, sendo adicionados às respostas do DNS, o tamanho dessas respostas aumentou bastante. Esse crescimento pode causar problemas quando respostas grandes são enviadas pelo UDP, levando a truncamento de pacotes e Fragmentação de IP. Esses problemas podem tornar os serviços de DNS menos confiáveis e mais vulneráveis a certos tipos de ataques cibernéticos, como ataques de negação de serviço.

Esse artigo analisa como diferentes resolvedores de DNS públicos lidam com desempenho e confiabilidade, focando em dois métodos: DNS-over-UDP (DoUDP) e DNS-over-TCP (DoTCP). Nós analisamos dados de mais de 14 milhões de medições feitas por 2527 sondas ao redor do mundo. O estudo observa como os resolvedores de DNS funcionam ao responder a pedidos de usuários e ao interagir com servidores de nomes autorizados que fornecem as informações reais de endereço IP.

Resiliência e Reatividade do DNS

A resiliência do DNS se refere a quão bem os serviços de DNS conseguem suportar problemas e continuar funcionando de forma eficaz. A reatividade diz respeito à rapidez com que os resolvedores de DNS podem fornecer as informações solicitadas. Nós testamos tanto o DoTCP quanto o DoUDP em vários resolvedores de DNS públicos pra avaliar desempenho e confiabilidade.

Nossas descobertas mostram que a maioria dos resolvedores de DNS se sai semelhante em termos de resiliência, independentemente de usarem DoTCP ou DoUDP. Porém, percebemos que alguns resolvedores relatam tamanhos de buffer maiores do que o recomendado, o que pode levar à fragmentação. A fragmentação acontece quando os pacotes são grandes demais pra serem processados, fazendo com que sejam mais propensos a se perder.

Nos nossos testes, também encontramos que muitos resolvedores não mudam pra DoTCP quando enfrentam respostas grandes de servidores autorizados. Essa falta de fallback pode causar problemas, especialmente porque espera-se que os tamanhos das mensagens DNS continuem crescendo.

Metodologia de Medição

Fizemos medições extensivas usando sondas do RIPE Atlas localizadas globalmente. Essas sondas nos permitiram fazer pedidos de DNS tanto a resolvedores de borda (que lidam diretamente com pedidos de usuários) quanto a resolvedores centrais (que interagem com servidores de nomes autorizados). Essa abordagem dupla nos dá uma visão abrangente do desempenho do DNS.

Para medições de borda, enviamos pedidos de nomes de domínio comumente armazenados em cache. Essa escolha nos permitiu avaliar com precisão os tempos de resposta sem lidar com a complexidade de consultas não armazenadas. Para medições centrais, usamos domínios personalizados pra garantir que as respostas não estivessem em cache em lugar nenhum, permitindo uma avaliação direta do comportamento do resolvedor sob carga aumentada.

Observações Detalhadas

Do lado da rede, descobrimos que pedidos DoTCP tendem a falhar menos frequentemente em comparação com pedidos DoUDP para IPv4. Mesmo assim, em ambos os protocolos de transporte, as taxas de falha eram mais altas para pedidos IPv6. A análise dos tempos de resposta mostrou que pedidos DoTCP normalmente demoravam cerca do dobro do que os pedidos DoUDP, consistente com o overhead extra de estabelecer uma conexão TCP.

Olhando pro núcleo, observamos que pedidos DoTCP tinham uma taxa de falha geral maior do que estudos anteriores relataram. A comunicação entre resolvedores e servidores autorizados frequentemente dependia de tamanhos de buffer EDNS (Mecanismos de Extensão para DNS) menores, o que também pode contribuir pra problemas de fragmentação.

Tamanhos de Buffer e EDNS

Um elemento crucial que examinamos foi o tamanho dos buffers anunciados pelos resolvedores de DNS. O EDNS permite que mensagens DNS maiores sejam enviadas, mas se os tamanhos dos buffers forem definidos muito altos, pode ocorrer fragmentação. Nossa análise indicou que um número significativo de resolvedores de DNS públicos continua a anunciar tamanhos de buffer grandes, o que pode comprometer a integridade da comunicação DNS.

O tamanho de buffer recomendado pelo DNS Flag Day 2020 é de 1232 bytes. Apesar dessa orientação, muitos resolvedores ainda relataram usar tamanhos maiores. Essa discrepância enfatiza a necessidade de uma adoção maior dos padrões recomendados pra melhorar o desempenho e a segurança geral do DNS.

Desempenho do DoTCP e DoUDP

Na nossa análise do desempenho do DoTCP e DoUDP, encontramos que as diferenças em confiabilidade e velocidade variavam bastante de acordo com a região geográfica. Por exemplo, consultas de DNS que vinham da África e da América do Sul experimentavam os maiores tempos de resposta. Resolvedores públicos como Cloudflare e Google mostraram os tempos de resposta mais estáveis, mas mesmo eles enfrentaram dificuldades em certas regiões.

Apesar das vantagens do DoTCP em lidar com respostas maiores, muitos resolvedores não mudaram consistentemente do DoUDP quando enfrentaram respostas grandes. Esse comportamento apresenta riscos à medida que os tamanhos das respostas crescem, levando a pacotes fragmentados que podem impactar negativamente a experiência do usuário.

Taxas de Falha e Observações

Nossa análise indicou que as taxas de falha para consultas de DNS pelo DoTCP eram mais altas em alguns casos do que o que medições anteriores sugeriram. Essa taxa de falha aumentada destaca os desafios contínuos na comunicação DNS, especialmente quando respostas maiores são esperadas. Compreender esses padrões de falha será crucial pra melhorar a confiabilidade dos serviços de DNS.

Também encontramos que resolvedores públicos específicos apresentavam desafios consistentes com a entrega de respostas. Por exemplo, o OpenDNS manteve uma alta taxa de respostas válidas, enquanto outros resolvedores lutaram mais frequentemente pra fornecer uma resposta válida, especialmente quando enfrentaram consultas maiores.

Considerações Futuras

À medida que o tamanho das mensagens DNS continua a aumentar, os riscos associados à fragmentação e truncamento de respostas se tornarão mais urgentes. Monitoramento e avaliação contínuos do comportamento dos resolvedores de DNS são essenciais pra garantir que eles consigam gerenciar esses desafios de forma eficaz. Pesquisas futuras também devem considerar a adoção de protocolos de DNS criptografados, como DNS-over-QUIC, que podem oferecer um melhor manuseio das mensagens sem os problemas de fragmentação vistos com o UDP.

Em resumo, nossas descobertas ressaltam a necessidade de os resolvedores de DNS se conformarem com as recomendações de tamanhos de buffer estabelecidas. O funcionamento confiável dos serviços de DNS é essencial pra saúde da Internet, e Resolver problemas de fragmentação será fundamental pra manter essa estabilidade diante da crescente demanda por dados.

Fonte original

Título: Evaluating DNS Resiliency and Responsiveness with Truncation, Fragmentation & DoTCP Fallback

Resumo: Since its introduction in 1987, the DNS has become one of the core components of the Internet. While it was designed to work with both TCP and UDP, DNS-over-UDP (DoUDP) has become the default option due to its low overhead. As new Resource Records were introduced, the sizes of DNS responses increased considerably. This expansion of message body has led to truncation and IP fragmentation more often in recent years where large UDP responses make DNS an easy vector for amplifying denial-of-service attacks which can reduce the resiliency of DNS services. This paper investigates the resiliency, responsiveness, and usage of DoTCP and DoUDP over IPv4 and IPv6 for 10 widely used public DNS resolvers. In these experiments, these aspects are investigated from the edge and from the core of the Internet to represent the communication of the resolvers with DNS clients and authoritative name servers. Overall, more than 14M individual measurements from 2527 RIPE Atlas Probes have been analyzed, highlighting that most resolvers show similar resiliency for both DoTCP and DoUDP. While DNS Flag Day 2020 recommended 1232 bytes of buffer sizes yet we find out that 3 out of 10 resolvers mainly announce very large EDNS(0) buffer sizes both from the edge as well as from the core, which potentially causes fragmentation. In reaction to large response sizes from authoritative name servers, we find that resolvers do not fall back to the usage of DoTCP in many cases, bearing the risk of fragmented responses. As the message sizes in the DNS are expected to grow further, this problem will become more urgent in the future.

Autores: Pratyush Dikshit, Mike Kosek, Nils Faulhaber, Jayasree Sengupta, Vaibhav Bajpai

Última atualização: 2023-07-12 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2307.06131

Fonte PDF: https://arxiv.org/pdf/2307.06131

Licença: https://creativecommons.org/publicdomain/zero/1.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes