Raptor Kodları ile İnternette Güvenilir İletim



Benzer belgeler
Raptor Kodları ile İnternette Güvenilir İletim

Ayrıca paket deyindeki kayıplarda Göndermede Hata Düzeltim kodları ile düzeltilebilir. Örneğin: Raptor, Reed-Solomon kodları. Ancak şu kesindir ki bit

Computer Networks 5. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

İleri Düzey Bilgisayar Ağları

Elbistan Meslek Yüksek Okulu Güz Yarıyılı EKi Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU

Prensipler Çoklu ortam uygulamalarının sınıflandırılması Uygulamaların ihtiyaç duyacağı ağ servislerini belirlemek Uygulamaların gerçek zamanlı

Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği

Değişen ve Gelişen Türkiye nin, Yenilikçi ve Atılımcı Elektronik Üreticisi

Serpiştirim Yaklaşımının MBMS Yükleme Hızına Etkisi

BM 402 Bilgisayar Ağları (Computer Networks)

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Protocol Mimari, TCP/IP ve Internet Tabanlı Uygulamalar

İletişim Ağları Communication Networks

VERĠ HABERLEġMESĠ OSI REFERANS MODELĠ

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Bilgisayar Ağları - 1 (BİL 403)

Computer Networks 4. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2. İçerik. IP ICMP MAC Tracert

Bilgisayar Ağları Computer Networks

SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma

KABLOSUZ İLETİŞİM

Mobil Cihazlarda RTMFP Protokolü ile P2P Görüntü İletimi

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2

Uygulama 6. Sunum 5. Oturum 4. Taşıma 3. Ağ 2. Veri iletim 1

Yeni Nesil Ağ Güvenliği

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

İsimler : Köksal İçöz, Çağdaş Yürekli, Emre Uzun, Mustafa Ünsal Numaralar : , , , Grup No : E-1

BİLGİSAYAR AĞLARI. «Uygulama Katmanı»

Bölüm 8 : PROTOKOLLER VE KATMANLI YAPI: OSI, TCP/IP REFERANS MODELLERİ.

AĞ SĠSTEMLERĠ. Öğr. Gör. Durmuş KOÇ

OSI REFERANS MODELI-II

Toplu İleti Gönderimi

Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

TCP PERFORMANSININ VERİ TRANSFERİ UYGULAMALARI İÇİN GELİŞTİRİLMESİ

Çoğul Ortam Akıtma Platformlarında, Uçbirimlerdeki Fonksiyonel İşlemlerin Bulut Bilişim (Cloud Computing) Hizmetine Çekilmesi Projesi

NETWORK BÖLÜM-4 AĞ TOPOLOJİLERİ. Öğr. Gör. MEHMET CAN HANAYLI CELAL BAYAR ÜNİVERSİTESİ AKHİSAR MESLEK YÜKSEKOKULU

Ağ Yönetiminin Fonksiyonel Mimarisi

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Bilgisayar Ağları (COMPE 734) Ders Detayları

Bölüm3 Taşıma Katmanı. Transport Layer 3-1

Avrupa Sayısal Karasal Televizyon Sistemleri İçin Matlab Benzetim Aracı Matlab Simulation Tool for European Digital Terrestrial Television Systems

3. Bölüm: Ağ Protokolleri ve İletişimleri

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

Çekişme Temelli Ortam Erişimi Algoritmaları Dilim Atama İhtimalleri Karşılaştırması

Dağıtık Ortak Hafızalı Çoklu Mikroişlemcilere Sahip Optik Tabanlı Mimari Üzerinde Dizin Protokollerinin Başarım Çözümlemesi

TCP / IP NEDİR? TCP / IP SORUN ÇÖZME

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş. Internet Protokolleri ve Ağ Uygulamaları. Internet Protokolleri Üzerinden İletişim

SMTP Protokolü ve Spam Mail Problemi

VOIP. Voice Over Internet Protocol (Internet Protokolü Üzerinden Ses) SEBAHAT111TİN GÜÇLÜ FIRAT ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ 1

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş. Internet Protokolleri ve Ağ Uygulamaları. Internet Protokolleri Üzerinden İletişim

Bilgisayar Ağı Nedir?

Veri İletişimi, Veri Ağları ve İnternet

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

7 Uygulama 6. Sunum 5 Oturum Taşıma. 4 Ara katman- Yazılım ve donanım arası 3. Ağ Veri iletim. 2 Ağ Grubu-Donanım 1. Fiziksel. Uygulama Grubu-Yazılım

AĞ HİZMETLERİ. Öğr.Gör.Volkan ALTINTAŞ. Version 4.0

OSPF PROTOKOLÜNÜ KULLANAN ROUTER LARIN MALİYET BİLGİSİNİN BULANIK MANTIKLA BELİRLENMESİ

Computer Networks Ders İzlence Formu

Bilgisayar Ağlarında Özel Konular (COMPE 435) Ders Detayları

IPv6 Ağlarında VoIP NETAŞ Ocak Ulusal IPv6 Protokol Altyapısı Tasarımı ve Geçiş Projesi

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş

BLM 6196 Bilgisayar Ağları ve Haberleşme Protokolleri

Saldırı Tespit ve Engelleme Sistemleri Eğitimi Ön Hazırlık Soruları

Bilgisayar Programcılığı

Ayni sistem(host) üzerinde IPC. Ağ(network) aracılığı ile IPC

Her koşulda mesajlarınızı iletin.

İleri Düzey Bilgisayar Ağları

MCR02-AE Ethernet Temassız Kart Okuyucu

BİLGİSAYAR AĞLARI VE İLETİŞİM

ÖNDER BİLGİSAYAR KURSU. Sistem ve Ağ Uzmanlığı Eğitimi İçeriği

TCP/IP. TCP (Transmission Control Protocol) Paketlerin iletimi. IP (Internet Protocol) Paketlerin yönlendirmesi TCP / IP

Ağ Protokolleri. Aysel Aksu. Nisan, 2016

Bilgisayar Ağlarında Güvenlik. Prof. Dr. Eşref ADALI www. Adalı.net

Yrd. Doç. Dr. Ayşegül ALAYBEYOĞLU

Haberleşme Ağları (EE 403) Ders Detayları

İleri Bilgisayar Ağları (COMPE 508) Ders Detayları

Şifrebilimde Yapay Sinir Ağları

BLGM 344 DENEY 3 * AĞ PROGRAMLAMAYA GİRİŞ

Veri İletişimi ve Bilgisayar Ağları (COMPE 436) Ders Detayları

BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ

Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb. kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir.

DOD / DEPARMENT OF DEFENCE

Merkezi Tv de Sistem Seçimi:

AĞ İŞLETMENİ PROGRAMINA İLİŞKİN AÇIKLAMALAR

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı

Hping ile IP, ICMP ve UDP Paketleri Oluşturma

Bilgisayar Sistemleri ilk ortaya çıktığında...

Çoğul Ortam Akıtma Platformlarında, Uçbirimlerdeki Fonksiyonel İşlemlerin Bulut Bilişim (Cloud Computing) Hizmetine Çekilmesi Projesi

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Kablosuz Sensör Ağlar ve Eniyileme. Tahir Emre KALAYCI. 21 Mart 2008

Mobil Cihazlardan Web Servis Sunumu

BİLGİSAYAR AĞLARI VE İLETİŞİM

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

AĞ TEMELLERİ 4.HAFTA CELAL BAYAR ÜNİVERSİTESİ AKHİSAR MESLEK YÜKSEKOKULU

IPv6 Saldırı Araçları ve IPv6-GO Uygulamaları. Emre YÜCE - TÜBİTAK ULAKBİM 6 Mayıs 2010

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Kas Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

01 WASTE Windows Linux ve macos (Sınırlı İşlevsellik)

HotelTV. HotelTV Kurulum Öngereksinimleri REV A0.2 D Ekim

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

Transkript:

Raptor Kodları ile İnternette Güvenilir İletim XVI. Türkiye'de İnternet Konferansı 30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir Ersan Okatan 1, Aylin Kantarcı 2 1 Mehmet Akif Ersoy Üniversitesi, Gölhisar Meslek Yüksekokulu, Burdur 2 Ege Üniversitesi, Bilgisayar Mühendisliği Bölümü, İzmir ersanokatan@mehmetakif.edu.tr, aylin.kantarci@ege.edu.tr Özet: İnternet ortamında dosya-ortam aktarımı veya akışlandırma uygulamalarında, geribeslemenin (ARQ, TCP) mümkün olmadığı ya da gecikmelere neden olduğu (gerçek zamanlı uygulamalar gibi) durumlarda kullanılabilecek protokol UDP dir. Ancak hataya karşı dayanıksız olması nedeni ile UDP de bu tür durumlarda tam bir çözüm sunamamaktadır. İleri hata düzeltimi (İHD) kodları bu tür durumlar için ideal bir çözümdür. Günümüzde birçok uygulama için en uygun İHD kodlama mekanizması Raptor kodlamadır. Bildirimizde Raptor kodlamanın diğer yöntemlere göre avantajları belirtilmiş ve çeşitli uygulamlarda kullanımları açıklanmıştır. Geliştirdiğimiz bir benzetim ortamında Raptor kodlama gerçeklenmiş, çeşitli deneyler yapılmış ve sonuçları sunulmuştur. Anahtar Sözcükler: İleri Hata Düzeltimi, Raptor Kodlama, RaptorQ, Dosya Aktarımı, Akışlandırma, Çoğa Aktarım. Abstract: UDP is the protocol to be used for the content delivery and streaming applications over the Internet where feedback (ARQ, TCP) is not feasible or it causes latencies. However, UDP is not the best solution because it is not resilient to packet lost. Forward Error Correction (FEC) Codes provide the best solution for such problems. Currently, Raptor codes are the most promising FEC mechanism for many applications. In this paper, the advantages of Raptor Codes are stated and their usage in many applications are explained briefly. In a simulation environment we developed, we implemented and tested Raptor codes. In this paper, we present some of the experimental results we obtained. 1.Giriş Heterojen sistemleri bir araya getiren internet ortamı, farklı özelliklere sahip birçok uygulamayı destekleyebilen bir ortam olarak karşımıza çıkmaktadır. Bu uygulamaların bir kısmı güvenilir bir iletişime ihtiyaç duyar. Dosya yükleme uygulamaları bu tür uygulamalara verilebilecek bir örnektir. Uzaktaki bir bilgisayarda bulunan bir dosyanın sağlıklı olarak kullanılabilmesi için eksiksiz ve hatasız olarak alıcıya ulaşmış olması gerekir. Bazı uygulamaların özellikleri gereği bu tip bir güvenilirlik ihtiyacı bulunmamaktadır. Örneğin, gerçek zamanlı video akışlandırma uygulamaları bir dereceye kadar veri kayıplarından ve hatalardan etkilenmezler. 389

