Si Internet es tan rápido, ¿por qué el tiempo de propagación es tan lento (24-48 horas)? Me refiero al tiempo para que el DNS resuelva mi nombre de dominio a una determinada dirección IP.

El Servicio de nombres de dominio (DNS) está altamente distribuido, y la mayoría de los sitios “almacenan en caché” la información de resolución de dominio para evitar que los usuarios finales aprovechen la luz del día de su servidor DNS.

Las entradas DNS vienen con un valor de Tiempo de vida (TTL) que puede establecerse en 300 segundos (5 minutos) o 84600 segundos (24 horas). Si cambia la dirección DNS de un registro que estableció con un 86400 TTL, tomará 24 horas antes de que todos noten el cambio de dirección.

Si está cambiando una dirección DNS con un TTL de 84600 segundos, puede configurar temporalmente el TTL en 5 minutos y esperar 24 horas para que se borren todas las entradas en caché distantes. Su servidor DNS experimentará una carga adicional durante este tiempo ya que los sitios distantes ya no almacenan en caché la información. Una vez que ha transcurrido el TTL original, el cambio de DNS se propagará dentro del tiempo del nuevo TTL establecido. Una vez que esté convencido de que todo está bien, puede restablecer el TTL a 86400 para reducir la carga en su servidor DNS.

Es probable que el almacenamiento en caché provoque un retraso. Esto es especialmente cierto si cambia de proveedor de alojamiento porque los registros del servidor de nombres (NS) suelen tener valores de tiempo de vida (TTL) largos, lo que los hace permanecer en la memoria del servidor durante mucho tiempo.

Digamos, por ejemplo, que es propietario de “xyz.com” y está alojado en su ISP “fastconnect.net”, luego decide cambiar de proveedor a “uberconnect.com”. Esto significa que la dirección IP de su dominio va a cambiar. Para que Internet se dé cuenta de que la dirección IP es diferente, debe dejar de mirar fastconnect y comenzar a buscar uberconnect, para que pueda obtener la dirección correcta. Aunque ya haya cambiado el ISP con su registrador, si un cliente ha visitado previamente su sitio web “www.xyz.com”, entonces el servidor DNS de ese cliente tendrá “fastconnect.net” en caché y ni siquiera comprobará si Ha cambiado. Entonces obtiene la antigua dirección IP …

Eventualmente, todos estos datos antiguos caducarán, pero a menudo lleva días.

La forma de evitar esto es hacer que su antiguo ISP ingrese la nueva dirección IP en sus servidores, si puede hacer que lo hagan … de modo que incluso cuando alguien mira los servidores de alojamiento incorrectos, aún así obtienen la dirección IP correcta.

El tiempo que tarda un registro DNS en “propagarse” no depende de cuán “rápido” sea “Internet”. Más bien, depende del valor TTL (o “Tiempo de vida”) adjunto a ese registro DNS.

¿Por qué? DNS es la “guía telefónica” descentralizada y altamente distribuida de Internet. Es el sistema que traduce las direcciones legibles por humanos (como google.com o linux.org) en direcciones IP (como 172.217.6.14 o 2607: f8b0: 4009: 809 :: 200e). La dirección IP es el valor que utiliza su computadora para comunicarse realmente con el servidor web que aloja el sitio web que está buscando. Si bien google.com significa algo para los humanos, sin la dirección IP asociada no significa nada para su navegador. En pocas palabras, cuando una computadora traduce la dirección web de un sitio web en una dirección IP, debe consultar una cadena completa de servidores DNS hasta que encuentre la que conoce la dirección IP del sitio que está intentando cargar. Dependiendo del dominio y la capacidad de respuesta de los servidores DNS en esa cadena, este proceso puede llevar una cantidad de tiempo no trivial (y representa al menos parte del retraso que observa entre escribir una URL en un navegador web y que página web realmente cargando). El proceso de traducir el nombre de dominio de un sitio web a una dirección IP debe ocurrir cada vez que hace clic en un enlace. Para acelerar este proceso (y para ayudar, por ejemplo, a que las páginas web se carguen más rápido), cada respuesta de consulta DNS incluye no solo la dirección IP del nombre de dominio, sino también su valor TTL (o valor Time To Live). Este valor informa al solucionador de DNS cuánto tiempo puede esperar usar esa dirección IP antes de que necesite volver a consultar toda esa cadena de servidores DNS. Ese valor TTL lo establece la persona u organización responsable de ese nombre de dominio y se especifica en segundos. Entonces, un valor TTL de 86400 significa 86400 segundos, lo que significa 24 horas.

Un valor TTL alto (en nuestro ejemplo, 86400 segundos, o 24 horas), significa que una vez que un visitante de su sitio web ha realizado la consulta inicial de DNS para encontrar su dirección IP, ese visitante no tendrá que hacerlo costoso (en términos de tiempo) vuelva a consultar el período de tiempo especificado por el valor TTL, en este caso, 24 horas. Esto puede aumentar significativamente la capacidad de respuesta de su sitio web. Sin embargo, esto también significa que si la dirección IP de su sitio web cambia, los visitantes podrían no usar esa nueva dirección IP por hasta 86400 segundos. Esto se llama “tiempo de propagación”. No está esperando que su nueva dirección IP viaje “lentamente” a través de un “internet rápido”. Está esperando que este valor TTL caduque en cualquier dispositivo de resolución DNS o computadora que haya visitado su sitio web en los últimos x número de segundos especificados por el valor TTL. Establecer un valor TTL más bajo (digamos, un TTL de 300, que significa 5 minutos), significa que el registro DNS caducará antes, lo que requiere que los visitantes consulten la cadena de servidores DNS cada 5 minutos que pasan en su sitio web. Esto significa que los visitantes verán antes un cambio de dirección IP para su sitio web, pero dependiendo de su nombre de dominio y los servidores de nombres que use, podría afectar significativamente el rendimiento del sitio web porque los visitantes deben consultar esa cadena de servidores DNS cada 5 minutos.

Esto significa que se enfrenta a una decisión: valores TTL más bajos que le permiten realizar cambios en la dirección IP con mayor frecuencia (como sería el caso en los escenarios DNS de ida y vuelta), pero a costa del rendimiento del sitio web, o un valor TTL más alto que mejora el rendimiento del sitio web, pero a costa de agilidad para cambiar la dirección IP de uno. Hablando en términos prácticos, si sabe que va a realizar un cambio en las direcciones IP, puede cambiar preventivamente el valor TTL a algo bajo y esperar a que el valor TTL anterior se vuelva “obsoleto” antes de hacer un cambio de dirección IP. Entonces su nueva dirección IP se “propagaría” más rápido. Después de realizar el cambio, volvería a establecer el valor TTL en un valor más alto para mejorar el rendimiento.