|
IPv6: Internet Protokolü sürüm 6 (2) |
|
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. [17]
http://www.caida.org/analysis/geopolitical/bgp2country/ipv6.xml [19]
http://www.ipv6forum.com/
|