.............. Raptor Kodları ile İnternette Güvenilir İletim Ersan Okatan, Aylin Kantarcı TCP/IP iletim katmanında farklı tipteki uygulamaları desteklemek üzere TCP ve UDP protokolleri görev yapmaktadır. TCP protokolü güvenilir iletişim ihtiyacı için uygun bağlantılı bir iletim protokolüdür. TCP güvenilir olmayan IP protokolü üzerine tekrar gönderim, sıkışıklık kontrolü, sıralı iletim gibi işlemleri yerine getirerek güvenilir bir iletişime olanak sağlar. TCP protokolü ile gönderilen bir paket için alıcıdan bir onay yerine getirilmediği için TCP protokolü ile ortaya çıkan gecikmeler UDP protokolü için söz konusu değildir. Tüm bu nedenlerden dolayı UDP video akışlandırma gibi güvenilirlik zorunluluğu olmayan gerçek zamanlı iletişimin söz konusu olduğu uygulamalar için uygun bir protokoldür. Çoklu ortam verilerinin iletimi için önerilen ve bir uygulama seviyesi protokolü olan RTP protokolü UDP üzerine geliştirilmiştir [3]. N=k+r Kaynak Veri Kodlayıcı k sembol Ağ Veya İnternet < k(1+ ) Kod Çözücü Tam Çözümleme r sembol > k(1+ ) Kısmi Çözümleme gelmezse paket tekrar gönderilir. Farklı sırada alınan paketler sıralanarak alınan veri sıralı hale getirilir. Ağda sıkışıklığın ortaya çıkması durumunda pencere tabanlı bir sıkışıklık kontrolü yapılarak ağ yükü düşürülür. Dosya yükleme gibi güvenilirlik gereksinimi olan uygulamaların kullandığı TCP protokolünün dezavantajı bu işlemler dolayısı ile ortaya çıkan gecikmelerdir [1]. UDP protokolü ise güvenilirlik gereksinimi olmayan uygulamalar için geliştirilmiştir. Bağlantısız bir protokol olan UDP, akış kontrolü, hata kontrolü, yeniden iletim yapmamaktadır. UDP birçok farklı uygulamanın portlar yardımıyla IP protokolünü kullanmasını sağlar. UDP nin kullanışlı olduğu durumlardan biri istemcisunucu durumlarıdır. İstemci sunucudan kısa bir istekte bulunur ve kısa bir cevap bekler. Eğer istek ya da cevap kaybolursa istemci tekrar dener. Bu durumda bağlantı tabanlı diğer protokollere göre sadece kullanılan kodlar değil aynı zamanda gönderilecek mesajlar da daha basittir [2]. Ayrıca, akış kontrolü ve tekrar gönderim gibi servisler Şekil 1 İHD Kodlama ve Kod Çözme 390 UDP nin dezavantajı, hata/kayıp kontrol işlevlerinin yerine getirilmemesi nedeni ile özellikle internet ortamında sürekli değişen yük ve ortaya çıkan paket kayıplarından kaynaklanan servis kalitesinin düşmesidir [4]. Ayrıca kablosuz ortamlarda %10 ve daha fazla paket kaybı normal olarak değerlendirilir [5]. Literatürde UDP protokolü ile birlikte İHD - İleri Hata Düzeltimi (Forward Error Correction - FEC) tekniğinin kullanılması ile birlikte yüksek iletim gecikmelerine yol açmadan güvenilir veri iletimi sağlanabileceği gösterilmiştir. Bu bildirinin konusu UDP protokolü ve İHD kullanımı ile İnternet üzerinde güvenilir iletişimin sağlanması hakkında bilgi vermektir. 2. bölümde İHD tekniği hakkında açıklama yapılacak ve Raptor kodları tanıtılacaktır. 3. bölümde kendi geliştirdiğimiz Raptor yazılımı ile gerçekleştirdiğimiz akışlandırma uygulamamız tanıtılacak ve deney sonuçları verilecektir. 2. İleri Hata Düzeltimi

XVI. Türkiye'de İnternet Konferansı 30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir İHD, alıcının kayıp ve hataları gönderici ile etkileşmeden çözmesine dayanan bir tekniktir. İHD yönteminde k adet veri sembolüne r adet ek sembol eklenerek N=k+r adet sembolden oluşan bir veri bloğu elde edilir. Ek semboller k adet orijinal sembolün çeşitli işlemlerden geçirilmesi ile elde edilir. Alıcının kaynak veriyi yeniden elde etmesi olacaktır (Şekil 1) [6]. En iyi bilinen İHD kodlarından biri Reed- Solomon kodlarıdır. Bu kodların dezavantajı zaman karmaşıklığının ve kodlama zamanının yüksek olmasıdır. Bu nedenle bu kodlar küçük veri blokları ile kullanılır. LT ve Tornado kodları ile bu sorunlar kısmen çözülmüştür. Ancak bu kodların da CPU yükü yüksektir. Günümüzde bu konuda LT kodlarına dayanan ve doğrusal kodlama-kod çözme zaman karmaşıklığına sahip olan Raptor kodları ön plana gelmektedir [7] [8]. Düşük karmaşıklığa sahip olmanın yanı sıra, Raptor kodlarının başka bir önemli özelliği de bir Şelale kodlama sistemi olmasıdır. Daha önceki kodlayıcılarda veri bloğuna eklenecek ek sembol sayısı kodlama başlamadan önce belirlenir ve sabittir. Şelale kodlamada ise ek sembol sayısını belirleme gibi bir zorunluluk yoktur. Karşı taraf ek se büyük çok küçük bir sayıdır. Raptor kodlarının başka bir özelliği sistematik bir kodlama sistemi olmasıdır. Asistematik kodlayıcılar da orijinal k adet sembol kodlayıcıdan geçtikten sonra elde edilen ilk k sembol orijinal k sembolden faklıdır. Sistematik kodlayıcılar da ise elde edilen ilk k sembol ilk orijinal sembole eşittir. Dolayısı ile göndericide ilk k sembol ile ilgili bir işlem yapmaya gerek yoktur. Kodlayıcının sadece r adet ek sembolü hesaplaması yeterlidir. Orijinal k sembol doğrudan karşı tarafa gönderilebilir. Tüm bunlar, Raptor kodlarının güvenilir veri iletiminde TCP ye yeni bir alternatifin ortaya çıkmasına yol açmıştır. Örneğin, bir dosya aktarımı uygulamasında gönderilecek dosyanın içeriği bir kaynak bloğa alınabilir. Bu kaynak blok işlemden geçirilerek ek sembollerin üretimine başlanabilir. k adet orijinal sembol ve ek semboller paketlenerek sembol aldığı zaman göndericiye tüm kaynak bloğu aldığına dair bir geri besleme gönderebilir. Bu geri besleme sinyali gelene kadar gönderici ek sembol üretmeye ve göndermeye devam eder (Şekil 2). Bu işlem için iletim katmanında kullanılan protokol UDP protokolüdür. Gönderici Akışı Durdur Ek Sembol Paketi Geribesleme Orijinal Sembol Paketi Şekil 2. İHD Dosya Aktarımı Yeterli Sembol Alındı k(1+e) [9] da TCP ve UDP+İHD yaklaşımları ile dosya aktarımı işlemi aktarım süresi yönünden karşılaştırılmış ve UDP+İHD yaklaşımı ile dosya aktarımı süresinin daha küçük olduğu saptanmıştır. Diğer bir deyişle UDP+İHD tekniği TCP nin tekrar gönderim gecikmelerinin ortadan kalkmasını sağlamıştır. Dolayısı ile TCP yerine kullanılabilir. Alıcı 391

Düğüm 2 Raptor Kodları ile İnternette Güvenilir İletim Ersan Okatan, Aylin Kantarcı Düğüm 3 Düğüm 1 Düğüm 4 Ek Veri Orijinal Veri Dosya Bölümleri Görevdeş (peer-to-peer) sistemlerde Raptor kodları kullanılarak dosya getirim zamanı düşürülebilir. Bu uygulamalarda alıcının istediği dosyayı barındıran her bir düğüm dosyanın bir parçasını İHD tekniği ile gönderir. Alıcı farklı göndericilerden yeterli sayıda paket aldığında dosyayı kendisi oluşturabilir (Şekil 3) [10]. Raptor kodlarının faydalı olduğu başka bir uygulama sınıfı çoğa aktarım uygulamalarıdır. Çoğa aktarım uygulamalarında göndericinin bir paketi bir çoğayayım grubuna gönderilir. Bu uygulamalarda çok sayıda alıcı olduğu için tekrar gönderim mekanizmasında kullanılan geri besleme göndericide bir geri besleme patlamasına yol açar ve bu tercih edilen bir durum değildir. Bu yüzden güvenilir çoğa aktarım uygulamaları için geri beslemeye dayanan TCP protokolü uygun değildir. Güvenilir çoğa yayım uygulamalarında UDP+İHD yaklaşımı uygun bir seçenek olarak karşımıza çıkmaktadır [11]. Raptor kodlama gerçek zamanlı iletişim içeren uygulamalarda da UDP ile birlikte kullanılabilir. Daha önce de belirtildiği gibi UDP sadece paketleri gönderir, paketlerin alınıp alınmadığına dair hiçbir kontrol yapılmaz. Gerçek zamanlı uygulamalarda İHD yöntemi ile hata kurtarma yapılarak bu geri besleme olmadan güvenilir ve gecikmesiz uygulamalar haline gelebilir. Bu tür uygulamalara örnek olarak IPTV, mobil TV, bütüne yayım, VOD, internet video veya Şekil 3 Görevdeş sistemlerde İHD yöntemi ile Dosya Aktarımı 392 HD ses akışlandırma gibi uygulamaları verebiliriz. Akışlandırma uygulamalarında az miktarda paket kayıpları bile son kullanıcı için belirgin olur. Raptor kodlama bu tür kayıpların düzeltilmesi için oldukça etkili ve esnek bir çözümdür. Raptor DSL ile Wi-Fi üzerinden bile etkili, güvenilir, video ve ses özelliklerinde düşme olmadan, hızlı kanal değiştirme ve düşük bant genişliği ek yükü ile video gönderimi sağlar. Raptor, video akışlandırmada uygulama katmanında kullanılırsa aktif bir şekilde IPTV ağlarını paket kayıplarından korur. Bu sebeple müşterilerin servis istekleri hızlanır, deneyim kalitesinin artar. Raptor ile yapılan video akışlandırma ile aynı zamanda tatmin edici seviyelerde iletim yapabilen hat sayısı artacak, servis sağlayıcıların daha fazla alana ulaşması sağlanmış, daha fazla servis daha fazla müşteriye ulaştırılarak alt yapı genişletilmiş olacaktır. Raptor oldukça esnek bir çözüm sunmaktadır, video kodlama formatlarından (MPEG2, MPEG4, H.264/AVC), şifreleme sistemlerinden, alıcı cihazlardan bağımsızdır. Ağ ortamında RTP gerekli olmadığından önemli yapısal değişikliklere gerek yoktur. Raptor tabanlı çözümler, yeniden iletim tabanlı çözümlerden farklı olarak alıcı cihaz sayısına göre değil bant genişliğine bağlı olarak ölçeklenir [12]. Dosya yükleme gibi içerik teslimi uygulamalarında dosyanın tümü bir kaynak bloğa alınarak işlemden geçirilebilir. Yüksek miktarda video verisi içeren uygulamalarda

