Как DNS-серверы Root/TLD отвечают IP-адресами в дополнительных записях?

Как работает разрешение имен DNS: Пошаговое руководство

Разрешение имен DNS – это ключевая часть работы Интернета. Эта статья охватывает основные этапы процесса, включая взаимодействие с корневыми серверами и серверами TLD, а также объясняет важность дополнительных записей в этом процессе.

Запрос корневого сервера имен

Когда вы вводите доменное имя в адресной строке, первым шагом является запрос к корневому серверу имен. Например, вы можете обратиться к серверу по адресу a.root-servers.net (IP: 198.41.0.4). Корневой сервер предоставляет информацию о соответствующих серверах TLD (Top-Level Domain), которые отвечают за конкретное доменное имя.

Как DNS-серверы Root/TLD отвечают IP-адресами в дополнительных записях?

Запрос TLD-сервера

Следующим этапом является обращение к TLD-серверу. Предположим, что мы хотим узнать информацию о домене pinpon.com. Мы можем отправить запрос к серверу TLD, например, l.gtld-servers.net (IP: 192.41.162.30). Он вернет адреса авторитетных DNS-серверов для данного домена.

Запрос TLD-сервера

Авторитетные DNS-серверы

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

Дополнительные записи A/AAAA

Дополнительные записи A/AAAA возвращаются, если отвечающий сервер уже имеет копии этих записей. Например, если серверы имен домена находятся внутри этого же домена, то соответствующие адреса копируются вручную из дочерней зоны в корневую зону, как связывающие записи.

Когда запрос идет к домену example.net, он может вернуть необходимые адреса серверов, избегая потенциальных «петля-22» ситуаций.

Правила возврата дополнительных записей

Согласно недавно опубликованному RFC 9471, сервер имен "ДОЛЖЕН" возвращать связывающие записи в определенных случаях, но только "ДОЛЖЕН" в других. Если сервер имен не имеет данных, он не сделает никаких дальнейших запросов и вам придется самостоятельно искать адреса имен серверов.

Например, в случае домена google.fr, раз серверы имен находятся под TLD B, то авторитетные серверы имен для TLD A не имеют связывающих записей, и дополнительный раздел будет пуст.

$ dig www.google.fr @d.nic.fr.

;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.google.fr.         IN  A

;; AUTHORITY SECTION:
google.fr.      3600    IN  NS  ns1.google.com.
google.fr.      3600    IN  NS  ns2.google.com.
google.fr.      3600    IN  NS  ns3.google.com.
google.fr.      3600    IN  NS  ns4.google.com.

Заключение

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

Источник

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *