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

Benzer belgeler
Data Communications. Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü. 10. Hata Kontrolü

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

KABLOSUZ İLETİŞİM

Raptor Kodları ile İnternette Güvenilir İletim

OSI REFERANS MODELI-II

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

Bilgisayar Ağları Computer Networks

VERĠ HABERLEġMESĠ OSI REFERANS MODELĠ

Bilgisayar Programcılığı

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

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

İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ

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

Veri haberleşmesinde hatalar

Raptor Kodları ile İnternette Güvenilir İletim

Chapter 6 Digital Data Communications Techniques

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

İletişim Ağları Communication Networks

BM 402 Bilgisayar Ağları (Computer Networks)

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

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

İleri Düzey Bilgisayar Ağları

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

03/03/2015. OSI ve cihazlar. Ağ Donanımları Cihazlar YİNELEYİCİ (REPEATER) YİNELEYİCİ (REPEATER) Yineleyici REPEATER

İletişim Ağları Communication Networks

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

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

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

Kontrol Đşaretleşmesi

SMTP Protokolü ve Spam Mail Problemi

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

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

1. LİNEER PCM KODLAMA

Veri İletişimi Data Communications

22/03/2016. OSI and Equipment. Networking Hardware YİNELEYİCİ (REPEATER) YİNELEYİCİ (REPEATER) Yineleyici. Hub

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

GİRİŞ-ÇIKIŞ (INPUT / OUTPUT) ORGANİZASYONU

İleri Düzey Bilgisayar Ağları

P-661HNU F1 ve P-660HNU F1 QoS Yönetimi

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

İnsanlar, tarihin her döneminde olduğu gibi bundan sonra da varlıklarını sürdürmek, haberleşmek, paylaşmak, etkilemek, yönlendirmek, mutlu olmak gibi

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

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

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

Bölüm 12: UDP ve TCP UDP (User Datagram Protocol)

Toplu İleti Gönderimi

VIDEOCELL API. Versiyon 1.0.0

Protocol Mimari, TCP/IP ve Internet Tabanlı Uygulamalar

Hazırlayan: Barış Şimşek. Bitirme Çalışması Sunumu. Ocak 2001, Trabzon KTÜ

Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Ağları I BIL

BM-311 Bilgisayar Mimarisi

Daha komplike uygulamalar elektronik ticaret, elektronik kimlik belgeleme, güvenli e-posta,

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

IP Alt Ağlara Bölmek (Subnetting)

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

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

Mobil ve Kablosuz Ağlar (Mobile and Wireless Networks)

Bağıl Konum Belirleme. GPS ile Konum Belirleme

VIERO, görüntü tabanlı analiz sayesinde, ortalama araç hızı bilgisi üretmekte ve araç yoğunluğunu da ölçmektedir. VIERO Araç Sayım Sistemi

NETWORK BÖLÜM-5 OSI KATMANLARI. Öğr. Gör. MEHMET CAN HANAYLI CELAL BAYAR ÜNİVERSİTESİ AKHİSAR MESLEK YÜKSEKOKULU 1/27

Sanal Bellek (Virtual Memory)

Bilgisayar Donanım 2010 BİLGİSAYAR

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

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ÇIKLAMALARI SEBEP ÇÖZÜM

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

Bölüm 2 : ANAHTARLAMA : DEVRE ANAHTARLAMA. MESAJ ANAHTARLAMA. PAKET ANAHTARLAMA.

MCR02-AE Ethernet Temassız Kart Okuyucu

Kurumsal Güvenlik ve Web Filtreleme

MULTI - CORE UTM NİN AVANTAJLARI. Gerçek zamanlı ve kapsamlı tehdit koruması için hız engelleri nasıl aşılır.

VIERO ARAÇ SAYIM SİSTEMİ

Hping ile IP, ICMP ve UDP Paketleri Oluşturma

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

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

EET349 Analog Haberleşme Güz Dönemi. Yrd. Doç. Dr. Furkan Akar

S. N ala l n n T OP OP A B Ğ Fatih i h A BL B AK K

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

YENĐ NESĐL HETEROJEN KABLOSUZ AĞLARDA ALGORĐTMALARI

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

