Ketika saya sedang menyusun presentasi untuk memulai administrasi Windows, saya dikejutkan dengan pertanyaan yang saya kagumi karena saya belum bertanya lebih awal.
Saya tahu itu:
- AD secara logis diatur di situs untuk membantu dalam replikasi dan mengurangi latensi komunikasi yang diperlukan domain antara komputer klien dan layanan domain.
- Situs didefinisikan oleh subnet yang diterapkan padanya
- subdomain _msdcs berisi hierarki catatan SRV untuk pencarian umum (_tcp) dan untuk pencarian spesifik situs (_sites)
- Komputer entah bagaimana tahu di mana mereka berada, atau pengontrol domain memutuskan secara transparan dalam sihir DNS ... atau apakah itu?
Posting blog ini mengisyaratkan bahwa komputer klien dalam jaringan AD dapat "mengetahui" situs apa yang menjadi anggotanya. Pertanyaan saya adalah, jika ini masalahnya, bagaimana mereka mengetahuinya?
Jika klien itu sendiri tidak tahu, bagaimana DC membantu mesin dalam proses memilih layanan AD terdekat dengan komputer klien itu?
sumber
Sebenarnya ada beberapa fungsi yang saling terkait / API. Meskipun panjang, sebenarnya ini adalah beberapa bacaan Active Directory yang lebih menarik.
Terlepas dari penjelasan di bawah ini, ada dua hal yang perlu Anda perhatikan:
Jika DC di situs lokal tidak merespons karena alasan apa pun, diharapkan klien akan menghubungi pengontrol domain apa pun di domain tersebut. Ini normal, dan itu selalu menjadi perilaku default. Terkadang tidak jelas mengapa itu terjadi.
Itu bisa suboptimal. Pertimbangkan skenario berikut: Tiga situs: New York City (hub / pusat data - cepat), Los Angeles (berbicara ke NYC - cepat), dan Kazakhstan (berbicara ke NYC - jelas tidak cepat). Jika klien Anda di situs LA tidak dapat menghubungi itu DC lokal untuk alasan apa pun, itu tidak masuk akal bahwa ia akan mengotentikasi dengan Kazakhstan.
Ada beberapa solusi. Anda dapat melakukan salah satu atau keduanya.
Microsoft membuat pengaturan Kebijakan / registri Grup dengan tepat bernama TryNextClosestSite. Itu berarti klien LA harus mencoba NYC sebelum menjelajahi planet untuk mencari DC. Cemerlang! Butuh delapan tahun, tapi kami akhirnya mendapatkannya dengan Vista / 2008. Ingat, tidak diaktifkan secara default, Anda harus membuat GPO untuk mengaktifkan ini.
Untuk situs berbicara di mana Anda benar-benar tidak ingin DC melayani klien di situs lain, Anda bisa membuat pengaturan Kebijakan Grup / registri yang menentukan catatan DNS mana yang tidak boleh didaftarkan. Ini disebut sebagai DNS Mnemonics.
Menemukan Pengontrol Domain di Situs Terdekat (DsGetSiteName API)
http://technet.microsoft.com/en-us/library/cc978016.aspx
Memetakan Alamat IP ke Nama Situs
"Selama startup Logon Net, layanan Logon Net pada setiap pengontrol domain menghitung objek situs dalam wadah konfigurasi. Log masuk Net pada setiap kontroler domain juga diberitahu tentang setiap perubahan yang dibuat untuk objek situs. Logon Net menggunakan informasi situs untuk membangun sebuah struktur dalam memori yang digunakan untuk memetakan alamat IP ke nama situs.
"Ketika klien yang sedang mencari pengontrol domain menerima daftar alamat IP pengontrol domain dari DNS, klien mulai meminta pengontrol domain pada gilirannya untuk mencari tahu pengontrol domain yang tersedia dan sesuai. Direktori aktif memotong kueri, yang berisi alamat IP klien, dan meneruskannya ke Net Logon pada pengontrol domain. Net Logon mencari alamat IP klien dalam tabel pemetaan subnet-ke-situs dengan menemukan objek subnet yang paling cocok dengan alamat IP klien dan kemudian mengembalikan informasi berikut:
Nama situs di mana klien berada, atau situs yang paling cocok dengan alamat IP klien.
Nama situs di mana pengendali domain saat ini berada.
Bit yang menunjukkan apakah pengontrol domain yang ditemukan terletak (bit diatur) atau tidak ditemukan (bit tidak diatur) di situs yang paling dekat dengan klien.
"Pengontrol domain mengembalikan informasi ke klien. Respons juga berisi berbagai informasi lain yang menggambarkan pengontrol domain. Klien memeriksa informasi untuk menentukan apakah akan mencoba menemukan pengontrol domain yang lebih baik. Keputusan dibuat sebagai berikut:
"Jika pengontrol domain yang dikembalikan berada di situs terdekat (bit yang dikembalikan diatur), klien menggunakan pengontrol domain ini.
"Jika klien telah mencoba menemukan pengontrol domain di situs di mana pengontrol domain mengklaim klien berada, klien menggunakan pengontrol domain ini.
"Jika pengontrol domain tidak di situs terdekat, klien memperbarui informasi situsnya dan mengirimkan permintaan DNS baru untuk menemukan pengontrol domain baru di situs. Jika kueri kedua berhasil, pengontrol domain baru digunakan. Jika permintaan kedua gagal, pengendali domain asli digunakan.
"Jika domain yang ditanyakan oleh komputer sama dengan domain tempat komputer itu bergabung, situs tempat komputer itu berada (seperti yang dilaporkan oleh pengontrol domain) disimpan dalam registri komputer. Klien menyimpan ini nama situs di entri registri DynamicSiteName di HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Netlogon \ Parameters. Oleh karena itu, DsGetSiteName API mengembalikan situs tempat komputer berada. "
Fungsi DsGetDcName
http://msdn.microsoft.com/en-us/library/ms675983%28VS.85%29.aspx
Jenis-jenis Penunjuk Lokasi
http://technet.microsoft.com/en-us/library/cc978019.aspx
Fungsi Layanan Direktori
http://technet.microsoft.com/en-us/subscription/ms675900%28v=vs.85%29.aspx
Bagaimana Dukungan DNS untuk Active Directory Bekerja
http://technet.microsoft.com/en-us/library/cc759550%28v=ws.10%29.aspx
Cara mengoptimalkan lokasi pengontrol domain yang berada di luar situs klien
http://support.microsoft.com/kb/306602
sumber