О web-разработке
и даже немного больше...

TTL значения записи в DNS

DNS система является одной из фундаментальных технологических решений, на которых базируется интернет. Практически весь спектр сетевых запросов верхнего уровня функционирует посредством использования возможности выполнения поиска DNS (поиску таких имен как href.kz и преобразованию их в IP-адрес). Среди них HTTP запросы, пересылка писем, и много других механизмов, которые продолжают работать уже значительное время по всему интернету, а также в локальных сетях.

В данном посту мы поговорим о таком параметре как TTL-записи. Каждый домен в настройках DNS-сервера содержит некоторый набор ресурсных записей (Resource Records), которые служат для того, чтобы домен мог полноценно функционировать в сети. Среди таких параметров обычно присутствуют A, MX, NS, TXT, CNAME-записи, и другие. Для каждой такой записи указывается параметр TTL, который указывает время жизни (Time To Live). Данный параметр довольно часто остаётся незамеченным, т.к. в большинстве случаев оставляется по умолчанию при настройке записей доменов.

Для чего используется TTL записи

Для лучшего понимания давайте вспомним как работает DNS система. DNS это программное обеспечение, которое устанавливается на разных серверах, в разных точках планеты, и не только. DNS-сервера грубо говоря обмениваются между собой информацией о доменных именах. Процесс поиска данных о домене сводится к тому, клиентская машина запрашивает данные о домене у сервера DNS, тот в свою очередь должен отдать данные о домене, либо сообщить об их отсутствии.
Для поиска данных на серверах, особенно когда их много, и они разрознены по всему миру требуется некоторое время. Так как данные обновляются не так часто, то для ускорения поиска каждый DNS-сервер выполняет кэширование запросов. Кэширование сокращает время на поиск, значительное увеличивая производительность всей сети.

Время жизни TTL

Таким образом мы пришли к самому определению времени жизни TTL. Время жизни (TTL) указывает длительность кэширования записи для участников системы. В качестве базовой единицы величины TTL используются секунды. В этом случае, если запись, найденная при поиске данных, содержит величину TTL равной 3600, то длительность хранения записи в DNS кэше будет 1 час. После этого запись будет удалена.
Стоит понимать, что изменение значения TTL не влияет на скорость обновления данных в системе DNS, при внесении изменений в записи доменного имени. Данный параметр сообщает другим серверам через сколько времени запись теряет свою актуальность, после чего, кэширующий сервер должен будет отправлять повторный запрос.

Конфигурации записей DNS могут содержать величины TTL указанные в таком виде:

  • 300 секунд — 5 минут;
  • 3600 секунд — 1 час;
  • 86 400 секунд — 24 часа;
  • 604 800 секунд — 7 дней.

Как работает поиск в DNS
Условно поиск записей по всей системе можно разделить на звенья. При вводе URL в адресе вашего браузера запускается целая серия поисков. Логика поиска сводится к тому что происходит проверка вида:
1) Есть ли данные по записи в кэше?
2) После нахождения записи проверяется не превысил ли срок TTL с момента её добавления?
3) Если запись не актуальная (согласно TTL), то запрос перемещается на следующее звено цепочки поиска.

Практически все современные веб-браузеры выполняют самостоятельное кэширование данных о сайте. Подобным образом браузера хранят кэш и записей DNS. Браузер может некоторое время хранить данные, а каком-либо сайте без учёта TTL. Всё это так же делается для того, чтобы максимально ускорить отрисовку сайта в браузере, и сократить время на поиски. Аналогично происходит и с другими программами вроде FTP-клиентов, и мессенджеров.

Как принудительно обновить все DNS-записи для домена?

Вопрос может стать актуальным при работе с действующим проектом. К примеру, если проект мигрировал на другой сервер, и есть необходимость сократить время ожидания обновления данных на промежуточных звеньях. И к сожалению, из-за архитектурной особенности системы сделать это принудительно невозможно. По этой причине хостинг провайдеры всегда просят подождать около 24 часов с момента обновления записей в DNS.
На этом у меня всё, надеюсь информация была для вас полезной, всего доброго!

Опубликован: 27.03.2020 г.

См. также:

Для чего используются SPF-записи?
Для чего служит DKIM запись в DNS?
Какие типы записей бывают в конфигурации DNS?
Зачем нужны несколько DNS адресов для домена сайта?
TXT запись в DNS
Что такое PTR-запись?
Как просмотреть PTR запись хоста?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта