Общие сведения о понятиях DNS
Система доменных имен (DNS) — это распределенная база данных, представляющая пространство имен. Пространство имен содержит все сведения, необходимые любому клиенту для поиска любого имени. Любой DNS-сервер может отвечать на запросы о любом имени в своем пространстве имен. DNS-сервер отвечает на запросы одним из следующих способов:
- Если ответ находится в кэше, он отвечает на запрос из кэша.
- Если ответ находится в зоне, размещенной DNS-сервером, он отвечает на запрос из зоны. Зона — это часть дерева DNS, хранящегося на DNS-сервере. Когда DNS-сервер размещает зону, он является заслуживающим доверия для имен в этой зоне (то есть DNS-сервер может отвечать на запросы любого имени в зоне). Например, сервер, на котором размещена зона, contoso.com может отвечать на запросы любого имени в contoso.com.
- Если сервер не может ответить на запрос из своего кэша или зон, он запрашивает другие серверы для ответа.
Важно понимать основные функции DNS, такие как делегирование, рекурсивное разрешение имен и зоны DNS, интегрированные с Active Directory, так как они непосредственно влияют на структуру логической структуры Active Directory.
Дополнительные сведения о DNS и доменные службы Active Directory (AD DS) см. в статьях DNS и AD DS.
Делегирование
Чтобы DNS-сервер отвечал на запросы о любом имени, он должен иметь прямой или косвенный путь к каждой зоне в пространстве имен. Эти пути создаются с помощью делегирования. Делегирование — это запись в родительской зоне, которая содержит список серверов имен, заслуживающих доверия для зоны на следующем уровне иерархии. Делегирование позволяет серверам в одной зоне ссылаться на клиенты на серверы в других зонах. На следующем рисунке показан один пример делегирования.
Корневой сервер DNS размещает корневую зону, представленную как точка (). Корневая зона содержит делегирование в зону на следующем уровне иерархии— зоне com. Делегирование в корневой зоне сообщает dns-корневому серверу, что для поиска com-зоны он должен связаться с com-сервером. Аналогичным образом, делегирование в зоне com сообщает com-серверу, что для поиска зоны contoso.com он должен связаться с сервером Contoso.
Делегирование использует два типа записей. Запись ресурса сервера имен (NS) предоставляет имя заслуживающего доверия сервера. Записи ресурсов узла (A) и узла (AAAA) предоставляют IP-адреса версии 4 (IPv4) и IP версии 6 (IPv6) доверенного сервера.
Эта система зон и делегирований создает иерархическое дерево, представляющее пространство имен DNS. Каждая зона представляет слой в иерархии, а каждое делегирование представляет ветвь дерева.
Используя иерархию зон и делегирований, корневой DNS-сервер может найти любое имя в пространстве имен DNS. Корневая зона включает делегирования, которые непосредственно или косвенно ведут ко всем остальным зонам в иерархии. Любой сервер, который может запрашивать корневой сервер DNS, может использовать сведения в делегированиях для поиска любого имени в пространстве имен.
Рекурсивное разрешение имен
Рекурсивное разрешение имен — это процесс, с помощью которого DNS-сервер использует иерархию зон и делегирований для реагирования на запросы, для которых он не является заслуживающим доверия.
В некоторых конфигурациях DNS-серверы содержат корневые указания (т. е. список имен и IP-адресов), которые позволяют им запрашивать корневые серверы DNS. В других конфигурациях серверы перенаправляют все запросы, которые они не могут ответить на другой сервер. Перенаправление и корневые указания — это оба метода, которые DNS-серверы могут использовать для разрешения запросов, для которых они не являются заслуживающими доверия.
Разрешение имен с помощью корневых подсказок
Корневые подсказки позволяют любому DNS-серверу находить корневые серверы DNS. После того как DNS-сервер находит корневой DNS-сервер, он может разрешить любой запрос для этого пространства имен. На следующем рисунке показано, как DNS разрешает имя с помощью корневых подсказок.
В этом примере происходят следующие события:
- Клиент отправляет рекурсивный запрос на DNS-сервер, чтобы запросить IP-адрес, соответствующий имени ftp.contoso.com. Рекурсивный запрос указывает, что клиент хочет окончательного ответа на запрос. Ответ на рекурсивный запрос должен быть допустимым адресом или сообщением, указывающим на то, что адрес не найден.
- Так как DNS-сервер не является заслуживающим доверия для имени и не имеет ответа в кэше, DNS-сервер использует корневые указания для поиска IP-адреса корневого сервера DNS.
- DNS-сервер использует итеративный запрос, чтобы попросить корневой сервер DNS разрешить имя ftp.contoso.com. Итеративный запрос указывает, что сервер примет ссылку на другой сервер вместо окончательного ответа на запрос. Так как имя ftp.contoso.com заканчивается com меткой, корневой сервер DNS возвращает ссылку на com-сервер, на котором размещена зона com.
- DNS-сервер использует итеративный запрос, чтобы попросить com-сервер разрешить имя ftp.contoso.com. Так как имя ftp.contoso.com заканчивается именем contoso.com, com-сервер возвращает ссылку на сервер Contoso, на котором размещена зона contoso.com.
- DNS-сервер использует итеративный запрос, чтобы попросить сервер Contoso разрешить имя ftp.contoso.com. Сервер Contoso находит ответ в данных зоны, а затем возвращает ответ на сервер.
- Затем сервер возвращает результат клиенту.
Разрешение имен с помощью переадресации
Переадресация позволяет маршрутизировать разрешение имен через определенные серверы вместо использования корневых указаний. На следующем рисунке показано, как DNS разрешает имя с помощью переадресации.
В этом примере происходят следующие события:
- Клиент запрашивает DNS-сервер для ftp.contoso.com имени.
- DNS-сервер перенаправит запрос на другой DNS-сервер, известный как сервер пересылки.
- Так как сервер пересылки не является заслуживающим доверия для имени и не имеет ответа в своем кэше, он использует корневые указания для поиска IP-адреса корневого сервера DNS.
- Сервер пересылки использует итеративный запрос, чтобы попросить корневой сервер DNS разрешить имя ftp.contoso.com. Так как имя ftp.contoso.com заканчивается именем com, корневой СЕРВЕР DNS возвращает ссылку на com-сервер, на котором размещена зона com.
- Сервер пересылки использует итеративный запрос, чтобы попросить com-сервер разрешить имя ftp.contoso.com. Так как имя ftp.contoso.com заканчивается именем contoso.com, com-сервер возвращает ссылку на сервер Contoso, на котором размещена зона contoso.com.
- Сервер пересылки использует итеративный запрос, чтобы попросить сервер Contoso разрешить имя ftp.contoso.com. Сервер Contoso находит ответ в файлах зоны, а затем возвращает ответ на сервер.
- Затем сервер пересылки возвращает результат на исходный DNS-сервер.
- Затем исходный DNS-сервер возвращает результат клиенту.