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