Что такое служба узла днс клиент
DNS-клиент
Служба предназначена для получения IP-адреса удаленного компьютера при известном доменном или url-адресе этого компьютера (например, www.mail.ru). При этом процесс получения IP-адреса удаленного компьютера реализуется благодаря взаимодействию службы DNS-клиент с DNS-сервером. Это взаимодействие начинается после ввода запроса на подключение к удаленному компьютеру с использованием доменного имени компьютера (например, при вводе в адресную строку браузера адреса www.mail.ru). После этого служба DNS-клиент пытается найти IP-адрес компьютера, соответствующий введенному доменному или url-адресу, в своем кэше (данный кэш существует до окончания работы службы DNS-клиент и хранит соответствия всех IP-адресов доменным именам, которые уже были найдены службой DNS-сервер). Если служба DNS-клиент не находит в кэше соответствующий доменному имени IP-адрес, она обращается к содержимому файла HOSTS (если, конечно, обращение к данному файлу разрешено), расположенному на локальном компьютере (в каталоге %SystemRoot%System32driversetc) и включающему в себя соответствия между доменными именами и IP-адресами компьютеров, которым эти имена принадлежат. Если же и в этом файле нет сведений об IP-адресе необходимого компьютера, то служба обращается к DNS-cep-веру, используемому для разрешения имен компьютеров по умолчанию (в сети может существовать несколько DNS-серверов, при этом один из них является основным, к которому и обращаются компьютеры для разрешения имен). DNS-клиент ищет сведения об IP-адресе компьютера, которому принадлежит данное доменное имя, в своей базе данных. Если в базе данных DNS-сервера нет сведений о соответствующем этому доменному имени IP-адресе, то DNS-сервер просматривает свой кэш уже разрешенных имен компьютеров. Если и кэш не содержит необходимого IP-адреса, то DNS-сервер обращается с запросом на разрешение имени к вышестоящему DNS-серверу (например, если данный DNS-сервер включает в себя сведения о домене narod.ru, то DNS-сервер обращается к вышестоящему DNS-серверу, содержащему сведения о домене ru и т.д.). В итоге, если разрешение IP-адреса все-таки удалось, то IP-адрес, соответствующий данному доменному имени, передается DNS-клиенту, который, в свою очередь, передает его программе, запросившей у него разрешение имени (не забыв перед этим поместить данное разрешение имен в свой кэш). Если же разрешение имени не удалось, то программа оповестит об этом пользователя, сказав ему, что компьютер с введенным именем не найден.
ПРИМЕЧАНИЕ
Как уже говорилось, файл hosts расположен в каталоге %systemroot%systemdrivers ets и используется в случае, если в кэше DNS-клиента нет сведений о разрешении данного доменного или url-имени. Файл hosts является обычным текстовым файлом, содержащим соответствия IP-адреса компьютера его url-адресу. Вы сами можете создать данные соответствия для часто открываемых в Интернете сайтов, чтобы они открывались быстрее и при открытии загружали меньше трафика (ведь браузеру не придется обращаться к DNS-серверу). Для этого достаточно в файле hosts создать строку такого вида: IP-адрес URL-адрес. Например, можно разрешить IP-адрес сайта www.mail.ru. Его url-имя у вас есть (www.mail.ru), но как узнать IP-адрес? Для этого вам понадобится программа командной строки ping.exe. Необходимо запустить командную строку и ввести команду ping www.mail.ru, после чего программа выведет IP-адрес, принадлежащий url-имени www.mail.ru. Для www.mail.ru это будет адрес 194.67.57.26, то есть в файле hosts нужно создать строку вида 194.67.57.26 www.mail.ru.
С помощью файла hosts можно также бороться с баннерными серверами. Для этого достаточно разрешить имя сайта, который раздает другим сайтам баннеры, на IP-адрес своего компьютера (например, с помощью строки 127.0.0.1 www.banners.com), и баннеры от этого сайта больше не будут загружаться.
Использование файла hosts может быть полезно на домашних компьютерах, подключенных к Интернету, но в коммерческих сетях его использование не рекомендуется.
Служба DNS-клиент занимает около 2604 Кбайт памяти и запускается с правами сетевой службы (NT AUTHORITYNetworkService) автоматически при каждом входе пользователя в систему (при этом она запускается как отдельный процесс svchost.exe). Данная служба необходима, если в сети присутствует DNS-сервер или компьютер принадлежит к Active Directory (Active Directory уже предполагает, что в сети есть DNS-сервер, ведь без него Active Directory нельзя будет установить). Если эти условия не выполняются, то службу DNS-клиент можно отключить (можно подумать, что эта служба также необходима для подключения к Интернету, но, как показали исследования, это не так, хотя без ее использования качество поиска страниц в Интернете может пострадать, поэтому не рекомендуется отключать данную службу, если вы подключены к Интернету). Для этого необходимо DWORD-параметру Start, расположенному в ветви реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDnscache, присвоить значение 4.
Для запуска службы DNS-клиент необходимо, чтобы уже была запущена служба Драйвер протокола TCP/IP.
Для работы службы DNS-клиент также необходима библиотека dnsrslvr.dll.
Читайте также
Клиент
Клиент Клиент, который желает послать запрос серверу, блокируется до тех пор, пока сервер не завершит обработку запроса. Затем, после завершения сервером обработки запроса, клиент разблокируется, чтобы принять «ответ».Это подразумевает обеспечение двух условий: клиент
30.3. Тестовый клиент TCP
30.3. Тестовый клиент TCP В листинге 30.1[1] показан клиент, который будет использоваться для тестирования всех вариаций нашего сервера.Листинг 30.1. Код клиента TCP для проверки различных версий сервера//server/client.с 1 #include «unp.h» 2 #define MAXN 16384 /* максимальное количество байтов, которые
10.1.2 TCP и модель клиент/сервер
10.1.2 TCP и модель клиент/сервер TCP естественным образом интегрируется в окружение клиент/сервер (см. рис. 10.1). Серверное приложение прослушивает (listen) поступающие запросы на соединение. Например, службы WWW, пересылки файлов или доступа с терминала прослушивают запросы,
Программа-клиент
Программа-клиент Программа-клиент бесплатной версии Roger Wilco отличается тем, что в ее окне отсутствует вкладка Host Base Station (Обосноваться на базовой станции). Это естественно, поскольку сервер запускается отдельно и настраивается в режиме командной строки. Тем не менее,
DHCP-клиент
DHCP-клиент Данная служба используется при существовании в сети DHCP-сервера. DHCP-сервер предназначен для выдачи всем компьютерам, не имеющим постоянного IP-адреса, временного IP-адреса, чтобы они могли работать в сети. Служба является отличным средством автоматизирования
Веб-клиент
Веб-клиент Служба позволяет изменять или добавлять файлы, хранящиеся в Интернете. Если эта стандартная функция Windows вам не нужна, то службу лучше отключить.Служба Веб-клиент занимает около 800 Кбайт оперативной памяти и запускается с правами локальной службы (NT
Почтовый клиент Evolution
Почтовый клиент Evolution Почтовым клиентом и по совместительству программой для управления контактами и временем для оконной среды GNOME является Evolution (http://www.gnome.org/projects/evolution/). Изначально он разработан и поддерживается фирмой Novell, с сентября 2004 года входит в состав GNOME.
Многопротокольный клиент SIM
Многопротокольный клиент SIM Simple Instant Messenger (SIM, http://sim-im.org/) – еще один многопротокольный клиент обмена сообщениями с открытыми исходными текстами, работающий, кроме Linux, на платформах, поддерживаемых используемой им библиотекой Qt: Microsoft Windows, FreeBSD и Mac OS X. Основатель проекта
Клиент Ekiga
Клиент Ekiga В дистрибутиве Ubuntu в качестве приложения для IP-телефонии и проведения видеоконференций используется Ekiga (http://www.ekiga.org/). Первая версия этой программы была написана Демиеном Сандрасом, который сегодня является одним из руководителей проекта, в качестве дипломной
Глава 18 FTP-клиент
Глава 18 FTP-клиент Постановка задачи Разработать FTP-клиент. Программа должна соединяться с FTP-cepвером, проходить аутентификацию и предоставлять пользователю возможность работать с файлами, которые находятся на сервере. У пользователя должна быть возможность передавать и
Почтовый клиент
Почтовый клиент В переводе с компьютерного жаргона это простая программа для приема и отправки электронной почты. Это нужная операция, поэтому программ такого рода множество. Однако Outlook – самая простая и удобная, что нетрудно доказать.Во-первых, Outlook универсален: он
Клиент-сервер
Клиент-сервер Средства локального доступа.* Локальная заглушка TCP/IP. Для многоуровневых серверных приложений и других клиентов доступ к локальному серверу на любой поддерживаемой платформе осуществляется через протокол TCP/IP: даже при отсутствии сетевой карты соединение
Что такое клиент Firebird?
21.5.1. Команда ftp — стандартный FTP-клиент
21.5.1. Команда ftp — стандартный FTP-клиент Для открытия соединения с любым FTP-сервером введите команду: ftp Можно просто ввести команду ftp, а в ответ на приглашение ftp> ввести команду: open Лично мне больше нравится первый
QIP — альтернативный ICQ-клиент
QIP — альтернативный ICQ-клиент Возможно, для общения в ICQ вам больше понравится альтернативный ICQ-клиент — программа QIP. Существуют две версии этой программы: QIP 2005 и OIP Infium. На нетбуке предпочтение стоит отдать более простой и компактной версии — QIP 2005.В программе QIP 2005 есть
Как остановить или запустить DNS-клиент в Windows с помощью этих альтернатив
Как остановить или запустить службу DNS в Windows
Однако на некоторых устройствах этот параметр недоступен. Мы можем обнаружить, что на этом этапе, как мы видим на изображении выше, эта опция отображается серым цветом, без возможности ее пометить. Поэтому мы не можем запустить или остановить службу DNS в Windows таким образом, как мы объяснили.
К счастью, у нас есть другие альтернативы что мы собираемся показать. Другие методы, с помощью которых мы сможем запустить или остановить службу DNS в Windows 10, которая на сегодняшний день является наиболее часто используемой операционной системой среди пользователей настольных компьютеров. Это означает, что он может пригодиться многим пользователям, которые в какой-то момент сталкиваются с подобными проблемами.
Используйте реестр Windows
Внутри HKEY_LOCAL_MACHINE мы должны перейти в System, CurrentControlSet, Services и Dnscache. Когда мы здесь, мы должны щелкнуть правой кнопкой мыши на Пуск и выбрать Изменить.
Мы увидим, что по умолчанию присвоено значение 2. Что мы собираемся сделать, так это поставить значение 4 и нажимаем ОК. Благодаря этому мы добиваемся автоматического запуска службы. Если мы отметим 3, нам придется запускать его вручную.
Теперь мы можем выполнить начальные шаги, которые мы упомянули, чтобы запустить или приостановить службу DNS, чтобы эти параметры не отображались серым цветом.
Конфигурация системы
У нас также есть альтернатива использования конфигурации системы. На этот раз нам нужно нажать комбинацию клавиш Windows + R и выполнить MSConfig команда. Новое окно откроется автоматически.
Символ системы
С помощью команды net stop dnscache мы останавливаем службу, если она уже была запущена. Вместо этого его запускает команда net start dns cache.
Короче говоря, эти три упомянутые нами опции позволяют запускать или останавливать службу DNS в Windows. Альтернативы, когда мы не можем воспользоваться упомянутым начальным методом, который доступен не на всех устройствах.
Сетевые сервисы Windows 2012 — DNS
В своё время открыл для себя простую истину: хочешь запомнить что-то — веди конспект (даже при чтении книги), а хочешь закрепить и систематизировать — донеси до людей (напиши статью). Поэтому, после двух лет работы в системной интеграции (сфере, которую я в бытность свою системным администратором, считал просто рогом изобилия для жаждущих прокачки специалистов), когда я понял, что знания постепенно вытесняются навыками правки документации и конфигурированию по мануалам и инструкциям, для поддержания формы я начал писать статьи о базовых вещах. Например вот — о DNS. Делал тогда я это больше для себя, но подумал — вдруг кому пригодится.
Сервис в современных сетях если не ключевой, то один из таковых. Те, для кого служба DNS — не нова, первую часть могут спокойно пропустить.
Содержание:
1. Основные сведения
2. Немного о формате сообщения DNS
3. TCP и UDP
4. DNS в Windows Server 2008 и 2012
5. DNS и Active directory
6. Источники информации
(анкеров нет, поэтому содержание без ссылок)
1. Основные сведения
DNS — это база данных, содержащая, в основном, информацию о сопоставлении имён сетевых объектов их IP-адресам. «В основном» — потому что там и ещё кое-какая информация хранится. А точнее, ресурсные записи (Resource Records — RR) следующих типов:
А — то самое сопоставление символьного имени домена его IP адресу.
АААА — то же что А, но для адресов IPv6.
CNAME — Canonical NAME — псевдоним. Если надо чтобы сервер с неудобочитаемым именем, типа nsk-dc2-0704-ibm, на котором вертится корпоративный портал, откликался также на имя portal, можно создать для него ещё одну запись типа А, с именем portal и таким же IP-адресом. Но тогда, в случае смены IP адреса (всякое бывает), нужно будет пересоздавать все подобные записи заново. А если сделать CNAME с именем portal, указывающий на nsk-dc2-0704-ibm, то ничего менять не придётся.
MX — Mail eXchanger — указатель на почтовый обменник. Как и CNAME, представляет собой символьный указатель на уже имеющуюся запись типа A, но кроме имени содержит также приоритет. MX-записей может быть несколько для одного почтового домена, но в первую очередь почта будет отправляться на тот сервер, для которого указано меньшее значение в поле приоритета. В случае его недоступности — на следующий сервер и т.д.
NS — Name Server — содержит имя DNS-сервера, ответственного за данный домен. Естественно для каждой записи типа NS должна быть соответствующая запись типа А.
SOA — Start of Authority — указывает на каком из NS-серверов хранится эталонная информация о данном домене, контактную информацию лица, ответственного за зону, тайминги хранения информации в кэше.
SRV — указатель на сервер, держатель какого-либо сервиса (используется для сервисов AD и, например, для Jabber). Помимо имени сервера содержит такие поля как Priority (приоритет) — аналогичен такому же у MX, Weight (вес) — используется для балансировки нагрузки между серверами с одинаковым приоритетом — клиенты выбирают сервер случайным образом с вероятностью на основе веса и Port Number — номер порта, на котором сервис «слушает» запросы.
Все вышеперечисленные типы записей встречаются в зоне прямого просмотра (forward lookup zone) DNS. Есть ещё зона обратного просмотра (reverse lookup zone) — там хранятся записи типа PTR — PoinTeR — запись противоположная типу A. Хранит сопоставление IP-адреса его символьному имени. Нужна для обработки обратных запросов — определении имени хоста по его IP-адресу. Не требуется для функционирования DNS, но нужна для различных диагностических утилит, а также для некоторых видов антиспам-защиты в почтовых сервисах.
Кроме того, сами зоны, хранящие в себе информацию о домене, бывают двух типов (классически):
Основная (primary) — представляет собой текстовый файл, содержащий информацию о хостах и сервисах домена. Файл можно редактировать.
Дополнительная (secondary) — тоже текстовый файл, но, в отличие от основной, редактированию не подлежит. Стягивается автоматически с сервера, хранящего основную зону. Увеличивает доступность и надёжность.
Для регистрации домена в интернет, надо чтоб информацию о нём хранили, минимум, два DNS-сервера.
В Windows 2000 появился такой тип зоны как интегрированная в AD — зона хранится не в текстовом файле, а в базе данных AD, что позволяет ей реплицироваться на другие контроллеры доменов вместе с AD, используя её механизмы репликации. Основным плюсом данного варианта является возможность реализации безопасной динамической регистрации в DNS. То есть записи о себе могут создать только компьютеры — члены домена.
В Windows 2003 появилась также stub-зона — зона-заглушка. Она хранит информацию только о DNS-серверах, являющихся полномочными для данного домена. То есть, NS-записи. Что похоже по смыслу на условную пересылку (conditional forwarding), которая появилась в этой же версии Windows Server, но список серверов, на который пересылаются запросы, обновляется автоматически.
Итеративный и рекурсивный запросы.
Понятно, что отдельно взятый DNS-сервер не знает обо всех доменах в интернете. Поэтому, при получении запроса на неизвестный ему адрес, например metro.yandex.ru, инициируется следующая последовательность итераций:
DNS-сервер обращается к одному из корневых серверов интернета, которые хранят информацию о полномочных держателях доменов первого уровня или зон (ru, org, com и т.д.). Полученный адрес полномочного сервера он сообщает клиенту.
Клиент обращается к держателю зоны ru с тем же запросом.
DNS-сервер зоны RU ищет у себя в кэше соответствующую запись и, если не находит, возвращает клиенту адрес сервера, являющегося полномочным для домена второго уровня — в нашем случае yandex.ru
Клиент обращается к DNS yandex.ru с тем же запросом.
DNS яндекса возвращает нужный адрес.
Такая последовательность событий редко встречается в наше время. Потому что есть такое понятие, как рекурсивный запрос — это когда DNS-сервер, к которому клиент изначально обратился, выполняет все итерации от имени клиента и потом возвращает клиенту уже готовый ответ, а также сохраняет у себя в кэше полученную информацию. Поддержку рекурсивных запросов можно отключить на сервере, но большинство серверов её поддерживают.
Клиент, как правило, обращается с запросом, имеющим флаг «требуется рекурсия».
2. Немного о формате сообщения DNS
Сообщение состоит из 12-байтного заголовка, за которым идут 4 поля переменной длины.
Заголовок состоит из следующих полей:
Формат DNS-сообщения
Идентификация — в это поле клиентом генерируется некий идентификатор, который потом копируется в соответствующее поле ответа сервера, чтобы можно было понять на какой запрос пришёл ответ.
Флаги — 16-битовое поле, поделенное на 8 частей:
Следующие четыре 16-битных поля указывают на количество пунктов в четырех полях переменной длины, которые завершают запись. В запросе количество вопросов (number of questions) обычно равно 1, а остальные три счетчика равны 0. В отклике количество ответов (number of answers) по меньшей мере равно 1, а оставшиеся два счетчика могут быть как нулевыми, так и ненулевыми.
Пример (получен с помощью WinDump при выполнении команды ping www.ru):
IP KKasachev-nb.itcorp.it.ru.51036 > ns1.it.ru.53: 36587+ A? www.ru. (24)
IP ns1.it.ru.53 > KKasachev-nb.itcorp.it.ru.51036: 36587 1/2/5 A 194.87.0.50 (196)
Первая строка — запрос: имя моего ПК, 51036 — случайно выбранный порт отправки, 53- заранее известный порт DNS-сервера, 36587 — идентификатор запроса, + — «требуется рекурсия», А — запрос записи типа А, знак вопроса означает, что это запрос, а не ответ. В скобках — длина сообщения в байтах.
Вторая строка — ответ сервера: на указанный исходный порт с указанным идентификатором запроса. Ответ содержит одну RR (ресурсную запись DNS), являющуюся ответом на запрос, 2 записи полномочий и 5 каких-то дополнительных записей. Общая длина ответа — 196 байт.
3. TCP и UDP
На слуху сведения о том, что DNS работает по протоколу UDP (порт 53). Это действительно по умолчанию так — запросы и ответы отправляются по UDP. Однако, выше упоминается наличие в заголовке сообщения флага TC (Truncated). Он выставляется в 1, если размер отклика превысил 512 байт — предел для UDP-отклика — а значит был обрезан и клиенту пришли только первые 512 байт. В этом случае клиент повторяет запрос, но уже по TCP, который ввиду своей специфики, может безопасно передать большие объёмы данных.
Также передача зон от основных серверов к дополнительным осуществляется по TCP, поскольку в этом случае передаётся куда больше 512 байт.
4. DNS в Windows Server 2008 и 2012
В Windows 2008 появились следующие возможности:
Фоновая загрузка зон
Поскольку задача загрузки зон выполняется отдельными потоками, DNS-сервер может обрабатывать запросы во время загрузки зоны. Если DNS-клиент запрашивает данные для узла в зоне, который уже загружен, DNS-сервер отправляет в ответ данные (или, если это уместно, отрицательный ответ). Если запрос выполняется для узла, который еще не загружен в память, DNS-сервер считывает данные узла из доменных служб Active Directory и обновляет соответствующим образом список записей узла.
Поддержка IPv6-адресов
Протокол Интернета версии 6 (IPv6) определяет адреса, длина которых составляет 128 бит, в отличие от адресов IP версии 4 (IPv4), длина которых составляет 32 бита.
DNS-серверы с ОС Windows Server 2008 теперь полностью поддерживают как IPv4-адреса, так и IPv6-адреса. Средство командной строки dnscmd также принимает адреса в обоих форматах. Cписок серверов пересылки может содержать и IPv4-адреса, и IPv6-адреса. DHCP-клиенты также могут регистрировать IPv6-адреса наряду с IPv4-адресами (или вместо них). Наконец, DNS-серверы теперь поддерживают пространство имен домена ip6.arpa для обратного сопоставления.
Изменения DNS-клиента
Разрешение имен LLMNR
Клиентские компьютеры DNS могут использовать разрешение имен LLMNR (Link-local Multicast Name Resolution), которое также называют многоадресной системой DNS или mDNS, для разрешения имен в сегменте локальной сети, где недоступен DNS-сервер. Например, при изоляции подсети от всех DNS-серверов в сети из-за сбоя в работе маршрутизатора клиенты в этой подсети, поддерживающие разрешение имен LLMNR, по-прежнему могут разрешать имена с помощью одноранговой схемы до восстановления соединения с сетью.
Кроме разрешения имен в случае сбоя в работе сети функция LLMNR может также оказаться полезной при развертывании одноранговых сетей, например, в залах ожидания аэропортов.
Изменения Windows 2012 в части DNS коснулись, преимущественно, технологии DNSSEC (обеспечение безопасности DNS за счет добавления цифровых подписей к записям DNS), в частности — обеспечение динамических обновлений, которые были недоступны, при включении DNSSEC в Windows Server 2008.
5. DNS и Active directory
Active Directory очень сильно опирается в своей деятельности на DNS. С его помощью контроллеры домена ищут друг друга для репликации. С его помощью (и службы Netlogon) клиенты определяют контроллеры домена для авторизации.
Для обеспечения поиска, в процессе поднятия на сервере роли контроллера домена, его служба Netlogon регистрирует в DNS соответствующие A и SRV записи.
SRV записи регистрируемые службой Net Logon:
_ldap._tcp.DnsDomainName
_ldap._tcp.SiteName._sites.DnsDomainName
_ldap._tcp.dc._msdcs.DnsDomainName
_ldap._tcp.SiteName._sites.dc._msdcs.DnsDomainName
_ldap._tcp.pdc._msdcs.DnsDomainName
_ldap._tcp.gc._msdcs.DnsForestName
_ldap._tcp.SiteName._sites.gc._msdcs. DnsForestName
_gc._tcp.DnsForestName
_gc._tcp.SiteName._sites.DnsForestName
_ldap._tcp.DomainGuid.domains._msdcs.DnsForestName
_kerberos._tcp.DnsDomainName.
_kerberos._udp.DnsDomainName
_kerberos._tcp.SiteName._sites.DnsDomainName
_kerberos._tcp.dc._msdcs.DnsDomainName
_kerberos.tcp.SiteName._sites.dc._msdcs.DnsDomainName
_kpasswd._tcp.DnsDomainName
_kpasswd._udp.DnsDomainName
Первая часть SRV-записи идентифицирует службу, на которую указывает запись SRV. Существуют следующие службы:
_ldap — Active Directory является службой каталога, совместимой с LDAP-протоколом, с контроллерами домена, функционирующими как LDAP-серверы. Записи _ldap SRV идентифицирует LDAP серверы, имеющиеся в сети. Эти серверы могут быть контроллерами домена Windows Server 2000+ или другими LDAP-серверами;
_kerberos — SRV-записи _kerberos идентифицируют все ключевые центры распределения (KDC — Key Distribution Centers) в сети. Они могут быть контроллерами домена с Windows Server 2003 или другими KDC-серверами;
_kpassword — идентифицирует серверы изменения паролей kerberos в сети;
_gc — запись, относящаяся к функции глобального каталога в Active Directory.
В поддомене _mcdcs регистрируются только контроллеры домена Microsoft Windows Server. Они делают и основные записи и записи в данном поддомене. Не-Microsoft-службы делают только основные записи.
Записи, содержащие идентификатор сайта SiteName, нужны для того чтобы клиент мог найти контроллер домена для авторизации в своём сайте, а не лез авторизовываться в другой город через медленные каналы.
DomainGuid — глобальный идентификатор домена. Запись, содержащщая его, нужна на случай переименования домена.
Как происходит процесс поиска DC
Во время входа пользователя, клиент инициирует DNS-локатор, при помощи удалённого вызова процедуры (Remote Procedure Call — RPC) службой NetLogon. В качестве исходных данных в процедуру передаются имя компьютера, название домена и сайта.
Служба посылает один или несколько запросов с помощью API функции DsGetDcName()
DNS сервер возвращает запрошенный список серверов, рассортированный согласно приоритету и весу. Затем клиент посылает LDAP запрос, используя UDP-порт 389 по каждому из адресов записи в том порядке, как они были возвращены.
Все доступные контроллеры доменов отвечают на этот запрос, сообщая о своей работоспособности.
После обнаружения контроллера домена, клиент устанавливает с ним соединение по LDAP для получения доступа к Active Directory. Как часть их диалога, контроллер домена определяет к в каком сайте размещается клиент, на основе его IP адреса. И если выясняется, что клиент обратился не к ближайшему DC, а, например, переехал недавно в другой сайт и по привычке запросил DC из старого (информация о сайте кэшируется на клиенте по результатам последнего успешного входа), контроллер высылает ему название его (клиента) нового сайта. Если клиент уже пытался найти контроллер в этом сайте, но безуспешно, он продолжает использовать найденный. Если нет, то инициируется новый DNS-запрос с указанием нового сайта.
Служба Netlogon кэширует информацию о местонахождении контроллера домена, чтобы не инициировать всю процедуру при каждой необходимости обращения к DC. Однако, если используется «неоптимальный» DC (расположенный в другом сайте), клиент очищает этот кэш через 15 минут и инициирует поиски заново (в попытке найти свой оптимальный контроллер).
Если у комьютера отсутствует в кэше информация о его сайте, он будет обращаться к любому контроллеру домена. Для того чтобы пресечь такое поведение, на DNS можно настроить NetMask Ordering. Тогда DNS выдаст список DC в таком порядке, чтобы контроллеры, расположенные в той же сети, что и клиент, были первыми.
Пример: Dnscmd /Config /LocalNetPriorityNetMask 0x0000003F укажет маску подсети 255.255.255.192 для приоритетных DC. По умолчанию используется маска 255.255.255.0 (0x000000FF)