Analisis Kinerja Content Delivery Network yang Menggunakan Load Balancer

BAB 2
TINJAUAN PUSTAKA

2.1. Content Delivery Network (CDN)
CDN adalah sebuah sistem jaringan server untuk mendistribusikan konten
yang ada dalam sebuah aplikasi/web ke berbagai pengakses/pengguna di berbagai
belahan dunia agar data/konten yang dikirim dan diterima lebih cepat. CDN
diperuntukkan untuk website atau aplikasi yang pengaksesnya dari berbagai
belahan dunia. [1]
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 (ecommerce, portal), media live streaming, on-demand streaming media, dan
jaringan sosial. [2]
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]. Konsep dasarCDNdapat dilihat pada Gambar 2.1 [2].


Universitas Sumatera Utara

Original Server
in North America

CDN
distribution node

CDN Server in
South America

CDN Server in
Asia

CDN Server in
Europe

Gambar 2.1 Konsep Dasar Content Delivery Network (CDN) [2]

2.2. Teknik-Teknik Pembagian Tugas CDN

Ada beberapa teknik pembagian tugas CDN, seperti GEO DNS, web
mapper , packet redirection, load balancer dan lain-lain.

2.2.1. GEO DNS
GEO DNS adalah salah satu penghantar kinerja 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. [3]

Universitas Sumatera Utara

2.2.2. Web Mapper
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.[4]

2.2.3. Packet Redirection

Prinsip kerja packet redirection adalah ketika client 1yang melakukan
request website telah terhubung dengan server 1 dan melakukan upload atau
download fileakan 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 dapat lebih baik.
Masing-masing server akan melakukan pertukaran informasi terkait kinerja server,
baik secara langsung maupun melalui pihak ketiga serper DNS server. [4]

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

Universitas Sumatera Utara

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 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.[5]
Ada beberapa algoritma yang digunakan pada Load Balancer , antara lain:
[6]
1. Round Robin (rr), yaitu algoritma penjadwalan yang memperlakukan semua
real server sama menurut jumlah koneksi atau waktu respon.
2. Weighted Round Robin (wrr), penjadwalan ini memperlakukan real server
dengan kapasitas proses yang berbeda. Masing-masing real server dapat diberi
bobot bilangan integer yang menunjukkan kapasitas proses, dimana bobot awal
adalah 1.
3. Least Connection (lc), merupakan algoritma penjadwalan yang mengarahkan
koneksi jaringan pada server aktif dengan jumlah koneksi yang paling sedikit.
Penjadwalan ini termasuk salah satu algoritma penjadwalan dinamik, karena
memerlukan perhitungan koneksi aktif untuk masing masing real server secara
dinamik. Metode penjadwalan ini baik digunakan untuk melancarkan
pendistribusian ketika request yang datang banyak.
4. Weighted Least Connection (wlc), merupakan sekumpulan penjadwalan least

connection dimana dapat ditentukan bobot kinerja pada masing-masing real
server. Server dengan nilai bobot yang lebih tinggi akan menerima persentase
yang lebih besar dari koneksi-koneksi aktif pada satu waktu. Bobot pada

Universitas Sumatera Utara

masing-masing real server dapat ditentukan dan koneksi jaringan dijadwalkan
pada masing-masing real server dengan persentase jumlah koneksi aktif untuk
masing-masing server sesuai dengan perbandingan bobotnya (bobot awal
adalah 1).
5. Locality Based Least Connection (lblc), metode penjadwalan yang akan
mendistribusikan lebih banyak request kepada realserver yang memiliki
koneksi kurang aktif. Algoritma ini akan meneruskan semua request kepada
real server yang memiliki koneksi kurang aktif tersebut sampai kapasitasnya
terpenuhi.
6. Destination Hashing (dh), merupakan algortima penjadwalan statik yang dapat
meneruskan request dari client kepada satu realserver tertentu sesuai dengan
layanan yang diminta. Terdapat suatu tabel hash berisi alamat tujuan dari
masing-masing realserver beserta layanan yang tersedia pada setiap real
server.


