DNS ve DNS Hiyerarşisi Nedir?
DNS (Alan Adı Sistemi), internete veya özel bir ağa bağlı bilgisayarlar, hizmetler veya diğer kaynaklar için hiyerarşik ve merkezi olmayan bir adlandırma sistemidir. Www.example.com gibi insan tarafından okunabilen alan adlarını, bilgisayarların ağ üzerinde birbirlerini tanımlamak için kullandıkları 192.0.2.1 gibi IP adreslerine çevirir. DNS, internetin telefon rehberi gibi davranarak kullanıcıların web sitelerine ve hizmetlere sayısal IP adreslerini hatırlamak yerine alan adlarını kullanarak erişmelerine yardımcı olur.
DNS’in Temel İşlevleri
- İsim Çözümleme: Web tarayıcılarının internet kaynaklarını yükleyebilmesi için alan adlarını IP adreslerine dönüştürür.
- E-posta Yönlendirme: E-postaları doğru posta sunucularına yönlendirmek için MX (Mail Exchange) kayıtları gibi DNS kayıtlarını kullanır.
- Yük Dağıtımı: Yük dengeleme ve trafiği farklı sunuculara dağıtmak için CNAME ve SRV kayıtlarını kullanır.
- Hizmet Keşfi: Uygulamaların DNS girişlerine dayalı olarak web sunucuları ve e-posta sunucuları gibi hizmetleri bulmasına yardımcı olur.
DNS Nasıl Çalışır?
Bir web tarayıcısına bir URL yazdığınızda, DNS sistemi alan adını bir IP adresine çözümlemek için birkaç adımdan geçer:
- Sorgu Başlatma: Kullanıcı bir web tarayıcısına bir alan adı (örn. www.example.com) girer.
- Özyinelemeli Sorgu: Sorgu, genellikle İSS’niz tarafından sağlanan veya manuel olarak ayarlanan (ör. Google Public DNS) özyinelemeli bir DNS çözümleyicisine gönderilir.
- DNS Hiyerarşisi: Özyinelemeli çözümleyici, istenen etki alanı için IP adresini bulana kadar kök sunuculardan başlayarak DNS hiyerarşisini, ardından TLD (Üst Düzey Etki Alanı) sunucularını ve son olarak yetkili ad sunucularını sorgular.
- Önbelleğe alma: Çözümlenen IP adresi, çözümleyici tarafından ve potansiyel olarak kullanıcının tarayıcısı tarafından gelecekteki istekleri hızlandırmak için önbelleğe alınır.
DNS Hiyerarşisi: Yapı ve Bileşenler
DNS, her biri alan adlarının IP adreslerine çevrilmesinde belirli bir rol oynayan farklı düzeylere sahip hiyerarşik bir ağaç yapısında düzenlenmiştir. İşte DNS hiyerarşisinin bir dökümü:
1. Kök Seviyesi (Kök DNS Sunucuları)
- Açıklama: Kök düzeyi, DNS hiyerarşisinin en üst düzeyidir. Nokta (.) olarak gösterilir ve üst düzey alan adları (TLD’ler) hakkında bilgi tutar.
- Kök DNS Sunucuları: Dünya çapında farklı kuruluşlar tarafından yönetilen ve harflerle tanımlanan (ör. A-root, B-root, C-root) 13 kök sunucu kümesi vardır. Bu sunucular web sitelerinin IP adreslerini içermez ancak sorguları ilgili TLD sunucularına yönlendirir.
- İşlev: Bir DNS çözümleyici önbelleğinde bir IP adresi bulamadığında, kök DNS sunucularını sorgular. Kök sunucular, alan adı için uygun TLD sunucusunun adresiyle yanıt verir (ör. .com, .org).
2. Üst Düzey Alan Adı (TLD) Seviyesi
- Açıklama: TLD’ler DNS hiyerarşisinin ikinci seviyesidir ve alan adlarını son eklerine göre sınıflandırır (ör. .com, .net, .org, .uk, .de). TLD sunucuları, kendi TLD’leri altındaki alan adları hakkında bilgi tutar.
- TLD Türleri:
- gTLD (Generic Top-Level Domains): .com, .org, .net, .edu ve .app veya .tech gibi daha yeni TLD’leri içerir.
- ccTLD (Ülke Kodu Üst Düzey Alan Adları): .uk (Birleşik Krallık), .us (Amerika Birleşik Devletleri) veya .jp (Japonya) gibi ülkeleri veya bölgeleri temsil eder.
- İşlev: TLD sunucuları DNS çözümleyicisini alan adından sorumlu yetkili ad sunucularına yönlendirir (örn. example.com).
3. İkinci Seviye Alan Adı (SLD) ve Alt Alan Adları
- Açıklama: İkinci düzey alan adı (SLD), bir alan adının TLD’nin doğrudan solunda görünen kısmıdır (örneğin, example.com’daki example). SLD’ler genellikle bunları kaydeden kuruluşlar veya kişiler tarafından yönetilir.
- Alt Alan Adları: Alt alan adları, ikinci düzey bir alan adına eklenen ön eklerdir (örneğin, www.example.com adresindeki www veya blog.example.com). Alt alan adları, bir web sitesinin veya hizmetin farklı bölümlerinin düzenlenmesine olanak tanır.
- İşlev: İkinci düzey alan adları ve bunların alt alan adları, bir alan adı için belirli IP adresini veya diğer DNS kayıtlarını tutan yetkili ad sunucularına işaret eder.
4. Yetkili DNS Sunucuları
- Açıklama: Yetkili DNS sunucuları, DNS sorgu işleminin son durağıdır. Etki alanları için DNS kayıtlarını depolayarak etki alanı adlarıyla ilgili sorgulara kesin yanıtlar sağlarlar.
- Kayıt Türleri:
- A Kaydı: Bir alan adını bir IPv4 adresiyle eşler.
- AAAA Kaydı: Bir alan adını bir IPv6 adresine eşler.
- CNAME Kaydı: Bir etki alanını veya alt etki alanını başka bir etki alanına yönlendirir.
- MX Kaydı: E-posta yönlendirmesi için posta sunucularını belirtir.
- TXT Kaydı: Doğrulama ve güvenlik için metin bilgilerini tutar (örn. SPF, DKIM).
- İşlev: Özyinelemeli DNS çözümleyici yetkili DNS sunucusunu sorguladığında, istenen etki alanı için karşılık gelen IP adresini veya diğer DNS kayıtlarını döndürür.
5. Özyinelemeli DNS Çözümleyicileri (Hiyerarşinin Bir Parçası Değil Ama Gerekli)
- Açıklama: Özyinelemeli çözümleyiciler, istemci adına tüm DNS hiyerarşisini sorgulamaktan sorumludur. Genellikle İSS’ler tarafından sağlanırlar veya Google DNS (8.8.8.8) veya Cloudflare DNS (1.1.1.1) gibi üçüncü taraf DNS sağlayıcılarına ayarlanabilirler.
- İşlev: Özyinelemeli çözümleyici, gelecekteki istekleri hızlandırmak için yanıtları önbelleğe alır. Bir etki alanının IP adresi önbelleğe alınmışsa, çözümleyici DNS hiyerarşisini tekrar sorgulamadan sonucu döndürebilir.
Örnek: DNS Sorgusu Nasıl Çalışır?
Bir kullanıcının tarayıcıya www.example.com yazdığını varsayalım:
- Özyinelemeli DNS çözümleyici, www.example.com adresinin önbelleğinde olup olmadığını kontrol eder.
- Önbelleğe alınmamışsa, kök DNS sunucularından birini sorgular.
- Kök sunucu .com TLD sunucusunun adresiyle yanıt verir.
- Çözümleyici .com TLD sunucusunu sorgular ve bu sunucu example.com için yetkili ad sunucusunun adresiyle yanıt verir.
- Çözümleyici, www.example.com için A kaydını (IP adresi) sağlayan yetkili ad sunucusunu sorgular.
- Çözümleyici IP adresini tarayıcıya döndürür ve tarayıcı da bu IP adresinden web sunucusuna bağlanır.
Sonuç
DNS internetin temel bir parçasıdır ve kullanıcıların insan tarafından okunabilen alan adlarını kullanarak kaynaklara erişmesini sağlar. Kök sunuculardan yetkili DNS sunucularına kadar DNS hiyerarşisini anlamak, web trafiğinin nasıl yönlendirildiğini ve yük dengeleme ve yük devretme gibi hizmetlerin nasıl çalıştığını anlamamıza yardımcı olur. Ayrıca etki alanı çözümleme hataları veya yanlış DNS yapılandırmaları gibi sorunların giderilmesine de yardımcı olur.