Analisis Kinerja Content Delivery Network yang Menggunakan Webmapper
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.
Keuntungannya, server asli tidak akan mengalami drop akibat banyaknya
5
Universitas Sumatera Utara
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].
Original Server in
North America
CDN distribution
node
CDN Server in
South Amerika
CDN Server in Asia
CDN Server in
Europe
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
GEO DNS dengan memetakan pengguna internet menurut wilayahnya. Kemudian
akan dibangun CDN pada setiap wilayah yang telah dipetakan. Dengan pemetaan
6
Universitas Sumatera Utara
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
ada. Hal ini juga dapat mencegah client berhubungan langsung dengan server
7
Universitas Sumatera Utara
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.
Ketika client melakukan request website, maka DNS server akan melihat history
dari client tersebut pada setiap server. Kemudian DNS server akan
8
Universitas Sumatera Utara
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
No
Client
1
25.135.64.0/19
2
132.0.0.0/8
Content Server
Domain Index
1
2
3
1
2
3
1
0.9
0
0
0.85
0
0
2
0.05
1
1
0
0.5
0
3
0.05
0
0
0.15
0.15
1
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
akses dan lain-lain [9].
9
Universitas Sumatera Utara
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
dikirimkan melalui jaringan komunikasi nyata ataupun simulasi [10]. Struktur
dari framework EvalVid ditunjukkan Gambar 2.4 [11].
10
Universitas Sumatera Utara
Video
Trace
loss/delay
User
Video
Decoder
tcpdump
VS
Network
(or simulation)
EvalvidAPI
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.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
pada file video real. Video trace file dan sender trace file yang kemudian
11
Universitas Sumatera Utara
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
digital pada aplikasi.
12
Universitas Sumatera Utara
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.
Keuntungannya, server asli tidak akan mengalami drop akibat banyaknya
5
Universitas Sumatera Utara
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].
Original Server in
North America
CDN distribution
node
CDN Server in
South Amerika
CDN Server in Asia
CDN Server in
Europe
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
GEO DNS dengan memetakan pengguna internet menurut wilayahnya. Kemudian
akan dibangun CDN pada setiap wilayah yang telah dipetakan. Dengan pemetaan
6
Universitas Sumatera Utara
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
ada. Hal ini juga dapat mencegah client berhubungan langsung dengan server
7
Universitas Sumatera Utara
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.
Ketika client melakukan request website, maka DNS server akan melihat history
dari client tersebut pada setiap server. Kemudian DNS server akan
8
Universitas Sumatera Utara
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
No
Client
1
25.135.64.0/19
2
132.0.0.0/8
Content Server
Domain Index
1
2
3
1
2
3
1
0.9
0
0
0.85
0
0
2
0.05
1
1
0
0.5
0
3
0.05
0
0
0.15
0.15
1
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
akses dan lain-lain [9].
9
Universitas Sumatera Utara
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
dikirimkan melalui jaringan komunikasi nyata ataupun simulasi [10]. Struktur
dari framework EvalVid ditunjukkan Gambar 2.4 [11].
10
Universitas Sumatera Utara
Video
Trace
loss/delay
User
Video
Decoder
tcpdump
VS
Network
(or simulation)
EvalvidAPI
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.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
pada file video real. Video trace file dan sender trace file yang kemudian
11
Universitas Sumatera Utara
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
digital pada aplikasi.
12
Universitas Sumatera Utara