7.

Source

Hashing

(sh),

hampir

sama

dengan

metode

destinationhashing tetapi pada metode ini tabel berisi mengenai informasi
alamat asal paket yang dikirimkan oleh client.


2.3.1

Algoritma Least Connection
Algoritma penjadwalan Least Connection mengarahkan permintaan yang

diterima darijaringan ke node dengan jumlah koneksi paling sedikit. Ini adalah
salah satupenjadwalan algoritma dinamis; karena itu perlu menghitung pergerakan
koneksi untuksetiap node secara dinamis pada sebuah node yangterdapat pada
kumpulanbeberapa node dengan kinerja yang sama Penjadwalan least connection
baik untuk kelancarandistribusi ketika bebanpermintaan bervariasi banyak,

Universitas Sumatera Utara

karenasemua permintaan yang lama tidak akan

diarahkan kesatu node

saja.Penjadwalan least connection dapatjuga melakukan dengan baik bahkan
ketika ada node dari berbagaikapasitas pengolahan, karena node lebih cepat akan
mendapatkanlebih banyak koneksi.Faktanya, penjadwalan least connection tidak

bekerja sangat baik karena TIME_WAIT TCP. TCPTIME_WAIT biasanya 2
menit, dalam rentan 2menit sebuah situs web yang sibuk sering mendapatkan
ribuankoneksi, misalnya, node A adalah dua kalikuat sebagai nodeB, node A
memiliki

pengolahanribuan

permintaan

dan

membuat

mereka

dalam

TCPTIME_WAIT, tapi node B pelan-pelan untuk mendapatkan ribuan koneksi
selesai. Sehinggapenjadwalan least connection tidak bisa memuat baikseimbang
antara node dengan berbagai pengolahankapasitas.[6]


2.3.2

Algoritma Round Robin
Algoritma penjadwalan round-robin meneruskan setiap permintaan yang

masuk ke server berikutnya dalam daftar. Misalnya dalam tiga cluster server
(server A, B dan C) permintaan 1 akan pergi ke server A, permintaan 2 akan pergi
ke server B, meminta 3 akan pergi ke server C, dan permintaan 4 akan pergi ke
server A, sehingga menyelesaikan siklus atau round-robin server. Memperlakukan
semua server sama terlepas dari jumlah koneksi masuk atau waktu respon setiap
server. Virtual server menyediakan beberapa keunggulan dibandingkan DNS
round-robin. DNSround-robinmenentukan satu domain ke alamat IP yang
berbeda, penjadwalan granularity adalah berdasarkan host, dan caching query
DNS

menghalangi

algoritma


dasar.

Faktor-faktor

ini

menyebabkan

ketidakseimbangan beban dinamis yang signifikan antara server utama.

Universitas Sumatera Utara

Penjadwalan granularity dari server virtual adalah jaringan koneksi berbasis, dan
itu jauh lebih unggul DNS roundrobin karena perincian penjadwalan baik. Roundrobin Penjadwalan, dalam arti kata, mengarahkan permintaan yang diterima dari
jaringan ke node yang berbeda dalam cara round-robin. Memperlakukan semua
node sebagai sama terlepas dari jumlah koneksi. Penjadwalan granularity adalah
simpul berbasis, ini akan menyebabkan ketidakseimbangan beban dinamis yang
signifikan antara node.[7]

2.3.3


Algoritma Weighted Round Robin
Penjadwalan

weightedround-robinmemperlakukan

node

yang

berbedakapasitaspengolahan. Setiap node dapat diberiberat, nilai integer yang
menunjukkan pengolahankapasitas. Berat default adalah 1. Sebagai contoh,
tiganode, A, B dan C, memiliki bobot,4, 3, 2 masing-masing,urutan penjadwalan
yang baik akan A, B, C, A, B, C, A, B, A dalamperiodepenjadwalan. Dalam
pelaksanaannyapenjadwalan

weightedround-robinad

akan

mengurutkan

