🌐 DNS Nasıl Çalışır? (Adım Adım Açıklama)
🔹 1. Yerel Önbellek Kontrolü
Bir alan adını (www.tryhackme.com
) tarayıcına yazdığında, bilgisayarın ilk olarak kendi yerel DNS önbelleğini kontrol eder. Eğer bu adrese ait bilgi daha önce alınmış ve hâlâ geçerliyse (TTL süresi dolmamışsa), IP adresi doğrudan buradan alınır ve sorgu burada sona erer.
🔹 2. Recursive DNS Sunucusuna Sorgu
Yerel önbellekte bilgi yoksa, bilgisayarın isteği, genellikle İnternet Servis Sağlayıcın (ISS) tarafından sağlanan bir Recursive DNS sunucusuna gönderilir. Bu sunucu da, sık sorgulanan adresleri önbelleğinde tutar. Eğer burada kayıt varsa cevap verir.
🔹 3. Kayıt Bulunmazsa: DNS Sorgu Zinciri Başlar
Eğer Recursive DNS sunucusu da cevabı bulamazsa, aşağıdaki adımlarla sorguyu çözmeye başlar:
🟢 a. Kök DNS Sunucusu (Root Server)
Bu sunucular, internetin en üst seviyedeki yönlendiricileridir. Alan adının hangi üst düzey alan adı (TLD - Top Level Domain) ile ilgili olduğunu belirleyip, seni doğru sunucuya yönlendirir.
-
Örn:
.com
,.org
,.net
,.tr
🟢 b. TLD DNS Sunucusu
Kök sunucu, seni .com
gibi ilgili TLD sunucusuna yönlendirir. TLD sunucusu, alan adının bağlı olduğu yetkili sunucunun (authoritative nameserver) nerede olduğunu bilir.
🟢 c. Yetkili DNS Sunucusu
Son durak burasıdır. Bu sunucu, ilgili alan adına ait tüm DNS kayıtlarını tutar (A, MX, CNAME, vs.). Örneğin tryhackme.com
için ad sunucuları:
-
kip.ns.cloudflare.com
-
uma.ns.cloudflare.com
Buradan gerekli kayıt (örneğin A kaydı: IP adresi) alınır.
🔹 4. Cevap Geriye Doğru İletilir
Yetkili sunucudan alınan cevap, Recursive DNS sunucusuna iletilir. Bu sunucu da:
-
Cevabı önbelleğe alır (TTL süresi boyunca),
-
Ardından yanıtı bilgisayarına iletir.
🔹 5. TTL (Time to Live) – "Yaşam Süresi"
Her DNS kaydı, TTL değeriyle birlikte gelir. Bu, saniye cinsinden bir süredir. Örneğin:
-
TTL = 3600 ise, kayıt 1 saat boyunca önbellekte tutulur.
-
Bu süre boyunca aynı sorgu tekrar yapılırsa, işlem hızlanır çünkü yeniden sunucuya gitmeye gerek kalmaz.
🧠 Özetle:
Alan adı sorgulama süreci şu 5 adımdan oluşur:
-
Bilgisayarın yerel önbelleği kontrol edilir.
-
Recursive DNS sunucusu sorgulanır.
-
Gerekirse, Kök → TLD → Yetkili sunucu zinciri takip edilir.
-
DNS kaydı elde edilir ve geri iletilir.
-
Cevap önbelleğe alınır (TTL süresi kadar saklanır).
💬 "Bir siteye girdiğinde arka planda ne olur?"
1. Bilgisayar ilk olarak kendi hafızasına bakar.
Sen bir siteye (örneğin www.tryhackme.com
) girmek istediğinde, bilgisayarın önce "bu siteye daha önce girilmiş miydi?" diye kendi kısa süreli hafızasını (önbelleğini) kontrol eder.
-
Eğer daha önce girildiyse ve bilgiler hâlâ geçerliyse, siteye hemen ulaşır.
2. Bilgisayarın internet servis sağlayıcısından (ISS) yardım ister.
Eğer hafızasında bilgi yoksa, bilgisayar bu sefer seni internete bağlayan servis sağlayıcına (Türk Telekom, Superonline vs.) sorar:
“Bana bu siteye nasıl ulaşacağımı söyleyebilir misin?”
Bu sağlayıcıların özel bir rehberi (DNS sunucusu) vardır. Eğer bu rehberde bilgi varsa, bilgisayarın siteye ulaşır.
3. Kimse bilmiyorsa, “internetteki büyük rehberlere” gidilir.
Eğer servis sağlayıcın da bu bilgiyi bilmiyorsa, işler biraz daha karmaşıklaşır. Bilgisayarın, internetin rehber ağlarına başvurur. Bu adım şöyle işler:
a. Kök rehber (root server):
En tepedeki rehberdir. Sadece “.com mu, .net mi, .org mu?” gibi uzantılara bakar ve seni o alandan sorumlu kişiye yönlendirir.
b. TLD rehberi (Top-Level Domain server):
Mesela .com
uzantılı sitelerden sorumlu olan rehbere ulaşırsın. O da der ki:
“Senin aradığın site şu kişide kayıtlı, onun adresi şu.”
c. Yetkili rehber (authoritative nameserver):
Bu kişi (ya da sunucu) aradığın sitenin gerçek kayıtlarını tutar. En son bu kişiden sitenin IP adresi (bilgisayarların anlayacağı adres) alınır.
4. Bilgisayar adresi öğrenir ve siteye bağlanır.
Bilgisayar artık www.tryhackme.com
'un hangi IP adresine gittiğini öğrenmiştir. Hemen o adrese yönelir ve sayfayı açar.
5. Bu bilgiyi geçici olarak hafızasında tutar.
Bir dahaki sefere bu siteye girerken aynı yolu tekrar yürümemek için, bilgisayar bu adresi hafızasına alır.
Bu bilginin saklanma süresine TTL (Time To Live) denir. Genelde birkaç dakika ile birkaç saat arasında değişir.
📦 Basit Bir Benzetme:
Birine mektup göndermek istiyorsun ama adresi bilmiyorsun.
-
Önce kendi telefon rehberine bakıyorsun.
-
Orada yoksa anneni arayıp soruyorsun.
-
O da bilmiyorsa, belediyeye (nüfus müdürlüğüne) gidip adres bilgisi alıyorsun.
-
Bilgiyi aldıktan sonra mektubu gönderiyorsun.
-
Bu adresi tekrar lazım olursa diye not ediyorsun.
İnternetteki DNS sistemi de aynı böyle çalışır.
🧠 Kısaca: "Bilgi hâlâ geçerliyse" ne demek?
Bilgisayarlar, daha önce ziyaret ettiğin bir sitenin IP adresini (yani o sitenin internetteki gerçek konumunu) bir süreliğine hafızasında (önbelleğinde) saklar.
Ama bu saklama sonsuz değil, her bilginin bir “geçerlilik süresi” vardır. Buna TTL (Time To Live) denir.
Örneğin:
-
Sen
www.tryhackme.com
sitesine girdin. -
Bilgisayar bu sitenin IP adresini öğrendi: diyelim ki 192.0.2.1
-
Bu IP adresiyle birlikte bir “saklama süresi” gelir: örneğin 3600 saniye (yani 1 saat)
💡 İşte bu süre içinde o siteye tekrar girersen, bilgisayar der ki:
“Ben zaten bu sitenin adresini biliyorum. Yeniden kimseye sormama gerek yok.”
🔁 Ama süre geçerse?
Eğer bu TTL süresi dolmuşsa, bilgisayar artık o bilgiye güvenemez ve yeniden DNS sunucularına sormak zorunda kalır:
“Bu siteye ulaşmanın en güncel yolu nedir?”
🎯 Neden böyle bir sistem var?
Çünkü:
-
Alan adlarının IP adresleri zaman zaman değişebilir.
-
İnternetteki yükü azaltmak için herkes sürekli aynı bilgiyi sormasın diye önbellekleme yapılır.
-
Ama bilgi çok uzun süre saklanırsa eski, geçersiz IP’lere yönlenme riski doğar.
Yani, "bilgiler hâlâ geçerliyse" demek:
“Bu siteye nasıl gidileceğini hâlâ hatırlıyorum ve bu bilgi güncelliğini koruyor, tekrar sormama gerek yok” demektir.
Aynen öyle — “bilgi geçerli mi değil mi?” sorusu, internet bağlantın olup olmamasıyla ilgili değil, bilgisayarının daha önce kaydettiği bilginin hâlâ güncel olup olmamasıyla ilgilidir.
🔄 Kafa karışıklığını netleştirelim:
✅ Geçerli bilgi (TTL süresi dolmamış):
-
İnternetin olsa da olmasa da, bilgisayar bu bilgiyi önbellekten (hafızadan) kullanarak seni siteye yönlendirmeye çalışır.
-
Ama siteye gerçekten ulaşabilmek için aktif internet bağlantısı gerekir.
❌ Geçersiz bilgi (TTL süresi dolmuş):
-
Bilgisayar “bu bilgi artık eski, tekrar sormam gerek” der.
-
Ama o sırada internete bağlı değilsen, yeni bilgi isteyemez → siteye ulaşamazsın.
🧠 Özetle:
-
Bilginin geçerli olup olmaması TTL ile ilgilidir.
-
İnternete bağlı olup olmaman ise o bilginin güncellenip güncellenemeyeceğiyle ilgilidir.
İstersen örnekle şöyle diyeyim:
Bilgisayarın, bir sitenin adresini hatırlayan ama o bilginin güncelliğinden emin olmak zorunda olan bir postacı gibi.
Eğer bilgi hâlâ geçerliyse, doğrudan o adrese gider.
Geçerli değilse, internetten "güncel adresi" sorar.
Ama internete bağlı değilsen, bu sorguyu yapamaz → kaybolur.