Ipv6 Destekli Özgür Video Konferans Yazılımı: Fi6en Necdet Yücel 1, Kaan Ozdincer 2 Cem Sönmez 3 1 nyucel@comu.edu.tr 2 kozdincer@comu.edu.tr 3 cem@comu.edu.tr Özet: Bu çalışmada, internet kullanımın yaygınlaşması ve web tabanlı iletişim isteğinin artması ile ortaya çıkan görüntülü iletişim ihtiyacını giderecek bir video konferans yazılımının geliştirim sürecinden ve kullanılan teknolojilerden bahsedilecektir. Geliştirilen video konferans yazılımı IPv6 Protokol Altyapısı Tasarımı ve Geçişi Projesi[5] 'nin bir çıktısı olarak geliştirilmiş, IPv6 'nın üstün özelliklerinin[0] test edilebilmesi amaçlanmıştır. Bir yazılıma IPv6 desteği vermenin ne demek olduğu irdelenmiştir. Yazılımın özgür bir lisans[1] ile dağıtılması ve bunun getirilerinden bahsedilmiştir. Anahtar Sözcükler: Video Konferans, Ipv6, Özgür Yazılım.
1. GİRİŞ Bu bölümde çalışmanın tanımı ve amaçları hakkında kısa bir giriş yapılmış, ikinci bölümde yeni nesil İnternet Protokolü olan IPv6 ve üstün özellikleri hakkında bilgi verilmiştir. Üçüncü bölümde geliştirilen video konferans hakkında bilgiler verilmiş, geliştirme süreci ve özelliklerinden bahsedilmiştir. Son bölümde ise sonuç ve tartışma yapılmış ve kazanımlardan bahsedilmiştir. Video konferans sistemi iki veya daha fazla lokasyonda, eş zamanlı, görüntülü ve sesli yayınlar yoluyla iletişim kurmayı sağlayan teknolojiler kümesidir. Eğitim, Toplantı, Sosyal iletişim gibi ihtiyaçların, zaman ve mekana olan bağımlılıkları, video konferans kullanımını kaçınılmaz kılmaktadır. Özgür lisansa sahip video konferans yazılımının azlığı[2], özgür olanların henüz yeni geliştiriliyor olması ve daha önce bu konuda Türkçe yazılım çalışması ve belgelendirme olmaması, bu yazılımın çıkış noktasıdır. Yeni nesil internet protokolü olan IPv6 ise, IPv4 'ün eksik yönlerini gidermek amacıyla geliştirilmektedir. IPv6, IPv4 'e göre çok daha büyük bir adres uzayına (2^96 kat) sahiptir. Bunların dışında; otomatik yapılandırma, çoklu gönderim, gezicilik gibi özellikleri Ipv6 'yı bir adım öne çıkarmaktadır. Özellikle Resmi Gazete 'nin 8.12.2010 tarihli 27779. sayısında yayınlanan genelge[3] ile "Kamu kurum ve kuruluşları en geç 31 Ağustos 2013 tarihine kadar internet üzerinden verdikleri kamuya açık tüm hizmetleri IPv6 yı destekler hale getireceklerdir." maddesi geçmektedir. Ayrıca IPv6 'nın bazı yeniliklerinin ( Gezicilik, Servis Kalitesi, Çoklu Gönderim vs.) tam da video konferans yazılımının ihtiyacı olan özellikler olması, sistemin IPv6 destekler şekilden yapılmasını kaçınılmaz kılmıştır. Ayrıca Fi6en, IPv6 Protokol Altyapısı Tasarımı ve Geçişi Projesi[5] 'nin çıktılarından bir tanesidir. 2. IPv6 IPv6 yeni nesil internet protokolüdür. Günümüzde pek çok kullanıcı İnternet Protokolü olarak IPv4 'ü kullanmaktadır. Ancak zaman geçtikçe IPv4 'ün kullanıcı isteklerine yanıt veremeyecek düzeye geleceği ön görülmektedir. Bunun için IPv4 'ün eksik yönlerini gidermek amacıyla IETF[4] tarafından IPv6 geliştirilmiştir. 2.1 IPv6 'nın üstün özellikleri; 2.1.1 128 bir adres uzayı IPv4 'te 32 bit olan adres uzayı, IPv4 adreslerinin hızla azalması ve ileride daha çok IP 'ye ihtiyaç duyulacağı ön görüsü ile 128bit e çıkarılmıştır. 2.1.2 Otomatik Yapılandırma (SLAAC) İstemciler ağ ayarlarını otomatik olarak yapabilmektedir. Çünkü Ağ yapılandırması MAC adreslerine göre yapılabilmektedir. IPv6 otomatik yapılandırması yok ise ağ ayarları, DHCPv6 veya elle yapılabilir. 2.1.3 Çoklu Gönderim (Multicast) Grup adresleridir. Bu grub üye olanlarının tamamına paketler gönderilir. IPv4 'teki broadcast yerine kullanılır. 2.1.4 Güvenlik IPv4 'de de mevcut olan IPSec, IPv6 'da gömülü olarak gelmektedir. 2.1.5 Service Kalitesi (Qos) IP paketlerindeki önceliklendirme kolaylaştırılmış ve trafiğin kesinti olma olasılığı azaltılmıştır. Paket başlığına akış etiketi(flow label) eklenmiştir.
2.1.6 Gezicilik (Mobility) Aynı IP ile farklı ağlarda bulunabilme özelliğidir. 3. Fi6en Fi6en (Free IPv6 Video Conference), Ulusal IPv6 Protokol Altyapısı Tasarımı ve Geçişi Projesi[5] 'nin bir çıktısı olarak geliştirilen, IPv6 protokolünü kullanan tamamıyla açık kaynak kodlu, IPv6 üzerinde çoklu gönderim, dolaşabilirlik ve önceliklendirme özellikleri kazandırılmış bir IPv6 video-konferans yazılımıdır. Fi6en, Sunucu - İstemci mimarisi kullanılarak hazırlanmış bir yazılımdır. Modüler bir yapıya sahiptir ve her modül birbirinden bağımsız olarak çalışabilmektedir. Ses ve Görüntüleri RTMP üzerinden akışını sağlar. 3.1 Kullanılan Teknolojiler 3.1.1 Red5 Fi6en 'in sunucu tarafını oluşturan Red5[6], Java ile yazılmış, Açık kaynak kodlu bir Flash sunucusudur. Desteklediği bazı özellikler; Ses ve Görüntü akışı (FLV, MP3) İstemci yayınlarını kaydetme. Paylaşılan Nesneler. Canlı akış yayınlama. Red5, Adobe FMS[7] 'nin özgür lisanslı muadili olup, Facebook 'un flash sunucu alt yapısını oluşturmaktadır. 3.1.2 Openlaszlo Fi6en 'in istemci tarafını oluşturulmasında kullanılan Openlaszlo[8], Zengin İnternet Uygulamasıdır[9] (RIA). Platform bağımsız olarak tarayıcı tabanlı uygulamalar geliştirmek için kullanılır. Adobe Flex[10] 'in muadili olarak Common Public License[11] ile özgür olarak dağıtılmaktadır. Openlaszlo XML ve Javascript 'ten oluşan kendine has bir programlama diline (LZX) sahiptir. LZX dilinde yazılmış kodlar derlenerek SWF veya DHTML formatına dönültürülebilirler. 3.1.3 Hibernate Fi6en 'in sunucu tarafında veri tabanı işlemlerini kolaylaştırmak için kullanılan Hibernate[12], Java platformunda yazılmış bir ORM[13] aracıdır. Veri tabanındaki tabloları Java Nesnelerine dönüştürmeye yarar. Böylece veritabanı ile sınıflar soyutlanmış olur. 3.1.4 Xuggler Fi6en 'de ekran görüntülerini, Ses ve Görüntü akışlarına çevirmek için kullanılan, medya dosyalarını yada yayınları sıkıştırma ve düzeltmek için kullanılan bir java kütüphanesidir[14]. 3.1.5 LibreOffice Dosya Dönüştürme Servisi Fi6en 'de değişik formattaki dosyaları SWF formatına dönüştürmek için kullanılan GPL lisanslı bir dosya formatı dönüştürme servisidir[15]. 3.2 Geliştirme Süreci ve Özellikleri Fi6en, Sunucu - İstemci modeli temel alınarak geliştirilmiştir[16]. Sunucu tarafı, video konferansı yönetecek ve kullanıcı isteklerini yerine getirecek olan kısımdır. Ses ve görüntünün kullanıcılardan alınıp diğer kullanıcılara dağıtılması, kaydedilmesi, mesajlaşma ve paylaşılan nesnelerin yönetilmesi, günlükleme işlemleri, veritabanı kayıtlarının yapıldığı kısımdır. Ayrıca istemci tarafında IPv6 bağlantısının gerçekleştirilebilmesi için gerekli olan yapılandırmalar bu tarafta yapılmıştır. İstemci tarafı, kullanıcıya yapabilecekleri için arayüz hazırlayarak, platform bağımsız olarak çalışan kısımdır.
3.3.6 Dosya paylaşımı png, jpg, pdf, ppt, odt gibi formatların sunucuya yüklenerek diğer kullanıcılar ile paylaşabilinen alan. 3.3.7 Günlükleme Sunucu tarafında olan olayların ve hataların günlüklenmesi sağlanmıştır. 3.3.8 Çoklu dil desteği Şekil 1. Çalışma Yapısı 3.3 Özellikler ve Modüller 3.3.1 Beyaz Tahta Modülü Kullanıcıların dosya paylaşabildikleri, not alabildikleri serbest çalışma alanıdır. 3.3.2 Mesajlaşma Modülü Odadaki kullanıcıların birbirleriyle yazışabilecekleri alan. 3.3.3 Kullanıcılar Fi6en 'de farklı yetkide kullanıclar vardır. Fi6en 'in özelliklerini kullanabilen normal kullanıcı, kullanıcılar, oda üstünde değişiklik yapabilen oda sahibi kullanıcı ve yönetici. 3.3.4 Odalar Fi6en 'de farklı özelliklere sahip odalar vardır. Normal herkezin girebildiği oda, Parola korumalı oda ve uzak bir tarihte açılacak şekilde ayarlanmış oda. 3.3.5 Admin Paneli Fi6en üstünde olan kullancı ve odalar üstünde ayarlamalar yapılabilen bölüm. Türkçe ve İngilizce dil destekleri kazandırılmıştır. 3.3.9 Çoklu ses/görüntü iletimi Bir kullanıcının kamera, microfonundan yayın yapabilmesi ve bu yayının başka kullanıcılar tarafından görüntülenebilmesi sağlanmıştır. 3.3.10 Kurulum ve kullanım belgeleri Özgür yazılımların en önemli özelliklerinde biri olan belgelendirme için çalışmalar yapılmıştır. Sonuç olarak bir kurulum belgesi birde kullanım kılavuzu hazırlanmıştır. 4. Sonuç Fi6en, yalın IPv6, ikili yığın ve IPv6 tünelleme ağında sorunsuz olarak çalıştırılmıştır. Kullanılan teknolojilerin getirisi olarak, bir yazılıma IPv6 desteği verme konusunda fazla bir çalışma yapmaya gerek kalmamıştır. Yapılan tek düzenleme, veritabanına IP için ayrılan sütunlara hem IPv4 hemde IPv6 adresleri sığacak kadar alan ayırmak olmuştur. Sonuç olarak, IPv6 'nın beraberinde getirdiği avantajların kullanılabildiği, Kurulum ve Kullanım belgeleri olan, Türkçe destekli, açık kaynak kodlu bir video konferans yazılımı gerçeklenmiştir. Yazılımın açık kaynak olarak dağıtılmasının amacı; Araştırmaya yönelik olan bu çalışma sonucunda, isteyen kişilerin Fi6en 'in gelişimine katkıda bulunmalarını sağlamak, başka IPv6
çalışmaları ve performans testleri yapmak isteyen kişilere yardımcı olmaktır. 5. Referanslar [0]http://en.wikipedia.org/wiki/IPv6#Compar ison_to_ipv4 [1]http://www.gnu.org/licenses/licenselist.html#SoftwareLicenses [2]http://en.wikipedia.org/wiki/Comparison_ of_web_conferencing_software [3]http://rega.basbakanlik.gov.tr/eskiler/2010/ 12/20101208-7.htm [4]http://www.ietf.org/ [5]http://www.ipv6.net.tr/ [6]http://code.google.com/p/red5/ [7]http://www.adobe.com/products/flashmedi aserver/ [8]http://www.openlaszlo.org/ [9]http://en.wikipedia.org/wiki/Rich_Internet _application [10]http://www.adobe.com/products/flex/ [11]http://en.wikipedia.org/wiki/Common_Pu blic_license [12]http://www.hibernate.org/ [13]http://en.wikipedia.org/wiki/Objectrelational_mapping [14]http://www.xuggle.com/xuggler/ [15]http://www.libreoffice.org/ [16]http://en.wikipedia.org/wiki/Client %E2%80%93server_model