7 Haziran 2012 Perşembe

IPv6: "Merhaba Dünya!"


IPv6 dün 6 Haziran 2012 tarihi ile bir çok servis sağlayıcı ve kurum yeni protokole geçiş yaptı. Yaklaşık olarak bir yıl kadar önce 24 saatliğine bazı internet servis sağlayıcıları ile önemli internet siteleri IPv6 protokolünü kullanmışlardır. Bu girişim Internet Society tarafından organize edilmiş ve 24 saatlik deneme çalışmasının sonuçları üzerine bir çok değerlendirme yayınlanmıştı. IPv6 geçişinin resmi olarak yürürlüğe geçeceği tarih olarak da 6 Haziran 2012 seçilmişti. Dün itibari ile bir çok ISS, internet sitesi, ağ donanım üreticileri IPv6 geçiş yaptılar. Internet Society'de bu geçişi kendi kurduğu sitelerde duyurdu.

IPv6 protokolü RFC2460 ile belirlenmiştir. Protokolün yaklaşık olarak 10 yıldan biraz fazla bir geçmişi olsa da ilk tasalağının ortaya çıkması üzerinden bugüne kadar bir çok işletim sistemi protokolü geçiş sürecinden kısa bir süre önce desteklemeye başlamıştır. BSD/UNIX işletim sistemi ailesi ise bu konuda öncü olarak nitelendirilebilir. FreeBSD 4.0, OpenBSD 2.7 ve NetBSD 1.2'den bu güne dek IPv6 tam olarak desteklemektedir. Linux dağıtımları da bu geçiş sürecine uzun zamandır hazır durumdadır. Dolayısıyla da güncel bir işletim sistemi kullanıyorsanız IPv6 kullanmaya başlayabilirsiniz.


Ipv6'de Yeni Olan Ne?

Adresler

IPv6 ilk bakışta göze çarpan özelliği DNS adlarında IP adresleri yerine doğrudan isimlerin kullanılacak olması. IPv4 adres aralığı 32 bit iken IPv6 adres aralığı 128 bit büyüklükte. Bu uzunluktaki adreslerin anımsanması, akılda kalması zor. Bunu en kolay anlatmak sanırım bir benzetme ile olanaklı. Ipv4 adreslerinin tamamını bir araya getirip sıkıştırsak avucumuzun içine sığabilecek bir top büyüklüğü elde ederiz. Aynı işlemi IPv6 için yapacak olsak bu topun büyüklüğü güneşimiz kadar olurdu. Bu durum IPv6 ağlarının kurulumu ve yönetiminde eski bilgilerimizi ve alışkanlıklarımızı bir kenara bırakmamızı zorunlu kılıyor. Özellikle de kurup yöneteceğinizi ağın sınırlarını belirlemek söz konusu olduğunda...

Adres/Ağ Yapılandırması

IPv6 stateful ve stateless olmak üzere iki farklı kipte adresleri yapılandırabiliyor. İlki, IPv4 protkolündeki DHCP ile benzerlik gösteriyor. İkincisi ise Stateless Address Auto Configuration – SLAAC olarak adlandırılan yapılandırma kipi. Bunda ağ üzerindeki sistemler yerel bir IP adresi tanımlayarak otomatik olarak ağ yapılandırmasını gerçekleştirebiliyor. Aynı yerel segmentte yer alan diğer komşu sistemleri de kendileri otomatik olarak belirleyebiliyor. Buna ek olarak da ağ üzerindeki yönlendirici – router'dan gelen ICMP mesajları ile küresel bir yönlendirme tablosu unu otomatik olarak oluşturabiliyorlar. Bu işlemler için kullanıcı veya sistem yöneticisinin müdahelesi gerekmiyor. Bunun yararı tüm ağı otomatik olarak yapılandırmaya olanak tanıması. Güvenlik açısından ise ağdaki sistemlerin yapılandırmasında sistemler arası iletişimin güvenliğinin sağlanmasında çok daha dikkatli olunması gerekiyor.

ICMP

Ipv6'da ICMP kritik öneme sahip olarak karşımıza geliyor. IPv4'de ICMP mesajları bu kadar öenem sahip değildi ve temel özellikleri ile karşımıza geliyordu. IPv6 ile ICMP daha fazla işleve ve önem sahip oluyor. Ipv4'te kullandığımız ARP yerini ICMP mesajlarına bırakıyor. Komşu Keşif – Neighbor Discovery (ICMP Type 135 ve 136) Yönlendirici Keşif – Router Discovery (ICMP Type 133 ve 134) mesajlarına bırakıyor. Paket anahtarlamalı sitemlerin özelliği olan paketlerin parçalanarak iletilmesi halen geçerli olmakla birlikte parçalara ayırma işlemi sadece uçlarda gerçekleşiyor. Yönlendiriciler artık bu işi yapmıyor. Eğer bir paketin parçalara ayrılması gerekiyorsa bunu ICMP Type 2 “Packet Too Big” mesajı paketi gönderen uca yollanıyor ve paket düşürülüyor. Bu da ICMP Typğe 2 Paketlerinin yerel ağa girmesine izin verilmesini zorunlu kılıyor. Daha açık olarak ağ dışındaki kaynakların yolladığı ICMP Type 2 paketlerinin ağa girişine izin verilmesi zorunlu oluyor aksi durumda paketin parçalara ayrılarak yollanması söz konusu olmuyor. Öte yandan IPv4 için minimum MTU büyüklüğü 576 oktet iken IPv6 ile minimum MTU değeri 1280 oktet oluyor. Böylelikle paketlerin parçalanarak yollanmasına pek gerek kalmıyor.

