Mobil Internet Protokolü

  
Kasım ayında İstanbul'da gerçekleştirilen Türkiye'de Internet Konferansı inet-tr 2001'e katılma fırsatı buldum. Konferansta yer alan 70 kadar konuşmadan biri de benim yapmış olduğum Mobil Internet Protokolleri prezentasyonuydu. Bu yazımda presentasyonumda yer alan Mobil IP protokolünü anlatacağım.

Mobil ve Telsiz Internet

802.11, 3G, BlueTooth ve GPRS gibi telsiz teknolojilerinin gelişmesiyle, Internet'e telsiz ve mobil erişimin sağlanması için çalışmalar da başladı. Hemen mobil olmakla telsiz olmak arasındaki ilişkiye değineyim. Eğer herhangi bir telsiz teknoloji kullanıyorsanız, bu hemen mobil (hareketli) olabileceğiniz anlamına da gelmez. Evlere servis verirken kullanılan sabit telsiz (fixed-wireless) geniş-bant erişim buna iyi bir örnek. Öte yandan, eğer mobil iseniz, telsiz bir teknoloji kullandığınızı düşünmek yerinde olur (tabi yanınızda metrelerce kablo taşımıyorsanız :) Sadece telsiz erişimi fiziksel seviye (physical layer) protokollerle çözmek mümkün. Ama eğer işin içine bir de hareketliliği sokarsak, o zaman bu yazıda da göreceğiniz gibi karşımıza başka problemler de çıkacaktır. Bu problemlerin çözümü için de ağ seviyesi (network layer, IP temelli) protokollere başvurmamız gerekecektir.

Hareket halindeyken bile Internet'e erişebilmenin sağladığı faydalar saymakla bitmez. Bu faydaları ürün geliştiriciler ve servis sağlayıcılar da görmüşler ki, hemen kolları sıvamışlar. Pazar araştırma raporlarına bakıldığında Internet'in 2005 yılında 1 milyar kullanıcıya ulaşması bekleniyor. Telsiz iletişimin de aynı zamanlarda aynı yaygınlıkta olması beklentiler arasında. Ne zaman kaç kişiye ulaşacağı tahminden öteye geçmese de, açık olan bir gerçek var ki bu iki teknolojinin, telsiz iletişim ve Internet'in, birbiriyle iç içe geçecek oluşudur. Cep bilgisayarlarıyla telefonların entegrasyonu, ses trafiğinin bile IP paketleriyle taşınması telekomünikasyon ile Internet'in birbirinden ayrılmaz bir bütün haline gelmesini sağlayacaktır.

Tabi bu teknolojilerin sağladığı faydalara problemsizce ulaşacağımızı düşünmek saflık olur. Telsiz ve mobil erişim, varolan bazı problemleri daha öne çıkarmakla kalmayıp, beraberlerinde yeni problemler de getiriyorlar. Bunlar arasında güvenlik, erişim, yönlendirme, dolaşım, mahremiyet sayılabilir. İlk çözülmesi gereken problem erişimdir. Cihaz ile ağ arasındaki kabloyu ortadan kaldıran teknolojilere ihtiyacımız var. Neyse ki bu konuda elimizde hali hazırda çözümler mevcut: 802.11, 3G, vs. Arada kablo olmadan da veriler bize ulaşabildiğine göre şimdi de cihazımızı dolaşmaya çıkaralım. İlk karşılaştığımız problem, IP paketlerinin bize yönlendirilmesi. Bu konuda da çözüm: Mobil IP. Bu yazının kalan kısmında bu protokolün işleyişine değinilecek.

Mobil IP

Bundan yaklaşık 30 yıl önce geliştirilen Internet protokolü (IP), ağların ve bu ağlara bağlı cihazların sabit olduğu prensibine göre düzenlenmiş. Yani sizin cihazınız ulaşılabilir olmak istediği sürece sabit bir ağa bağlanmalı ve sabit bir adres kullanmalı. Eğer bağlandığı ağı değiştirir ve hala iletişim kurabilmek isterse, yeni bağlandığı ağa uygun bir adres kullanmalı. Bu prensibe dayanılarak OSPF, RIP, BGP gibi yönlendirme protokolleri geliştirilmiş.

Şu ana kadar bu yapı ihtiyaçları karşılamış olmasına rağmen, hareketli ve telsiz cihazların ve ihtiyaçların artmasıyla yeni problemler doğmaya başlamış. İletişimin kesintisiz sağlanabilmesi için, cihazınız ağ değiştirmesine rağmen sabit ve bilinen adresini korumak isteyecektir. Bu adresin sabitliği, TCP gibi bağlantı temelli (connection oriented) protokoller için şarttır. TCP bağlantısının herhangi bir ucundaki adres değişirse bağlantı kopar. Çünkü bu bağlantıyı tanımlayan unsurlardan biri uç noktaların IP adresidir. Öte yandan bu adresin bilinir olması da cihazınızda sunucu çalıştırabilmeniz için şart. Eğer sunucunuzun IP adresi sürekli değişirse, istemciler size ulaşamayacaktır.

Bu yönlendirme probleminin çözümü Mobil IP protokolünün kullanılmasıyla mümkündür. Mobil IP, ağ seviyesi (network layer) bir çözüm olup, IP protokolünün üzerinde çalıştığı her türlü bağlantı teknolojileri (Ethernet, ATM, 802.11, 3G, vb.) üzerinde çalışır. Internet çapında uygulanabilecek, bir uçtan bir uca hareketliliği idare edebilecek bir protokol olması sebebiyle de tercih edilen çözüm olmuştur. Değişik bağlantı teknolojilerinin kendilerine has hareketlilik protokolleri de vardır. Ancak bunların, teknolojiler arası geçişe elverişli olmadıkları ve dar alanlarda geçerli oldukları için uygulama alanları kısıtlıdır.

Mobil IP protokolünün çalışma prensibini hayattan bir örnekle açıklayalım. Posta servisini düşünürsek, bir vatandaş olarak sizin bir posta adresiniz (mesela İstanbul'da) ve kullandığınız postaneniz var. İzmir'deki arkadaşınız size bir mektup attığında, bu mektup yerel postane üzerinden sizin adresinize ulaştırılmakta. Ta ki geçici bir süre için bile olsa siz o adresten çıkana kadar. Mesela o yaz tatil için Antalya'ya gittiniz. Normalde hiçbir şey yapmazsanız mektubunuz İstanbul'a gelecek ve orada kalacaktır. Eğer sizin İstanbul adresinize yollanan mektupların Antalya adresinizde elinize ulaşmasını istiyorsanız, o zaman yeni adresinizi İstanbul'daki postaneye bildirmeniz gerekecektir. Bunda sonra, İstanbul postanesi size yollanan mektubu, üzerine Antalya'daki adresinizin yazılı olduğu bir başka zarfa koyarak size yollayabilir. Siz de, elinize İstanbul postanesinden gelen zarfları açtığınızda içinden sizin İstanbul adresine yollanan orijinal mektubunuzu bulacaksınız. Daha sonra eğer Antalya'dan Side'ye geçerseniz yine İstanbul postanesine durumu bildirmek suretiyle mektuplarınız yeni adresinizde elinize ulaşacaktır. Görüldüğü gibi basit bir mekanizmayla, sürekli yer değiştirmenize rağmen sanki hala orijinal adresinizdeymişçesine iletişim kurabilirsiniz.

Bu mekanizmayı birebir IP'ye uygularsak karşımıza çıkan protokolün adı Mobil IP oluyor. Ev adresiniz cihazınızın sabit IP adresi (home address), tatilde gittiğiniz yerlerdeki adresleriniz geçici IP adresi (care-of address), İstanbul'daki postane sizin her zaman konum bilginizden haberdar olan yuva sunucusu (home agent), ve zarfı bir başka zarfın içine koyup yollamak da IP tünellemesi oluyor.

Cihazınız evdeyken kullandığı sabit adres içinde bulunduğu ağın bir parçası olduğu için kendisine yollanan paketlere ulaşabilecektir. Internet'teki yönlendiriciler bu adrese yollanmış bir paketin fiziksel olarak hangi ağda olduğunu bilirler (BGP ve RIP sayesinde). Ne zaman ki sizin cihazınız yuva ağından (home network) ayrılır, o zaman kendisine yollanan paketler ulaşmamaya başlar. Nitekim bu paketler hala yuva ağına gitmekte ve orada sahipsiz kalmaktadırlar. Cihazınızın ilk olarak yapması gereken yeni bağlandığı ağı keşfetmesidir (movement detection, router discovery). Daha sonra, PPP veya DHCP gibi protokolleri kullanarak bir geçici adres edinir. Bu geçici adres bağlandığı ağdan bir adrestir. Bu topolojisi doğru (topologically correct) adrese yollanan paketler cihazımıza ulaşacaktır. Şimdi geriye kalan, cihazımızın bu geçici adresi yuva sunucusuna bildirmesidir. Bu da kayıt (registration) paketinin yollanmasıyla olur. Bu kayıt paketini alan yuva sunucusu artık cihazın evde olmadığını bilir ve cihazın ev adresine yollanan paketleri onun adına almaya başlar. Her yakaladığı paketi kendi hazırladığı başka bir IP paketinin içine koyar. Bu yeni paketin varış adresine de cihazımızın geçici adresini yazar. Böylece cihazımızın iletişim içinde bulunduğu herhangi bir karşı tarafın yolladığı paketler, hiç değiştirilmeden IP tünellemesiyle cihazımızın yeni bulunduğu ağa yollanır. Cihazımız her ağ değişikliğinde bu protokolü takip ederek kendisini "erişilebilir" (reachable) konumda tutar.

Burada göze çarpan bir olay da farkında olmadan üçgen yönlendirme yaratmış olduğumuz. Bizim cihazımızdan karşı tarafa giden paketler en kısa ve direk yolu takip ederken, karşı taraftan bize yollanan paketler ev sunucusu üzerinden gelmek durumunda. Çoğu zaman bu geliş yolununun en kısa yol olmadığı bir gerçektir. Tabi paketlerin yolunun uzaması iletişimde gecikme, gidiş ve geliş yollarının asimetrik oluşu da bazı protokoller için problem teşkil etmekte. Bu sorunun da çözümü, cihazımızın konum bilgisini ev sunucusuna ek olarak iletişimde bulunduğu diğer cihazlara da bildirmesi. Böylece karşı taraf bundan sonra yollayacağı paketleri direk bizim sabit adresimize değil de, geçici adres üzerinden sabit adresimize yollayabilir. Bu da kaynağından yönlendirme (source routing) ile mümkün. Bu paketler, geçici adresi ara durak olarak kullanırlar. Böylece de ilk olarak cihazımızı fiziksel olarak bağlı olduğu ağda bulurlar. Mobil IP protokolünde buna yönlendirme optimizasyonu (route optimization) denir.

Standart, Mimari, Ürün, Servis

Her Internet protokolü olduğu gibi Mobil IP de IETF tarafından geliştirilen ve standartlaştırılan bir protokol. IPv4 temelli Mobile IPv4 hali hazırda RFC2002 ile standart seviyesine ulaşmasına rağmen, IPv6 temelli Mobile IPv6 hala IETF taslağı (draft) aşamasındadır. Bunda da, yönlendirme optimizasyonu için kullanılan kayıt paketlerinin güvenliğinin kolay kolay sağlanamaması geliyor. Elimizdeki problem, Internet genelinde güven ilişkisi kurma problemidir (Internet-wide security). Mobil IPv4 protokolü bu optimizasyona sahip değildir.

Bir protokol standartlaştırıldıktan sonra birçok mimaride kullanılabilir. Mobil Internet mimarilerini de düşündüğümüzde karşımıza adından sıkça söz ettiren 3GPP ve 3GPP2 çıkıyor. 3GPP hareketliliği şu anda IP seviyesinin altında hallediyor (GTP) olmasına rağmen, 3GPP2 Mobil IPv4'u direk olarak mimari yapısına almıştır. Mobil IPv6 protokolünün standartlaştırılmasıyla her iki mimarinin de bu yeni protokolü temel alması planları var.

Eğer bir protokol, mimarilerde de yerini almışsa artık altyapı (infrastructure) şirketlerinin bu konuya eğilmesinin zamanı gelmiştir. Sun Microsystems, Cisco, HP, ve Toshiba'nın ürünlerinde Mobile IPv4 protokol desteğini bulabilirsiniz. Açık-kaynak kod istiyorsanız da Carnegie Mellon University (BSD) ve Helsinky University of Technology (Linux) başvurabileceğiniz kaynaklar arasında. Mobil IPv6 daha üstün bir teknoloji olduğundan daha çok ilgi çekmesine rağmen standartlaştırılmasındaki gecikmeden dolayı şirketlerin ürünlerinde henüz yer almıyor. Birçok şirket bu geliştirdikleri Mobil IPv6 ürünlerini IETF'den gelecek son protokole göre güncelleyip piyasaya sürmeyi beklemekte. Açık-kaynak kod ise Japon KAME Projesi'nden, Helsinky University of Technology (Linux) ve Keio University'den (BSD) edinilebilir.

Servis sağlayıcılar arasında ise 3GPP2'nin ilk uygulamalarını Kore ve Amerika'da (Verizon) görmek mümkün.

Cep telefonlarının gelişmesi ve avuç içi bilgisayarlarını bünyelerinde barındırmaları ile istemci tarafında telsiz ve mobil Internet'e olan talep artıyor. İlk planda geciken 3G'nin boşluğunu dolduran yerel telsiz ağlar (WLAN, 802.11 gibi) bu konuda talebi karşılamaya hazır. 3G'nin de aramıza katılmasıyla artık her zaman her yerde Internet temasına ulaşmamız mümkün olacak. Sesin bile veri paketlerinde taşınmasıyla (VoIP) IP ortak taşıyıcı rolünü üstleniyor. IP temelli iletişim hareketlilik başta olmak üzere birçok problemin bu protokol üzerinden çözülmesini gerektiriyor. Bu noktada karşımıza Mobil IP çıkıyor: IP protokolünün çalıştığı her yerde çalışabilecek, Internet çapında uygulamaya açık hareketlilik protokolü.

 

Alper E. Yeğin

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