DNS TTL

DNS TTL на сервере — time to live или время жизни записей зон DNS. Задается в секундах. Это время через которое клиент будет должен вновь запросить информацию с сервера и время, по истечении которого значения записей обновятся после внесения изменений .

 

Задание DNS TTL на сервере

Для неавторитативного ответа фактически запрос разрешается следующим образом (это самый частый случай):

  1. Клиент обращается к домену example.com, запрашивая при этом IP адрес сервера, на котором размещается сайт. Запрос уходит на NS сервера, прописанные на компьютере для резолвинга
  2. Если этим серверам про домен ничего не известно идет обращение на root сервера NS, которых в мире 30. Ответ представляет собой информацию об ответственных за резолвинг example.com NS
  3. Происходит обращение к ним и возвращается ответ и IP адресом к которому и нужно обращаться чтобы получить контент сайта

 

В случае с авторитативным ответом исключается второй шаг, в остальном процесс тот же.

 

 

Вместе с ответом клиенту передается информация о времени жизни записи, по его истечению и при повторном обращении клиента процесс должен будет выполнен вновь. Это время и есть TTL.



DNS TTL

 

Описанный процесс с точки зрения сети довольно ресурсоемкий и означает передачу трафика и временные задержки.

 

TTL определяется в настройках DNS сервера, в частности за него отвечает SOA запись для домена. В ней прописывается нужное значение считываемое клиентом при первом обращении.

 

Стоит иметь в виду, что SOA записью определяется time to live только для одного первичного DNS сервера. Фактически информация обновится через указанное количество секунд в случае если домен делегирован на NS сервер, для которого добавлена запись. Если нет — какое-то время также займет распространение информации на вторичные DNS.

 

Значение Refresh SOA записи (в секундах) на вторичном DNS сервере определяет как часто информация синхронизируется с первичного сервера (изменения вносятся только на первичном).

 

 

Основное правило заключается в том, что значение TTL стоит подбирать с учетом специфики проекта для которого используется домен, но лучше всего ставить 300-600 секунд.

 

Маленькие значения обеспечат минимальное время простоя в случае если с сервером, обслуживающим сайт, что-то случится и запись потребуется поменять. 300 секунд обычно устанавливают провайдеры, предлагающие защиту от сетевых атак DDOS.

Если приходит атака адрес автоматически меняется и прописывается адрес специальной мощной машины, которая фильтрует трафик и перенаправляет на основной сервер только запросы пользователей, исключая ботов.

 

 

В то же время, при маленьких значениях возрастает нагрузка на DNS и, поскольку, обращения происходят гораздо чаще, чаще требуется разрешение запросов к домену, что несколько уменьшает скорость загрузки сайта.

 

Лучшим решением почти всегда является то, которое учитывает оба обозначенных фактора. Должна быть возможность достаточно быстро изменить записи при необходимости, при этом не генерируя постоянного ненужного трафика.

 

Читайте о том, как проверить записи DNS

Запись опубликована автором в рубрике DNS.