Что такое система DNS?

«Что такое система DNS?» — вопрос из категории Архитектура, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

DNS (Domain Name System) — это распределённая иерархическая система, выполняющая преобразование (резолвинг) удобных для человека доменных имён (например, google.com) в машиночитаемые IP-адреса (например, 142.250.185.78), необходимые для маршрутизации сетевых пакетов.

Как работает разрешение имени (на примере www.example.com):

  1. Браузер проверяет локальный кэш и файл hosts.
  2. Запрос отправляется резолверу (обычно провайдера).
  3. Резолвер запрашивает корневые DNS-серверы (.), которые указывают на серверы домена верхнего уровня .com.
  4. Серверы .com указывают на авторитативные серверы для example.com.
  5. Авторитативный сервер возвращает IP-адрес для www.example.com.
  6. Резолвер кэширует ответ и передаёт его браузеру.
Ключевые типы DNS-записей (RR): Тип Назначение Пример
A Сопоставляет имя с IPv4-адресом example.com. IN A 93.184.216.34
AAAA Сопоставляет имя с IPv6-адресом example.com. IN AAAA 2606:2800:220:1:248:1893:25c8:1946
CNAME Создаёт псевдоним для другого имени www.example.com. IN CNAME example.com.
MX Указывает почтовый сервер для домена example.com. IN MX 10 mail.example.com.
NS Указывает авторитативные DNS-серверы для домена example.com. IN NS ns1.example.com.
TXT Содержит текстовые данные (часто для проверок) example.com. IN TXT "v=spf1 ..."

Важность для архитектуры: DNS обеспечивает масштабируемость, отказоустойчивость (благодаря распределённости) и гибкость (легко менять IP-адреса серверов).