Loading...

Про то, как происходит выбор клиентом домен-контроллера

Дабы развеять тьму -- описание процесса выбора клиентом домен-контроллера -- что называется без соплей.

Домен-контроллеры регистрируют в DNS соответствующие записи типа SRV в сайтах, в которых они располагаются.
Для сайтов в которых нет домен-контроллеров, домен-контроллеры регистрируют соответствующие записи типа SRV исходя из топологии репликации и стоимости межсайтовых линков -- чем стоимость ниже, тем лучше.

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

При загрузке компьютера служба Net Logon клиента запрашивает информацию в DNS о доступных домен-контроллерах в сайте. Информация о сайте клиента хранится у клиента в реестре и периодически обновляется. Может быть такое, что информация о сайте в реестре клиента не соответствует действительности -- например компьютер переместили в другую локацию.

Клиент отправляет запрос (LDAP UDP search) ко всем обнаруженным домен-контроллерам.

Служба Active Directory перехватывает данный запрос и передает его службе Net Logon домен-контроллера, которая проверяет соответствие ip-адреса клиента с имеющейся таблицей подсетей и сайтов. Сайт клиента определяется по IP-адресу -- определенные подсети привязаны к определенным сайтам.

Домен-контроллер возвращает клиенту:
- имя сайта в котором находится клиент, или сайт более подходящий по IP-адресу клиента;
- имя сайта в котором находится текущий домен-контроллер;
- бит соответствия данного домен-контроллера сайту клиента.

Клиент получает данную информацию и принимает решение:
- если домен-контроллер находится в ближайшем к клиенту сайте и установлен бит соответствия, то клиент использует данный домен-контроллер. Если домен-контроллеров с битом соответствия несколько, то выбирается тот, который, при прочих равных, быстрее ответил.
- если клиент уже искал домен-контроллер в сайте в котором он по ответу от домен-контроллера находится (но что-то пошло не так), то клиент использует этот домен-контроллер.
- если домен-контроллер находится не в ближайшем сайте, то клиент обновляет свою информацию о сайте в реестре и отправляет новый DNS-запрос для поиска нового домен-контролера в сайте. Если второй запрос оказывается удачным, то клиент использует новый домен-контроллер. Если запрос оказывается не удачным, то клиент использует этот домен-контроллер.

Если все домен-контроллеры в сайте клиента недоступны, то клиент обращается к домен-контроллеру из другого сайта. Данная информация хранится в кэше клиента в течение определенного периода времени определяемого параметром CloseSiteTimeout в реестре клиента. Служба Net Logon клиента по истечение данного интервала (по умолчанию он равен 15 минутам) или при интерактивном логоне пытается найти ближайший к клиенту домен-контроллер.

Бывает и такое, что клиент не попадает ни под один сайт. Тогда домен-контроллер возвращает клиенту в качестве сайта значение NULL. Клиент использует ответивший домен-контроллер.

Как-то так все и работает.

Какие ваши доказательства?
https://technet.microsoft.com/en-us/library/cc978016.aspx
https://technet.microsoft.com/en-us/library/cc978011.aspx

No comments:

Post a Comment