Saran Content Delivery Network CDN NetworkSimulator NS-2

5.2 Saran

Adapun saran dari Tugas Akhir ini adalah sebagai berikut : 1. Pada tugas akhir selanjutnya agar menambahkan parameter lain seperti throughput, jitter, dll. 2. Pada tugas akhir selanjutnya agar menambahkan rateless codes, seperti rateless codes 25, 75 untuk memperoleh hasil yang lebih presisi. Universitas Sumatera Utara

BAB II DASAR TEORI

2.1 Content Delivery Network CDN

CDN adalah sebuah sistem jaringan server untuk mendistribusikan konten yang ada dalam sebuah aplikasiweb ke berbagai pengaksespengguna di berbagai belahan dunia agar datakonten yang dikirim dan diterima lebih cepat. CDN diperuntukkan untuk website atau aplikasi yang pengaksesnya dari berbagai belahan dunia. Server jaringan CDN terdistribusi secara global dengan tujuan untuk melayani konten ke pengguna dengan ketersediaan yang besar dan performa tinggi. CDN melayani sebagian besar konten di internet saat ini termasuk objek web teks, grafis dan script, obyek download file media, software, aplikasi e- commerce , portal, media live streaming, on-demand streaming media, dan jaringan sosial. Konsep CDN adalah dengan meletakkan beberapa server pada belahan dunia sehingga server utama asli tidak akan langsung melayani permintaan web request secara langsung melainkan melalui server-server pada jaringan CDN. Keuntungannya, server asli tidak akan mengalami drop akibat banyaknya permintaan dari pengguna internet, dan efisiensi terhadap delay dan packet loss juga akan semakin baik [1]. Pada Gambar 2.1 menunjukkan konsep dasar dari Content Delivery Network . Universitas Sumatera Utara Gambar 2.1Konsep Dasar Content Delivery Network[1] 2.2 Teknik-Teknik Pembagian Tugas CDN 2.2.1 GEO DNS GEO DNS adalah serverDNSyangdapat mendistribusikanbeban untukhostnamekemirrors cermin serverterdekat, salah satunya sebagai penghantar kinerja dari CDN. Sistem kerja dari GEO DNS dengan memetakan pengguna internet menurut wilayahnya. Kemudian akan dibangun CDN pada setiap wilayah yang telah dipetakan. Dengan pemetaan wilayah maka setiap client yang melakukan request akan dilayani oleh server terdekat dengan client tersebut [2]. Original Server in North America CDN distribution node CDN Server in South Amerika CDN Server in Euorpe CDN Server in Asia Universitas Sumatera Utara

2.2.2 Teknologi Akamai

Teknologi Akamai adalah global serviceprovider yang menyediakan layanan akselerasi global internet content” untuk membantu mempercepat performa situs dengan cara melakukan copy cache dari website di banyak server yang tersebar di berbagai lokasi. Saat ini Akamai Technologies Inc. mempunyai lebih dari 15.000 server yang tersebar di 70 negara. Ada beberapa komponen infrastruktur CDN Akamai, tiga komponen utamanya yaitu: edge server, contentdelivery dan mappingcenter. Gambar 2. 2 SistemCDNAkamai [2] Gambar 2.2 mengilustrasikan bagaimana Akamai dalam melakukan pengiriman content ke pengguna. Akamai secara transparan melakukan mirror contentcerminan konten audio, graphics, video, animation yang tersimpan pada server klien Akamai ke beberapa edgecache server yang tersebar di beberapa negara. Ketika ada request user ke website www.acme.com , maka file-file image, Universitas Sumatera Utara animasi, video yang terdapat pada halaman www.acme.com akan diambil dari edgecache server yang lokasinya dekat dengan pengguna. Namun ada juga website yang keseluruhan kontentnya diletakkan pada edgecache server akamai yang tersebar di beberapa negara [2].

2.2.3 Web Mapper

WebMapper merupakan suatu teknik pemetaan yang prosesnya menggunakan informasi pemetaan yang diperoleh dari geographicalinformationsystems GIS yang dirancang untuk menangkap, menyimpan, memanipulasi, menganalisis, mengelola dan menyajikan semua jenis data spasial atau geografis.Sistem kerja dari Web Mapper pada CDN adalah dengan melakukan record atau rekam jejak client. Ketika clientmelakukan request website , maka DNS server akan melihat history dari client tersebut pada setiap server. Kemudian DNS server akan menghubungkan client dengan server terbaik untuk client yang melakukan request web menurut history [3].

