KÖŞELER

Moralabs şirketinde yazılım mühendisi, Can Öncel: “Hayaller IPv6, Hayatlar IPv4”

developer“Moralabs olarak oyun, oyunlaştırma ve diğer konularda çeşitli yazılar yazıyoruz. İlginizi çekerse bizi takip etmeyi unutmayın.

Takip için: https://www.linkedin.com/company/moralabs

Hayaller IPv6, Hayatlar IPv4

Şimdi 4, zamanında 2 kabul edilen ana mühendislik dalları ne olursa olsun, bilinen şu ki, mühendislik ve bilimde ilerleme büyük oranda askeri araştırma ve geliştirmeler sonucu olmuştur. Hatta ve hatta, bu araştırma ve geliştirmeler sonucu, bilgisayarın atası kabul edilen Turing Machine, 2. Dünya Savaşı sırasında Almanların kriptografi için kullandığı Enigma’sını çözmeye çalışan Alan Turing tarafından yapılmıştır. Hal böyle olunca, o günden bugüne bilgisayar bilimine ve dünyasına da yön veren askeri buluşların olduğuna da şaşmamak lazım. Bunlardan bir tanesi de Amerikan Savunma Bakanlığı tarafından desteklenen ARPANET(Advanced Research Projects Agency Network)’in günümüzde kullandığımız internetin temel taşlarından biri olan IPv4 protokolünü yazmasıdır. Peki nedir bu IPv4, kısaca bir göz atalım.

IPv4, ARPANET mühendisleri tarafından 80li yılların başında yazılımına başlanan, ve 1983’te ise ilk defa kullanılmaya başlanan, kabaca bu internet ağına giren cihazların adreslenmesine (kimlik gibi düşünülebilir) yarayan bir internet katmanı protokolüdür. Yazılı olarak görünce “Haa” diyecekler için, örneğin: 255.255.255.255. İzninizle, bilgisayar ve bu network katmanlarıyla haşır neşir olmayanlar veya unutanlar için network katmanlarını anlatan minik bir bilgilendirme sıkıştıracağım:

Yine Amerikan Savunma Bakanlığı tarafından yapılmış, günümüzde kullandığımız internetin temelini oluşturan 4 ana katman (işin erbabı arkadaşlarımız, detaylandırarak sayılarını arttırabilir) vardır: Aplikasyon katmanı(Application Layer), Taşıma katmanı (Transport Layer), İnternet katmanı(Internet Layer) ve Bağlantı katmanı (Link Layer). Birinci katmanımız olan Aplikasyon katmanı, bilgisayar programları ile, ağ (network) arasında bağlantıyı kurmaya yarayan katmandır (HTTP, SNTP, FTP, DNS…). Sıradaki katmanımız ise Taşıma katmanı (nedendir bilmiyorum ama en sevdiğim katmandır kendisi), Aplikasyon katmanı (Application Set) ile, internet katmanı ve altındaki katmanlar (Transport Set) arasındaki bağlantıyı bu katman sayesinde kurarız. Yani üst katmanlardan gelen bilgileri, ağ paketi boyutunda parçalara bölme işlemini bu amcanın sırtına yüklemişler (TCP-UDP…). Üçüncü katmanımız, IP (Internet Protocol)’ün yer aldığı İnternet katmanı, alınan ağ paketlerini belirlenen hedeflere, belirli protokolleri gözeterek ulaştırma ve düzenleme işinin yapıldığı katmandır. Dördüncü ve son katmanımız olan Bağlantı katmanı ise, işin içine fiziksel bileşenlerin de karıştığı, aşağı yukarı üçüncü katman ile aynı işlemi yapan katmandır. Bilmeyenlerin, bilgi açlığına bir damla bilgiyle derman olabildiysek ne mutlu. Olamadıysak, sizleri Google amcaya sormaya davet ediyorum.

Gelelim ana konumuz olan IPv4’e. Bu protokolü yapan ARPANET mühendisleri, zamanında internetin bu kadar genişleyebileceğini öngörebilselerdi, günümüzde hala başka bir protokolün desteğine veya internet ağını destekleyici öğeler(NAT, DHCP) olmadan internetimizi kullanmaya devam edebilirdik. Cihazlara 32 bitlik adresler veren, yani toplamda 2^32 bitlik bir adresleme kapasitesine sahip IPv4’ün, yaklaşık 3 Şubat 2011’de tükendiği açıklandı. “Madem tükendi, biz nasıl hala girebiliyoruz hayırdır inşallah.” demeyin, bilgisayar mühendisleri sizi seviyor: Çare IPv6.