*1000 *1100 ZARF İŞLENİYOR. İlgili hata sonucunda yapılması gereken GIB DURUM KODLARI AÇIKLAMALARI SEBEP ÇÖZÜM

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

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

Yeni Nesil Ağ Güvenliği

TC KİMLİK NO SMS GÖNDERİM XML API

İZMİR EKONOMİ ÜNİVERSİTESİ. Central Disc System Merkezi Disk Sistemi

OBS REZERVASYON YÖNTEMLERİNİN KARŞILAŞTIRMALI PERFORMANS ANALİZİ

Peripheral Component Interconnect (PCI)

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

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

İşletim Sistemlerine Giriş

DENEY 3: DTMF İŞARETLERİN ÜRETİLMESİ VE ALGILANMASI

FPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber

2. hafta Bulut Bilişime Giriş

Şartlı Olasılık. Pr[A A ] Pr A A Pr[A ] Bir olayın (A 1 ) olma olsılığı, başka bir olayın (A 2 ) gerçekleştiğinin bilinmesine bağlıysa;

Ağ Temelleri Semineri. erbil KARAMAN

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

KODLAMA VE HATA BULMA TEKNİKLERİ

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

ŞİFRELEME BİLİMİ. Prof. Dr. Şeref SAĞIROĞLU Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Maltepe/Ankara

Transkript:

RAPTOR VE REED-SOLOMON GÖNDERMEDE HATA DÜZELTİM KODLARI Ufuk DEMİR Dokuz Eylül Üniversitesi Bilgisayar Mühendisliği Bölümü Tınaztepe Yerleşkesi Buca\İzmir, Türkiye ufuk@cs.deu.edu.tr ÖZET Ağda ilerleyen paketler bazı hata risklerine sahiptir. Özellikle ağın koşulları iyi değilse paketler kaybolabilir yada bozulabilir. Bu tip hataların düzeltilmesi ise alıcı tarafındaki hata düzeltimi konusuna girer. Alıcı tarafındaki hata düzeltimi konusu genel olarak iki kategoriye ayrılır: bitdüzeyinde alıcı tarafındaki hata düzeltimi ve paket düzeyinde alıcı tarafındaki hata düzeltimi. Bu iki kategori birbirlerinden oldukça farklıdırlar. Bu çalışma birbirlerine alternatif olan iki paket düzeyinde alıcı tarafında hata düzeltimi kodlarını karşılaştırır: Raptor ve Reed-Solomon alıcı tarafındaki hata düzeltim kodları. Günümüzde, alıcı tarafındaki hata düzeltim kodları dendiğinde bu iki alternatif kod akla gelmektedir. Bu çalışmada kullanılan Reed-Solomon kodları internetten ücretsiz olarak bulunmuştur. Raptor kodları yeni çıkmıştır, ücretlidir ve yaygın olarak kullanılmaya başlanmamıştır. Ancak yeni bir teknoloji olan MBMS, Raptor kodlarını kullanacağını açıklamıştır. Bu çalışmanın sonuçları, Raptor ve Reed-Solomon kodlarının hangi koşullarda kullanışlı olduğunu ortaya koymaktadır. ABSTRACT Network conditions generally cause errors on network packets. Correction of these errors is in the subject of Forward Error Correction. Forward error correction is divided into two categories: bit-level forward error correction and packet-level forward error correction. These two categories are unfamiliar. This study compares two alternative packet-level forward error correction codes: Raptor and Reed Solomon. Nowadays when packet-level error correction codes are mentioned these two techniques are remembered. Reed Solomon FEC codes are free so it is tested with different network conditions. Raptor is costly and not used broadly yet. But several new technologies like MBMS will use Raptor. Result of this study shows the situations which Raptor and Reed Solomon are appropriate. Anahtar Kelimeler: Reed Solomon, Raptor, Gönderimde Hata Düzeltim kodları (GHD), paket düzeyinde kayıplar, hatasız alınan paket miktarı, Network Düzenleyicisi. 1. GİRİŞ Gönderimde Hata Düzeltim (GHT) terimi ilk olarak parity kontrol kavramı ile kullanıldı. GHT nin çalıma mantığı, gönderilen veriye fazladan veri eklemektir. Bunun içinde önceden belirlenmiş algoritmalar kullanılır (Raptor, Reed- Solomon vb.). Asıl amaç hataları tespit etmek sonrada onları düzeltmektir. Ancak hataların düzeltimi kayıp yada zarar görmüş paketin tekrar yaratılması anlamına gelir. Bu noktada önemli olan unsur paket düzeltiminin derecesi ve bu işlemin performansıdır. Reed-Solomon gönderimde hata düzeltim kodları 40 yıldan daha fazla süredir kullanılmaktadır. Diğer taraftan Raptor gönderimde hata düzeltim kodları ise son dönemde çok popular hale gelmiştir. Raptor kodlarının diğer bütün gönderimde hata düzeltimi kodlarından daha etkin olduğu savunulmaktadır. Bu iki kod birbirlerine alternatif olarak kullanılmaktadır. Ancak önemli bir noktada Raptor kodlarının ücretli, Reed-Solomon kodlarının ise ücretsiz olmasıdır. Bundan dolayı bu iki alternatif kodun karşılaştırılması, yeni geliştirilen ağ teknolojileri için oldukça faydalıdır. Bit düzeyindeki hatalar Gönderimde Hata Düzeltim kodları ile düzeltilebilir. Örneğin: Hamming Kodları. 1

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 düzeyinde hata düzeltimi iyi bilinmekle beraber, paket düzeyinde hata düzeltimi konusundan oldukça farklıdır. Bu çalışmanın amacı birbirlerine alternatif olarak gösterilen iki Paket Düzeyinde Gönderimde Hata Düzeltimi kodunu karşılaştırmaktır. Veriyi ağ üzerinden gönderirken güvenilirlik her zaman çok önemli bir gereksinim olmuştur. Çünkü veri iletim sırasında bozulabilir ya da kaybolabilir. Genellikle çevresel faktörler neden olur bu tip hatalara. Bu tip hataları önlemek için bilinen iki hata düzeltim tekniği vardır: Geriye Yönelik Hata Düzeltimi ve Gönderimde Hata Düzeltimi. İlk teknikte, alıcı bir hatanın oluştuğunu fark ettiğinde, hatalı paketi göndericiden tekrar ister. Ancak önemli nokta şudur ki bu teknikte çift yönlü iletişim kanalı olmak zorunadır. Bu durum broadcast ve multicast uygulamaları için uygun değildir. İkinci tekniğin en büyük avantajı ise daha basit ve etkin olmasıdır. Gönderimde Hata Düzeltimi kodunda göndericiden veriyi tekrar göndermesi istenmez. Bu teknikte veriye fazladan bilgi eklenir ve gönderilir. 2. HATALARIN KAYNAKLARI Genel olarak hataların kaynağı ikiye ayrılır. 2.1. Bit Hataları Dijital verinin ağ üzerinden taşınması esnasında maruz kalacağı bazı dışsal faktörler (örneğin: elektromanyetik dalgalar, ses vb.) dijital veriyi bozabilir. Bu etkenler verinin bit bazında bozulmasına neden olabilir. Alıcı bu tip bozulmuş veriyi tanıyamaz. 2.2. Paket Kayıpları IP tabanlı ağlar gibi, güvenilir olmayan (TCP verinin güvenli bir şekilde iletilip iletilmediğini garanti etmez) ağlarda, paket gönderim esnasında kaybolabilir. Özellikle gerçek zamanlı verilerde gecikme faktörü önemlidir. Uzun süre geciken veriler kayıp olarak nitelendirilir. Ağda bulunan bir düğüm noktasının kapasitesinin ağ tıkanıklığı nedeniyle taşması da ağda ilerleyen paketlerin kaybolmasına neden olabilir.[1] 3. NEDEN GÖNDERİMDE HATA DÜZELTİMİ? Güvenilirlik ağ üzerinden veri gönderimi sırasında oldukça önemlidir. Gönderilen veri yolda bozulabilir yada paketler kaybolabilir. Buna en iyi örnek video gönderimidir. Video verisi paket kayıplarına oldukça duyarlıdır. Bu gibi durumlarda Gönderimde Hata Düzeltimi tekniği kullanılarak kaybolan veriler tekrar yaratılır. Geleneksel paket tabanlı veri ağlarında, çift yönlü iletişim mümkündür ve kaybolan paketler otomatik olarak tekrar gönderme mekanizmasıyla yeniden istenir. Bu mekanizma sadece TCP protokolü üzerinde çalışır. TCP çift yönlü iletişime ihtiyaç duyan bir protokoldür. TCP protokolü yerine ulaşmayan paketlerin tekrar gönderilmesinden sorumludur. İletimin güvenilirliğini sağlar bunu da sıra numarası, alındı sinyali ve paketlerin tekrar gönderimi ile yapar. Kısaca TCP başlıca güvenilir iletişim protokolüdür. UDP protokolü ise TCP den farklı olarak, iletişimin güvenilirliği ile ilgili herhangi bir garanti vermez. UDP basit sade bir protokoldür. TCP ye oranla daha kısa olduğu için ağ kaynaklarını az kullanır. UDP protokolü güvenilir bir iletişim gerekli olmadığı durumlarda kullanışlıdır. Eğer TCP protokolü kullanmada bir problem yoksa yani çift yönlü iletişim mümkünse, kaybolan paketler tekrar istenir ve gönderici bu paketleri alıcıya tekrar gönderir. Ancak yüksek bant genişliğine sahip büyük ağlar söz konusu olduğunda, ağda bulunan birçok bilgisayar arasında veri gönderimi söz konusudur. Geri bildirim mesajlarının da gönderici ile alıcı arasında gidip geldiği düşünülürse bu durum ağ için oldukça büyük bir problem yaratır. Böyle durumlarda, Göndermede Hata Düzeltim mekanizması kullanılarak kaybolan paketlerin tekrar gönderilmesi önlenmiş olur. Çünkü Gönderimde Hata Düzeltimi tekniğinde kaybolan veri alıcı tarafında tekrar yaratılır. Tekrar gönderime gerek kalmaz. 3.1. Neden Tekrar Gönderim Gerçek Zamanlı Video Aktarımı İçin Uygun Değil? Gerçek zamanlı video trafiği veri akışının sürekli olmasını gerektirir. Sağlıklı bir gönderim için gecikmeler meydana gelse de gecikme süresinin sabit olması gerekir. Yüksek gecikmelerin meydana geldiği ağlarda tekrar paket gönderimi gecikmeyi daha da arttır. Alıcı bu gecikme zamanının olumsuz etkisini kaldırabilmek için büyük ara belleğe ihtiyaç duyar. Bu da oldukça pahalıdır. Aynı durum video konferans uygulamasında da karşımıza çıkar. 2

