Какие уровни существуют в DNS

«Какие уровни существуют в DNS» — вопрос из категории Сети, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

DNS (Domain Name System) — это распределенная иерархическая система. Её структуру можно представить как перевернутое дерево с несколькими ключевыми уровнями:

  1. Корневая зона (Root Zone): Верхний уровень, обозначаемый точкой (.). Управляется организацией IANA. Существует 13 наборов корневых серверов (логически больше за счет anycast). Они не знают, где находится example.com, но знают, кто отвечает за зону .com.

  2. Домены верхнего уровня (Top-Level Domains, TLD): Следующий уровень после корня.

    • gTLD (общие): .com, .org, .net, .info.
    • ccTLD (национальные): .ru, .de, .uk.
    • Спонсируемые (sTLD): .gov, .edu, .museum. Серверы TLD хранят информацию о доменах второго уровня в своей зоне.
  3. Домены второго уровня (Second-Level Domains, SLD): Это и есть привычные нам имена, например google в google.com или yandex в yandex.ru. Владелец такого домена может управлять его записями через своего регистратора/хостера.

  4. Субдомены (Subdomains): Домены третьего и более уровней, которые создаются владельцем SLD. Например, mail.google.com, docs.google.com. Технически их может быть бесконечно много.

Как это работает на практике (резолвинг): Когда браузер ищет sub.example.com, рекурсивный резолвер (например, от вашего провайдера) выполняет запросы по цепочке:

  1. Спрашивает корневой сервер: "Где .com?"
  2. Корень отвечает адресом сервера TLD .com.
  3. Резолвер спрашивает TLD-сервер: "Где example.com?"
  4. TLD отвечает адресом авторитативных серверов для example.com.
  5. Резолвер спрашивает эти серверы: "Где sub.example.com?" и получает IP-адрес (запись A/AAAA).

Пример команды для просмотра цепочки делегирования:

dig +trace sub.example.com

Эта команда наглядно покажет все шаги от корня до конечной записи.