XVI. Türkiye'de İnternet Konferansı 30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir böyle bir yaklaşım uygun değildir. Akışlandırma uygulamalarında veriler bloklara ayrılır ve her bloğa Raptor kodlama ayrı olarak uygulanır. İçerik teslimi uygulamalarında Raptor kodlarının şelale özelliği kullanılabilirken, akışlandırma uygulamalarında her blok için belli sayıda ek sembol üretme yaklaşımı daha uygun bir yaklaşımdır (Şekil 4). Gönderici verinin bire bir transferi, çoğa yayım ağları üzerinden 1 den N ye veri dağıtımı ve yayımı, N den 1 e veri iletimi ile alıcıları 1 den fazla noktadan veri iletimi özelliklerinden yararlanır [14]. Tüm bu uygulamaların yanı sıra doğal felaketlerde yardım merkezlerine bilgi gönderme, mobil ve tasarsız ağlar, kablosuz algılayıcı ağlar, taşıt ağları gibi dağıtık Gönderici Orijinal Veri Ek Veri Dosya Transferi Akışlandırma Alıcı Dosyanın Alınmış Olması İçin Gerekli Seviye Şekil 3 Dosya Transferi ve Akışlandırma için Raptor Kodlama Uygulamaları Raptor kodlamanın kullanılabileceği başka bir gerçek zamanlı iletişim gerektiren uygulama alanı kritik askeri uygulamalardır. Raptor kodlama, zor ağ ortamlarında bile anında ve güvenilir bir iletim sağlar. Havada, karada ya da denizde zor koşullarda yapılacak her türlü ağ iletişimi daha güvenli, etkin, hızlı ve daha öteye yapılabilir [13]. Askeri operasyonlarda komutanlar ve askerler zor durumlarda kritik kararları verebilmek için hızlı bir şekilde bilgi almalı ve kararlarını iletmelidir. Askeri uygulamalarda iletişim, sınırlı bant genişliği, yüksek gecikme, sönümlenme, yansıma, girişim gibi zor şartlarda yapılabilir. Bu ise özellikle operasyon merkezi ve askerler arasında iletişim yeteneğini azaltır. Raptor hem bireyayım hem de çoğa yayım uygulamalarında dosya gönderimi ve akışlandırma uygulamalarında güvenilir ve etkin bir iletim sağlar. Askeri uygulamalar Raptorun; bire yayım ağları üzerinden yığın 393 Alıcı Akış ortamlarda veri dağıtımı gibi uygulamalar da Raptor kodlarının başarı ile kullanılabileceği uygulamalardır. Raptor kodları düşük kodlama ve kod çözme karmaşıklığına sahip olmaları ile özellikle düşük güç tüketimi ihtiyacı olan sistemlerde avantajlıdır. Günümüzde Raptor kodlama DVB ve 3GPP standartlarınca kabul görmüş durumdadır [15] [16]. Raptor kodları 2004 yılında Amin Shokrollahi tarafından geliştirilmiştir. Günümüzde ticari amaçlı Raptor sistemleri Qualcomm şirketi tarafından üretilmektedir. Araştırma kurumlarının kendi çalışmaları için kullanacakları Raptor yazılımlarını gerçekleştirebilmeleri için spesifikasyonlar mevcuttur [17]. Raptor kodları Raptor10, Raptor11, RaptorQ olmak üzere 3 temel sürüme sahiptir. Raptor10, IETF tarafından da RFC 5053 olarak standartlaştırılmış olan, bilinen adıyla