Çünkü enteraktif uygulamalarda zamanlama oldukça önemli bir unsurdur. 3.2. Neden Tekrar Gönderim Uydu Sistemleri İçin Uygun Değil? Uydu sistemlerinin geri bildirim kanalı ya çok sınırlı bir kapasiteye sahiptir ya da geri bildirim kanalı hiç yoktur. Bu tip sistemlerde kaybolan paketlerin tekrar gönderilmesi aşağıdaki sebeplerden ötürü uygun değildir. Yüksek gecikme Yüksek maliyet Yüksek paket kaybı Bu problemleri önlemek için alternatif mekanizmalar içerisinden Gönderimde Hata Düzeltimi mekanizmasını kullanmak uydu sistemleri için en uygun olanıdır. 4. GÖNDERİMDE HATA DÜZELTİMİ NEDİR? Gönderimde Hata Düzeltimi güvenilir bir iletişim sağlar. Bunu yaparken de paketlerin tekrar gönderilmesine ihtiyaç duymaz. Gönderimde Hata Düzeltim (GHD) kodu orijinal veriye ekstra veri eklemek yolu ile gönderdiği verileri garanti altına alır. Ağda ilerlerken trafiğin bir kısmı kaybolursa Gönderimde Hata Düzeltim mekanizması ile kaybın fark edilmesi ve kaybolan paketlerin alıcı tarafında tekrar yaratılması sağlanır. [1] Gönderimde Hata Düzeltim kodlarının en bilinenleri Reed-Solomon (1960, Reed and Solomon), Raptor Codes (2001, Shokrollahi) dir. Genel olarak Gönderimde Hata Düzeltim (GHD) Kodları iki alt kategoriye ayrılır. Sistematik GHD Kodları Bir (n, k) sistematik GHD kodu k tane kaynak sembole (n k) tane ekstra sembol ekler. Kodlayıcıdan çıkan n sembolün k tanesi kaynak (orijinal) sembolleridir. [2] Sistematik olmayan GHD Kodları Bir (n, k) sistematik olmayan GHD kodu n tane sembolü k tane sembolden yaratır. Kodlayıcıdan çıkan n tane sembolün tamamı k tane kaynak (orijinal) sembolden farklıdır. [2] Gönderimde Hata Düzeltim kodları alıcı ve verici kısım olmak üzere iki uçta da oldukça önemlidir. Gönderici gönderdiği objeyi uygun GHD kodu ile kodlar. Ve alıcı uygun GHD çözücü ile göndericinin gönderdiği kodlu objeyi çözer. Önemli nokta şudur ki kodlayıcı ve çözücü kaynak blok adı verilen objenin anlamlı parçaları üzerinde çalışır. Bir kaynak blok orijinal verinin (obje) bir parçasıdır. Obje çok büyük olabilir bundan dolayı küçük parçalara bölünür. Bu parçaların her birine kaynak blok adı verilir. Her kaynak blok birçok kaynak (orijinal) sembol içerir[4]. 5. RAPTOR VE REED-SOLOMON KODLARI ARASINDAKI TEMEL FARKLAR k tane orijinal sembol GHD Kodlayıcısı n tane sembol 5.1. Reed-Solomon Göndermede Hata Düzeltim Kodlarının Detayı n tane sembolün herhangi k tanesi GHD Çözücüsü k tane orijinal sembol Reed-solomon GHD kodları hataların düzeltilmesi için çözümleyicide donanımsal düzeyde yapılandırma gerektirir. Bundan dolayı oldukça karmaşıktır. Figür 1 : (n, k) GHD Blok Kodu Figür1 de görüldüğü gibi Gönderimde Hata Düzeltim blok kodu (n,k) şeklinde ifade edilir. Bunun anlamı her k tane orijinal sembol için kodlayıcı n tane sembol üretir. Örneğin, (255, 223) Gönderimde Hata Düzeltim Blok kodunun anlamı şudur: Kodlayıcıya 223 tane sembol girer, Bu sembollere ekstra 32 sembol daha eklenir ve kodlayıcıdan 255 sembol çıkar. Reed-Solomon GHD kodları hata düzeltmede kullanıldığında (n-k)/2 nin herhangi bir kombinasyonunu çözme yeteneğine sahiptir. Diğer taraftan, Reed-Solomon kodları alıcı tarafında k tane sembolü elde ettiğinde (n-k) tane ekstra sembolü başarıyla çözümleyebilir. Reed-Solomon GHD kodları güçlü lineer hata düzeltim kodlarıdır. Ancak paket düzeyinde kayıpların önlenmesi için bazı kısıtlamalara sahiptir ve etkin değildir. Temel kısıtlama şudur: Reed-solomon algoritması Galois Alanları üzerinde çalışır. Her bir alan 8 bit (1 byte) ile 3

