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).