Raptor Kodları ile İnternette Güvenilir İletim Ersan Okatan, Aylin Kantarcı Raptor kodlamadır. Sistematik bir kodlamadır ve çok çeşitli blok uzunluklarını destekler. Raptor10 sistematik olduğundan oluşturulan bloklar verilerden oluşan semboller ve tamir sembollerinden oluşur. Raptor10 birçok akışlandırma ve dosya iletimi uygulamaları için iyi bir çözümdür. Esnek yapısı tüm ağ koşullarında oldukça iyi bir performans sağlamaktadır. Raptor10 IETF, DVB ve 3GPP nin sağladığı birçok standartta kullanılmıştır. Aşağıda Raptor10 kullanan bazı servisler verilmiştir [18]: 1- DVB IPTV 2- DVB içerik indirme servisleri 3-3GPP MBMS 4- DVB-H/SH IPDC 5- DVB RCS Basit Gilbert dağılıştan kayıplar üreten bir kayıp benzetim yazılımını da hazırlanmıştır. Deneylerde DVB, IETF ve 3GPP gibi organizasyonlarca önerilen H.264/AVC video kodlama standardı kullanılmıştır [15] [16] [21]. Raptor kodlama ile yapılan deneysel çalışmalarda Şekil 5 te gösterildiği gibi bir yapı kullanılmıştır. H264 Video Dosyası RTP Paketleme Raptor Kodlama Kayıp Benzetimi Alınan H264 Video Dosyası RTP Paket Açma Raptor Kod Çözme Şekil 5. Raptor Kodlama Kod Çözme Akışlandırma Yapısı Raptor11, Raptor10 üzerine kurulu olup askeri ve güvenlik amaçlı uygulamaları hedeflemektedir. Ancak standart haline getirilmemiştir. Raptor10 un tüm özelliklerine sahip olup, daha etkin kodlama kod çözme sağlamakta, daha hızlı ve daha çok bant genişliği ile çalışmaktadır. Daha geniş bir kaynak sembolü aralığı desteklediğinden, akışlandırma ve dosya aktarımı için daha geniş bir uygulama alanına sahiptir [19]. En son ticari Raptor standardı olan RaptorQ gerçek zamanlı olmayan içerik teslimi ve akışlandırma uygulamalarını hedeflemektedir. RaptorQ önceki Raptor sürümlerine göre akışlandırma uygulamalarında etkin başlık uzunlukları ve dosya iletimi uygulamalarında daha az hafıza gereksinimi sağlamaktadır [20]. 3.Deneysel Sonuçlar Tarafımızdan [21] de verilen spesifikasyonlar kullanılarak akışlandırma uygulamaları için Raptor kodlayıcı ve kod çözücüsünden oluşan bir yazılım geliştirilmiştir. Uniform ve 394 H.264/AVC referans yazılımı ile üretilen bir video dosyası benzetim ortamına alınmakta ve istenilen parametrelerin bir konfigürasyon dosyasından çekilmesi ile deney yapılmaktadır. Video dosyasında bulunan NALU lar okunarak dosyada başlangıç noktaları, uzunlukları ve türleri belirlenmekte ve video analiz dosyasına kaydedilmektedir. RTP paketleyici yazılımı belirlenen NALU türlerine ve uzunluklarına göre paketleme işlemini gerçekleştirmektedir. Raptor kodlayıcı paketleme sonucu oluşan paketleri kullanarak Raptor kodlama işlemini gerçekleştirmektedir. Kayıp benzetimi için Uniform ve Basit Gilbert kayıp modelleri kullanılmıştır. Uniform dağılım modelinde ağdaki paket kaybı p olasılıkla mümkündür. Dağılım rastgeledir ve dağılımlar arasında etkileşim yoktur. Basit Gilbert kayıp modelinde iyi (good) ve kötü (bad) olmak üzere iki durum ve birbirinden bağımsız iki parametre vardır. p kayıp olasılığı ve r hata olma süresi (error burst duration) parametreleriyle sistem modellenir. Ardışık (consecutive) kayıpların