sınırlıdır. Özellikle gerçekleştirim yazılım tabanlı ise ya da işlemci gücü sınırlı ise uygulamak kolaydır. 5.2. Raptor Göndermede Hata Düzeltim Kodlarının Detayı Raptor ve Reed-Solomon kodlarının ortak değerleri olan n, k, ve S farklı şekillerde kullanılır. N kodlayıcıdan çıkan sembol sayısı, S bir sembolün uzunluğu ve kaynak sembollerin sayısıdır. Belirli bir Reed-Solomon kodu R-S(n,k,S), n-k tane bozuk veri düzeltilebilir. N tane sembolün maksimum kayıp ile gönderiminde (n-k)/n tane sembole tahammül edilebilir. Raptor kodunda ise alıcı tarafında k >k tane sembol alınır ve k tane kaynak sembolü tekrar yaratmada kullanılır. N tane sembolün maksimum kayıp ile gönderiminde (n-k )/n tane sembole tahammül edilebilir. k =(ε+1)k, ve ε>0 olmak koşulu ile alıcının Raptor kodu ile sembolleri kabul etmesinde getirdiği ek yükü ifade eder. Raptor kodu belirli bir olasılık değerinde çözümleme başarısını garanti eder. (k -k) tane ekstra sembol alıcı tarafında alınır. Alıcı ek yükü ε=(k -k)/k formülü ile hesaplanır. Bu formül k değerine ve istenen olasılık değerine (kaynak sembollerin alınan sembollerden yaratılması) bağlıdır. Raptor kodunun alıcı ek yükü %1 den daha azdır. Reed-Solomon kodundan farklı olarak, Raptor kodu verinin büyüklüğü ne olursa olsun herhangi bir sınırlamaya sahip değildir. Raptor kodu için kaynak sembol sayısı (k) kaç olursa olsun, sembolün uzunluğu olan S bundan bağısızdır ve bir paketin boyuna eşit olabilir ya da ondan kısa olabilir. Sonuç olarak S değeri Raptor kodlarında ve Reed-Solomon kodlarında oldukça küçük olabilir. İşlemci gücü ise Raptor ve Reed-Solomon da biraz farklıdır. Şu açıktır ki Raptor kodunun ihtiyaç duyduğu işlemci gücü, Reed-Solomon kodunun ihtiyaç duyduğu işlemci gücünden oldukça azdır. Reed-Solomon kodunun ihtiyaç duyduğu işlemci gücü, kaynak bloğunun uzunluğuna bağlı olarak katlamalı artış gösterirken, Raptor kodununki lineer artış gösterir[5]. 6. KARŞILAŞTIRMA 6.1. Test Koşulları: Düşük Bit Oranı: 64 kbits Yüksek Bit Oranı: 384 kbits Küçük Dosya Boyutu: Büyük Dosya Boyutu: Düşük Hata Oranı: 1% Yüksek Hata Oranı: 10% 512 kbyte 3 mbytes 6.2. Reed-Solomon Gönderimde Hata Düzeltim Kodları Reed-Solomon kodları en iyi bilinen sistematik kodlardır. Bu testte Reed-Solomonun internette yayınlanan ücretsiz C++ kodları kullanılmıştır. Reed-Solomon kodunun Encoding ID değeri 29 dur. Reed-Solomon kodları lineer blok hata düzeltim kodlarıdır. Reed-Solomon kodunun en büyük kısıtı Galois Alanları üzerinde çalışıyor olmasıdır. Her bir alan 8 bit (1 byte) ile sınırlıdır. Özellikle gerçekleştirim yazılım tabanlı ise ya da işlemci gücü sınırlı ise uygulamak kolaydır. Reed-Solomon kodunun temel özellikleri aşağıdaki gidir: Kaynak Kullanımı: Reed-Solomon Göndermede Hata Düzeltim Kodunun ağ kaynaklarının ne kadarına ihtiyaç duyduğu ile ilgilidir. Bant genişliğinin ne kadarını kullandığı tabloda verilmiştir. [3] Küçük dosya Büyük dosya indirimi(512 indirimi (3MB) KB) Düşük hata 13% 6% Yüksek hata 30% 29% Figür 2 Hatasız veri almanın GHD koduna getirdiği ek yük Dosya indirimi için gereken bellek miktarı Küçük dosyalarda (512 KB) 700KB hızında belleğe ihtiyaç duyulur. Büyük dosyalarda (3 MB) ise bu değer 4MB değerlerine çıkar. Bellek yönetim algoritmaları ile bellek kullanımı düşürülebilir. Ancak bu standart değildir. Farklı bit oranlarında çalışabilir. Reed-Solomon farklı kaynak paket boyutlarını yönetebilir. (ağ kaynaklarının kullanımı, hesaplama karmaşıklığı ve performans değişir) Reed-Solomon kodu farklı birer oranlarında (küçük değerlerden 384 kbps değerine kadar olan aralık) uygulanabilir Reed-Solomon kodu esnek koruma periyoduna sahiptir. Koruma periyodu hücre değiştirme gecikmelerinden ötürü 4

