Junior
DNS nasıl çalışır?
sobes.tech yapay zeka
AI'dan gelen yanıt
DNS veya Alan Adı Sistemi, insan tarafından okunabilir alan adlarını (örneğin, google.com) bilgisayarların anlayacağı IP adreslerine (örneğin, 172.217.16.14) dönüştüren dağıtılmış bir veritabanıdır.
Bir alan adını IP adresine dönüştürme (çözümleme) süreci, farklı bileşenler arasında birkaç etkileşim adımını içerir:
- Kullanıcı isteği: Kullanıcı, tarayıcıya bir alan adı girer.
- DNS Çözümleyici: İşletim sistemi veya uygulama, yerel DNS çözümleyicisine (genellikle internet sağlayıcısı tarafından sağlanır veya yerel yönlendirici/bilgisayarda bulunur) bir istek gönderir.
- Çözümleyici önbelleği: Çözümleyici önce yerel önbelleğini kontrol eder. IP adresi bulunursa, müşteriye geri gönderilir. Bu, süreci hızlandırır.
- Kök DNS sunucuları: Önbellekte kayıt yoksa, çözümleyici 13 kök DNS sunucusundan birine (nokta
.ile gösterilir) istek gönderir. Bu sunucular, TLD (Üst Düzey Alan) sunucularını nerede bulacaklarını bilir. - TLD DNS sunucuları: Kök sunucu, çözümleyiciyi, üst düzey alan (örneğin,
.com,.org,.ru) için sorumlu olan TLD sunucusuna yönlendirir. - Yetkili DNS sunucuları: TLD sunucu, çözümleyiciyi, belirli alan adına (örneğin,
google.com) ilişkin yetkili DNS sunucusuna yönlendirir. Bu sunucu, alan adı için DNS kayıtlarını tutar. - Yetkili sunucudan yanıt: Yetkili sunucu, karşılık gelen kaydı (örneğin, IPv4 için A kaydı veya IPv6 için AAAA kaydı) bulur ve IP adresini çözümleyiciye geri gönderir.
- Çözümleyici önbellekleme: Çözümleyici, IP adresini alır, belirli bir süre (TTL - Yaşam Süresi) önbelleğe kaydeder ve müşteriye iletir.
- İstemci bağlantısı: İstemci, alınan IP adresini kullanarak web sunucusuyla bağlantı kurar.
DNS sunucuları, çeşitli kayıt türlerini depolar:
- A: Bir alan adını IPv4 adresine dönüştürür.
- AAAA: Bir alan adını IPv6 adresine dönüştürür.
- CNAME: Başka bir alan adına takma ad oluşturur.
- MX: Alan adıyla ilişkili posta sunucularını belirler.
- NS: Alan adı için yetkili DNS sunucularını gösterir.
- PTR: IP adresini alan adına dönüştürür (ters DNS sorgularında kullanılır).
# dig kullanarak DNS sorgusu örneği
dig google.com A
; <<>> DiG 9.16.1-Ubuntu <<>> google.com A
;; global seçenekler: +cmd
;; Yanıt alındı:
;; ->>HEADER<<- opcode: QUERY, durum: NOERROR, id: 42650
;; bayraklar: qr rd ra; SORGU: 1, CEVAP: 1, YETKİ: 0, EK: 1
;; PSEUDO-BÖLÜM:
; EDNS: sürüm: 0, bayraklar:; udp: 65494
;; SORGU BÖLÜMÜ:
;google.com. IN A
;; CEVAP BÖLÜMÜ:
google.com. 300 IN A 172.217.16.142
;; Sorgu süresi: 42 ms
;; SUNUCU: 127.0.0.53#53(127.0.0.53)
;; NE ZAMAN: Salı Eki 26 10:00:00 UTC 2023
;; MESAJ BOYUTU alındı: 55
Bu dağıtılmış ve hiyerarşik yaklaşım, DNS’in ölçeklenebilir ve arızalara dayanıklı olmasını sağlar.