XVI. Türkiye'de İnternet Konferansı 30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir olduğu sistemlerin modellenmesi için uygundur[22]. Kayıp benzetimi sonrası Raptor kod çözücü, çözülebilen blokları çözerek paketlerin yeniden elde edilmesini sağlamaktadır. Sistematik Raptor kodlama kullanıldığından çözülemeyen bloklarda bulunan doğru alınmış RTP paketleri kullanılmaktadır. Sonraki aşamada paketler açılarak NALU lar yeniden elde edilmektedir. Deneylerde 50 fps ta, 1280x720 çözünürlükte, H.264 High Profile ile kodlanmış bir H.264/AVC dosyası kullanılmıştır. GOP yapısı hiyerarşik olup I- 7B-P-7B-I formatındadır ve toplam çerçeve sayısı 496 dır. Deneylerde kullanılan kayıp simülasyonu yazılımı her çalışmada yeni bir hata örüntüsü üretmektedir. Bu özellikten yararlanarak her bir deney 10 kez tekrarlanmış, alınan sonuçların daha doğru olması sağlanmaya çalışılmıştır. Grafiklerde ve çizelgelerde, 10 tekrarla alınan sonuçların ortalama değerleri kullanılmıştır. Deneylerde sembol uzunluğu (T) 128, paketteki sembol sayısı (G) 10 olarak alınmıştır. Deney sonuçları Şekil 6 da verilmektedir. Raptor kodlamada kaynak bloğu büyüklüğü (k) genellikle sabittir, kodlama sırasında değişkenlik göstermez. UDP paketlerinin blokları tamamlayamadığı durumlarda 0 la doldurma yapılır ancak bu 0 lar paketlerle birlikte gönderilmez. 0 la doldurma işlemi bloğun çok küçük bir kısmını içerir ve tamir sembolleri yaratılırken kodlamada bu 0 lar kullanılır. Deneylerde bu sabit blok büyüklüğü için değişik değerlerle kullanılmıştır. Oynatılabilen NALU Sayısı 600 500 400 300 200 100 0 0 1 3 5 8 10 13 15 20 Kayıp Oranı(%) Kaynak Blok Büyüklüğü=25000 Bayt Kaynak Blok Büyüklüğü=50000 Bayt Kaynak Blok Büyüklüğü=100000 Bayt Kaynak Blok Büyüklüğü=150000 Bayt Kaynak Blok Büyüklüğü=200000 Bayt Şekil 6. Unif Hata Dağılımı için Farklı Kaynak Bloğu Büyüklüklerinde Oynatılabilen NALU Sayıları. Şekil 6 ve Şekil 7 de sırasıyla Uniform ve Basit Gilbert dağılımlarında ve farklı kayıp oranlarında farklı kaynak bloğu büyüklükleri için oynatılan NALU sayıları gösterilmiştir. Yapılan deneylerde 25KB, 50KB, 100KB, 150KB, 200KB kaynak bloğu büyüklükleri ve %17 oranında ek veri kullanılmıştır. Oynatılabilen NALU Sayısı 600 500 400 300 200 100 0 0 1 3 5 8 10 13 15 20 Kayıp Oranı(%) Kaynak Blok Büyüklüğü=25000 Bayt Kaynak Blok Büyüklüğü=50000 Bayt Kaynak Blok Büyüklüğü=100000 Bayt Kaynak Blok Büyüklüğü=150000 Bayt Kaynak Blok Büyüklüğü=200000 Bayt Şekil 7. Basit Gilbert Hata Dağılımı için Farklı Kaynak Bloğu Büyüklüklerinde Oynatılabilen NALU Sayıları. Hem Uniform hata dağılımı hem de Basit Gilbert hata dağılımı için kaynak blok büyüklüğü bayt cinsinden arttıkça performansın arttığı gözlenmektedir. Her iki dağılım için değerlendirme yapıldığında kaynak blok büyüklüğünün yüksek olmasının performans açısından daha iyi olduğu söylenebilir. Hata korumayı arttırmak için kaynak blok büyüklüğünü artırmak ve böylece veri iletim performansını arttırmak uygun görünmektedir ancak kaynak bloğu büyüklüğünün artması ile daha fazla sayıda çerçevenin bloğa eklenmesi gereklidir. Çok sayıda çerçevenin aynı blokta kodlanması 395

Raptor Kodları ile İnternette Güvenilir İletim Ersan Okatan, Aylin Kantarcı hem gönderici tarafında hem de alıcı tarafında gecikmelere neden olacağından blok büyüklüğü özellikle gerçek zamanlı uygulamalarda belirli bir seviyeden daha yüksek olamayacaktır. Sembol uzunluğu Raptor kodlama parametrelerinden biridir. Farklı sembol uzunlukları ile yapılan deneylerle sembol uzunluğunun performans üzerindeki etkisi incelenmiştir. Şekil 8 ve Şekil 9 da sırasıyla Uniform ve Basit Gilbert dağılımı ile yapılan hata simülasyonları için 256, 128 ve 64 bayt sembol uzunlukları ile yapılan deney sonuçları verilmiştir. Deneylerde kaynak blok büyüklüğü (101120 bayt) ve tamir bloğu büyüklüğü (20480 bayt) olarak alınmış, böylece ek veri oranı %17 olarak kullanılmıştır. Performans sonuçlarının etkilenmemesi için kaynak ve tamir bloklarının büyüklükleri sabit kullanılmıştır. Oynatılabilen NALU Sayısı Şekil 8. Unif Kayıp Modelinde Farklı Kayıp Oranlarında Farklı Sembol Uzunlukları için Alınan NALU Sayıları. Oynatılabilen NALU Sayısı 600 500 400 300 200 100 0 600 500 400 300 200 100 0 0 1 3 5 8 10 13 15 20 Kayıp Oranı(%) 0 1 3 5 8 10 13 15 20 Kayıp Oranı(%) T=256 G=5 T=128 G=10 T=64 G=20 T=256 G=5 T=128 G=10 T=64 G=20 Şekil 9. Basit Gilbert Kayıp Modelinde Farklı Kayıp Oranlarında Farklı Sembol Uzunlukları için Alınan NALU Sayıları. Deneylerde alınan sonuçlar değişen sembol uzunluğu ile performans açısından önemli değişimlerin olmadığını göstermiştir. 4.Sonuç Raptor kodları UDP ile birlikte kullanılarak güvenilir uygulamalar için uygun olan ancak yüksek gecikme dezavantajına sahip TCP protokolüne bir alternatif olarak kullanılabilir. UDP protokolüne hata kontrolü özelliği ekleyerek fazla ek yüke yol açmadan bu protokolün dezavantajlarını ortadan kaldırmaktadır. Dolayısı ile Raptor kodları farklı özelliklere sahip birçok uygulamanın başarımını arttırmada önemli rol oynayabilecektir. Deneyler sonucunda Raptor kodlamada kaynak blok büyüklüğünün yüksek olmasının performans açısından daha iyi olduğu söylenebilir. Ancak kaynak bloğu büyüklüğünün artması için daha fazla sayıda çerçevenin bloğa eklenmesi gerektiğinden çok sayıda çerçevenin aynı blokta kodlanması hem gönderici tarafında hem de alıcı tarafında gecikmelere neden olacaktır. Bu nedenle blok büyüklüğünün özellikle gerçek zamanlı uygulamalarda belirli bir seviyeden daha yüksek olmaması uygundur. Dosya yükleme ve akışlandırma uygulamalarında kullanılmak üzere Raptor kodlarının son versiyonu olan RaptorQ kodlayıcı ve kod çözücüsünün yazılımlarını geliştirmek üzere çalışmalarımız devam etmektedir. Kaynaklar [1] Stevens, W. R., 'TCP/IP Illustrated Vol1', Addison Wesley, 1994, pp 223-224. [2] Tanenbaum, A., 'Computer Networks', Prentice Hall, 2003, pp 524-526. [3] Wang, Y., Ostermann, J. and Zhang,Y., 'Video Processing and Communication', Prentice Hall, 2002, pp: 577-578 [4] Johanson, M., 'Adaptive Forward Error Correction For Real Time Internet Video', 396