5s ile 20s arasında değişebilir. Gecikme Süresi Tune in Delay kavramı koruma periyodu ve çözücü zamanının bir fonksiyonudur. Tune in Delay zamanı, koruma_periyodu+ε ile alttan sınırlı, 2*koruma_periyodu ile üstten sınırlıdır. Gerçek zamanlı uygulamalarda gecikme koruma_periyodu+çözücü_zamanı ile hesaplanır. 6.3. Raptor Gönderimde Hata Düzeltim Kodları Raptor Gönderimde Hata Düzeltim kodları sistematik kodlardır. 2004 yılının Mayıs ayından bu yana Raptor kodu hem duraksız akış uygulamalarında hem de dosya indiriminde kullanılmaktadır. Raptor kodu bütün bit oranlarını, dosya boyutlarını, paket kayıp oranlarını, paket boyutlarını, koruma periyodlarını hem duraksız akış hem de dosya indirmede destekler. 7. SONUÇ Farklı GHD (Gönderimde Hata Düzeltim) kodlarının karşılaştırmasını yaparken göz önüne alınması gereken unsurlar, paket kayıp, gerekli olan ağ kaynak miktarı (ağ bant genişliği), gönderici ve alıcı kısımlarında işlemciye getirdiği yük ve algoritmanın karmaşıklığıdır. Raptor kodları, Reed-Solomon kodunun getirdiği sınırlamalar ve performans düşüklüğü göz önüne alındığında olağanüstü esnektir. Raptor kodu paket kayıplarını oldukça verimli bir şekilde yok eder (fazla korumayı az ek yük getirisi ile ortadan kaldırır). Raptor kodunun kodlanıp çözülmesi için gerek duyduğu işlemci gücü oldukça azdır ve bu değer korumanın derecesine bağlı olarak lineer artış gösterir, üstel artış göstermez. Reed-Solomon kodu üstel artış gösterir. Raptor kodu her uygulamanın, paket kayıp, bant genişliği, işlemci isteği gibi koşullarını göz önüne alır ve parametrelerini bunlara göre ayarlayabilir. Reed-Solomon kodu ise Raptor koduna oranla daha katı ve daha az performanslıdır. Sonuç olarak Raptor kodu kullanıcının isteklerine cevap verme konusunda oldukça esnektir. Kaynak Kullanımı Küçük dosya boyutu (50-512kbytes) söz konusu olduğunda düşük hata oranlarında Raptor kodu ağ kaynaklarının 0.8% ini, yüksek hata oranlarında (10%) ağ kaynaklarının 1% ini harcar. Büyük dosya boyutu (1MB-3MB) söz konusu olduğunda Raptor kodu ağ kaynaklarının 0.1% ini, yüksek hata oranlarında (10%) ise ay kaynaklarının 1% ini harcar. Duraksız İşlem uygulamalarında yüksek kalitede duraksız işlem ve düşük koruma periyodu ile Raptor kodu düşük bit oranlarında (32kbit/s, 64kbit/s) %93-95 nda, Raptor kodu yüksek bit oranlarında da (128kbit/s, 256kbit/s) %97-98 nda hataları yok eder. Uzun koruma periyotlarında daha fazla oranda hatayı ortadan kaldırabilir. Hesaplama Karmaşıklığı Raptor kodu çok az CPU yükü getirir. Yüksek hata oranlarında Raptor kodunun çalışması Reed- Solomona oranla daha az karmaşıktır. 5

