Работа с доменами невозможна без знания принципов управления ими и понимания что такое DNS-сервер. Это позволит избежать возможных проблем с доступом к сайту или быстрее устранять их в случае возникновения.

Что представляет собой DNS

Для начала, следует рассмотреть понятие DNS и описание его работы. DNS — это аббревиатура от Domain Name System («Системы доменных имен»), главной задачей которой является хранение и управление информацией о доменных зонах.

Открыть любой сайт в интернете можно, введя в строке браузера его числовой IP-адрес или символьное имя. Человеку более удобен второй вариант, поэтому необходим сервис-посредник, который будет автоматически преобразовывать символы из названий доменных имен в IP-адреса в цифры. Для этого и предназначена Система доменных имен.

Что такое DNS

По аналогии с телефонным справочником, можно назвать доменное имя (URL-адрес) «контактом», а IP-адрес — «номером абонента». Если дать определение простыми словами, DNS — это сама телефонная книга со всеми сохраненными в ней контактами.

Главное отличие физической телефонной книги от ее интернет-аналога заключается в том, что контакты в последней сохраняют не обычные пользователи Сети. «Номера» в системе DNS регистрируют владельцы сайтов, имеющие права на определенный домен или домены.

Зачем нужны DNS-серверы

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

Что такое DNS-сервер

Назначение DNS-сервера

  • Хранение информации о доменах и предоставление ее по запросам;
  • Кэширования DNS-записей из остальных DNS-серверов.

Классификация серверов

Учитывая функции DNS-сервера, их можно поделить на несколько видов. При этом, сервер-преобразователь или «резолвер» (от англ. Resolver, «преобразователь»), непосредственно конвертирующий доменные имена в IP-адреса, может одновременно принадлежать к двум и более типам.

Ниже представлены определения основных типов DNS-серверов.

  • Авторитативный — DNS-сервер, который отвечает за определенную зону.
  • Первичный (Мастер) — сервер, уполномоченный вносить изменения в зону. Как правило, в зоне находится только один первичный сервер.
  • Вторичный (Слейв) — сервер без права применять изменения в зоны, получающий от «мастера» только уведомления об изменениях. В зоне может находиться неограниченное количество слейвов.
  • Кэширующий — отвечает за обслуживание пользователей. Он принимает рекурсивные запросы, а затем обрабатывает их с использованием нерекурсивных запросов или передает на вышестоящий сервер. Большинство серверов, работающих непосредственно с пользователями, является именно кэширующими.
  • Перенаправляющий (Прокси, Балансирующий) — кэширующий сервер, который не отдает данные напрямую, а перенаправляет запросы на связанную с ним цепь кэширующих серверов. Благодаря этому перераспределяется общая нагрузка и уменьшается вероятность даунтайма.
  • Корневой (Рут) — авторитативный сервер в корневой зоне. В мире расположено 13 таких серверов, их домены находятся в зоне root-servers.net.
  • Регистрирующий — принимает информацию об обновлениях от пользователей.

Кэширование

Чтобы понимать, как работает DNS-сервер, нужно детально рассмотреть, как в нем происходит процесс кэширования.

При обращениях к любому сайту (даже при переходе на внутренние страницы), серверам необходимо проверять связь домена и IP-адреса. Однако, посещаемый ресурс может храниться довольно далеко, поэтому постоянные запросы на первичный DNS-сервер могут сильно снизить скорость загрузки страниц.

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

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

Как правило, для работы домена достаточно сохранить свои данные на двух DNS-серверах — первичном и вторичном. Хотя, гораздо лучше указывать большее их количество. Это повысит надежность работы веб-адреса, поскольку при отсутствии доступа к одному DNS-серверу, можно будет обработать запрос на следующем.

Как работает DNS-сервер

Рассмотрим более подробно принцип работы DNS-сервера на примере сайта example.com. Все доменные имена и IP-адреса здесь приведены только для примера.

Как работает DNS-сервер

  1. Пользователь вводит адрес нужного сайта (www.example.com) в адресную строку браузера и отправляет запрос.
  2. Запрос, содержащий искомое доменное имя, отправляется серверу-преобразователю имен DNS (резолверу), указанному в настройках операционной системы компьютера для поиска IP-адреса.
  3. Преобразователь выполняет перенаправление запроса на корневой DNS-сервер, который отдает в ответ сервер зоны доменов верхнего уровня (.com), ответственный за искомый домен.
  4. Преобразователь еще раз перенаправляет запрос на сервер зоны доменов верхнего уровня (.com), и получает в ответ адрес конкретного NS-сервера, к которому приписан искомый домен (ns1.eternalhost.net).
  5. Ответственный сервер получает запрос резолвера и отдает IP-адрес (192.0.2.44), соответствующий доменному имени в первоначальном запросе.
  6. После получения необходимого IP-адреса, преобразователь имен передает это значение браузеру. Вдобавок, он выполняет кэширование полученных данных о сопоставлении доменного имени с IP-адресом, чтобы при последующих аналогичных запросах быстрее на них отвечать.
  7. С браузера отправляется новый запрос уже по полученному IP-адресу. Веб-сервер example.com возвращает страницу на браузер, после чего она открывается.

Следует понимать, что информация о соответствии доменного имени IP-адресу хранится на сервере имен определенное время и обновляется с определенной периодичностью. Эти параметры могут отличаться, в зависимости от того, как настроены NS-записи и работает DNS.

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