IPv6 Paket Yapısı

Sıradan kullanıcılar için pek göze batmayan bir diğer özellik de IPv& paketlerinin başlık bilgisindeki değişiklikler. Temel olarak IPv6 paketlerinin başlık bilgisi şu bilgileri taşıyacak şekilde tasarlanmış:Version, Traffic Class, Flow Label, Payload Length, Next Header, Hop Limit, Source Address and Destination Address. Yönlendiriciler bu bilgileri daha etkin bir şekilde işleyebilmektedir. Dolayısıyla da Flow Label – Akım Etiketi bir yönlendiricinin bu bilgileri tanımlayabilmesi ve aynı akıma veya bağlantıya ait olup olmadıklarını belirlemek için kullanılmaktadır. Böylelikle yönlendirici tipik bir IPv6 paketini yönlendirirken bu bilgileri kullanarak gerekli yönlendirmeyi yapabilmektedir. Next Header alanı IPv6 paketlerini diğer ek işlevlerin eklenebilmesini sağlamaktadır. Örneğin parçalanma, IPsec (AH ve ESP) ve geleneksel iletim prokolleri olan TCP ve UDP gibi. IPv6 paketleri bir sıralı liste ile bilgileri taşımaktadır. Her bir Next Header bilgisi izleyen başlık bilgisine ait bilgiyi de kapsamaktadır. IPv4 ile geriye doğru uyumluluğun sağlanması amacıyla geleneksel IP protokollerinde kullanılan değerler de bu başlık bilgileri içerisinde ayrıştırılarak gerekli işlemlerin yapılmasına olanak sağlanabilmektedir. Bu bilgiler başlık alanları içerisinde en son sırada yer almaktadır. Ipv4'ün yapısı gereği bir sıralı listenin protokolün yapısında bulunmadığı bu şekilde problem çözülmüş olmaktadır. Başlık bilgileri içinde sıralı liste kullanılarak gerektiğinde yeni işlevler protokole dahil edilebilecektir. Bu özellik öte yandan bir yeni problemi de doğurabilir. Paket başlık bilgilerinde oynamalar yapılarak istenmeyen sonuçlar ortaya çıkabilir. Dolayısıyla da halen IPv6 yazılımları/donanımları geliştirenlerin bu konuda dikkatli olması ve olası bir problemin belirlenebilmesi için konu üzerinde durması gerekecektir.

Multicast

Multicast tek ağa bir paket gönderip bu ağ üzerindeki birden çok sistem ile iletişimin gerçekleştirilmesini sağlar. IPv4 bunu gerçekleştirebilmekle birlikte IPv6'da multicast daha önemli duruma gelmektedir. Ipv6'da bir yayın adresi – broadcast adress bulunmamaktadır. Dolayısıylada alt ağ – subnet büyüklüğü 2^64 olmaktadır. Multicast yeni protokolde çeşitli donanım/cihaz grupları ile farklı şekillerde iletişim kurmak için kullanılmaktadır. Örneğin tüm sistemler veya tüm yönlendiriciler ile iletişim kurulması gibi. Bu mukticast gruplarına yönlendirilen ICMP mesajları IPv6 sunduğu komşu keşif – neighbour discovery özelliğinin etkin bir şekilde çalışmasını sağlamaktadır. Diğer gruplar kapsamında tüm DHCP sunucuları, tüm mobil cihazlar vb düşünülebilir. Multicast dayalı bir tasarım da ICMP bu yapıda yerini zorunlu kılıyor. Sistemler arası iletişimin daha etkin duruma geliyor olması mutlicast trafiğinin IPsec ile güvenli hale getirilebilmesi gibi bazı problemleri de beraberinde getirecek gibi görünüyor.

Bu bilgilere bakarak Ipv6'nın sunduğu önemli faydalar yanında ilk bakışta yeni problemleri de getirdiği görülebilir. Güvenlik açısından bakıldığında IPv6 ile IPv4 karşılaştırması yapmak doğru olmayacaktır. Halen protokolün ayrıntılı olarak incelenmesi gerekiyor. Bu protokolü kullanacak donanım ve yazılımların yaratacağı sorunları öngörmek de kolay değil. IPv6 kullanımı yaygınlaştıkça bu soruların yanıtlarını göreceğiz.

IPv6 konusunda  ULAKBİM hazırladığı eğitim kaynakları oldukça yararlı olmaktadır. Aşağıdaki bağlantılardan dosyaları PDF olarak edinebilirsiniz.