Допустим, у меня есть запись DNS с параметром «Время жизни», равным 1 дню или 86400 секундам, и я обновляю его целевой IP-адрес. Интересно, сколько времени потребуется конечному пользователю в худшем случае, пока он не получит новый IP-адрес.
Я предполагаю, что на самом деле может пройти 72 часа, прежде чем конечный пользователь получит новый IP-адрес. Это правильно? Позволяет ли кэширование в нескольких узлах это случиться?
Это основано на предположении:
- Сервер имен немедленно обновляет запись.
- Интернет-провайдер, пользовательский маршрутизатор и пользовательский компьютер кэшируют запись DNS.
- Все узлы соответствуют установленному TTL. Они смотрят на TTL как на тайм-аут, а не на дату истечения срока действия.
Сценарий времени:
- При t = 0 сервер имен обновляет запись.
- В t = 23:59 часов пользовательский маршрутизатор запрашивает у интернет-провайдера последний IP-адрес.
- При t = 24 провайдер получает новую запись.
- В t = 47:59 пользовательский компьютер запрашивает у маршрутизатора пользователя последний IP.
- При t = 48 пользовательский маршрутизатор получает новую запись.
- В момент времени t = 71:59 пользовательский компьютер снова запрашивает маршрутизатор пользователя, что, в конечном итоге, обновляется.