2.2.4 Packet Redirection

Packet Redirection adalah suatu teknik pengalihan packet data dari server ke server lain yang menangani requestwebsite untuk memberikan layanan yang lebih cepat. Prinsip kerja packetredirection adalah ketika client 1yang melakukan request website telah terhubung dengan server 1 dan melakukan upload atau download file akan terjadi delay. Ketika proses request website, jikadelay dianggap terlalu tinggi, maka server dapat meminta server lain melanjutkan transaksi packet yang sedang di download, sehingga kinerja pengiriman paket Universitas Sumatera Utara dapat lebih baik. Masing-masing server akan melakukan pertukaran informasi terkait kinerja server, baik secara langsung maupun melalui pihak ketiga serper DNS server [3].

2.2.5 Load Balancer

Load balancer merupakan sebuah perangkat untuk mendistribusikan beban pekerjaan secara merata melalui beberapa node yang bekerja pada back-end node. Peran yang paling penting dari Load Balancer yaitu untuk menyediakan sebuah layanan dari beberapa kumpulan server yang berada sebagai back-end dari layanan servernya. Untuk layanan internet, Load Balancer biasanya merupakan sebuah program perangkat lunak yang terhubung pada port dimana klien eksternal tersambung untuk mengakses layanan. Load Balancer meneruskan request dari salah satu server dari backend server, yang biasanya di-replay kembali ke load balancer . Hal ini memungkinkan Load Balancer untuk me-replayrequest dari client tanpa client tersebut mengetahui tentang pemisahan fungsi internal dari layanan server yang ada. Hal ini juga dapat mencegah client berhubungan langsung dengan server backend, yang mungkin memiliki manfaat keamanan dengan menyembunyikan struktur jaringan internal dan mencegah serangan pada jaringan[4]. Universitas Sumatera Utara

2.3 Rateless code

Ratelesscode dikenal juga fountain code. Ratelesscode merupakan suatu proses pengkodean yang dapat memperbaiki kesalahan pada saat pentranmisian paket data, karena pada saat proses pentransmisian dapat terjadi lost atau paket hilang. Ratelesscode awalnya dirancang untuk Binary Erasure Channel BEC.. Selain untuk kepentingan teoritis, Binary ErasureChannel telah mendapatkan perhatian yang signifikan dalam komunikasi data. Misalnya, di internet ada beberapa data yang ditransmisikan dalam paket-paket kecil, kemudian paket tersebut hilang, rusak, tertunda atau tidak memenuhi persyaratan layanan QoS dapat dibuang terhapus. Tujuan dasar rateless code adalah mempertahankan kualitas trafik meskipun kondisi server memburuk dan memperbaiki setiap paket data yang hilang saat proses pentransmisian terjadi. Dengan rateless codes tidak perlu diketahui seberapa besar tingkat kehilangan paket dan penerima tidak perlu memberitahu pengirim paket mana saja yang gagal untuk diterima. Hal ini sangat berguna dalam berbagai situasi dari pengiriman file video pada on demand tv sampai dengan propagasi potongan-potongan file ke banyak peer seperti pada BitTorrent. Sistem kerja dari rateless code yaitu, encode diumpakan sebagai air mancur dan decode diumpamakan sebuah embernya yang akan menampung air mancur tersebut. Ketika airnya diumpakan sebuah paket data, dan saat proses penerimaan paket data dari server ke client, pentransmisian paket data tidak peduli apakah paket data itu diterima dengan baik ataupun loss, karena hanya paket data yang sukses diterima saja untuk diproses nantinya. Dengan kata lain, kita membuat sebuah air mancur dari data yang dikodekan dimana penerima dapat menyusun Universitas Sumatera Utara kembali data asli hanya dengan menerima cukup airpaket data yang dikodekan secara acak.Ratelesscode terdapat beberapa bagian yaitu LT LubyTranform , TornadoCode dan RaptorCode. Pada Gambar 2.3 menunjukan sebuah ilustrasi dari rateless code. Gambar 2. 3 Ilustrasi ratelesscode

2.3.1 LT Luby Transform

