DNS: nedir ve nasıl çalışır
Yayınlanan: 2014-08-14Alan Adı Sistemi veya DNS, internetin en önemli dayanaklarından biridir. Uzun, hantal sayı dizilerini hatırlamak zorunda kalmadan sunuculara bağlanma yeteneğimizden sorumludur. Bir tasarımcı veya geliştirici olarak DNS'nin ne olduğunu, nasıl çalıştığını ve nasıl kullanılacağını anlamak önemlidir.
DNS nedir?
1970'lerde, birbirine bağlı o kadar az bilgisayar vardı ki, herkes diğer tüm bilgisayarların manuel listesini kolayca tutabilirdi. ARPANET (internetin öncüsü) günlerinde, yeni bir bilgisayar satın alınır ve ağa eklenirse, sahibi ARPANET'teki herkese, kimin bu yeni bilgisayarı listelerine ekleyeceğini söylerdi. Bu sistem, birbirine bağlı yalnızca birkaç düzine bilgisayar olduğunda iyi çalıştı, ancak bilgi işlem daha ucuz ve daha genel olarak erişilebilir hale geldikçe hızla bozuldu. Günümüz şartlarında bu, yeni bir web sitesi veya hizmet başlatıldığında tüm dünyayı bilgilendirmek zorunda kalmaya benzer.
80'lerin başında, DNS, yetkili bir etki alanı listesi ve hangi bilgisayarlara yönlendirildiklerini koruyarak bu sorunu çözmek için oluşturuldu. Ama bu tam olarak nasıl çalışıyor? Teknik terimlerle DNS, ilişkili IP adresleriyle etki alanı adlarını çözmek için hemen hemen her ağ etkin aygıt tarafından kullanılan bir sistemdir. Bunu internetin telefon rehberi olarak düşünün.
Web tarayıcınıza http://www.getflywheel.com gibi bir web adresi yazdığınızda, bilgisayarınız otomatik olarak nereye gideceğini bilemez. Bağlanmak için bir IP adresi gerektirir, ancak ona yalnızca bir harf dizisi olan bir alan adı sağladınız. Etki alanları, insanların web sitelerinin nerede olduğunu hatırlamasını çok daha kolaylaştırır, ancak bir bilgisayarın bağlantı kurmak için ihtiyaç duyduğu şey bunlar değildir. Bunun yerine, bilgisayarınız bir DNS sunucusuyla bağlantı kurar ve o web sitesinin IP adresini ister. DNS sunucusu yanıt verir ve bilgisayarınıza “http://www.getflywheel.com 192.241.128.208 adresinde bulunur” der. Bilgisayarınız bu IP adresini DNS sunucusundan alır ve IP adresine bağlanmak için kullanır ve bu da Flywheel'in web sitesini açar.
DNS kayıtları nasıl yönetilir ve ayarlanır?
DNS, bir etki alanının hangi IP adresini göstermesi gerektiği, alt etki alanları, e-posta ayarları ve hatta rastgele metin gibi bilgileri içeren DNS kayıtları aracılığıyla ayarlanır. Bir alan satın alındığında, sahibi, alan için yetkili ad sunucularını belirtir. Bu ad sunucuları, diğer DNS sunucuları tarafından yakalanan ve tüm internete yayılan etki alanı için DNS kayıtlarını kontrol eder. Genel olarak, kendi DNS kayıtlarınızı oluşturuyorsanız, web sitenizin IP adresini bileceksiniz. Örneğin, Volan size bir A isim kaydına yönlendirebileceğiniz bir IP adresi sağlayacaktır.
Dünya çapında binlerce DNS sunucusu vardır ve hepsi, her şeyin nerede olduğunun kaydını tutmak için birlikte senkronize edilir. Ancak, tüm DNS sunucuları eşit yaratılmamıştır.
DNS sunucularının yapısı ters bir ağaç gibi görünüyor. Bu ağacın gövdesini oluşturan 13 kök veya ana sunucu vardır. DNS'nin nihai ana kopyasıdır. Tüm DNS verileri ya bir kök sunucudan ya da daha önce bir kök sunucuyla bağlantı kurmuş ve verileri almış bir sunucudan gelmelidir. Kök sunucular, kök bölge olarak adlandırılan veya en yetkili DNS bölgesini oluşturur.
Kök bölgeyi geçtikten sonra, etki alanlarını içeren alt bölgeler vardır. Her bir üst düzey etki alanı, ikinci düzey etki alanları olarak adlandırılan http://www.getflywheel.com gibi ayrı etki alanlarına bölünmüş kendi bölge kaydına sahiptir.
Bu biraz teknik oluyor, o yüzden buna ağaç analojimizin perspektifinden bakalım. Ana hattı oluşturan kök bölge ile, .com veya .org gibi her üst düzey etki alanı, o ana hattın bir dalıdır. Getflywheel.com gibi her web sitesi, o daldan çıkmış bir yapraktır. Bu küçük yaprak, bir alan sahibinin DNS kontrolüne sahip olduğu alandır. Her dal, ondan kaynaklanan dalları ve yaprakları takip eden ayrı bir ad sunucusu olacaktır.
Bu nedenle, bir bilgisayar getflywheel.com'u istediğinde, önce bir kök sunucuyla bağlantı kurar ve "Bir .com web sitesi arıyorsunuz. Git, burada bulunan .com ad sunucusuyla konuş." Ardından, bilgisayarınız zinciri .com'dan sorumlu ad sunucusuna geri gönderir ve ondan daha fazla ayrıntı ister. Bilgisayarınız, etki alanının sahibi tarafından belirtilen ad sunucusunu bulana kadar sunucularla iletişim kurar. Ardından web sitesiyle ilişkili IP adresini bulur ve ona gider. Bilgisayarınız, son hedefi içeren yaprağa ulaşana kadar sunucular ağacında dallardan aşağı doğru hareket eder.
Not: Resmi olarak 13 kök DNS sunucusu olmasına rağmen, ikisi hariç hepsi ayrı ayrı bağlanır ve anycast adı verilen bir yönlendirme teknolojisi aracılığıyla düzinelerce özdeş sunucuya dağıtılır. Anycast, birkaç düğümün aynı varlık olarak var olmasına izin verir. Bir cihaz bu varlığa bağlandığında, ağdaki mevcut en yakın düğüme bağlanır (bu, örneğin bir cihazın en yakın coğrafi sunucuya bağlandığı CDN'lerde kullanılan geocast'ten farklıdır). Anycast, kök sunucuların dünya çapında çoğaltılmasına ve dağıtılmasına, yükün dengelenmesine, yanıt sürelerinin hızlandırılmasına ve tek hata noktalarının önlenmesine olanak tanır.
Tüm bu sunucu iletişim zinciri, bir web sitesini her ziyaret etmek istediğinizde yapmanız gereken oldukça hantal ve zahmetli görünüyor. Neyse ki, DNS yoğun bir şekilde önbelleğe alınır, yani kopyalar sıklıkla size yakın bilgisayarlara kaydedilir, bu da kök sunucuların yükünü kaldırır ve sorgularınızın daha hızlı yüklenmesini sağlar. Birçok ISS, şirket, üniversite ve hatta kendi bilgisayarınız son DNS sorgularının önbelleğini tutacaktır. Diyelim ki google.com'u arıyorsanız, bilgisayarınızda IP adresi zaten kayıtlı olabilir. Ancak, daha önce hiç gitmediğiniz bir web sitesi arıyorsanız, mahallenizdeki veya şirketinizdeki başka birinin zaten orada olması mümkündür ve sorgu ve bilgiler sadece ISS'nizin DNS sunucusunda saklanır.
DNS olmadan, ziyaret etmek istediğimiz her web sitesinin ve bilgisayarın IP Adresini hatırlamamız veya yazmamız gerekir. Neyse ki DNS, inanılmaz derecede dayanıklı, güvenilir ve etkileyici bir mühendislik parçası olup, tüm web sitelerimizi ve iletişimlerimizi takip etmek zorunda kalmamak için.