İnternet 101 - IP ve DNS
IP nedir, DNS nedir ? Aralarında ilişkinin kısaca özeti…
İnternet üzerinde çalışan cihazların benzersiz adresleri bulunur. Bu adresler kullanılan cihaza ulaşmak için kullanılan kimliklerdir. Bir yere gitmek istediğinizi düşünün, gideceğiniz yerin adresini bildikten sonra gideceğiniz yerin tam adını bilmeseniz de haritalar yardımıyla istediğiniz adrese ulaşmanız mümkün. İnternette verilerin hedefe ulaşması için kullanılan adreslemeler de günlük hayatta karşılaştığımız bu adres örneğiyle çok benzer.
IP Nedir?
İnternet iletişimde kullanılan en önemli protokollerden biri “İnternet Protokolü” yani IP denen protokoldür. İnternete bağlanan bir cihazın adresi IP adrestir. Bu protokolün çalışma mantığını bir örnek ile inceleyelim.
Google’dan bir arama yaptığınızda başka bir bilgisayardan bilgi talep etmiş olursunuz. Tüm aramalarımızda tüm bilgileri tek bir bilgisayardan talep etmiyoruz, dünyada binlerce sunucu var ve bilgiler oralarda tutuluyor. Sunucuları evdeki bilgisayarlarımızın çok daha yüksek kapasitelisi olarak düşünebilirsiniz. Google’dan arama taleplerimiz sonucu sunuculardaki bilgiler birbileri ile yarışarak anlamlı sıralanmaya giriyorlar. Arama sonucu listemiz bambaşka sunuculara giden farklı adresler. Bir seçeneği seçip tıkladığınızda ilgili sunucuya ulaşıp bilginin bize dönmesi ile sonuçlanıyor.
Başka bir bilgisayardan/merkezden bilgi talep edilirken karşı tarafın IP adresini bilmemiz gerekir ve karşı tarafa bilgi gönderirken IP adresimizi de göndeririz. Bu sayede karşı bilgisayar cevap verirken nereye cevap dönmesi gerektiğini bilir. Ve aynı zamanda gönderdiğimiz IP adresine bakarak güvenilirliğimizi de ölçer.
IP Adresi
IP adresi sayılardan oluşur ve bu sayılar bitlere dönüştürülür. Geleneksel IP adresleri 32 bit uzunluğundadır. Örneğin “175.128.15.121” adresinde noktalarla ayrılmış her bir alan için 8 bit dönüşümü olur ve “10101111 10000000 00001111 01111001” ifadesine dönüşür.
IP adreste baştaki sayılar genellikle cihazın ülke ve bölge ağlarını belirtir. Sonra alt ağlar ve son olarak o cihazın adresini belirtir. Bu IP adres verme biçimine IPv4 denir, 1973’te tasarlanmıştır. Noktalarla ayrıştırılmış 4 bölümden oluşur ve her bölüm [0–255] aralığındadır.
IPv4 adresleme sistemi 4 milyar cihaz için özel olarak adres sağlar. Ama günümüzde 4 milyardan daha fazla internete bağlanan cihaz vardır. Bu sebeple daha uzun bir format sağlayan IPv6 formatına ihtiyaç olmuştur. IPv4 ile 32 bit uzunluk sağlanırken IPv6 ile 128 bit uzunluk sağlar. Bu uzunluk artışı ise 4 milyar cihaza yetecek kadar olan IP adres sayısını, dünyadaki kum taneciklerine yetecek kadar IP adres sayısı olarak değiştirdi.
IP Adresimizi Bulalım
“https://medium.com/@aysedemirel” adresi benim medium üzerindeki fiziksel adresim. Bu adrese başvurarak profilimi barındıran sunucudan yazılarıma ulaşabiliyorsunuz. Bu hali hatırlanabilir, insan dostu hali. Sayılardan oluşan IP adresi hatırlamak zor olduğu için sonradan işleri kolaylaştırma amaçlı geliştirilen bir sistem. Gerçekte bu sitenin IP adresi “162.159.153.4” bunun gibi. (Bu adres Medium’un ABD’deki merkezini gösteriyor :) )
Windows bilgisayarınızın adresini görmek isterseniz “Windows+R” tuşuna basın veya arama çubuğuna “Çalıştır” yazın gelen arama kutusunda “cmd” yazarak enter tuşuna basın. Açılan komut satırında “ipconfig” yazın. Çıkan sonuçlarda IPv4/IPv6 Addres yazan kısmın karşısındaki adres cihazınıza özel adres…
Dynamic Host Configuration Protocol
IP adresi kendimiz bir yerden isteğimiz ile mi seçiyoruz ? Cevap DHCP’lerde. DHCP (Dynamic Host Configuration Protocol) sunucuları, internete bağlanan cihazlara IP ataması yapar. Otomatik IP atanmasını sağlar. Sizin talep etmenize gerek kalmadan insternete bağlandığınızda benzersiz bir adresiniz olmuş olur. Bu adres kimlik numaranız gibidir.
Domain Name System
Şuana kadar hiç IP adres görmeden yaşadıysanız bu neyin sayesinde ? DNS (Domain Name System) yani alan adı sistemi sayesinde. Eğer bu sistem olmasaydı Google’a girmek için “216.58.214.132” IP adresini bilmemiz gerekecekti. Ama bunun yerine www.google.com diyerek hatırlaması kolay şekilde giriş yapıyoruz. DNS de aslında bir sunucu sistemi.
Örneğin Google’a gitmek istiyoruz. Adım adım süreç şu şekilde ilerliyor:
- Tarayıcımızda “www.google.com” yazdık ve isteğimizi gönderdik.
İsteğimiz içerisine kendi IP adresimiz de ekleniyor. Böylelikle veriye ulaşıldığında nereye dönmesi gerektiğini bilebiliyor. Eğer IP adresimiz eklenmemiş olursa istenilen adrese isteğimiz ulaşır ama bize yanıt dönemez. İnternet ortamı düzenli bir kaos ortamıdır. Eğer aranılan ve dönülecek adres belliyse sistem aksamadan işler. Değilse kaos ortamında kaybolur gider :)
- İsteğimiz önce DNS sunucusuna gider. “www.google.com” alan adı için IP adres bulunur. Alan adı ve aradığımız adres eşleşir.
- Bulunan IP adresine istek yönlendirilir.
- Ulaşılan adreste isteğimiz bilgi Google’ın ana sayfası bilgisidir. Bu bilgi istek içerisinde gönderdiğimiz geri dönmesi gereken adres ile birlikte paketlenir ve yola çıkarılır.
- Ulaşması gereken adres yani bilgisayarımıza veri geldiğinde Google ana sayfası karşımıza çıkar.
Dağıtık Hiyerarşi
Tüm web sitelerine giriş için alan adlarını kullandığımızı düşünürsek, tek bir DNS sunucusu olması imkansız gibi değil mi ? Eğer bir tane sunucu olsaydı büyük ihtimalle bir yere ulaşmak günler sürebilirdi… Birden çok DNS sunucusu varsa isteğimiz hangisine gideceğini nasıl biliyor?
İnternetin genel mimarisi olan“Dağıtık Hiyerarşi” DNS sunucularının mimarisinde de karşımıza çıkıyor. DNS sunucuları bölgelere ayrılıp “.org, .com, .net” gibi ana alanların sorumluluğunu alıyorlar. İsteğimizdeki alan adları da sunucuların bu sorumluluklarına göre yönlendiriliyorlar.
DNS Spoofing
Herkes DNS sunuculara erişebiliyor. Bu da çeşitli saldırıları beraberinde getiriyor. Örneğin “DNS Spoofing” yani DNS zehirlenmesi. Bu saldırıda kötü niyetli saldırganlar DNS sunucusundaki alan adını yanlış IP adresi ile eşleştiriyorlar. Bunun sonucunda kullanıcı gitmek istediğinde alakasız çoğu zaman zararlı başka bir siteye yönlendiriliyor. Bu saldırı çeşitli bilgilerin kullanıcıdan çalınması ile de sonuçlanabiliyor.
Bu yazımda IP ve DNS kavramlarını açıklamaya çalıştım. Daha fazla internet kavramının açıklandığı yazılar için takipte kalın. Tüm seriye erişmek için “İnternet 101” listesine göz atabilirsiniz.
👏 ile bu seriyi destekleyebilirsiniz. Eksik/yanlış gördüğünüz kısımları yorumlara yazarak katkı sağlayabilirsiniz.
Sonraki yazılarda görüşmek üzere 👋