Que porcentagem de servidores de nomes honra o TTL atualmente?

29

Alguns anos atrás, tive que fazer várias alterações no DNS ao longo de várias semanas, enquanto movia bits de equipamento de um datacenter para outro. No momento em que fiz isso, cerca de 95% dos servidores de nomes no mundo pareciam respeitar o valor TTL, e cerca de 5% ignoraram o nosso e criaram o seu próprio. Em outras palavras, 95% do tráfego foi movimentado dentro do TTL de 15 minutos que definimos. Outros 3% chegaram na primeira hora, 1% no primeiro dia e alguns retardatários levaram três dias.

(Sim, ok, estou confundindo porcentagem de tráfego com porcentagem de servidores de nomes. Por favor, insira ondulação manual.)

Isso foi por volta de 2001, no entanto, e estávamos usando dinossauros para transmitir pacotes através dos tubos. Meu palpite é que os servidores de nome de hoje são mais bem-comportados e haverá menos problemas com os retardatários. Alguém sabe qual porcentagem de tráfego alternará dentro do TTL definido atualmente? Ainda existem muitos servidores de nomes por aí que ignoram o TTL?

user10501
fonte
4
Não tenho ideia, mas meu pressentimento é que hoje será ainda pior do que no passado.
Zoredache
Eu adoraria tê-los todos feitos em 3 dias! Fiz uma grande mudança nesse período (poderia ter sido em 2002) e, depois de duas semanas, finalmente percebemos que 1/3 dos servidores de nomes raiz estavam analisando alguns servidores DNS de desenvolvimento que um dos outros administradores de sistema havia exposto para o mundo exterior. (Ainda não tenho idéia de como os servidores raiz sabiam sobre eles).
8139 Joe H.
Algo a considerar nisso é: não são apenas os recursores DNS de ponta que armazenam em cache os registros. Às vezes, as pessoas acorrentam recursores e isso adiciona tempo. Além disso, alguns sistemas operacionais armazenam em cache registros. Alguns navegadores também armazenam em cache registros. Java e outros aplicativos também armazenam em cache o DNS. Isso pode facilmente transformar um TTL de 15 minutos em mais de 60 minutos.
Aaron

Respostas:

15

Mudamos recentemente e tivemos todos os tipos de problemas com o DNS.

Quando fizemos o balanço, a maioria dos clientes começou a acessar os novos IPs imediatamente. Mas alguns ainda estavam atingindo os IPs antigos por semanas. Deixamos um servidor ativo por mais ou menos um mês. Eventualmente, examinamos os logs do IIS na máquina antiga e ligamos para os clientes dizendo para liberarem o DNS na empresa ou nos servidores DNS do ISP. Isso fez com que o último deles se mudasse.

Foi um pequeno número de pessoas que manteve os IPs antigos. Dos 20 mil clientes, talvez 50 tenham tido problemas após o primeiro dia.

mrdenny
fonte
1
Obrigado! É sobre o que eu esperava. Um quarto de por cento não é tão ruim para alguns tipos de tráfego, embora certamente seja muito ruim para outros.
User10501 08/10/09
1
Uma estimativa mais recente: trocas de 13 horas em servidores DNS, um total de 17/500 (3,4%) dos clientes entraram em contato conosco porque ainda estavam sendo atendidos no site antigo, em vez do novo. O WhatsMyDNS é útil para verificar o status da propagação (no nosso caso, 4/140 = 2,85% dos servidores em sua amostra ainda estão usando o IP antigo / errado - eu gostaria de ter usado isso antes para me comunicar melhor com os clientes e rastreie a propagação do DNS.)
Fabien Snauwaert 6/17/17
Se eu realizasse uma alteração no DNS novamente, eu configuraria um nome de domínio de backup com antecedência, para servir o novo site enquanto o antigo ainda está se propagando.
Fabien Snauwaert
8

Em maio de 2011, os valores TTL (muito) longos são respeitados pela maioria dos servidores de nomes de resolução de DNS por até 2 semanas.