IPv6, IPv4’ün bitmesiyle yaşayacağımız sıkıntılara derman olması için tasarlanan, ileriye dönük yazıldığı söylenen (10 sene sonra görüşürüz) ve IETF (Internet Engineering Task Force) tarafından programlanan bu protokol, şimdilik bizlere biraz olsun nefes aldırmış gibi görünüyor. Bu noktada, IPv6’yı açıklamak ve ne kadar sevimli bir protokol olduğunu anlatmak için vikipedia.com’dan direkt alıntı yapacağım:

 

“IPv6 Adresleme Mekanizması

IPv6’da adres uzunluğunun 128-bit olmasının yanı sıra adresleme mimarisi ve adres yapısı oldukça değişmiştir; adreslerin yazımında da, genel olarak, 16’lık tabandaki notasyonun kullanılması tercih edilmiştir. Örneğin, aşağıda tipik iki IPv6 adresi verilmiştir. Görüldüğü gibi her dört-karakterden oluşan gruplar birbirlerinden “:” karakteriyle ayrılmıştır. 16’lık tabanda her bir karakter 4-bit ile temsil edildiğinden dört karakteri toplamda 16-bit eder. Yani 16 bitlik adres parçaları 4 (dört) karakterden oluşmakta ve birbirlerinden “:” ile ayrılmaktadır. Dolayısıyla bir IPv6 adresinde her biri 16-bitten oluşan 8 (sekiz) parça vardır.

  1. a) 1234:5678:9ABC:DEF0:1234:5678:9ABC:DEF0 b) 1999:6:13:0:0:1962:2:15 …”

Anlaşılacağı üzere, IPv6 protokolünde adreslenebilecek cihaz sayısı 2^32 olarak düşünülebilir (özel kullanıma ayrılan ipleri de katarsak). Bu, IPv4’e karşı IPv6’nın en büyük avantajı olarak kabul ediliyor. Tabii ki, bu yeni teknoloji Internet Protol version 6’nın tek avantajı adresleme uzayındaki büyüklük değil: paket başlıklarındaki bir miktar küçülme, IPv6’ya hız olarakta avantaj kazandırmaktadır. Yani, siz farkında olmasanız da daha küçük başlıklar ile yollanan bu ağ verileri yönlendiriciler sayesinde hızlıca işlenerek, varacağı adrese bir an önce varması sağlanır. Bir diğer avantajı ise, internet ağının yeni gözdesi bir çok internet güvenliğini arttırıcı saldırıların önüne daha kolay geçilebilecek bir takım eklentilerle gelmiştir. Ve bunun gibi, irili ufaklı avantajlarla hala hayatımızın içine girmeye çalışmaktadır.

(Bu nimet, bizleri kurtarmış gibi görünse de IPv6 kaynaklı 4 bilyon civarı adresin tükeneceği günlerin gelmeyeceğini kimse garanti edemez. Bu arada, IPv4 tükendi de ben IPv6’ya geçmedim ama diyenler için, merak etmeyin, geçiş için IPv4’teki bazı özel IP’ler, IPv6 ağına sizin yerinize bağlanıyor ve bağlanmaya devam edecekler.)

Bu trende son ayak uyduranlardan bir tanesi de Apple. Apple, açıkladığı ve sadık kaldığı duyuruya göre, “1 Haziran itibariyle IPv6 desteklemeyen aplikasyonlara geçit verilmeyecek” dedi, ve inanır mısınız, gerçekten geçit vermiyor. Bu vesileyle IOS geliştiricilerine bir selam çaktıktan, sonra yazının sonuna, yani günah çıkarma bölümüne gelmiş bulunmaktayız.

(Hala var mı bilmiyorum, ama Bilkent FTP arşivcilerine ve güzide kullancılarına kötü haber: IPv4’te kaldınız ey dostlar)

İş bu yazı, mümkün olduğu kadar, bilenler olduğu kadar, bilmeyenlerinde hakkını gözeterek açıklayıcı ve okuyucuyu sıkmamak adına kısa tutmaya çalışarak yazılmıştır. IPv6’ya geçişin biraz sancılı ama olabildiğince kullanıcılara hissettirmeden geçilmeye çalışıldığı, olanın developer diye tabir edilen, geliştirmeci arkadaşlara olduğu bu dönemde minik bir soruyla sizlere veda ediyorum.

Sizce, IPv6’nın “readability”si yani okunabilirliği bu geçişi nasıl etkiler? Örneğin IPv4, çok rahat bir biçimde 192.168.2.1 şeklinde kolayca öğrenilebilecek adreslere sahipken, IPv6’daki 1234:5678:9ABC:DEF0:1234:5678:9ABC:DEF0 gibi adresler, insanların bu yeni teknolojiye adaptasyonunu ne yönde etkileyebilir?

Sağlıcakla kalın.

Bir cevap yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.