Что такое иерархическая система доменных имён DNS?

DNS — распределённая система имён и ресурсных записей. Иерархия зон, делегирование и кеширование позволяют находить данные без единой таблицы всех доменов.

Короткий ответ

Что ответить на собеседовании

DNS хранит ресурсные записи в иерархии зон: корень, домены верхнего уровня и делегированные зоны. Рекурсивный резолвер использует кеш либо обращается к авторитетным серверам, следуя полученным referrals. Это не пересылка запроса корневым сервером вниз по цепочке. A и AAAA содержат адреса, CNAME — другое имя, MX — почтовый сервер; одному имени могут соответствовать несколько IP, а одному IP — несколько имён.

Подробный разбор

Ответ с пояснениями

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

Имя www.example.com. читается по уровням справа налево: корень ., домен верхнего уровня com, домен example.com, затем имя www. Границы зон определяются делегированием: не каждый компонент имени обязательно обслуживается отдельной зоной.

Тип записи определяет смысл данных:

  • A — IPv4-адрес, AAAA — IPv6-адрес;
  • CNAME — каноническое имя для псевдонима;
  • MX — имя почтового сервера и его приоритет;
  • NS — авторитетный сервер зоны;
  • TXT — текстовые данные, значение которых интерпретирует использующий их протокол.

Форматы записей, RFC 1035, AAAA, RFC 3596

Обычно приложение через системный резолвер обращается к рекурсивному DNS-серверу. Если подходящего ответа нет в кеше, тот может начать с корневого сервера, получить указание на серверы com, затем на серверы example.com и запросить нужную запись у авторитетного сервера. Корневой и TLD-серверы обычно возвращают referrals — сведения, куда обратиться дальше, а не пересылают этот запрос друг другу. Следующие запросы выполняет резолвер. Рекурсия и referrals, RFC 9499

Кеширование записей и делегирований с учётом TTL позволяет не проходить всю цепочку каждый раз. Отдельная конфигурация — forwarding: резолвер передаёт запрос вышестоящему резолверу, который занимается дальнейшим разрешением.

Наконец, DNS не устанавливает соответствие «одно имя — одно устройство». Имя может иметь несколько адресов, а один адрес обслуживать множество имён. Изменение записи также не мгновенно обновляет все существующие кеши.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку