IPv6: Internet Protokolü sürüm 6 (2)


Yazının ilk bölümüne ulaşmak için tıklayınız...

IPv6'ya Geçiş

Internet'in IPv6'ya geçişi, geniş çaplı dağıtık yapısına ek olarak kullanıcı, işletici ve altyapı alanlarındaki uçsuz bucaksız çeşitliliğinden dolayı hiç de basit olmayan bir süreçtir. 1983 yılında Internet NCP'den IPv4'e bir gecede geçirilmiş olmasına karşılık, IPv4'den IPv6'ya kapsamlı bir geçişin onlarca yıl sürmesi beklenmektedir. Internet'in tümünün sadece IPv6 üzerinde çalışır hale gelmesi için ise günümüzden itibaren (2003) bir insan ömrünün dahi yeterli olmayacağı kabullenilen gerçekler arasındadır.

İki kullanıcının Internet üzerinden IPv6 protokolünü kullanarak iletişim kurabilmesi için idealde her ikisinin de IPv6 protokol yığınını barındıran birer işletim sistemi üzerinde IPv6'ya geçirilmiş bir uygulama kullanıyor olması ve bilgisayarlarının arasındakı tüm ağ birimlerinin IPv6'yı destekliyor olması gerekir.

İşletim sistemlerine baktığımızda belli başlı olanlarının son birkaç yıldır IPv6 desteğiyle geldiğini görüyoruz. Bunlara Solaris, Mac OS, Windows, Linux, AIX, FreeBSD, HP-UX, Tru64 ve Symbian'ı örnek verebiliriz. Ağ birimleri arasında da Cisco, 3Com, Juniper, Nokia, Ericsson, Hitachi, Nortel hali hazırda IPv6 protokolünü işleyebilen yönlendirici ürünleri sunmaktalar.

Paket yazılım olarak gelen temel uygulamaların birçoğu IPv6 desteğini içermekte. Sendmail, Qmail, Sun JDK, Java for Windows, BIND, SSH, Checkpoint, IPFW, netfilter, Apache, Fnord, Mozilla, lynx, Internet Explorer, FTP, Vic, RAT, SDR, IRC, telnet, ping, traceroute, snoop, netstat, Emacs bunlar arasında sayılabilir.

Ancak, kullanıcıların ya da şirketlerin kendi uygulamaları arasında Socket API'lerini kullananlar varsa bunların IPv6 desteğine kavuşması için yapılması gereken düzenlemeler olacaktır. Socket API'sinin gethostbyname(), gethostbyaddr(), inet_ntoa() ve inet_addr() gibi fonksiyonları IPv4 adres yapısına göre düzenlenmiştir. Bu uygulamaların IPv6 Socket API'sine [9] taşınması gerekir. Bu yeni API ile gelen getaddrinfo(), getnameinfo(), inet_ntop() ve inet_pton() fonksiyonları hem IPv4 hem de IPv6 adresler üzerinde işlem yapabilirler. Bu yeni API, ileride yeni bir IP sürümü çıksa dahi uygulamaların kaynak kodunu bir kez daha değiştirmeyi gerektirmeyecek şekilde tasarlanmıştır. İyi tasarlanmış genel amaçlı bir uygulamanın IPv6'yı destekler hale gelmesi için yaklaşık 10 satırlık bir kod değişikliği yeterli olacaktır [10].

Her ne kadar kullandığınız uygulamayı ve üzerinde calıştığı işletim sistemini IPv6'ya geçirmiş olsanız da bu sizin Internet'te istediğiniz bir bilgisayarla direk IPv6 iletişim kurabileceğiniz anlamına gelmez. Internet'in bir anda IPv6'laştırılamayacağını ve IPv4 ile IPv6 protokollerinin uyuşmazlığını göz önüne alırsak aşılması gereken problemler ön plana çıkar. Örneğin, iletişimin diğer ucundaki bilgisayar sadece IPv4 destekliyor olabileceği gibi aradaki ağlardan bazıları IPv6'yı desteklemiyor da olabilir. Bu şekilde IPv4 ile IPv6'yı içiçe taşıyacak Internet'in sağlıklı bir geçiş dönemi yaşaması için bazı çözümler üretilmiş.

Bu çözümlerden ilki, çifte yığın (dual-stack) adı verilen bir düğümün aynı anda hem IPv4 hem de IPv6'yı desteklemesi tekniğidir. Oldukça yaygın olarak kullanılan bu teknikte bir düğüm karşısındaki uç noktasına bağlı olarak bu iki protokolden gerekenini kullanabilir. Uç noktalar birbirlerinin yeteneklerini DNS sunucularından öğrendikleri IP adres çeşidine göre tespit ederler. Bu yüzden DNS'teki adreslerle bir bilgisayarın IP yığını arasında kesin bir uyum olması şarttır. İletişim için her iki protokolün de müsait olması durumunda tercih IPv6'dan yana olacaktır.

Her iki uç IPv6 kullanmakta karar kılsalar da, veri paketlerinin yolu üzerinde geçmesi gereken bazı ağlar henüz IPv6'yı desteklemiyor olabilirler. Bunun en güzel örneği, bir şirketin iki farklı ofisinin IPv6'ya geçmiş olmasına rağmen ofisleri birbirine bağlayan ISS'nın henüz bu desteği vermiyor oluşudur. Bu durumda yapılması gereken IPv6 ağlar arasında bir IPv4 tüneli kurulması ve IPv6 paketlerinin IPv4 ağından bu tünel sayesinde geçişinin sağlanmasıdır. Bunun için sabit [11] ve dinamik [12] tünellerin kullanımı mümkündür.

Eğer iletişim kuracak iki uç arasında ortak bir protokol bulunamıyorsa (biri sadece IPv4, diğeri de sadece IPv6 kullanıyorsa) protokol çevrimi tekniklerine başvurmak gerekir. IPv4 ağ ile IPv6 ağ arasında yerleştirilecek bir geçit sunucu sayesinde paket bazında (NAT-PT [13]) ya da bağlantı bazında (SOCKS Gateway [14], IPv4-IPv6 Transport Relay Translator [15]) bir çeviri söz konusu olur. Yalnız, uçtan uca bağlantı prensibini ihlal eden bu tekniklere mecbur kalınmadıkça başvurulmaması tavsiye olunur. IPsec güvenliğinin de bu şartlar altında çalışması mümkün değildir.

Görüldüğü üzere IPv6'ya geçiş teknikleri oldukça çeşitlidir. Ağların yapısına bağlı olarak bunların ne şekilde kullanılacağı ağ yöneticilerinin dikkatle karar vermesi gereken bir husustur. Bir ağın IPv6'ya geçişinde izlenecek adımlar şu şekilde sıralanabilir: a) ISS'dan edinilen IPv6 adres bloğunun alt ağlara bölüştürülmesi, b) DNS sunucusunun IPv6'ya geçirilmesi, c) Seçilen bir alt ağın yönlendiricilerinin IPv6'yı destekler hale getirilmesi, d) Bu yönlendiriciler ile komşusu olmayan diğer IPv6 yönlendiriciler arasında tüneller kurulması, e) Bu alt ağdaki bilgisayarların IPv6'yı destekler hale getirilmesi, f) IPv6'ya geçirilmemiş alt ağ kaldığı sürece (c) adımın tekrarı. Bu süreç içerisinde, komşu yönlendiriciler IPv6'yı destekler hale geldikçe aralarındaki tüneller ortadan kaldırılabilir. IPv6 servisi sağlayan ISS bulunamaması durumunda IPv6 Internet bağlantısı 6bone [16] deneysel ağı üzerinden tünellerle yapılabilir.

Dünya'daki Durum

Bu makalenin yazıldığı 2003'ün sonları itibariyle IPv6 adres bloğu dağılımında %42'lik oranıyla Avrupa lider, %34 ile Asya-Pasifik bölgesi takipte ve %19'la Kuzey Amerika geriden gelmektedir [17].

IPv6 uygulamalarının geliştirilmesinde ve Internet'in IPv6'ya geçişinde ise Asya-Pasifik ülkeleri açık farkla önde gitmekteler. Japonya, Kore, Tayvan ve Çin gibi ülkelerde hükümetlerin vergi indirimlerine varan teşvikler sağlaması ve yer yer geçişi zorunlu kılması ile IPv6 en yüksek ivmeye ulaşmıştır. Bu ülkelerde çekilen adres sıkıntısı ve teknoloji alanında Amerika'nın tahtını sarsma isteği önemli etkenler arasındadır. NTT ve IIJ gibi ISS'ların IPv6 servisine başlaması, Canon, Sony, Matsushita gibi devlerin tüketici ürünlerini IPv6'yla donatmaları göze çarpan gelişmeler arasındadır.

Avrupa ise IPv6 geçişinde ikinci sırada yer almaktadır. Asya-Pasifik ülkeleriyle benzer motivasyonlara sahip bu bölgede Avrupa Topluluğu'nun ar-ge etkileri ön planda yer alır [18]. Günümüzde IPv6 Avrupa'nın teknolojik gelişiminde önemli bir etken olarak görülmekte ve her platformda desteklenmekte. Avrupa IPv6'ya olan inancını, 3. nesil hücresel ağlar mimarisi 3GPP ile bu protokolü zorunlu koşarak göstermiştir. Halen Avrupa'da resmi ve deneme amaçlı servis veren birçok ISS mevcuttur.

Amerika ise IPv6 altyapı ürün geliştirmede ne kadar önde olsa da bu protokolün uygulamaya geçirilmesinde rakiplerine göre geride kalmıştır. Adres kıtlığının ağır basmadığı bu coğrafyada 2003 yazına kadar yavaş ilerleyen IPv6 geçişi, Amerikan Savunma Bakanlığı'nın almış olduğu stratejik kararla bir anda ivme kazanmıştır. 2008 yılı itibariyle tüm ağlarının sadece IPv6 üzerinde çalışmasını öngören bakanlığın bu projeye 30 milyar dolar ayırması bu teknolojinin Amerika'da da önünü açmıştır. Bu projenin çapı ve zamanlaması açısından en belirleyici unsurlar,  bakanlığın Internet'in IPv6'ya geçişini kaçınılmaz olarak görmesi ve yönetimlerindeki dünyanın en büyük ağının yenilenmesinin çok zaman alacak oluşudur.

Bu yeni teknolojinin dünya çapında yaygınlaşması misyonunu IPv6 Forum [19] üstlenmiştir. Aralarında üç Türk şirketin de bulunduğu 160'ı aşkın üyeli forum, düzenlediği konferanslar, sağladığı stratejik ortaklıklar ve endüstriyel yol göstericilikle amacına her geçen gün biraz daha yaklaşmaktadır.

Bu arada her teknoloji için olduğu gibi, IPv6'in de gerekliliğine inanmayanlara her coğrayfa ve sektörde rastlamak mümkün. Internet için NAT'ın yeterli olduğu ve IPv6'nın getirileri yanında maliyetinin çok yüksek olduğu bu kesim tarafından ileri sürülen hususlar arasındadır.

Geçiş Hazırlıkları

Internet'le uzaktan yakından alakası olan yazılım ve donanım geliştiricilerin, ISS'ların, ve ağ yöneticilerinin bu teknolojiye yaklaşımında göz önünde tutması gereken husus IPv6'nın er ya da geç kendilerini etkileyecek olmasıdır. Bu yüzden gerekli hazırlıkların erkenden yapılmasında yarar vardır.

İlk yapılması gereken, bu teknolojinin konferanslar, eğitim materyelleri ve yayınlanmış teknik dökümanlar aracılığıyla öğrenilmesidir. Daha sonra ağ yöneticilerinin varolan ağlarını IPv6'ya geçiş değerlendirmesine tutmaları gerekir. Ağdaki işletim sistemlerinin, yönlendiricilerin, uygulamaların IPv6 durumları tespit edilmeli. Bunların bazıları hali hazırda IPv6 desteği içeriyor olabilir. Yeni alımlarda da bu kritere dikkat etmekte fayda var. Geliştirilen uygulamaların daha şimdiden IPv6'ya uyumlu olarak düzenlenmesi, ağ birimleri hazır olur olmaz uygulamaların da otomatik olarak IPv6 kullanabilmesini sağlar. Bunun yanı sıra IPv6 pilot ağların kurulması ve denemeler yapılması kontrollü geçişin şartlarındandır.

Bu hazırlıklar IPv6 geçişinin olabildiğince rahat yapılması için gerekenlerdir. Esas tavsiye edilen ise bunun ötesine geçilip IPv6 teknolojisinin yeni iş sahaları açması açısından değerlendirilmesidir.

Sonuç

Sürekli yenilenen ve gelişen Internet mimarisi köklü değişiklikler içeren bir sürece girmiştir. Bundan yıllar önce Internet'i inşa eden ekibin bu ağın günümüzde gelmiş olduğu boyutu tahmin edemediği gibi, yeni Internet'in ileride varacağı noktayı da şimdiden kestirmek çok güç. Bu süreç içerisinde, ağların IPv6'yı kontrollü ve ivedi bir şekilde uygulamaya alması Internet'in sağlıklı gelişimi için kritik bir önem taşımaktadır.

Kaynakça

 

[9] Gilligan, R., Thomson, S., Bound, J., McCann, J., Stevens, W., "Basic Socket Interface Extensions for IPv6", RFC 3493, Şubat 2003.

[10] http://www.ipv6forum.org.uk/navbar/links/v6porting.htm

[11] Gilligan, R., Nordmark, E., "Transition Mechanisms for IPv6 Hosts and Routers", RFC 2893, Ağustos 2000.

[12] Carpenter, B., Moore, K., "Connection of IPv6 Domains via IPv4 Clouds", RFC 3056, Şubat 2001.

[13] Tsirtsis, G., Srisuresh, P., "Network Address Translation - Protocol Translation (NAT-PT)", RFC 2766, Şubat 2000.

[14] Kitamura, H., "A SOCKS-based IPv6/IPv4 Gateway Mechanism", RFC 3089, Nisan 2001.

[15] Hagino, J., Yamamoto, K., "An IPv6-to-IPv4 Transport Relay Translator", RFC 3142, Haziran 2001.

[16] http://www.6bone.net/

[17] http://www.caida.org/analysis/geopolitical/bgp2country/ipv6.xml

[18] http://www.ist-ipv6.org/

[19] http://www.ipv6forum.com/

 

Alper E. Yeğin


Bu yazıyla ilgili görüş ve yorumlarınızı yorum@teknoTurk.org ve alper@teknoTurk.org adreslerine yollayabilirsiniz.