DNS хранит ресурсные записи в иерархии зон: корень, домены верхнего уровня и делегированные зоны. Рекурсивный резолвер использует кеш либо обращается к авторитетным серверам, следуя полученным referrals. Это не пересылка запроса корневым сервером вниз по цепочке. A и AAAA содержат адреса, CNAME — другое имя, MX — почтовый сервер; одному имени могут соответствовать несколько IP, а одному IP — несколько имён.
Что такое иерархическая система доменных имён DNS?
DNS — распределённая система имён и ресурсных записей. Иерархия зон, делегирование и кеширование позволяют находить данные без единой таблицы всех доменов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
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 не устанавливает соответствие «одно имя — одно устройство». Имя может иметь несколько адресов, а один адрес обслуживать множество имён. Изменение записи также не мгновенно обновляет все существующие кеши.