BAB 2
TINJAUAN PUSTAKA
2.1 Definisi Content Delivery Network (CDN)
CDN adalah sekumpulan server yang saling berhubungan dari komputer di
internet yang menyediakan konten web dengan cepat ke banyak pengguna dengan
menduplikasi konten pada beberapa server dan mengarahkan konten ke pengguna
berdasarkan kedekatan. CDN digunakan oleh penyedia layanan internet (ISP)
untuk memberikan halaman web statis atau dinamis, tetapi teknologi ini sangat
cocok untuk streaming audio, video, dan televisi internet (IPTV) pemrograman
[1].
Dalam CDN, konten eksis di beberapa salinan pada server strategis yang
tersebar. Hal ini dikenal sebagai replikasi konten. Sebuah CDN besar dapat
memiliki ribuan server, sehingga memungkinkan untuk menyediakan konten
identik dengan banyak pengguna secara efisien dan andal bahkan kadang-kadang
lalu lintas internet maksimum [2]. Ketika sebuah halaman tertentu, file, atau
program direquest oleh pengguna, server yang terdekat dengan pengguna (dalam
hal ini jumlah minimum node antara server dan pengguna) secara dinamis
ditentukan. Ini mengoptimalkan kecepatan isi yang disampaikan kepada user
tersebut [3].
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.
Original Server in North America
CDN distribution
node
CDN Server in
South Amerika CDN Server in
Europe
CDN Server in Asia
permintaan dari pengguna internet, dan efisiensi terhadap delay dan packet loss
juga akan semakin baik. Gambar konsep dasar Content Delivery Network dapat
dilihat pada Gambar 2.1 [4].
Gambar 2.1 Konsep Dasar Content Delivery Network [4]
2.2 Teknik-teknik Pembagian Tugas CDN
Ada beberapa teknik pembagian tugas CDN, seperti GEO DNS, packet
redirection, load balancer dan lain-lain.
2.2.1. GEO DNS
GEO DNS adalah salah satu penghantar kinerja CDN, sistem kerja dari
wilayah maka setiap client yang melakukan request akan dilayani oleh server
terdekat dengan client tersebut [5].
2.2.2. Packet Redirection
Prinsip kerja packet redirection adalah ketika client 1 yang melakukan
request website telah terhubung dengan server 1 dan melakukan upload atau
download file akan terjadi delay. Ketika proses request website, jika delay
dianggap terlalu tinggi, maka server dapat meminta server lain melanjutkan
transaksi packet yang sedang di download, sehingga kinerja pengiriman paket
dapat lebih baik. Masing-masing server akan melakukan pertukaran informasi
terkait kinerja server, baik secara langsung maupun melalui pihak ketiga serper
DNS server [6].
2.2.3. Load Balancer
Load balancer merupakan sebuah perangkat untuk mendistribusikan
beban pekerjaan secara merata melalui beberapa 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 client 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-replay request dari client tanpa client
tersebut mengetahui tentang pemisahan fungsi internal dari layanan server yang
backend, yang mungkin memiliki manfaat keamanan dengan menyembunyikan
struktur jaringan internal dan mencegah serangan pada jaringan [7].
2.3 Webmapper
Webmapper merupakan sistem yang mengelompokkan client sesuai
dengan alamat IP, dan menetapkan setiap server yang optimal. Pengelompokkan
dilakukan dengan memantau koneksi TCP antara client dan server. Ketika server
terbaik ditemukan informasi ini ditransmisikan ke client melalui infrastruktur
DNS [8].
Sistem kerja dari webmapper pada CDN adalah sebagai berikut.
Webmapper berada di belakang DNS front-end yang bertindak sebagai server
DNS otoritatif untuk domain atau satu set domain. Ketika client mengirimkan
permintaan akses, domain name itu mengirimkan permintaan DNS ke server DNS
local yang kemudian meneruskan permintaan ke server DNS otoritatif. Server
content mengumpulkan jarak jaringan client dan memuat informasi terus menerus
dan menyebarkannya kembali ke webmapper. Selanjutnya webmapper membuat
pemetaan client dari informasi saat ini dan sebelumnya digabungkan (jarak
jaringan, load) di mana setiap client merupakan divisi atau partisi dari total ruang
alamat ip. Pengelompokkan ini penting karena tidak efisien untuk membuat tugas
terpisah untuk setiap alamat ip di internet (ada banyak jutaan alamat tersebut).
Pembagian tugas dalam pengelompokkan ini bertujuan untuk mengoptimalkan
pelayanan server terhadap permintaan client [8].
Pengelompokkan dilakukan dengan record atau rekam jejak client.
menghubungkan client dengan server terbaik untuk client yang melakukan request
web menurut history. Contoh pengelompokkan dapat dilihat pada Tabel 2.1 [8].
Tabel 2.1 Contoh Pengelompokkan Server
Content Server
Dari Tabel 2.1 dapat dilihat pada client1 dengan alamt IP 25.135.64.0/19
saat melakukan permintaan akses konten dalam domain yang sesuai dengan
domain index 2, maka dipetakan ke server konten 3 dengan probability 0.05.
Client2 dengan alamat IP 132.0.0/8 akan dipetakan ke server 2 dengan probability
0.5.
2.4 Software Simulator
Pada Tugas Akhir ini menggunakan software simulator NS-2. NS-2
merupakan sebuah program simulasi berbasis event (kejadian) yang banyak
digunakan untuk mempelajari sifat dinamis dari jaringan dan protokol
komunikasi. NS-2 mampu mensimulasikan jaringan kabel dan jaringan nirkabel
serta protokolnya mencakup algoritma routing, protokol komunikasi, algoritma
Gambar 2.3 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 [9].
Gambar 2.2 Arsitektur Dasar NS-2
TclCL dan Otcl adalah komponen TCL yang berfungsi untuk menjembatani
konfigurasi dengan proses simulasi. Program NS-2 menggunakan command line
interface, yang menghasilkan trace atau catatan yang dapat dipergunakan oleh
modul network animator (NAM) maupun plot grafik Xgraph [9].
2.5 Kerangka Evaluasi Video EvalVid
NS-2 menyediakan presentasi data menggunakan Xgraph. Namun Xgraph
kehilangan detail dari kejadian pengiriman data dan hanya menampilkan data
rata-rata untuk parameter yang ditinjau. Oleh karenanya, untuk membantu
mempresentasikan paramater yang dievaluasi, digunakan EvalVid [10].
EvalVid adalah framework dan tool set untuk evaluai kualitas video
Video
Gambar 2.3 Struktur framework EvalVid
Komponen utama dari struktur EvalVid dijelaskan sebagai berikut :
1. Source: Sumber video dapat berupa raw file YUV dengan resolusi Quarter
Common Intermediate Format (QCIF, 176 x 144) atau di Common
Intermediate Format (CIF, 352 x 288) .
2. Video Encoder dan Decoder: EvalVid mendukung dua codec MPEG4 ,
yaitu codec NCTU dan ffmpeg.
3. VS (Video Sender): komponen VS membaca file video yang dikompres dari
output encoder, menfragmentasi setiap frame video yang berukuran besar
menjadi segmen yang berukuran kecil dan kemudian mengirimkan segmen
ini melalui paket UDP pada jaringan nyata atau simulasi. Untuk setiap
pengiriman paket UDP, framework mencatat tanda waktu, id paket, dan
ukuran paket di sender trace file dengan bantuan tcp dump atau win dump,
jika jaringan adalah Link nyata. Namun, jika jaringan disimulasikan, sender
trace file disediakan oleh entitas pengirim. Komponen VS juga
membangkitkan video trace file yang berisi informasi tentang setiap frame
digunakan untuk evaluasi kualitas video berikutnya .
4. ET (Evaluate Trace): Evaluasi berlangsung di sisi pengirim. Oleh karena
itu, informasi tanda waktu, id paket, dan ukuran paket yang diterima pada
penerima harus dikirim kembali ke pengirim. Berdasarkan file video asli
yang dikodekan, file video trace, file sender trace, dan file received trace,
komponen ET menghasilkan laporan packet loss, jitter serta file video
rekontruksi untuk melihat hasil video pada sisi penerima mengalami
kerusakan atau tidak.
5. FV (Fix Video): penilaian kualitas video digital dilakukan dari frame demi
frame. Oleh karena itu, jumlah total frame video di sisi penerima, termasuk
yang salah, harus sama seperti video asli di sisi pengirim. Jika codec tidak
dapat mencegah hilangnya suatu frame maka, FV digunakan untuk
mengatasi masalah tersebut, dengan memasukkan frame terakhir yang
berhasil dikodekan pada bagian frame yang hilang sebagai sebuah teknik
penyembunyian error.
6. PSNR (Peak Signal Noise Ratio): PSNR adalah salah satu objek untuk
menilai QoS aplikasi pada transmisi video.
7. MOS (Mean Opinion Score): suatu subjektif untuk mengukur kualitas video