Em um teste usando just-dnslookup.com, com 50 pontos de medição ativos distribuídos globais, com um TTL de registro A definido para 99.999.999 = 165 semanas (preciso: 165 semanas 2 dias 9 horas 46 minutos 39 segundos) e um TTL padrão de 2 semanas (= SOA + NS TTL).

A primeira pesquisa retorna:

  • TTL de 1 semana, para 3 de 50 pontos de medição
  • TTL de 165 semanas, para 47 dos 50 pontos de medição

Retorno de pesquisas consecutivas (convertido no valor TTL original):

  • TTL de 1 semana, para 3 de 50 pontos de medição
  • TTL de 2 semanas, para 46 dos 50 pontos de medição
  • TTL de 165 semanas, para 1 de 50 pontos de medição

Um segundo teste (usando um domínio diferente) em que o TTL padrão é definido como 4 semanas (= SOA + NS TTL), os resultados estão abaixo.

A primeira pesquisa retorna:

  • TTL de 1 semana, para 3 de 50 pontos de medição
  • um TTL de 2 semanas, para 1 de 50 pontos de medição
  • TTL de 165 semanas, para 46 dos 50 pontos de medição

Retorno de pesquisas consecutivas (convertidas para o comprimento total do TTL):

  • TTL de 1 semana, para 3 de 50 pontos de medição
  • um TTL de 2 semanas, para 47 dos 50 pontos de medição
  • TTL de 165 semanas, para 0 de 50 pontos de medição

Dos serviços de resolvedores públicos mais conhecidos / melhor conectados:

  • O DNS público do Google [8.8.8.8 e 8.8.4.4] é reduzido para 1 dia.
  • O UltraDNS [rdns (1 | 2) .ultradns.net] honra 165 semanas inteiras.
  • O Sprintlink [ns (1 | 2 | 3) .sprintlink.net] honra 165 semanas inteiras.
Pro Backup
fonte
11
Pessoalmente, eu ficaria muito mais preocupado se as configurações curtas do TTL são respeitadas. Você já fez pesquisas semelhantes sobre isso? Por exemplo, se TTL estiver definido como 3600 segundos, os registros em cache realmente expirarão após uma hora? Isso é altamente relevante para uma situação de transição. O pensamento de que um TTL de 165 semanas seria honrado é realmente bastante assustador, principalmente quando penso em situações em que fui chamado para limpar os erros de outra pessoa.
Skyhawk
Eu acho que o 8.8.8.8 ignora completamente o ttl e apenas usa 24h. Certamente não respeita pelo menos alguns ttls inferiores. Agora tenho que encontrar algo para fazer por 24h.
Steven Parkes
3

Recentemente, mudei o DNS para alguns domínios que hospedam meu site pessoal e sites de projeto do GoDaddy para DNS interno (sim, literalmente, minha casa ). No geral, todos os sites aos quais tenho acesso remoto respeitavam o TTL e faziam bem a transição. O mesmo foi relatado por todos os amigos que eu poderia pedir para verificar, tanto por telefone fixo quanto por celular. O único problema, ironicamente, foram os principais servidores DNS de cache da $ University onde trabalho, que pareciam desconsiderar totalmente o TTL para consultas em cache (e até desconsiderar o valor TTL que estavam atribuindo ao resultado em cache).

Parece que, em geral, o TTL deve ser respeitado. 56% dos servidores com autoridade para domínios .com e .net estão executando o BIND, o que obviamente funciona bem com os padrões. A Cablevision / Optimum (pelo menos em NJ) parece estar usando o Nominum CNS, que também respeita os TTLs.

Jason Antman
fonte
0

Esta não é uma resposta específica para sua pergunta; mas outras coisas a serem consideradas nos testes:

Recursores DNS encadeados e daemons de cache