LT Code pertama kali direalisasikan pada fountain code atau yang sering disebut rateless code. Encode informasi K pada LT code disimbolkan x 1, x 2, …x k menjadi beberapa simbol keluaran yang tak terbatas z 1 , z 2 , z 3 ,…... Simbol informasi masukan dapat barupa simbol satu bitbinery atau berupa packet data. Algoritama endcoding dan decoding pada LT code cukup sederhana, karena algoritmanya serupa dengan proses parity-check, dimana fungsi dari parity-check untuk mengecek urutan bit-bit data dan bit parity setelah data itu dikirim atau ditransmisikan. Untuk proses algoritma encoding dilakukan dengan cara berikut : 1. Suatu d dipilih untuk sampling dari distribusi D yang diberikan, yang disebut dengan “degreedistribution”. Biarkan Ω 1, Ω 2,…. Ω k menjadi distribusi {1, 2, …, K kemudian dipilihnya nilai i sebagai probabilitas yang diwakili seperti Ω i . Degree distribution D dilambang oleh polynomial Ω� = ∑ Ω�� � � �=1 . Universitas Sumatera Utara 2. Simbol input d dipilih secara seragam dari simbol input K yang dipilih secara acak. Nilai dari simbol output berupa XOR yang berasal dari simbol input d, � = ∑ � � � � � �=1 dimana koefiseian � � ∈ {0,1} untuk � = 1, 2, … . , K, ∑ � � = � � �=1 dan menggunak 2 bit penjumlahan. Berdasarkan asumsi yang dibuat, receiver penerima berasal dari koefisien � � . Dalam prakteknya hal ini dapat dicapai dengan berbagai cara. Sebagai contoh, derajat degree dan daftar tetangga dapat dimasukan ke dalam packetheader kemudian kedua encoder dan decoder menggunakan fungsi yang sama sebagai kunci untuk menghitung derjat degree dan set tetangga neighbor [5]. Proses encoding dari LT code dapat dilihat pada Gambar 2.4. Simbol informasi 1 0 1 1 0 0 1 Input variabel node Simbol encoding 1 0 0 1 Channel Output variabel node Gambar 2. 4 Proses simbol encoding [6] Pada Gambar 2.3, nodevariableinput merupakan simbol informasi dan nodevariabeloutput berupa simbol encoding. Nodevariableinput dan nodevariabeloutput merupakan hasil penjumblahan XOR. Untuk mengembalikan simbol informasi ke dalam bentuk asli diperlukan proses decoding. Algoritma decoding dilakukan dengan cara berikut : Universitas Sumatera Utara 1. Cari simbol encode z n yang hanya berhubungan 1 simbol informasi x i kemudian simbol informasi decode, i.e, menentukan x i dari z n . Jika tidak seperti simbol encode maka proses decoding akan berhenti. 2. Tambahkan simbol informasi decode pada x i untuk semua simbol encode lainnya yang berhubungan dengan x i .Kemudian hapus semua bagian pinggir yang berbungan denga x i . 3. Ulangi langkah 1 dan 2 hingga semua simbol informasi yang decode kan sukses.

2.4 NetworkSimulator NS-2

Network Simulator versi 2 atau yangdikenal sebagaiNS-2 merupakan sebuahprogramsimulasi berbasis kejadianyang banyak digunakanuntuk mempelajarisifat dinamis darijaringan dan protokol komunikasi. NS-2 mampu mensimulasikan jaringankabeldanjaringan nirkabelserta protokolnya yang meliputi:algoritmarouting,protokol komunikasi, penjadwalan, algoritma akses dan lain-lain [7]. Pada Gambar 2.5 menunjukan arsitektur dasar NS-2. NS-2 menggunakan dua jenis bahasa pemrograman, C++ dan TCL. C++ digunakan sebagai core proses simulasi, sementara TCL untuk konfigurasi jaringan. Universitas Sumatera Utara Gambar 2. 5 Arsitektur dasar NS-2 TclCL dan OTcl adalah komponen TCL yang berfungsi untuk menjembatani konfigurasi dengan proses simulasi. NS-2 dieksekusi melalui perintah eksekusi command line. Hasil simulasi berupa catatan atau trace yang dapat dipergunakan oleh Network Animator Gambar 2.6 maupun plot grafik Xgraph [7]. Untuk proses cara mensimulasikan NS-2 dapat dilihat pada Lampiran 1. Gambar 2. 6 Tampilan NAM Network AniMator Universitas Sumatera Utara

2.5 Kerangka Evaluasi video Evalvid