Распространение DNS

Вы когда-нибудь обновляли запись A своего домена и замечали, что в течение как минимум нескольких часов ваш новый домен отображал новый сайт на одном устройстве (например, на смартфоне), а старый — на другом, например, на домашнем компьютере? Вы когда-нибудь обновляли записи MX своего домена и замечали, что в течение как минимум нескольких часов не все новые письма доставлялись на указанный вами новый почтовый сервер ?

Не могу сосчитать, сколько раз я видел подобные ситуации, которые заставляли владельцев сайтов паниковать, рвать на себе волосы или раздражаться на своего хостинг-провайдера . Так что же происходит на самом деле и что можно с этим сделать?

Дело в том, что изменения, внесённые вами в DNS вашего домена, распространяются по всему интернету . Далее я объясню, что такое распространение DNS и как можно сократить время распространения, чтобы ваши изменения обновлялись быстрее .

Что такое распространение DNS?

«Распространение» — термин с несколькими связанными значениями, но здесь он просто означает распространение чего-либо от одного объекта к другому. Если вы читали первую статью этой серии, «Что такое DNS?» , вы помните, что DNS был разработан как децентрализованный , поэтому не существует единого массивного файла, который всем нужно постоянно загружать, чтобы иметь актуальные записи о том, какой домен соответствует тому или иному IP-адресу. Естественным следствием этой децентрализованной системы является то, что любые изменения DNS должны распространяться или распространяться на другие системы, чтобы остальной интернет увидел эти изменения. Этот процесс требует времени. К счастью, вы можете контролировать часть этого времени.

Изображение предоставлено SlideShare.net

Изображение предоставлено SlideShare.net

Как я уже говорил в той статье, одним из этапов процесса разрешения DNS является  кэширование или хранение вашим интернет-провайдером (ISP) искомой записи в течение определенного периода времени . Это делается для того, чтобы при следующем запросе этой записи она была предоставлена автоматически, что ускоряет работу на вашей стороне и снижает трафик на стороне интернет-провайдера. Когда вы вносите изменения в DNS своего домена, любые серверы имен (например, принадлежащие вашему интернет-провайдеру), которые уже сохранили эту запись в своем кэше, продолжат обслуживать ее до тех пор, пока не истечет срок ее действия , и серверу не придется запросить обновление. Вот почему в некоторых сетях изменение DNS может отображаться часами, в то время как в других это происходит немедленно: в одной сети есть кэшированный результат, а в другой — нет .

К счастью, вы можете самостоятельно определить срок хранения кэшей до их обновления, если у вас есть доступ к редактированию поля TTL (время жизни) в DNS-записи. Сделать это довольно просто.

Как много времени это займет?

В своей статье «Понимание записей DNS» я рассмотрел три наиболее распространённых типа записей DNS, с которыми вам следует быть знакомыми. На одном из предоставленных мной снимков экрана, который воспроизведён ниже, показаны две из таких записей (A и CNAME). Вы заметите, что у каждой записи есть поле TTL, содержащее большое число . Это число — просто время в секундах. Значение TTL, равное 14400, означает, что все серверы имён, кэширующие результаты для этой записи, будут делать это в течение 14400 секунд, или 4 часов. По истечении 4 часов срок действия кэшированной записи истечёт, и эти серверы имён запросят обновление из вашей зоны DNS.

Примеры записей DNS в cPanel.

Примеры записей DNS в cPanel.

В целом, значение TTL 14400 вполне достаточно для любых нужд. Уменьшение этого значения только увеличит нагрузку на серверы имён вашего сайта, поскольку ему придётся чаще отвечать другим серверам имён, кэширующим записи вашего домена.

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

Единственное предостережение, которое вы должны иметь в виду, прежде чем сделать это, — вам нужно спланировать все заранее . Итак, предположим, что я хочу изменить указанную выше запись A для blog.example.org на какой-то другой IP-адрес, и я хочу, чтобы это изменение записи распространилось как можно быстрее, минимизируя эффект более длительного кэширования записи. Поскольку текущий TTL этой записи A составляет 14400, или 4 часа, мне сначала нужно уменьшить его, скажем, до 300, или 5 минут, а затем  подождать не менее 4 часов . Это нужно для того, чтобы дать всем кэширующим серверам имен достаточно времени, чтобы истечь срок действия моей записи и запросить новую с новым значением TTL. После этого я могу изменить запись A на новый IP-адрес, и через 5 минут это изменение должно распространиться на все серверы имен, кэширующие мои записи DNS.

Вы также можете редактировать значения TTL для записей CNAME и MX, хотя в настоящее время cPanel не предоставляет такой возможности для записей MX. В таких случаях вам необходимо обратиться в службу поддержки клиентов вашего хостинг-провайдера и попросить специалиста обновить значение TTL. Это можно сделать через WHM (административный интерфейс cPanel).

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

Получайте свежие новости в нашем Телеграм канале

Источник
www.webhostingsun.com

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

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

Кнопка «Наверх»