Não são apenas os recursores DNS de ponta que armazenam em cache os registros. Às vezes, as pessoas acorrentam recursores e isso adiciona tempo. Se isso deve ser feito ou não, pode ser uma longa discussão com base no que as pessoas estão tentando resolver. Eu já vi três níveis de recursão em um data center. Recursores de mistura podem ter resultados mistos, pois os decréscimos do TTL nem sempre são preservados. Alguns sistemas operacionais armazenam em cache registros. Alguns sistemas também usam coisas como nscd, dnsmasqe outros métodos para minimizar o impacto de questões recursor locais e para reduzir a carga em seus recursors. As características no SO variam de acordo com a versão do lançamento, daemons de cache, versão dos daemons de cache, etc ...

[Editar] Para reiterar, este não é um comportamento normal de um recursor ou daemon de armazenamento em cache. Não vou envergonhar os buggy, mas um deles é considerado como não mantido, apesar de estar incluído em muitas distribuições linux.

Cache DNS do aplicativo

Alguns navegadores também armazenam em cache registros. Java e outros aplicativos também armazenam em cache o DNS. Às vezes, você pode limitar o ttl máximo nos aplicativos.

Os resultados finais podem ser distorcidos

Os itens acima podem facilmente transformar um TTL de 15 minutos em mais de 60 minutos ou mais.

É por isso que geralmente sugiro que aplicativos ou sites considerem ter vários nós ativos em seu design de tolerância a falhas, para que o cliente possa determinar mais rapidamente quando um ponto de entrada em seu site falhou e lidar automaticamente com o problema de uma maneira graciosa e previsível. , quando possível. O Anycast é um método que algumas empresas usam para tornar o failover um pouco transparente e não confiar tanto nas alterações do DNS. Existem também alguns métodos inteligentes de balanceamento de carga que podem ser feitos em javascript usando vários registros DNS.

Aaron
fonte
O TTL não é redefinido apenas porque o registro é enviado de um servidor DNS para o próximo. Um TTL de 15 minutos significa 15 minutos, não importa quantas camadas de caches esteja passando. A única maneira de se tornar mais é se algum software estiver com erros e não implementar o DNS corretamente.
kasperd
Concordo. Encontrei um pouco de recursores de buggy.
Aaron
-1

Pergunta antiga, mas novas respostas (2017, 6 anos depois):

  1. Parece que quase todos os servidores DNS em todo o mundo são atualizados em 5 minutos
  2. Google e OpenDNS permitem liberar manualmente um registro DNS, acelerando as atualizações de propagação

Antes das experiências abaixo, eu havia mudado meu TTL anteriormente de 14400 (segundos = 4 horas) para 300 (segundos = 5 minutos), mas fiz isso 2 horas antes das experiências e, como o TTL anterior era de 4 horas, não tenho certeza da minha alteração. teria saído se os servidores DNS não tivessem seu próprio TTL mínimo.

Minhas experiências:

Experiência 1:

Alterei uma tradução de nome para IP (registro A) no servidor autoritativo e verifiquei:

Após 5 minutos (300 segundos), cerca da metade dos servidores globais verificados por esses sites foram atualizados.

Após 7 minutos, todos foram atualizados, exceto 1.

Experiência 2:

O Google e o OpenDNS permitem liberar manualmente o cache DNS para um domínio específico. Ligações:

Atualizei outro registro A e, em seguida, limpei imediatamente o cache DNS do Google. Eles têm um captcha que me fez "clicar em todos os quadrados com sinais" 3 vezes, por isso demorou 1-2 minutos antes que eu pudesse completar o flush.

Após 4 minutos, apenas 1 servidor DNS verificado por esses sites tinha o endereço IP antigo. Todos os outros foram atualizados.

Portanto, limpar o cache DNS do Google e forçá-lo a consultar novamente o servidor autoritário parece ter acelerado a propagação global do DNS, talvez acionando atualizações de cache nos servidores do mundo.

No entanto, mesmo sem a liberação do Google, parece que a propagação ocorre em minutos, não em horas ou dias.

john v kumpf
fonte