En realidad, hay varias funciones / API interrelacionadas. Aunque son largos, en realidad es una de las lecturas más interesantes de Active Directory.
Independientemente de la explicación a continuación, hay dos cosas que debe tener en cuenta:
Si un DC en el sitio local no responde por algún motivo, se espera que el cliente se ponga en contacto con cualquier controlador de dominio en el dominio. Esto es normal y siempre ha sido el comportamiento predeterminado. A veces no es evidente por qué está ocurriendo.
Eso puede ser subóptimo. Considere el siguiente escenario: Tres sitios: la ciudad de Nueva York (centro / centro de datos - rápido), Los Ángeles (habló con Nueva York - rápido) y Kazajstán (habló con Nueva York - definitivamente no es rápido). Si su cliente en el sitio de Los Ángeles no puede comunicarse con su DC local por alguna razón, no es inconcebible que se autentique con Kazajstán.
Hay un par de soluciones. Puedes hacer uno o ambos.
Microsoft creó la configuración de registro / directiva de grupo acertadamente denominada TryNextClosestSite. Eso significa que el cliente de Los Ángeles debería probar NYC antes de recorrer el planeta en busca de DC. ¡Brillante! Tomó ocho años, pero finalmente lo conseguimos con Vista / 2008. Recuerde, no habilitado de manera predeterminada, debe crear un GPO para habilitarlo.
Para los sitios radiales donde realmente no desea que DC atienda a clientes en otros sitios, puede crear una configuración de Registro / Política de grupo que especifique qué registros DNS no deben registrarse. Esto se conoce como DNS Mnemonics.
Encontrar un controlador de dominio en el sitio más cercano (API DsGetSiteName)
http://technet.microsoft.com/en-us/library/cc978016.aspx
Asignación de direcciones IP a nombres de sitios
"Durante el inicio de Net Logon, el servicio Net Logon en cada controlador de dominio enumera los objetos del sitio en el contenedor de Configuración. Net Logon en cada controlador de dominio también recibe notificaciones de cualquier cambio realizado en los objetos del sitio. Net Logon usa la información del sitio para construir un estructura en memoria que se utiliza para asignar direcciones IP a nombres de sitios.
"Cuando un cliente que está buscando un controlador de dominio recibe la lista de direcciones IP del controlador de dominio de DNS, el cliente comienza a consultar a los controladores de dominio para averiguar qué controlador de dominio está disponible y es apropiado. Active Directory intercepta la consulta, que contiene la dirección IP del cliente y la pasa a Net Logon en el controlador de dominio. Net Logon busca la dirección IP del cliente en su tabla de mapeo de subred a sitio al encontrar el objeto de subred que más se acerca a la dirección IP del cliente y luego devuelve la siguiente información:
El nombre del sitio en el que se encuentra el cliente, o el sitio que más se acerca a la dirección IP del cliente.
El nombre del sitio en el que se encuentra el controlador de dominio actual.
Un bit que indica si el controlador de dominio encontrado está ubicado (el bit está configurado) o no está ubicado (el bit no está configurado) en el sitio más cercano al cliente.
"El controlador de dominio devuelve la información al cliente. La respuesta también contiene otras piezas de información que describen el controlador de dominio. El cliente inspecciona la información para determinar si intenta encontrar un mejor controlador de dominio. La decisión se toma de la siguiente manera:
"Si el controlador de dominio devuelto está en el sitio más cercano (se establece el bit devuelto), el cliente usa este controlador de dominio.
"Si el cliente ya ha intentado encontrar un controlador de dominio en el sitio en el que el controlador de dominio afirma que se encuentra el cliente, el cliente usa este controlador de dominio.
"Si el controlador de dominio no está en el sitio más cercano, el cliente actualiza la información de su sitio y envía una nueva consulta DNS para encontrar un nuevo controlador de dominio en el sitio. Si la segunda consulta es exitosa, se utiliza el nuevo controlador de dominio. Si el la segunda consulta falla, se utiliza el controlador de dominio original.
"Si el dominio que está siendo consultado por una computadora es el mismo que el dominio al que se une la computadora, el sitio en el que reside la computadora (según lo informado por un controlador de dominio) se almacena en el registro de la computadora. El cliente almacena esto nombre del sitio en la entrada de registro DynamicSiteName en HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Netlogon \ Parameters. Por lo tanto, la API DsGetSiteName devuelve el sitio en el que se encuentra la computadora ".
Función DsGetDcName
http://msdn.microsoft.com/en-us/library/ms675983%28VS.85%29.aspx
Tipos de localizadores
http://technet.microsoft.com/en-us/library/cc978019.aspx
Funciones del servicio de directorio
http://technet.microsoft.com/en-us/subscriptions/ms675900%28v=vs.85%29.aspx
Cómo funciona el soporte de DNS para Active Directory
http://technet.microsoft.com/en-us/library/cc759550%28v=ws.10%29.aspx
Cómo optimizar la ubicación de un controlador de dominio que reside fuera del sitio de un cliente
http://support.microsoft.com/kb/306602