Kaynak Kullanımı GHD kodunun hataları düzeltmede gerek duyduğu kaynak kullanımı anlamına gelir. Ekstra paketler için gerek duyulan ağ bant genişliği cinsinden Hesaplama Karmaşıklığı Duraksız akışın ve dosya indiriminin işlemciye getirdiği yük cinsinden Sadece yüksek hata oranları göz önüne alınmıştır. Bellek Miktarı Gecikme Süresi Düşük hata Yüksek hata Düşük bit nda duraksız işlem (64 kbps) Reed Solomon Kodları Yüksek bit Küçük dosya nda indirimi duraksız işlem (512 KB) (384 kbps) Büyük dosya indirimi (3MB) 7% 6% 12% 5% 35% 34% 31% 28% ARM 11 <= 1.2s N/A 0.13s 1.6s Gelecek N/A <=1.42s 0.035s 0.4s Platform Uygun değil Uygun değil 700 KB Hızında Bellek 4 MB Hızında Bellek Farklı bit oranlarında çalışabilir. Reed-Solomon farklı kaynak paket boyutlarını yönetebilir. (ağ kaynaklarının kullanımı, hesaplama karmaşalığı ve performans değişir) protection_period+ε <x< 2*protection_period Gerçek zamanlı uygulamalarda gecikme protection_period+decoding delay Figür 3 - Reed-Solomon Kodlarının Özellikleri Kaynak Kullanımı GHD kodunun hataları düzeltmede gerek duyduğu kaynak kullanımı anlamına gelir. Ekstra paketler için gerek duyulan ağ bant genişliği cinsinden Düşük hata Yüksek hata Düşük bit nda duraksız işlem (64 kbps) Yüksek bit nda duraksız işlem (384 kbps) Yüksek kalitede duraksız işlem ve düşük koruma periyodu ile Raptor kodu düşük bit oranlarında (32kbit/s, 64kbit/s) %93-95 nda Raptor kodu düşük bit oranlarında (128kbit/s, 256kbit/s) %97-98 nda hataları yok eder. Uzun koruma periyodlarında daha fazla oranda hatayı yok eder Raptor Codes Küçük dosya indirimi (512 KB) Raptor kodu ağ kaynaklarının %0.8 ini harcar Raptor kodu ağ kaynaklarının <%2 sinden daha azını harcar Büyük dosya indirimi (3MB) Raptor kodu ağ kaynaklarının %0.1 ini harcar %1 ve %10 hata nda 6

