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?
fonte
Respostas:
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.
fonte
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:
Retorno de pesquisas consecutivas (convertido no valor TTL original):
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:
Retorno de pesquisas consecutivas (convertidas para o comprimento total do TTL):
Dos serviços de resolvedores públicos mais conhecidos / melhor conectados:
fonte
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.
fonte
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
,dnsmasq
e 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.
fonte
Pergunta antiga, mas novas respostas (2017, 6 anos depois):
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.
fonte