2020/08/26

Chromium está a gerar biliões de pedidos DNS desnecessários


Uma pequena opção usada no Chromium para distinguir entre redes internas e redes na internet está a gerar biliões de pedidos DNS desnecessários que se propagaram até aos servidores DNS de topo.

Tudo e qualquer coisa que se faz na internet assenta numa série de tecnologias que escondem toda a complexidade por trás da simplicidade de se escrever um endereço e se poder ver uma página web. Um desses pilares fundamentais é o DNS, o serviço responsável por transformar os nomes dos domínios que usamos nos endereços IP que os computadores utilizarão para chegar até ao computador pretendido.

Uma visita a uma qualquer página web pode significar que o browser tenha que fazer esses pedidos para dezenas e dezenas de endereços, sendo algo que acontece em fracções de segundo sem que o utilizador se aperceba disso - mas infelizmente o Chromium adiciona a isso mais alguns biliões de pedidos DNS acumulados, e que para piorar a situação se propagam até aos servidores DNS de topo.



A culpa é da também aparentemente simples omnibox usada no Chromium, e que vai auto-detectando  e sugerindo coisas à medida que o utilizador começa a escrever. Para diferenciar entre redes internas e externas, os developers do Chromium recorreram a uma técnica aparentemente inócua: fazem pedidos de DNS de três domínios gerados aleatoriamente, que numa rede com servidor DNS local que esteja a "apoderar-se" destes pedidos irão devolver o mesmo endereço IP, mas que se estiverem numa rede com internet global irão resultar em erro por não existirem.

O problema é que por se tratarem de domínios aleatórios, são domínios que não se encontraram nos servidores de primeira linha que mantêm os registos DNS de todos os milhões de sites mais populares. Quando isso acontece, estes servidores DNS têm que reencaminhar o pedido para os servidores superiores, e assim sucessivamente, em cascata, até chegarem aos servidores DNS principais que, teoricamente, apenas se deveria chegar em casos excepcionais.

Só que, com a popularidade dos browsers baseados em Chromium, estes acesso "falsos" representam agora mais de metade de todos os pedidos DNS a chegarem a estes servidores. A questão é: como poderá o Chromium manter a funcionalidade sem sobrecarregar desnecessariamente os servidores DNS em questão. Por agora até a simples redução de três pedidos para dois, ou apenas um, poderia aliviar significativamente a carga nos servidores com efeito imediato, permitindo ganhar tempo para se encontrar uma solução mais adequada a longo prazo.

1 comentário: