Entiendo que la funcionalidad principal de DNS es proporcionar un servicio de nombres / mapeo entre nombres de dominio (p blah-whatever.com
. Ej. ) Y direcciones IP (p . Ej. 100.2.3.4 ).
Además, entiendo cómo funcionan los servidores DNS de Internet es que cuando se cambia un registro de mapeo de dominio / IP (por ejemplo, cambiar blah-whatever.com
ahora a 105.2.3.4 , etc.), este cambio debe propagarse en todos los servidores DNS del mundo antes de que se pueda decir que el cambio es "completo". Este período de propagación a veces puede durar hasta 24 horas.
Para empezar, si algo de lo que he dicho hasta ahora es erróneo o incorrecto, ¡comience por corregirme!
Suponiendo que soy más o menos correcto, no entiendo cómo compañías como CloudFlare o DynamicDNS pueden ofrecer servicios de tipo "rollover instantáneo" mediante los cuales usted cambia su registro DNS con ellos y, boom , el cambio tiene efecto instantáneamente.
Entiendo que hay algo llamado "TTL" (¿es hora de vivir, supongo?!?) Que juega un papel en esta capacidad de transferencia instantánea, pero dado que ya tengo dudas sobre la capacidad para comenzar, es difícil entender qué este TTL es o para qué sirve.
Entonces, pregunto: ¿qué tiene el DNS dinámico y sus competidores que les permite cambiar las asignaciones de DNS al instante (sin tomar 24 horas para propagar los cambios de DNS como todos los demás) y cómo encaja TTL en este proceso? Gracias por adelantado.
fuente
Tienes algunas ideas falsas, así que intentaré explicar todo el proceso. (Estoy bien con los detalles ya que participé en la operación de un servicio DNS dinámico público).
Digamos que su dominio es example.com , y digamos que el dominio example.com alojado con alguna compañía de DNS dinámica, llamémoslo lightfastdns.net (nombre ficticio). Su dominio contiene un registro DNS: somehost.example.com , que actualmente apunta a 1.1.1.1 .
Cuando realiza un cambio en su registro DNS, este cambio se envía primero a algún servidor intermedio, operado por lightfastdns.net, por ejemplo, updates.lightfastdns.net . Esto sucede casi al instante (en fracción de segundo). Puede enviar su actualización a través de la interfaz web o con un cliente de actualizaciones dinámicas, o mediante alguna API. Eso no importa, en cualquier caso, esta actualización llegará a algún servidor que maneje actualizaciones de DNS.
Este servidor de actualizaciones empuja su registro actualizado (digamos, 1.2.3.4 ) al servidor DNS " maestro " para su dominio. Este servidor DNS también es operado por lightfastdns.net . Qué tan rápido sucede: depende de cómo el proveedor de DNS diseñó su software. (Puede ser instantáneamente, y puede ser cada 24 horas. Por ejemplo, gandi.net envía actualizaciones de DNS una vez por hora). Por supuesto, nuestro lightfastdns.net lo hará instantáneamente.
Este servidor DNS maestro enviará actualizaciones a los servidores DNS esclavos para el dominio example.com . Estos servidores también son operados por la misma compañía lightfastdns.net . Qué tan rápido sucede esto: con el software moderno, el maestro enviará instantáneamente un mensaje de NOTIFICACIÓN a los esclavos , e instantáneamente obtendrán el registro actualizado del maestro. con el software anterior teníamos valores de REFRESH y RETRY en el registro SOA, pero hoy en día rara vez es relevante. Por supuesto, nuestro lightfastdns.net implementa NOTIFY y las actualizaciones se propagan instantáneamente.
Lo que tenemos ahora es que todos los servidores "autorizados" para su dominio recibieron el registro actualizado ( 1.2.3.4 ). Para lightfastdns.net tomó alrededor de dos segundos.
Ahora, nos trasladaremos a la casa de Ivan en Rusia, e Ivan quiere abrir " somehost.example.com " en su navegador. Si nunca abrió eso antes, su navegador no conoce la dirección, por lo que le preguntará a su sistema operativo. Pero, si visitó el sitio recientemente, la dirección aún puede almacenarse dentro del navegador, ¡y usará la dirección antigua (obsoleta)! Por cuanto tiempo ? - Depende del navegador, Google Chrome, por ejemplo, almacena registros DNS solo por hasta 60 segundos. Tenemos hasta 60 segundos de retraso . Por este hecho, diría que el cambio de DNS aún no se propagó a este navegador.
En cualquier caso, después de 60 segundos, o inmediatamente, el navegador eventualmente le pedirá al sistema operativo que obtenga la dirección. Es posible que el sistema operativo ya conozca la respuesta (antigua, obsoleta) y la devuelva, en este caso, diría que el nuevo registro aún no se propagó al sistema operativo de Ivan. Cuánto tiempo almacenará el sistema operativo el valor anterior: fow sistemas operativos modernos controlados por el parámetro TTL . TTL en DNS define cuánto tiempo se puede almacenar un registro en la memoria caché. Nuestro lightfastdns.net permitió usar TTL bastante bajo: 30 segundos, por lo que obtuvimos un nuevo retraso de hasta 30 segundos, en general, 90 segundos hasta ahora.
Si el sistema operativo no conoce la respuesta, o si la respuesta que sabía ahora está desactualizada por TTL, el sistema operativo le preguntará al solucionador DNS (el ISP de Ivan le asignó un solucionador DNS dns.moscow-telecom.ru ). Aquí, el registro antiguo puede almacenarse en caché hasta TTL segundos, o dns.moscow-telecom.ru puede no conocer la dirección. Obtenemos otros 30 segundos, ya que dns.moscow-telecom.ru también almacena en caché DNS por un valor no superior al TTL. Tenemos 120 segundos de retraso. Eso es lo que se llama que el nuevo registro DNS aún no se propagó a los servidores DNS de Moscow-Telecom .
Si el servidor DNS del ISP no conoce la respuesta, o si la respuesta que sabía ya está obsoleta porque ha caducado TTL, dns.moscow-telecom.ru le preguntará a uno de los servidores DNS AUTORITATIVOS por ejemplo.net (¿los recuerda?). Esos obtuvieron el cambio hace aproximadamente 118 segundos, y devolverán la nueva respuesta, esta respuesta se enviará inmediatamente por cadena al solucionador DNS, al sistema operativo y al navegador de Ivan.
Por lo tanto, la propagación del registro tomó de 2 a 120 segundos, dependiendo del estado de varios cachés. TTL más largo: pueden producirse retrasos más largos.
Para completarlo, algunos ISP violan los estándares y los registros de caché durante mucho tiempo. Algunos sistemas operativos más antiguos mantuvieron registros antiguos durante mucho tiempo, y los navegadores más antiguos también. Pero para la mayoría de los usuarios funcionará como se esperaba.
fuente
No. El cambio no necesita propagarse a todos los servidores DNS del mundo .
Si cambia algo y alguien consulta el registro modificado en su servidor DNS, el resultado es instantáneo.
El problema es si consultaste este nombre antes y se almacenó en caché. Luego obtendrá la IP anterior hasta que caduque el caché. En DNS, puede establecer cuánto tiempo es válida una consulta anterior, y ese período a menudo se establece en varios días. Para DynDNS, generalmente se establece más bajo, pero no todos los solucionadores de DNS lo respetan.
fuente