6 BAB 2 LANDASAN TEORI Bab ini berisi mengenai teori

advertisement
BAB 2
LANDASAN TEORI
Bab ini berisi mengenai teori-teori khusus yang berhubungan dengan NS-3,
MPLS, IPTV, QoS dan QoE. Teori-teori ini dipilih oleh penulis berdasarkan atas
keterkaitan teori tersebut pada ruang lingkup topik yang disajikan secara lengkap dan
menyeluruh, sehingga dapat mendukung akan masalah penelitian yang dihadapi. Teoriteori yang diipilih dapat mendukung dalam penyelesaian tugas akhir ini dengan
menuliskan penjelasan serta mengutip definisi-definisi teori berdasarkan jurnal – jurnal
dan artikel.
2.1
Network Simulator – 3 (NS-3)
NS-3 adalah program simulasi jaringan yang open source, yang umumnya
banyak digunakan oleh para peneliti, akademisi, dan praktisi. NS-3 dibuat dengan
menggunakan bahasa pemrograman C++ dan juga menggunakan script python.
2.1.1 Dasar Prosedur Simulasi NS-3
Gambar 2.1 Dasar Prosedur Simulasi NS-3
6
7
Gambar diatas menunjukan alur dasar prosedur dalam pembuatan simulasi
jaringan dengan menggunakan NS-3. Berikut ini deskripsi dari masing-masing
tahapnya. Untuk dapat menggunakan NS-3, hal yang harus dilakukan adalah
mengunduh dan memasang NS-3 ke dalam sistem komputer. Tetapi dalam hal
ini, penulis menggunakan Network Simulator-3 (NS-3 Dev) sebagai versi yang
lebih baik daripada NS-3 dikarenakan untuk penyesuaian dengan pengembangan
yang ada didalam BPPT agar sama dan serasi atau seimbang. Berikut adalah
penjelasan secara detil mengenai NS-3 Dev:
NS-3 Dev merupakan sebuah simulator jaringan yang biasanya digunakan
dalam penelitian dan bidang pendidikan. NS-3 DEV merupakan perangkat lunak
tidak berbayar yang berlisensi di bawah GNU GPLv2.
Tujuan dari proyek NS-3 DEV adalah untuk mengembangkan penelitian
mengenai jaringan melalui simulasi sehingga mempermudah dalam melakukan
penelitian terhadap jaringan
yang akan dikembangkan nantinya. Para
pengembang NS-3 Dev berkomitmen untuk membuat perangkat simulasi ini agar
mudah digunakan sehingga dapat melayani kebutuhan para peneliti dalam
mengambangkan jaringan mereka.
Selain
itu,
infrastruktur perangkat
lunak
NS-3
Dev
mendorong
pengembangan model simulasi yang cukup realistis yang memungkinkan NS-3
Dev sebagai emulator jaringan realtime. NS-3 Dev dikembangkan menggunakan
bahasa C++ di lapisan inti dan script python. Setiap objek NS-3 Dev memiliki
seperangkat atribut (name, type, initial value). NS-3 Dev juga terintegrasi dengan
software/tools lain seperti wireshark untuk melihat trace output.
8
Sebagai tools simulasi jaringan, NS-3 Dev memiliki alur prosedur yang
sama dengan NS-3 dalam membuat simulasi jaringan, berikut merupakan
deskripsi dari tahap – tahap tersebut:
2.1.2 Mengaktifkan Logging
Langkah ini bertujuan untuk mengaktifkan fitur logging yang ada di NS-3
yang dapat ditampilkan pada konsol Linux dan juga dapat dicatat pada logging
file packet capture yang dapat dibaca oleh aplikasi Wireshark untuk melakukan
trace pada paket yang mengalir dalam simulasi yang dibuat. Logging dapat
diaktifkan dengan cara menyisipkan kode berikut pada kode program simulasi.
NS_LOG_COMPONENT_DEFINE ( “FirstScriptExample” );
LogComponentEnable(“UdpEchoClientApplication”,LOG_LEVEL_IN
FO);
LogComponentEnable(“UdpEchoServerApplication”,LOG_LEVEL_I
NFO);
2.1.3 Merancang Topologi Jaringan
Gambar 2.2 Perancangan Topologi Jaringan di NS-3
9
1)
Pembuatan Node
Node pada NS-3 Dev merupakan abstraksi dari end-system atau lebih sering
dikenal dengan host pada suatu jaringan komputer. Abstraksi ini diwakili dalam
C++ oleh kelas node yang menyediakan metode untuk mengelola representasi
perangkat komputasi di simulasi.
NodeContainer nodes;
nodes.Create (2);
Node merepresentasikan komputer yang akan ditambahkan sesuatu seperti
protokol, aplikasi, dan peripheral card. Topology helper NodeContainer
menyediakan sebuah cara yang mudah untuk membuat, mengontrol, dan
mengakses Node apapun yang telah dibuat untuk dapat menjalankan sebuah
simulasi.
Pada
baris
pertama
kode
di
atas
mendeklarasikan
sebuah
NodeContainer yang dipanggil sebagai nodes. Pada baris kedua memanggil
metode Create pada objek nodes dan meminta NodeContainer untuk membuat
dua buah node.Langkah selanjutnya dalam pembuatan sebuah topologi jaringan
adalah dengan menghubungkan node yang telah dibuat pada sebuah
jaringan.Bentuk paling sederhana dari sebuah jaringan yang dapat dibuat adalah
sebuah jalur point-to-point antara dua node.
2)
Penentuan Topology Helper
Dalam sebuah jaringan simulasi besar akan diperlukan banyak koneksi untuk
mengatur node, Net Device serta channel. NS-3 Dev menyediakan apa yang
disebut objek topology helpers untuk mengatur simulasi–simulasi jaringan
semudah mungkin. Dalam membuat topologi point-to-point, topology helper
PointToPointHelper diperlukan untuk membuat jalur untuk menghubungkan
10
kedua node. Istilah yang akan digunakan dalam hal ini adalah Net Device dan
Channel. Dalam dunia nyata, istilah tersebut sesuai dengan peripheral card dan
kabel jaringan. Umumnya, kedua hal ini berhubungan erat dan tidak dapat
ditukar-tukar satu sama lain, sebagai contoh menggunakan perangkat Ethernet
tetapi dengan channel wireless. Oleh karena itu, pada pembuatan jalur point-topoint akan menggunakan PointToPointHelper untuk mengkonfigurasi dan
menghubungkan objek NS-3 PointToPointNetDevice dan PointToPointChannel
yang ditunjukan pada kode di bawah ini.
PointToPointHelper pointToPoint;
pointToPoint.setDeviceAttribute (“DataRate”, StringValue
(“5Mbps”));
pointToPoint.setChannelAttribute (“Delay”, StringValue
(“2ms”));
Pada baris pertama diinisiasikan objek PointToPointHelper. Lalu pada baris
berikutnya kode di atas memberitahu objek PointToPointHelper untuk
menggunakan nilai “5Mbps” (lima megabit per detik) sebagai “DataRate”
ketika membuat sebuah objek PointToPointNetDevice. Kata “DataRate”
merupakan atribut dari PointToPointNetDevice. Lalu pada baris ketiga,
PointToPointHelper diminta untuk memakai nilai “2ms” (dua milidetik) sebagai
besarnya delay transmisi dari setiap channel point-to-point yang dibuat.
11
3)
Pemasangan Net Device
Untuk terhubung dengan jaringan, komputer harus memiliki perangkat keras
yang
disebut
dengan
peripheral
card.
Peripheral
card
tersebut
diimplementasikan beberapa fungsi jaringan, sehingga disebut Network Interface
Cards (NICs). NIC tidak akan berfungsi tanpa sebuah software driver untuk
mengontrol perangkat keras tersebut. Pada Unix (atau Linux), sebuah peripheral
hardware disebut sebagai device. Device dikontrol menggunakan device driver,
dan NIC dikontrol menggunakan network device driver yang disebut dengan net
device. Di NS-3 Dev, net Device meliputi baik software driver dan simulasi
hardware. Sebuah net device 'di-instalasi' pada sebuah node agar memungkinkan
node untuk berkomunikasi dengan node lainnya dengan simulasi melalui
channels. Abstraksi net device direpresentasikan dengan C++ oleh kelas
NetDevice. Kelas NetDevice menyediakan metode untuk mengatur koneksi ke
objek node dan channel. Untuk menampung objek NetDevice yang akan dibuat,
digunakanlah
NetDeviceContainer, seperti halnya pada NodeContainer untuk
menampung node yang telah dibuat. Kode di bawah ini akan menyelesaikan
pengkonfigurasian device dan channel.
NetDeviceContainer devices;
devices = pointToPoint.Install (nodes);
Metode install pada PointToPointHelper memiliki parameter yaitu
NodeContainer. PointToPointNetDevice akan terbentuk dan tersimpan pada
NetDeviceContainer sebanyak jumlah node yang ada dalam NodeContainer,
dalam hal ini sebanyak dua buah karena untuk topologi point-to-point. Sebuah
PointToPointChannel telah terbentuk dan dua buah PointToPointNetDevice telah
12
terpasang. Kedua device akan terkonfigurasi
untuk mengirimkan data dengan
kecepatan sebesar lima megabit per detik melalui channel yang telah terbentuk
yang memiliki delay sebesar dua milidetik.
4)
Pemasangan Protocol Stack
Setelah node dan device terkonfigurasi dengan baik, langkah berikutnya
yaitu memasang protokol pada node yang telah dibuat. Kode berikut berfungsi
untuk pemasangan protokol tersebut.
InternetStackHelper stack;
stack.Install (nodes);
InternetStackHelper adalah sebuah topology helper yang berfungsi
untuk memasangkan
protokol
Internet
pada
point-to-point
net
device.
Metode Install memiliki parameter yakni NodeContainer. Ketika dijalankan,
akan diinstall stack Internet seperti TCP (Transmission Control Protocol), UDP
(User Datagram Protocol), IP (Internet Protocol), dan sebagainya pada setiap
node yang ada dalam NodeContainer.
5)
Penentuan alamat IP
Berikutnya node yang telah dibuat akan dipasangkan alamat IP untuk
dapat
berkomunikasi
antar
node
satu
sama
lain.
Topology
helper
IPv4AddressHelper ini berfungsi untuk mengatur pengalokasian dari alamat IP.
Berikut ini kode yang bertujuan untuk menetapkan alamat IP pada node yang
telah dibuat.
IPv4AddressHelper address;
13
address.SetBase (“10.1.1.0”, “255.255.255.0”);
Pada baris pertama mendeklarasikan sebuah objek address helper yang
memberitahukan agar alamat IP yang dialokasikan adalah dengan jaringan
10.1.1.0 dan menggunakan subnet mask 255.255.255.0. Secara default alamat
yang dialokasikan akan dimulai dari satu dan akan bertambah secara statik, maka
alamat pertama yang dialokasikan dalam hal ini adalah 10.1.1.1, diikuti dengan
10.1.1.2, dan seterusnya. Sistem NS-3 dapat mengingat seluruh alamat IP yang
telah dialokasikan sehingga bila secara tidak sengaja menetapkan alamat IP yang
sama maka akan menimbulkan fatal error.
Lalu kode berikutnya adalah seperti berikut:
IPv4InterfaceContainer
interfaces
=
address.Assign
(devices);
Objek IPv4Interface dibutuhkan untuk mengasosiasikan antara alamat IP
dengan device. IPv4InterfaceContainer di atas berfungsi untuk menampung
daftar dari objek IPv4Interface sebagai referensi yang mungkin akan dipakai di
lain kesempatan. Sekarang, sebuah jaringan point-to-point sudah terbentuk
dengan baik. Yang diperlukan selanjutnya adalah aplikasi untuk menghasilkan
aliran data.
14
2.1.4 Membuat Aplikasi
Dalam NS-3 Dev abstraksi dasar untuk program pengguna yang
menghasilkan beberapa kegiatan yang akan disimulasikan adalah aplikasi.
Abstraksi ini diwakili dalam C++ oleh kelas Application yang menyediakan
metode untuk mengelola representasi versi NS-3 DEV pada aplikasi-aplikasi
setingkat user dalam simulasi. Pengembang diharapkan untuk mengkhususkan
kelas Application dalam pengertian pemrograman berorientasi obyek untuk
membuat aplikasi baru.Contoh spesialisasi dari class Application adalah seperti
UdpEchoServerApplication
dan
UdpEchoClientApplication.
Sama
seperti
sebelumnya, objek helper digunakan untuk mengkonfigurasi dan mengendalikan
sebuah objek dengan lebih mudah. Oleh karena itu, digunakanlah objek
UdpEchoServerHelper dan UdpEchoClientHelper.
1) UdpEchoServerHelper
Kode di bawah ini adalah untuk melakukan pemasangan sebuah
UdpEchoServerApplication pada salah satu dari node yang telah dibuat.
UdpEchoServerHelper echoServer (9);
ApplicationContainer serverApps = echoServer.Install
(nodes.Get (1));
serverApps.Start (Seconds (1.0));
serverApps.Stop (Seconds (10.0));
Baris
pertama
UdpEchoServerHelper.
pada
Seperti
potongan
biasa,
kode
ini
di
bukan
atas
mendeklarasikan
aplikasi
itu sendiri,
melainkan sebuah objek yang dapat membantu untuk membuat aplikasi.
15
Lalu atribut yang ada pada constructor helper adalah nomor port yang diketahui
baik server maupun client. Seperti pada objek helper lainnya, objek
UdpEchoServerHelper juga memiliki metode Install. Dijalankannya metode ini
akan menginisiasi aplikasi echo server dan memasangkannya pada sebuah node.
Pada baris kedua, ApplicationContainer dideklarasikan dan berisi aplikasi server.
Metode Install mempunyai parameter NodeContainer yang akan memasang
aplikasi server pada node yang berada pada NodeContainer dengan indeks 1.
Aplikasi tersebut membutuhkan sebuah waktu untuk memulai menghasilkan
aliran data dan juga waktu untuk berhenti. Pada kode di atas menggunakan
casting Seconds untuk mengkonversikan format bilangan pada C++ ke objek
Time pada NS-3. Baris 3 dan 4 pada kode di atas akan membuat aplikasi
echo server untuk menyalakan pada detik ke-1 pada simulasi dan berhenti pada
detik ke-10 pada simulasi.
2)
UdpEchoClientHelper
Pemasangan aplikasi echo client sama halnya seperti pada server.
Terdapat
UdpEchoClientApplication
yang
dikendalikan
oleh
UdpClientEchoHelper.
UdpEchoClientHelper echoClient (interfaces.GetAddress
(1), 9);
echoClient.SetAttribute (“MaxPackets”, UintegerValue
(1));
echoClient.SetAttribute (“Interval”, TimeValue (Seconds
(1.)));
sebuah
16
echoClient.SetAttribute (“PacketSize”, UintegerValue
(1024));
ApplicationContainer clientApps =
echoClient.Install (nodes.get (0));
clientApps.Start (Seconds (2.0));
clientApps.Stop (Seconds (10.0));
Pada baris pertama kode di atas terdapat dua buah atribut yang ditetapkan
pada saat pembuatan UdpEchoClientHelper. Secara internal di dalam helper,
parameter diteruskan untuk menetapkan atribut RemoteAddress dan RemotePort.
Dalam contoh ini, RemoteAddress adalah alamat dari server dan paket data
akan dikirimkan ke RemotePort 9. Atribut MaxPackets memberitahukan
kepada client jumlah paket maksimum yang diperbolehkan untuk dikirimkan
selama simulasi. Atribut Interval memberitahu pihak client berapa lama jeda
waktu pengiriman paket. Atribut PacketSize memberitahukan client seberapa
besar ukuran tiap paket yang akan dikirimkan. Pada contoh kode di atas
menunjukan bahwa client akan mengirimkan sebuah paket yang berukuran 1024
byte. Lalu seperti pada echo server, echo client juga memiliki waktu kapan
aplikasi client mulai menyala dan kapan akan berhenti.
17
2.1.5 Menjalankan Simulasi
Untuk menjalankan simulasi NS-3 digunakan fungsi global seperti
berikut:
Simulator::Run ();
Simulator::Destroy ();
2.1.6 Dasar Model Simulasi NS-3
Gambar 2.3 Dasar Model Simulasi NS-3
Gambar di atas menunjukan dasar dari model simulasi dengan
menggunakan NS-3. Semua simulasi jaringan yang dibuat dengan
menggunakan NS-3 mengikuti alur model tersebut. Dimana paket yang
dihasilkan oleh Application akan melewati berbagai susunan protokol
sebelum dikirimkan melalui Channel yang merupakan sebuah media yang
18
menjadi tempat mengalirnya data dalam suatu jaringan. Dalam NS-3 Dev
abstraksi komunikasi dasar subnetwork disebut channel dan diwakili di
C++ oleh kelas channel, oleh NetDevice. Application, Protocol stack, dan
NetDevice tersebut terdapat dalam sebuah Node yang telah dibuat.Lalu
paket tersebut akan dikirimkan ke Node yang dituju, yang pertama-tama
akan diterima oleh NetDevice Node yang dituju, kemudian melewati
lapisan protokol, dan akan dibaca dan ditampilkan isi dari paket tersebut
oleh Application juga. Channel berfungsi sebagai media perantara yang
menjembatani antara Node yang satu dengan yang lain. Untuk memperjelas
teori diatas, bisa diberikan sebuah contoh pengembangan model simulasi
jaringan LAN yang menggunakan protocol CSMA/CD. Topologi jaringan
LAN ini bisa diberikan contoh pada gambar dibawah.
Gambar 2.4 Simple Model Topology
NetDevice
: router – router
Channel
: Media/ kabel yang digunakkan, untuk setting
parameter-parameter Datarate dan Delay
19
Nodes
: host – host
Protocol Stack: IP Address
Application
: UDP atau TCP sebagai format pengiriman paket dan
terdapat parameter-parameter seperti MaxPacket, Interval, PacketSize.
Ketika setting IP pada Device Router (Layer 3) dan Nodes maka akan
secara otomatis MAC Address terbentuk (Layer 2). Jika semua Attribute
terpenuhi maka jaringan akan saling terkoneksi dan menampilkan hasil
ouput timing dari source ke destination yang dipengaruhi parameterparamer yang ada di Channel dan Application.
(www.nsnam.org/documentation/)
2.2
MultiProtocol Label Switching (MPLS)
MPLS adalah teknologi pengiriman paket pada jaringan backbone
berkecepatan tinggi. Asas kerjanya menggabungkan beberapa kelebihan dari
sistem komunikasi circuit-switched dan packet-switched yang melahirkan
teknologi yang lebih baik dari keduanya. Sebelumnya, paket-paket diteruskan
dengan protokol routing seperti Open Shortest Path First (OSPF), Intermediate
System to Intermediate System (IS-IS), Border Gateway Protocol (BGP), atau
Exterior Gateway Protocol (EGP). Protokol routing berada pada lapisan
network (ketiga) dalam sistem OSI, sedangkan MPLS berada di antara lapisan
kedua dan ketiga.
20
MPLS merupakan sebuah teknik yang menggabungkan kemampuan
manajemen switching yang ada dalam teknologi ATM dan fleksibilitas network
layer yang dimiliki teknologi IP. Konsep utama MPLS ialah teknik peletakan
label dalam setiap paket yang dikirim melalui jaringan ini. MPLS bekerja
dengan cara memberi label untuk paket-paket data, untuk menentukan rute dan
prioritas pengiriman paket tersebut. Label tersebut akan memuat informasi
penting yang berhubungan dengan informasi routing suatu paket, diantaranya
berisi tujuan paket serta prioritas paket mana yang harus dikirimkan terlebih
dahulu.
Teknik ini biasa disebut dengan label switching. Dengan informasi label
switching yang didapat dari router network layer, setiap paket hanya dianalisa
sekali di dalam router dimana paket tersebut masuk dalam jaringan untuk
pertama kali. Router tersebut berada di tepi dan dalam jaringan MPLS yang
biasa disebut label switching router (LSR).
Network MPLS terdiri atas sirkuit yang disebut label-switched path
(LSP), yang menghubungkan titik-titik yang disebut label-switched router
(LSR). LSR pertama dan terakhir disebut ingress dan egress. Setiap LSP
dikaitkan dengan sebuah forwarding equivalence class (FEC), yang merupakan
kumpulan paket yang menerima perlakukan forwarding yang sama di sebuah
LSR. FEC diidentifikasikan dengan pemasangan label.
Untuk menyusun LSP, label-switching table di setiap LSR harus
dilengkapi dengan pemetaan dari setiap label masukan ke setiap label
keluaran. Proses melengkapi tabel ini dilakukan dengan protokol distribusi
21
label hampir serupa dengan protokol persinyalan di ATM, sehingga sering
juga disebut protokol persinyalan MPLS.
2.2.1
Cara kerja MPLS
Prinsip atau cara kerja MPLS ialah menggabungkan kecepatan
switching pada layer 2 dengan kemampuan routing dan skalabilitas pada
layer 3. Cara kerjanya adalah dengan menyelipkan label di antara header
layer 2 dan layer 3 pada paket yang diteruskan. Label dihasilkan oleh
LSR, di mana bertindak sebagai penghubung jaringan MPLS dengan
jaringan luar. Label berisi informasi tujuan node selanjutnya kemana
paket harus dikirim. Kemudian paket diteruskan ke node berikutnya, di
node ini label paket akan dilepas dan diberi label yang baru yang berisi
tujuan berikutnya. Paket-paket diteruskan dalam LSP.
Gambar 2.5 MPLS Network (host.mplsexperts.com/~mplsex/wp-content/uploads/2012/01/MPLS2.jpg)
2.2.2
Komponen MPLS
Adapun komponen – komponen MPLS yaitu sebagai berikut :
22
1. Label Switched Path (LSP): Merupakan jalur yang melalui satu
atau serangkaian LSR dimana paket diteruskan oleh label
swapping dari satu MPLS node ke MPLS node yang lain.
2. Label Switching Router (LSR): MPLS node yang mampu
meneruskan paket-paket layer-3
3. MPLS Edge Node atau Label Edge Router (LER): MPLS node
yang menghubungkan sebuah MPLS domain dengan node yang
berada diluar MPLS domain
4. MPLS Egress Node: MPLS node yang mengatur trafik saat
meninggalkan MPLS domain
5. MPLS Ingress Node: MPLS node yang mengatur trafik saat akan
memasuki MPLS domain
6. MPLS label: merupakan label yang ditempatkan sebagai MPLS
header
7. MPLS node: node yang menjalankan MPLS. MPLS node ini
sebagai control protokol yang akan meneruskan paket berdasarkan
label.
8. Edge Label Switching Routers (ELSR) ini
perbatasan
jaringan
MPLS,
dan
terletak pada
berfungsi untuk
mengaplikasikan label ke dalam paket-paket yang masuk ke
dalam
jaringan
MPLS. Sebuah MPLS Edge Router akan
menganalisa header IP dan akan menentukan label yang tepat
untuk dienkapsulasi ke dalam paket tersebut ketika sebuah paket
23
IP masuk ke dalam jaringan MPLS. Ketika paket yang
berlabel meninggalkan jaringan MPLS, maka Edge Router
yang
lain
akan
menghilangkan label
yang disebut Label
Switches. Perangkat Label Switches ini berfungsi untuk
menswitch paket-paket ataupun sel-sel yang telah dilabeli
berdasarkan label tersebut. Label Switches ini juga mendukung
Layer 3 routing ataupun Layer 2 switching untuk ditambahkan
dalam label switching. Operasi dalam label switches memiliki
persamaan dengan teknik switching yang biasa dikerjakan dalam
ATM.
9. Label Distribution Protocol (LDP) merupakan suatu prosedur
yang digunakan untuk menginformasikan ikatan label yang
telah dibuat dari satu LSR ke LSR lainnya dalam satu jaringan
MPLS. Dalam arsitektur jaringan MPLS, sebuah LSR yang
merupakan tujuan atau hop selanjutnya akan
mengirimkan
informasi tentang ikatan sebuah label ke LSR yang sebelumnya
mengirimkan pesan untuk mengikat label tersebut bagi rute
paketnya. Teknik ini biasa disebut distribusi label downstream on
demand.
Beberapa keunggulan MPLS adalah menyediakan pelayanan ISP
yang baru yang tidak bisa dilakukan dengan teknik routing IP yang lama.
Dengan pemisahan antara komponen control dan komponen forwarding,
MPLS mendukung fleksibilitas perkembangan fungsi komponen control
24
tanpa mengubah mekanisme forwarding. Sehingga MPLS dapat
meningkatkan
kemampuan
forwarding
yang
dibutuhkan
untuk
mengantisipasi perkembangan internet yang sangat pesat. MPLS
menggabungkan
teknologi
teknologi
routing
layer
switching/forwarding
3
pada
standar
layer
OSI
2
dengan
(OpenSystem
Interconnection). Keunggulan lainnya yaitu dapat mengurangi banyaknya
proses pengolahan di IP routers, serta memperbaiki proses pengiriman
suatu paket data, dan juga dapat menyediakan QoS dalam jaringan
backbone sehingga setiap layanan paket yang dikirimkan akan mendapat
perlakuan sesuai dengan skal prioritas.
2.2.3
MPLS – Traffic Engineering
Ketika berbicara tentang pertumbuhan dan pengembangan
jaringan, terdapat dua teknik yang dapat dilakukan, yaitu network
engineering dan traffic engineering.
Network engineering adalah proses memanipulasi jaringan yang
kita miliki agar sesuai dengan trafik yang ada. Kita membuat perkiraan
akan trafik yang lewat pada jaringan kita, lalu kita menambahkan jalur
baru yang sesuai maupun peralatan jaringan seperti router, switch dan
yang lainnya. Network Engineering biasanya selesai dalam jangka waktu
yang lama karena waktu untuk instalasi jalur yang baru maupun instalasi
peralatan jaringan.
Traffic engineering adalah proses memanipulasi trafik agar sesuai
dengan jaringan yang kita miliki. Tidak peduli seberapa keras kita
25
berusaha, trafik jaringan tidak pernah akan sama dengan perkiraan kita.
Terkadang suatu trafik meningkat melebihi prediksi sedangkan kita tidak
dapat melakukan upgrade agar jaringan kita menjadi lebih cepat. Selain
itu, akan terjadi kemacetan pada jalur utama (best path) sehingga
menyebabkan jalur lain tidak digunakan.
Traffic engineering diciptakan bukan hanya untuk teknologi
MPLS, namun sudah terlebih dahulu ada pada teknologi ATM. Hal
sederhana seperti mengubah metric pada sebuah routing protocol juga
dapat disebut sebagai traffic engineering. Traffic engineering dengan
MPLS dapat sama efektifnya seperti ATM, namun tanpa terjadi
kekurangan seperti pada IP over ATM.
Tiga contoh penerapan MPLS-TE di kehidupan nyata adalah:
•
Mengoptimalkan penggunaan dari jaringan kita.
•
Menangani
kemacetan
trafik
yang
tidak
diperkirakan
sebelumnya.
•
Menangani jalur dan node yang rusak.
Mengoptimalkan penggunaan jaringan dapat kita lakukan dengan
membuat full-mesh dari MPLS TE-LSP diantara router – router yang
ada, lalu memutuskan jumlah bandwidth yang akan digunakan diantara
sepasang router, Kemudian biarkan LSP tersebut mencari jalur terbaik
berdasarkan jumlah bandwidth yang mereka butuhkan. Dengan membuat
TE-LSP menjadi full-mesh kita telah memanfaatkan dengan baik
26
infrastruktur yang kita miliki, sehingga dapat menunda pembuatan jalur
baru untuk beberapa saat yang tentunya dapat menghemat pengeluaran.
Pendekatan lain dalam membangun MPLS-TE adalah untuk
menangani kemacetan yang tidak diperkirakan sebelumnya. Daripada
membangun sebuah topologi full-mesh LSP antar router, lebih baik kita
membiarkan Interior Gateway Protocol (IGP) untuk meneruskan trafik
sesuai keinginan IGP dan membuat TE-LSP setelah kemacetan terjadi.
Dengan begitu, kita tetap membiarkan jaringan kita hanya terdiri dari IGP
routing, karena IGP routing lebih sederhana bila dibandingkan dengan
full-mesh
TE-LSP.
Bila terjadi
peningkatan
trafik
yang dapat
menimbulkan kemacetan di suatu jalur dan jalur yang lain kosong, kita
dapat membangun tunnel MPLS–TE untuk memindahkan trafik dari jalur
yang macet ke jalur yang kosong yang mana IGP tidak memilih jalur
kosong tersebut.
Fungsi ketiga dari MPLS-TE adalah untuk quick recovery bila
terjadi kerusakan jalur dan node. MPLS-TE memiliki komponen yang
disebut dengan Fast Reroute (FRR) yang berfungsi untuk mengurangi
packet loss secara drastis apabila sebuah jalur atau node rusak.
Cara kerja dari traffic engineering terbagi menjadi tiga tahapan:
•
Information distribution
27
MPLS TE memungkinkan router untuk membangun jalur
dengan menggunakan informasi selain jalur terpendek, yaitu dengan
menggunakan informasi yang didistribusikan sehingga router dapat
lebih pintar dalam melakukan kalkulasi jalur.
MPLS
TE
menggunakan
OSPF
atau
IS-IS
untuk
mendistribusikan informasi mengenai resource yang tersedia di
jaringan. Tiap informasi tersebut akan didistribusikan dalam bentuk
per-interface. Tiga hal penting yang didistribusikan adalah:
-
Ketersediaan bandwidth per interface
-
Attribute flag per interface
-
Administrative weight per interface
Ketiga hal tersebut akan didistribusikan dalam keadaan
sebagai berikut:
-
Ketika suatu jalur up atau down
-
Ketika ada konfigurasi yang berubah
-
Ketika secara periodik IGP menyebarkan informasi
-
Ketika bandwidth berubah secara signifikan
•
Path calculation and setup
Ketika kita melakukan penentuan jalur dalam pembuatan tunnel,
kita dapat menggunakan dua cara yaitu, eksplisit dan dinamis.
Dengan cara eksplisit, kita harus mendefinisikan arah jalur dari
tunnel yang akan kita buat untuk dilewatkan trafik data. Sedangkan
28
bila dilakukan dengan cara dinamis, maka jalur yang akan
digunakan oleh suatu tunnel akan dihitung terlebih dahulu oleh
head-end router. Head-end router tersebut akan melihat database
dari MPLS TE yang dipelajari dari routing protocol seperti OSPF
atau IS-IS. Proses dalam IOS Cisco yang berperan dalam
perhitungan dari jalur TE disebut PCALC.
•
Forwarding traffic down a tunnel
Terdapat tiga metode untuk mengalirkan trafik melalui suatu tunnel.
Ketiga metode itu adalah:
-
Static route
-
Policy routing
-
Autoroute
(Ghein, 2006)
2.3
Internet Protocol Television (IPTV)
IPTV adalah layanan multimedia seperti TV, video, grafis, data yang
disajikan melalui jaringan berbasis IP yang dikelola untuk memberikan tingkat
kualitas dalam hal layanan, kualitas interaktivitas, dan kehandalan. IPTV juga
merupakan konvergensi antara teknologi telekomunikasi dengan penyiaran
(broadcast).
Fitur – fitur atau layanan – layanan yang terdapat pada IPTV:
29
o Live TV adalah IPTV melayani pengiriman channel-channel atau siaran –
siaran yang live menggunakan teknologi protocol internet yaitu IGM versi
2.
o VOD (Video On Demand) adalah IPTV melayani pengiriman channel –
channel atau siaran – siaran yang tidak live, di mana siaran-siaran atau
channel – channel disimpan di dalam server dan dapat disaksikan oleh
konsumen melalui teknologi RTSP (Real Time Streaming Protocol)
o NPVR (Network Personal Video Recording) adalah fitur IPTV di mana
siaran langsung dapat disimpan pada jaringan server yang kemudian dapat
diakses oleh pelanggan sesuai waktu yang mereka tentukan tanpa biaya
tambahan seperti memilki PVR pribadi yang terpasang di jaringan.
IP video service quality metrics dengan fokus utama pada kebutuhan yang
berhubungan kepada persepsi pengguna dengan kinerja jaringan dan operasi
yang telah dianalisis. QoE pada IPTV tidak hanya ditentukan oleh kualitas
video, tetapi juga tergantung pada faktor – faktor lain seperti waktu perubahan
channel, keakuratan Electronic Program Guide (EPG), ketanggapan untuk
pause, resume, fast forward, fast rewind, record, dan menghentikan perintah
yang dikeluarkan oleh pengguna. (D. Leghroudi, 2011)
2.4
Quality of Service (QoS)
Ketika pertama kali mendengar kata QoS atau Quality of Service, kita
pasti mendefinisikannya sebagai kualitas dari suatu layanan. Sebenarnya, QoS
sangat terkenal dan menyimpan istilah yang beraneka ragam yang meiliki
30
perspektif yang berbeda dari berbagai macam segi bidang terutama dalam segi
jaringan.
Jika dilihat dari segi jaringan, QoS mengacu kepda kemampuan memberikan
layanan berbeda kepada lalu lintas jaringan dengan kelas – kelas berbeda. Tujuan
akhir dari QoS adalah memberikan network service yang baik dan terencana
dengan melalui parameter – parameter QoS yang diatur di dalam QoS tersebut.
Adapun berikut ini merupakan parameter – parameter yang digunakan dalam
pengukuran QoS yaitu sebagai berikut:
-
Packet Delivery Ratio (PDR), merupakan perbandingan antara paket data
yang terkirim (paket data yang berhasil diterima oleh node tujuan) dengan
jumlah paket data yang dikirimkan oleh node sumber (paket data yang digenerate node sumber).
-
Throughput, yaitu kecepatan (rate) transfer data efektif, yang diukur dalam
bps. Troughput merupakan jumlah total kedatangan paket yang sukses yang
diamati pada destination selama interval waktu tertentu dibagi oleh durasi
interval waktu tersebut.
-
Packet Loss, merupakan suatu parameter yang menggambarkan suatu
kondisi yang menunjukkan jumlah total paket yang hilang, dapat terjadi
karena collision dan congestion pada jaringan dan hal ini berpengaruh pada
semua aplikasi karena retransmisi akan mengurangi efisiensi jaringan secara
keseluruhan meskipun jumlah bandwidth cukup tersedia untuk aplikasiaplikasi tersebut. Umumnya perangkat jaringan memiliki buffer untuk
31
menampung data yang diterima. Jika terjadi kongesti yang cukup lama,
buffer akan penuh, dan data baru tidak akan diterima.
-
Delay (latency), adalah waktu yang dibutuhkan data untuk menempuh jarak
dari asal ke tujuan. Delay dapat dipengaruhi oleh jarak, media fisik, kongesti
atau juga waktu proses yang lama. Adapun komponen delay adalah sebagai
berikut:
Macam – Macam Delay:
Jenis Delay
Keterangan
Algorithmic
Delay ini disebabkan oleh
delay
standar
digunakan.
Algorithmic
codec
yang
Contohnya,
delay
untuk
G.711 adalah 0 ms
Packetization
Delay yang disebabkan oleh
delay
peng-akumulasian bit voice
sample ke frame. Seperti
contohnya, standar G.711
untuk payload 160 bytes
memakan waktu 20 ms.
Serialization
Delay ini terjadi karena
delay
adanya
dibutuhkan
waktu
yang
untuk
pentransmisian paket IP dari
32
sisi originating (pengirim).
Propagation
Delay ini terjadi karena
delay
perambatan atau perjalanan.
Paket IP di media transmisi
ke alamat tujuan. Seperti
contohnya delay propagasi
di
dalam
kabel
akan
memakan waktu 4 sampai 6
µs per kilometernya.
Coder
Waktu yang diperlukan oleh
(Processing)
Digital Signal Processing
Delay
(DSP) untuk mengkompres
sebuah block PCM, nilainya
bervariasi bergantung dari
codec
dan
kecepatan
prosessor
Tabel 2.1 Macam-macam Delay
(Vegesna, 2001)
2.5
Quality of Experience (QoE)
QoE adalah pengukuran tingkat kepuasan yang digunakan untuk
menentukan seberapa baik jaringan untuk memenuhi persyaratan pada pengguna
akhir yang disediakan oleh provider. QoE menunjukkan ukuran kinerja dari titik
33
layanan sudut pandang pengguna akhir. (3GPP, 2009) QoE mempertimbangkan
koneksi end-to-end dan aplikasi yang sedang berjalan dalam koneksi jaringan
dan perangkat multimedia dengan elemen seperti video Internet yang disediakan
oleh provider.
Gambar 2.6 Merupakan salah satu contoh QoE dengan kualitas baik dan buruk
dari sisi pelanggan. (IneoQuest Technology.Inc,)
Sedangkan QoS terletak pada tingkat ukuran kinerja jaringan. Ukuran
QoE merupakan metric dari QoS yang dapat mempengaruhi persepsi pengguna
dalam tingkat layanan, seperti harapan pengguna, keefektivan, kinerja dan
content yang disediakan oleh provider. (Tobias Hoßfeld, David Hock, Phuoc
Tran-Gia, Kurt, 2008)
34
Gambar 2.7 Perspektif pengguna terhadap QoS
Gambar 2.8 Korelasi QoS - QoE
Dari gambar di atas merupakan keterkaitan QoS dan QoE yang dapat
menentukan kepuasan dari pengguna. Faktor teknikal QoS berupa parameter –
35
parameter seperti delay, jitter, packet loss, bandwidth, throughput, dll.
Sedangkan faktor non-teknikal berupa pengalaman, komunitas, usia dan harga.
Kedunya saling terkait untuk membentuk suatu kualitas nilai dari pelanggan
terhadap layanan yang diberikan. QoE dapat diukur secara subjyektif dan
objyektif. Secara subjyektif adalah uji yang dilakukan oleh pelanggan untuk
mengukur tingkat layanan yang diberikan oleh provider. Akan tetapi uji secara
subjyektif memiliki kendala karena memakan waktu dan mahal dan uji harus
dilakukan oleh sejumlah besar pengguna untuk hasil statistik yang relevan.
Sedangkan secara objyektif adalah uji yang dilakukan dengan algoritma untuk
kepentingan pelanggan.
Mencoba untuk meniru atau memprediksi persepsi pengguna berdasarkan
pada sifat kunci dari reference dan/atau outcome. Biasanya, uji kualitas
subjyektif merupakan dasar untuk metode uji persepsi secara objyektif.
Reference adalah content tidak mengalami gangguan seperti gambar atau video
serta layanan pada aktivitas download. Sedangkan outcome adalah content
mengalami gangguan seperti gambar atau video serta delay yang terjadi pada
aktivitas download (Fiedler, Markus; Hossfeld, Tobias; Tran-Gia, Phuoc, 2010).
36
2.5.1
Framework atau Kerangka QoE Monitor
Gambar 2.9 Framework QoE Monitor
Berdasarkan gambar diatas, tujuan utama dari model tersebut
yaitu untuk membandingkan perbedaan – perbedaan yang terdapat pada
saat kualitas video yang dikirim oleh provider dengan kualitas video yang
diterima oleh pengguna akhir. Di mana, proses kerjanya yaitu dimulai
dari video asli yang di encode oleh codec tertentu contohnya dengan
menggunakan ffmpeg. Kemudian dipecah menjadi beberapa segment
paket oleh packetizer dimana terdapat beberapa parameter didalam
header setiap paket yang dipecah seperti packet ID dan timestamp,
kemudian dienkapsulasi untuk diteruskan kedalam jaringan melalui
Multimedia Application Sender (Sender Trace yang berisi siapa
pengirimnya), yang akan diterima oleh Multimedia Application Receiver
(Receiver Trace yang berisi siapa penerimanya). Adapun terdapat
Multimedia File Rebuilder yang menampung semua trace dari paket,
37
sender, dan receiver yang akan membangun ulang video dimana jika
terjadi beberapa video yang mengalami kerusakan untuk mencegah hal
tersebut terjadi yang kemudian video yang telah dikonstruksi ulang di
codec terlebih dahulu sebelum disampaikan ke pengguna akhir, yang
kemudian akan dilihat perbandingan hasil video yang dikirim dan
diterima oleh metode SSIM. (D. Saladino, 2012)
2.5.2
Metode Pengukuran pada Gambar atau Video
Oleh karena itu QoE memiliki metode pengukuran secara objektif
maupun subjektif khusunya pada gambar atau video. Pengukuran secara
objektif melalui algortima ataupun metric penghitungan sedangkan
subjektif melalui persepsi pengguna.
Metode pengukuran secara subjektif pada video atau gambar:
1. DSCQS (Double Stimulus Continuous Quality Scale) adalah
metode penialian QoE secara subjective dengan menampilkan
video di uji coba dan ditampilkan selama 10 detik kepada
pengguna dengan menilai kualitas atau perubahan kualitas yang
terjadi.
2. SSCQE (Single Stimulus Continuous Quality Evaluation) adalah
metode penilaian QoE secara subjective dengan menampilkan
video terus menerus untuk disajikan kepada pengguna.
(Th. Alpert, J.-P. Evain 1997)
38
Metode SSCQE diklaim lebih merepresentasikan monitoring
kualitas aplikasi yang lebih baik. Nantinya nilai dari pengukuran
secara subjective akan di ubah ke MOS.
Metodelogi untuk penilaian kualitas:
1. Full Reference (FR) adalah metodelogi untuk menghitung
perbedaan kualitas dengan membandingkan setiap pixel pada
setiap gambar dari video yang terdistorsi untuk pixel yang sesuai
pada video asli.
2. Reduced Reference (RR) adalah metodelogi untuk mengekstrak
beberapa fitur dari kedua video dan membandingkannya untuk
memberikan suatu nilai kualitas.
3. No-Reference (NR) adalah metodelogi untuk mencoba menilai
suatu kualitas dari video yang terdistorsi tanpa ada suatu reference
untuk video asli.
Metode pengukuran secara objektif pada video atau
gambar:
1. MSE (Mean Squared Error) adalah salah satu metode pengukuran
secara objective dengan mengukur kemiripan gambar khusunya
untuk proses gambar dan video. Menggunakan metode full
reference.
39
2. PSNR (Peak to Signal Noise Ratio) adalah salah satu metode
pengukuran secara objective dengan mengukur kualitas video
yang berdasarkan kesalahan rata – rata diantara video asli dengan
video yang di optimasi. Merupakan variasi pengembangan dari
MSE dan menggunakan metode full reference.
3. SSIM (Structural Similarity Index Metric) adalah metode
pengukran secara objective berdasarkan distorsi struktural,
pencahayaan, kontras antara dua gambar. Menggunakan metode
full-reference. Bekerja lebih akurat dibandingkan MSE dan
PNSR. SSIM banyak digunakan untuk mengukur kualitas image.
(C. Sasi Varnan, A. J., 2011)
2.5.3
Format Video atau Gambar
Beberapa format video untuk standar internasional coding seperti,
MPEG-1, MPEG-2, MPEG-4, H.263 dan H.264 telah dikembangkan di
tahun – tahun terakhir ini. Standar-standar ini, berdasarkan hybrid
motion-compensated video coding, yang telah ditingkatkan efisiensi
coding-nya dalam aplikasi dari siaran untuk penyimpanan. H.264 atau
MPEG-4 Advanced Video Coding standard (H.264/AVC) disebut
sebagai ITU-T. Rekomendasi H.264 dan ISO / IEC 14496-10., video
standar terbaru coding bersama-sama dikembangkan oleh ITU-T Video
Coding Experts Grup (VCEG) dan ISO / IEC Moving Picture Experts
Group (MPEG). H.264/AVC telah mencapai suatu kemajuan mengenai
40
efisiensi coding, ketahanan kesalahan, dan peningkatan fleksibilitas dan
ruang lingkup yang penerapannya relative lebih luas terhadap
pendahulunya. Ini mencakup semua aplikasi video sering mulai dari
layanan mobile dan IPTV video conference, HDTV.
(Luis Teixeira, A. L.-R., 2009).
Download