permintaan yang dihasilkan sesuai dengan bobot simpulsetelahaturan simpul yang
dimodifikasi. Karena itu,penjadwalan permintaan tersebut tidak lagiseperti
algoritma penjadwalan round-robin.Penjadwalan weightedround-robin tidak
perlumenghitung

koneksi

permintaan

untuk

setiap

node,

danoverhead

penjadwalan lebih kecildari dinamis algoritma penjadwalanlainnya yang dapat
memiliki lebih node. Namun,mungkinmenyebabkan ketidakseimbangan beban
dinamis antara nodejika beban permintaansangat bervariasi. Singkatnya,
adakemungkinan bahwa sebagian besar permintaanpanjang dapat diarahkan ke
satunode.Penjadwalan round-robin adalah contoh khusustertimbang penjadwalan

Universitas Sumatera Utara

round-robin, di mana semuabobot yang sama. Overheadmenghasilkanurutan
penjadwalan setelah memodifikasi aturan nodesepele, dan tidak menambah biaya
overhead

apapun

dalam

penjadwalan

nyata.Jadi,

ada

tidak

perlu

untukmengimplementasikan penjadwalan round-robinsendiri.[6]

2.4. Network Simulator NS-2
NS-2merupakan sebuahprogramsimulasi berbasis event (kejadian)yang
banyak digunakanuntuk mempelajarisifat dinamis darijaringan dan protokol
komunikasi.

NS-2

mampu

nirkabelserta

protokolnya

mensimulasikan

jaringankabeldanjaringan

mencakupalgoritmarouting,protokol

komunikasi,

algoritma akses dan lain-lain [8].
Gambar 2.2 menunjukan arsitektur dasar NS-2.NS-2 menggunakan dua jenis
bahasa pemrograman, C++ dan TCL. Bahasa C++ digunakan sebagai inti proses
simulasi, sementara bahasa TCL untuk konfigurasi jaringan.

Gambar 2.2 Arsitektur Dasar NS-2 [8]

Universitas Sumatera Utara

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 (NAM) (Gambar 2.3) maupun plot
grafik Xgraph [8].

2.5. Evalvid
NS-2 menyediakan presentasi data menggunakan Xgraph. Namun Xgraph
kehilangan detail dari kejadian pengiriman data dan hanya menampilkan data ratarata untuk parameter yang ditinjau. Oleh karenanya, untuk membantu
mempresentasikan parameter yang dievaluasi, digunakanlah evalvid.
EvalVid adalah framework dan tool set untuk evaluasi kualitas video yang
dikirimkan melalui jaringan komunikasi nyata ataupun simulasi [9].Struktur dari
framework EvalVid ditunjukan Gambar 2.4 [10].

Video
Trace

loss/delay

EvalvidAPI

VS

Network
(or simulation)

User
Video
Decoder

tcpdump

Video
Video
Decoder
Decoder

EvalvidAPI

Source

tcpdump

Play-Out
Buffer

Sender
Trace

ET

Receive Trace

Coded
Video
Reconstructed
erroneous video

Result:
-Frame Loss/
Frame Jitter
-user perceived
quality

FV
raw YUV
video
Reconstructed
raw YUV video

PSNR

erroneous video

raw YUV video

MOS

Gambar 2.3Struktur framework EvalVid [8]

Universitas Sumatera Utara

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

membangkitkanvideo trace file yang berisi informasi tentang setiap
framepadafile video real. Video trace file dan sender trace file yang
kemudian 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.

Universitas Sumatera Utara

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 mencegahhilangnya suatu frame maka, FV digunakan untuk
mengatasi masalah tersebut, dengan memasukkan frame

terakhir yang

berhasil dikodekan pada bagianframe yang hilang sebagai sebuah teknik
penyembunyian error.
6.

PSNR (Peak Signal Noise Ratio): PSNR adalah salah satu objek untuk
menilai QoSaplikasi pada transmisi video.

7.

MOS (Mean Opinion Score):suatu subjektif untuk mengukur kualitas video
digital pada aplikasi.

Universitas Sumatera Utara