Herkese Selamlar,
DNS serimize kaldığımız yerden devam ediyoruz.
DNS’de, ad çözümlemesi dağıtılmış veri tabanı kullanılarak gerçekleştirilir. Bunu daha önce öğrenmiştik. Bu veri tabanındaki kaynak kayıtları ( Resource Records ), etki alanlarıyla ( Domain’lerle ) ilişkili olan Hostname ve IP adresi bilgilerini ayrıntılı olarak sağlar. DNS veri tabanını saklamak ve veri tabanının içerdiği bilgilerle ilgili Client sorgularını yanıtlamak DNS Name Server‘larının işidir. DNS Namespace’in DNS Name Server ya da Name Server grubu tarafından denetlenen bölümüne Zone ( Bölge ) adı verilir.
Zone‘lar, belirli bir Name Server’ın istekleri çözümlediği sınırları oluşturur. Client tarafında Name Server’lara başvurmak ve kaynak kayıtları hakkında sorgular gerçekleştirmek DNS çözümleyicilerinin işidir. Dolayısıyla, DNS’in üç ana bileşeni şunlardır:
- Dağıtılmış veri tabanında saklanan kaynak kayıtları ( Resoruce Records )
- Belirli Zone’ların bakımını yapmaktan sorumlu DNS Name Server’lar
- Client tarafında çalışan DNS çözümleyicileri
Bu ana bileşenler, sorgu işlemleri, sorgu yanıtları ve DNS güncelleştirme işlemlerinden oluşan DNS işlemlerini gerçekleştirmek için kullanılır. Temel bir sorgu ve yanıt süreci Şekil 1‘de gösterildiği gibi çalışır. Burada, bir DNS Client’ı DNS Name Server’dan bilgileri istediği için bir DNS sorgusu gönderir. Sorgunun gönderildiği DNS Server’ı yerel veri tabanını denetler ve isteği yetkili bir Server’a iletir. Yetkili Server, yerel DNS sunucusuna bir yanıt gönderir ve bu yanıt Client’a iletilir.
Şekil 1. DNS sorgusu ve yanıtı.
Şekil 2’de gösterildiği gibi, bir Client Web sitesi gibi bir dış kaynağın adını istediğinde süreç biraz daha karmaşıktır. Bir Internal Domain alanında iseniz ve Public Internet’ten bir kaynak istediyseniz (örneğin, www.microsoft.com sunucusun IP adresi gibi ), bilgisayarınızdaki DNS istemcisi TCP/IP yapılandırmasında belirtildiği gibi yerel ad sunucusunu ( Local Name Server) sorgular. Local Name Server, isteği dış kaynak ( External ) etki alanının ( Domain ) kök sunucusuna ( Root ) iletir. Bu Domain, ilgili TLD ( Top Level Domain ) Name Server ile bağlantı kurar ve Name Server’da microsoft.com domain’in Name Server’ıyla bağlantı kurar. Bu yetkili Server bir yanıt gönderir; bu yanıt, Client’a iletilir ve böylece Client dış kaynağa erişebilir.
Şekil 2. DNS Tree’i kullanarak ad çözümlemesi.
Gördüğünüz gibi, sıradan bir DNS yapılandırmasında DNS Name Server’ınızın bir isteği çözümleyemezse, isteği çözümlemek üzere başka bir Name Server’a iletir. Böylece, kuruluşunuzdaki Name Server’ların Internal DNS bilgilerini ve Public Internet’teki External DNS bilgilerini almasına olanak sağlanır.
Peki, erişmeye çalıştığınız Domain kendi Internal Domain’lerinizden birindeki bir kaynak olduğunda süreç nasıldır? Bu durumda, isteklerin çözümlenmek üzere bir Public DNS Server’a iletilmesi istenmez. Public DNS sunucusu, isteği nasıl çözümleyeceğini bilemez.
Bu sorunu gidermenin birkaç yolu bulunmaktadır ve bu yollardan biri de “koşullu iletim“dir ( Conditional Forwarding ). Conditional Forwarding kullanarak, DNS Name Server’larınıza XYZ etki alanı için bir istek gördüklerinde bu isteği çözümlenmek üzere Public DNS Name Server’lara iletmemelerini bildirebilirsiniz. Onun yerine, istek doğrudan XYZ Name Server’ına iletilir; bu Server, arama yapılan Domain’in yetkili Name Server’ıdır. Bu Name Server, sorguyu yanıtlar ve DNS araması çözümlenir.
Ad çözümleme sorunlarını gidermek ve Conditional Forwarding hakkında daha fazla bilgi için ‘’Secondary Zones, Stub Zones ve Conditional Forwarding’’ makalesine bakabilirsiniz.