XVI. Türkiye'de İnternet Konferansı 30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir Proceedings of the 13th Packet Video Workshop, Nantes, France, 2003. [5] Afzal, J., Stockhammer, T., Gasiba, T., and Xu, W., 'Video Streaming over MBMS: A System Design Approach', 2006, Journal of Multimedia, pp 25-35. [6] Nafaa, A., Taleb, T. and Murphy, L., 'Forward Error Correction Strategies for Media Streaming over Wireless Networks', 2008, IEEE Communications Magazine, 46 (1), 72-79. [7]Thomos, N. and Frossard, P., 'Raptor Network Video Coding', 2007, Proc. Of the 1st ACM Int. Workshop on Mobile Video. [8] Choi, B. S., Suh, D.Y., Park, G. H., Kim K., Park J. A., 'Peer-to-peer scalable video streaming using Raptor code', 2009, First International Conference on Ubiquitous and Future Networks, pp 137-141. [9] Fang, R., Schonfeld, D., Ansari, R., and Leigh, J., 'Forward error correction for multimedia and teleimmersion data streams', 2000, Technical Report, Electronic Visualization Laboratory, University of Illinois at Chicago, USA. [10] Maymounkov, P. and Mazi res, D., 'Rateless codes and big downloads In Peer-to- Peer Systems', 2003, Second International Workshop, pp 247-255. [11] Noguchi, T., Yamamoto, M., Ikeda, H., 'Reliable multicast protocol applied local FEC', 2001, IEEE International Conference on Communications, vol.8, pp 2348-2353. [12] http://www.qualcomm.com/productsservices/ mobile-content-services/datatransfer-streaming/ [13] http://www.qualcomm.com/productsservices/ mobile-content-services/datatransfer-streaming/government-defense [14] 'DF Raptor in Military Communications': http: //www.qualcomm.com/documents/files/dfraptor-in-military-communications.pdf [15] 3GPP- TS 26.346 v.10.0.0', 'Technical Specification Multimedia Multicast and Broadcast Service (MBMS); Protocols and Codecs: http:// www.3gpp.org/ftp/specs/archive/26_series/ 26.346/ 26346-a00.zip (Mart 2011) (Erişim tarihi: 20 Mayıs 2011) [16] ETSI TS 102 472 v1.2.1, 'IP Datacast over DVB-H': Content Delivery Protocols Technical Specification: http://www.dvb.- h.org (2006) (Erişim tarihi: 20 Mayıs 2011) [17] Shokrollahi, A., 'Raptor Codes', 2004, Proc. IEEE ISIT, 36p. [18] http://www.qualcomm.com/productsservices/ mobile-content-services/datatransfer-streaming/raptor10 [19] http://www.qualcomm.com/productsservices/ mobile-content-services/datatransfer-streaming/raptor-11 [20] http://www.qualcomm.com/productsservices/ mobile-content-services/datatransfer-streaming/raptorq [21] Luby, M., Shokrollahi A., Watson M., Stockhammer T., 'Raptor Forward Error Correction Scheme for Object Delivery RFC 5053 (IETF)': http://tools.ietf.org/html/rfc5053 (2007) 397

Raptor Kodları ile İnternette Güvenilir İletim Ersan Okatan, Aylin Kantarcı [22] Arı, G., 'H.264 Videolarının İletiminde Hata Kurtarımı', 2011, Yüksek Lisans Tezi, Ege Üniversitesi Fen Bilimleri Enstitüsü, 57s. 398