Cenário de pior caso ao alternar uma entrada de DNS com um TTL de 1 dia

1

Digamos que eu tenha uma entrada de DNS com um tempo de vida definido como 1 dia ou 86400 segundos e atualizo seu IP de destino. Gostaria de saber quanto tempo levaria em um pior cenário para um usuário final até ele receber o novo IP.

Minha suposição é que, na verdade, pode levar 72 horas para que o usuário final receba o novo endereço IP. Isto está certo? O cache em vários nós permite que isso aconteça?

Isto é baseado no pressuposto:

  • O servidor de nomes atualiza a entrada imediatamente.
  • O ISP, o roteador do usuário e o computador do usuário estão todos armazenando em cache a entrada do DNS.
  • Todos os nós estão respeitando o conjunto TTL. Eles olham para o TTL como um tempo limite, não uma data de expiração.

Cenário de tempo:

  • Em t = 0, o servidor de nomes atualiza a entrada.
  • Em t = 23: 59 horas, o roteador do usuário solicita ao ISP o IP mais recente.
  • Em t = 24, o ISP obtém a nova entrada.
  • Em t = 47: 59 horas, o computador do usuário solicita ao roteador do usuário o IP mais recente.
  • Em t = 48, o roteador do usuário obtém a nova entrada.
  • Em t = 71: 59, o computador do usuário pergunta ao roteador do usuário novamente, que está finalmente atualizado.
por marcovtwout 04.10.2012 / 13:56

1 resposta

1

Eu não acho que seu cenário faça sentido. Em t = 23h59m após a mudança no servidor autoritativo, o chamado servidor de nomes do ISP já tem a nova entrada, ou então tem a entrada antiga. Mas se tiver a entrada antiga, ela deve ter sido obtida do servidor autoritativo pelo menos 23h59m atrás, então o TTL restante tem 60 segundos ou menos. Portanto, quando o computador do usuário pede por ele às 47h59m, ele não estará mais lá: ele terá expirado por quase 24 horas e possivelmente atualizado desde então.

Em geral, se o TTL em um registro for 86400 segundos no momento em que for alterado, o tempo máximo que o valor antigo do registro poderá permanecer no sistema DNS será 86400 segundos. Há apenas duas exceções que posso pensar:

  • Erros de implementação em servidores DNS ... esperamos que não haja nenhum: -)
  • A configuração cache-min-ttl do Unbound , que pode ser usada para forçar o servidor de nomes a armazenar em cache um registro por mais tempo do que deveria. Mas como a página de manual do Unbound realmente diz que "valores [...] mais altos podem levar a problemas", eu não acho que as pessoas deveriam estar usando isso sem uma boa razão.

Então, o que resta? Colocação em cache das informações fora do DNS.

Após um aplicativo ou algum tipo de cache do sistema operacional obter o registro antigo do DNS, não há como dizer por quanto tempo ele pode armazená-lo em cache.

    
por 04.10.2012 / 15:33