Hesaplama Karmaşıklığı Duraksız akışın ve dosya indiriminin işlemciye getirdiği yük cinsinden Sadece yüksek hata oranları göz önüne alınmıştır. Bellek Miktarı Gecikme Süresi Raptor kodu çok az CPU yükü getirir. Yüksek hata oranlarında Raptor kodunun çalışması Reed-Solomon a oranla daha az karmaşıktır. Uygun değil Uygun değil Raptor kodları 512k belleğe ihtiyaç duyar Raptor kodu bütün bit oranlarını, dosya boyutlarını, paket kayıp oranlarını, paket boyutlarını, koruma periyodlarını hem duraksız akış hem de dosya indirmede destekler. Kodlamayı çözmek için gereken zaman Protection period zamanının 10% undan daha azdır ve az CPU yükü getirir, en çok paket kayıp oluğu durumda. Genel olarak Raptor kodunun tune-in delay (= protection period + kodlamayı çözme zamanı) zamanı oldukça düşüktür. Figür 4 - Raptor Kodlarının Özellikleri 8. TEŞEKKÜR Çalışmadaki yardım ve desteklerinden ötürü Dokuz Eylül Üniversitesi Bilgisayar Mühendisliği Bölümü öğretmenlerinden Prof.Dr. Alp R. KUT, Yrd. Doç Gamze Seçkin, Araş. Gör. Derya BİRANT ve Araş. Gör. Özlem AKTAŞ a teşekkür ederim. [5] RFC 3453 (rfc3453) The Use of Forward Error Correction (FEC) in Reliable Multicast. M.Luby Digital Fountain, L.Vicisano Cisco, J.Gemmell Microsoft, L.Rizzo Univ. Pisa, M. Handley ICIR, J. Crowcroft Cambridge Univ., Kasım 2002 KAYNAKLAR [1] Digital Video Communications Martyn J.Riley, Lain E.G.Richardson, Artech House Publishers Boston-London. [2] 3GPP TSG-SA4#31 meeting Tdoc S4-040348 Mayıs 17-21, 2004, Montreal, Canada, Simulation Guidelines for the Evaluation of FEC Methods for MBMS Download and Streaming Services. [3] 3GPP SA4#34 meeting Tdoc S4-05023321-25 Şubat 2005, Lisbon, Portugal [4] RFC 3048 (rfc3048) - Reliable Multicast Transport Building Blocks for One-to-Many Bulk- Data Transfer. B.Whetten Talarian, L.Vicisano Cisco, R.Kermode Motorola, M. Handley ACIRI 9, S. Floyd ACIRI, M.Luby Digital Fountain, Ocak 2001 7