Domain IP Lookup

“Propagação” nada mais é do que caches expirando

0 min

você salva a alteração

0-5 min

seu provedor de DNS atualiza

até o TTL

resposta antiga ainda em cache

após o TTL

todos veem a nova

Nada é enviado a lugar nenhum: cada cache apenas para de reutilizar sua cópia

Fundamentos de DNS

Propagação de DNS: por que as mudanças demoram tanto?

3 min de leitura

Você atualizou um registro A. O novo site carrega no seu celular, mas não no notebook. Um colega do outro lado do país ainda vê o antigo. Alguém diz para você “esperar a propagação”.

Essa expressão induz ao erro e acreditar nela dificulta o raciocínio sobre o problema. Nada se propaga. Nenhum dado está sendo distribuído para lugar nenhum.

Ponto-chave

Sua mudança de DNS estava no ar no instante em que você a salvou. O que você está esperando é que milhares de caches independentes, cada um com uma cópia antiga, cheguem ao horário de expiração que cada um recebeu. Não há envio, sincronização nem fila.

O que realmente está acontecendo

Quando um resolvedor consulta o seu domínio, ele guarda a resposta junto com um TTL, uma contagem regressiva em segundos. Até essa contagem chegar a zero, o resolvedor responde a partir da memória e nunca mais contata o seu servidor de nomes.

“Propagação” nada mais é do que caches expirando

0 min

você salva a alteração

0-5 min

seu provedor de DNS atualiza

até o TTL

resposta antiga ainda em cache

após o TTL

todos veem a nova

Nada é enviado a lugar nenhum: cada cache apenas para de reutilizar sua cópia

Cada cache expira de forma independente, no seu próprio ritmo, a partir do momento em que por acaso buscou o registro.

Então, quando você altera um registro:

  1. O seu servidor de nomes autoritativo é atualizado imediatamente. A partir daí, ele serve o novo valor a quem perguntar.
  2. Todo resolvedor que guardou o valor antigo em cache continua servindo esse valor até a sua própria contagem regressiva expirar.
  3. Essas contagens começaram em momentos diferentes, quando cada resolvedor buscou o registro pela primeira vez, então expiram em horários diferentes.
  4. À medida que cada uma expira, aquele resolvedor busca o novo valor. Os usuários dele passam a ver a mudança nesse momento.

O resultado escalonado é o que parece uma mudança “se espalhando”. Na verdade, são apenas muitos temporizadores independentes chegando ao fim.

Quanto tempo a espera realmente dura

A espera máxima é o TTL que o registro tinha antes de você alterá-lo. É esse detalhe que torna a propagação previsível.

TTL antigoEspera máximaUso típico
300 (5 min)5 minutosDurante uma migração em andamento
3600 (1 hora)1 horaPadrão sensato
86400 (24 horas)24 horasRegistros estáveis que raramente mudam
172800 (48 horas)48 horasDelegação de NS no nível do TLD

A maneira certa de planejar uma mudança de DNS

  1. Um dia antes: reduza o TTL

    Altere o TTL para 300 segundos e não mude mais nada. Espere pelo menos o tempo do TTL antigo, para que todos os caches adotem o valor mais curto.

  2. Confirme que o TTL baixo está no ar

    Execute dig example.com e confira o TTL na seção de resposta. Quando a contagem regressiva partir de 300 em vez de 3600, todos os resolvedores estão no temporizador curto.

  3. Faça a mudança de fato

    Atualize o registro. Agora a espera máxima de qualquer pessoa é de cinco minutos em vez de uma hora.

  4. Verifique a partir de vários pontos de observação

    Consulte diretamente vários resolvedores públicos: eles são caches independentes e dão uma amostra real do que usuários diferentes veem.

  5. Aumente o TTL novamente

    Quando o tráfego se estabilizar no novo valor, volte o TTL para 3600 ou mais. TTLs baixos significam mais consultas e consultas um pouco mais lentas para todos.

Conferindo o que diferentes resolvedores enxergam

Pergunte a vários resolvedores independentes
dig +short example.com @1.1.1.1
dig +short example.com @8.8.8.8
dig +short example.com @9.9.9.9
Pergunte à fonte autoritativa, ignorando todos os caches
dig +short example.com @ns1.example.com

Esse último comando é o importante. Se o servidor autoritativo retornar o novo valor, sua mudança está correta e completa. Todo o resto é espera, não correção. Se ele retornar o valor antigo, a mudança não foi salva, ou você a editou em um provedor para o qual seu domínio não está delegado.

Por que o resultado é diferente em cada dispositivo

Não existe um único cache entre você e a resposta: existem vários, cada um com o seu próprio temporizador:

  • Seu navegador mantém um pequeno cache de DNS interno.
  • Seu sistema operacional mantém o dele, de forma independente.
  • Seu roteador costuma fazer cache para toda a casa.
  • O resolvedor do seu provedor de internet faz cache para potencialmente milhões de usuários.
  • Resolvedores corporativos ou de VPN acrescentam mais uma camada em redes gerenciadas.

Seu celular com dados móveis usa uma cadeia de resolvedores completamente diferente da do notebook no wifi de casa, e é exatamente por isso que um mostra o site novo e o outro não. Você pode limpar as camadas que controla: veja como limpar o cache de DNS.

Precisa conferir os endereços DNS públicos de um domínio? Use a ferramenta Domain IP Lookup.

Ferramentas gratuitas sobre este assunto

Perguntas frequentes