BAB 2 DASAR TEORI 2.1 Konsep Dasar Multicast 2.1.1 Pengertian Multicast merupakan mekanisme pengiriman aliran paket data dari satu sumber ke suatu grup yang berisi kumpulan host penerima. Keuntungan utama dari IP multicast adalah kemampuannya untuk melakukan penghematan bandwidth. Ini karena sumber multicast cukup mengirimkan satu aliran paket data saja untuk suatu grup berisi n penerima yang menginginkan data tersebut. Aliran data tersebut akan direplikasi oleh router-router multicast yang memiliki host anggota grup tersebut pada jaringan di bawahnya. Bila menggunakan metode unicast, maka sumber harus mengirimkan sebanyak n data untuk n penerima. Bila menggunakan metode broadcast, maka setiap node di jaringan akan menerima data tersebut, meskipun sebenarnya node tersebut tidak meminta data tersebut. Dengan demikian, jaringan akan terhindar dari beban trafik yang tidak perlu. Gambar 2.1 - Ilustrasi pengiriman paket multicast di jaringan Oleh karena itu, IP multicast dimanfaatkan oleh aplikasi berbasis many-to-many ataupun one-to-many seperti videoconference, distance learning, pendistribusian software, dan sebagainya. 5 2.1.2 Grup Multicast Multicast didasarkan pada konsep grup. Keberadaan sebuah grup penerima menunjukkan adanya keinginan dalam menerima aliran data tertentu. Grup ini tidak dibatasi oleh topologi fisik ataupun geografis. Host anggota grup tersebut dapat berada di mana saja di Internet. Host yang menginginkan untuk menerima aliran data multicast yang ditujukan ke suatu grup tertentu harus bergabung (join) dengan grup tersebut terlebih dahulu. Mekanisme koneksi host dengan router multicast untuk bergabung ataupun meninggalkan (leave) suatu grup diatur oleh protokol tertentu. Untuk IPv4, protokol tersebut adalah IGMP (Internet Group Message Protocol). Sedangkan untuk IPv6, hal ini dilaksanakan oleh MLD (Multicast Listener Discovery). 2.1.3 Pohon Distribusi Multicast Pada IP unicast, trafik dirutekan sepanjang jalur dari node pengirim ke penerima. Hal berbeda terjadi pada IP multicast, di mana sumber mengirimkan trafik multicast ke suatu grup penerima yang diwakili oleh sebuah alamat grup multicast. Untuk mengirimkan trafik multicast ke seluruh penerima, digunakan pohon distribusi multicast untuk mendeskripsikan jalur yang ditempuh oleh trafik IP multicast di dalam jaringan. Ada dua tipe dasar pohon distribusi multicast, yaitu antara lain source tree dan shared tree. Source Tree Source tree merupakan bentuk pohon distribusi multicast yang paling sederhana, di mana sumber multicast akan menjadi pusat (root) dari pohon distribusi yang cabangnya akan membentuk suatu spanning tree sepanjang link di jaringan hingga mencapai penerima. Karena tipe pohon distribusi ini menggunakan konsep shortest path untuk mencapai penerima multicast, maka source tree sering juga disebut sebagai shortest path tree (SPT). 6 Gambar 2.2 - Ilustrasi pembentukan source tree Gambar di atas mengilustrasikan source tree. Notasi khusus (S,G) menunjukkan S sebagai alamat IP dari sumber trafik multicast, sementara G adalah grup multicast tujuan dari sumber tersebut. Karena sumber S disebutkan secara eksplisit, maka SPT yang berbeda akan muncul untuk setiap sumber multicast yang mengirimkan trafik ke grup yang berbeda. Sehingga, akan dihasilkan pohon distribusi yang berbeda untuk setiap sumber. Shared Tree Tidak seperti source tree yang berpusat pada sumber multicast, shared tree menggunakan pusat trafik yang digunakan bersama (common root) yang ditempatkan di titik tertentu pada jaringan. Bergantung pada protokol routing yang digunakan, titik pusat ini biasa disebut Rendezvous Point (RP) ataupun core. Berdasarkan sifat aliran trafik multicastnya, shared tree dibagi menjadi menjadi dua : unidirectional shared tree (satu arah) dan bidirectional shared tree (dua arah). Pada unidirectional shared tree, atau lebih sering disebut sebagai shared tree (ST) saja, trafik multicast hanya akan mengalir ke penerima dari arah downstream RP yang digunakan. Pada bidirectional shared tree, atau biasa disingkat BST, trafik dapat 7 mengalir ke arah upstream ataupun downstream sepanjang shared tree yang digunakan. Yang dimaksud dengan upstream RP adalah interface RP yang menerima trafik multicast sumber (incoming interface). Sedangkan downstream adalah interface tempat RP mengirimkan trafik tersebut ke node penerima (outgoing interface). Gambar 2.3 - Unidirectional Shared Tree Trafik multicast dari sumber host A dan F dikirim menuju ke pusat pohon distribusi (router D), baru kemudian trafik tersebut dikirimkan ke masing-masing penerima. Karena seluruh sumber multicast menggunakan pohon distribusi bersama, maka notasi pohonnya adalah (*,G). Tanda * menunjukkan semua sumber, dan G menunjukkan grup multicast. 8 Gambar 2.4 - Bidirectional Shared Tree Pada ilustrasi BST di atas, terlihat bahwa trafik multicast yang dihasilkan sumber akan dirutekan oleh router next hopnya (router B) ke RP dan sekaligus ke node penerima 192.5.5.5. 2.1.4 Multicast Forwarding Multicast pada subnetwork lokal tidak memerlukan keberadaan router multicast. Sumber data cukup mengirimkan stream data multicast ke subnet tersebut, maka host penerima yang terdapat pada subnet yang sama akan mendapatkan stream data tersebut. Hal yang berbeda dialami bila data multicast harus dirutekan ke subnetwork lain. Subnet sumber data harus terhubung dengan router multicast, dimana router tersebut juga terkoneksi dengan router multicast yang lain. Hal ini memerlukan tiga buah mekanisme : • Kemampuan untuk membangun jalur distribusi (distribution tree). • Keberadaan protokol routing multicast. • Keberadaan protokol manajemen grup yang memungkinkan router untuk memonitor keanggotaan suatu grup multicast pada subnet di bawahnya. 9 Prinsip dasar routing unicast adalah meneruskan aliran data menuju penerima. Pada perutean multicast, sumber harus mengirimkan trafik ke sejumlah penerima. Sebaliknya, prinsip dasar routing multicast adalah meneruskan trafik multicast menjauhi sumber. Metode ini disebut sebagai Reverse Path Forwarding (RPF). RPF memiliki karakteristik berikut : • Trafik mengikuti jalur terpendek dari sumber ke setiap tujuan. • Pohon yang berbeda akan dihitung untuk setiap sumber yang berbeda. • Pengiriman paket didistribusikan melalui berbagai link jaringan. Metode RPF memungkinkan router untuk meneruskan trafik multicast ke sepanjang pohon distribusi secara benar dan menghindari looping. Router tersebut harus mengingat arah mana yang menuju sumber (upstream) dan arah yang menuju penerima (downstream). Router hanya akan meneruskan suatu paket multicast apabila paket tersebut diterima pada interface upstream. Ketika ada sejumlah jalur downstream, router akan mereplikasi paket tersebut sebanyak downstream yang ada. 2.1.5 Protokol Manajemen Keanggotaan Grup Multicast Router multicast menggunakan IGMP maupun MLD untuk mempelajari grup mana yang memiliki anggota pada network dibawah router tersebut. Router multicast tersebut menyimpan daftar keanggotaan grup multicast beserta timer untuk setiap keanggotaan grup tersebut. Meskipun penjelasan berikut untuk IGMP saja, namun konsep yang sama juga berlaku untuk MLD. Tipe message dasar IGMPv2 (dijelaskan di RFC 2236) adalah Membership Query (MQ), Membership Report (MR), dan Leave Group (LG). Host yang ingin bergabung dengan grup multicast tertentu akan mengirimkan message MR berisi referensi grup multicast tersebut ke router. Router kemudian akan membuat entri forwarding table dan secara periodik mengirimkan paket multicast ke interface yang terhubung ke subnet yang berisi host penerima tersebut. Router secara periodik akan mengirimkan message MQ untuk mengecek bahwa minimal ada satu buah host di subnetnya yang masih ingin menerima stream data multicast. Ketika tidak ada jawaban dari tiga MQ berurutan, router mengeset timer untuk grup tersebut menjadi timeout dan menghentikan proses forwarding stream data yang ditujukan untuk grup tersebut. Message LG digunakan oleh host penerima yang secara eksplisit memberitahu router bahwa ia akan meninggalkan grup multicast. 10 Dengan LG, maka router tidak perlu menunggu message MQ time out untuk mengetahui bahwa host tersebut sudah meninggalkan grup multicastnya. 2.1.6 Kategori Protokol Routing Multicast Protokol routing multicast yang pernah ada sampai saat ini dapat dibagi menjadi tiga kategori dasar : • Protokol dense mode Protokol berbasis dense mode –misalnya DVMRP (Distance Vector Multicast Routing Protocol) dan PIM-DM (Protocol Independent Multicast Dense Mode)– menggunakan SPT di dalam mentransmisikan trafik multicast. Dense mode menggunakan prinsip push, di mana setiap subnet di jaringan diasumsikan memiliki minimal satu buah penerima, sehingga trafik multicast dikirimkan (flooded) ke seluruh subnet di jaringan. Router yang tidak memiliki node penerima di bawahnya akan mengirimkan paket Prune ke router multicast upstreamnya. Protokol dense mode memiliki kelemahan di dalam efisiensi penggunaan resource jaringan. Ini disebabkan oleh metode flooding yang dilakukan. Oleh karena itu, protokol dense mode jarang diimplementasikan. • Protokol sparse mode Contoh dari protokol sparse mode adalah PIM-SM (Protocol Independent Multicast – Sparse Mode) dan CBT (Core Based Tree). Sparse mode menggunakan shared tree di dalam mendistribusikan trafik multicast. Berbeda dengan dense mode, sparse mode menggunakan prinsip pull, di mana trafik multicast ‘ditarik’ oleh penerima di jaringan. Artinya, trafik multicast tidak akan dikirimkan kecuali ada permintaan secara eksplisit dari penerima melalui mekanisme Join. • Protokol link state Contoh protokol link state adalah MOSPF (multicast open shortest path first). Seperti halnya dense mode, protokol link state juga menggunakan SPT dalam mendistribusikan trafik multicast. Bedanya, protokol link state tidak menggunakan mekanisme Flood dan Prune, tapi dengan menggunakan pembanjiran informasi linkstate yang mengidentifikasi anggota grup multicast di jaringan. Kelemahan dari protokol link state ini adalah ketergantungannya terhadap protokol unicast tertentu. Misalnya, MOSPF bergantung pada protokol OSPF dalam 11 menentukan SPT. Ini membuat protokol link state kurang cocok untuk diimplementasikan. 2.1.7 PIM Sparse Mode PIM disebut independen karena tidak bergantung pada suatu protokol routing unicast tertentu di dalam melakukan fungsi RPF. Pada dasarnya, PIM dibagi menjadi dua : PIM-SM (sparse mode) dan PIM-DM (dense mode). Karena kelebihan sparse mode dibandingkan dengan dense mode, maka PIM-SM menjadi protokol de facto multicast saat ini. Dalam sparse mode, trafik hanya dikirimkan kepada node yang secara eksplisit merekues trafik tersebut. Pada PIM-SM, hal tersebut dilakukan dengan menggunakan mekanisme PIM Join, yang dikirim hop per hop menuju RP. Kemudian, ketika trafik multicast tersebut sudah tidak diinginkan lagi, router akan mengirimkan pesan PIM Prune ke RP untuk menghentikan pengiriman trafik multicast ke router tersebut. PIM-SM menggunakan shared tree satu arah,di mana pusatnya adalah RP. Oleh karena itu, trafik hanya dapat mengalir ke arah downstream dari tree tersebut. Sumber multicast harus melakukan register dengan RP agar trafik multicastnya dialirkan ke arah downstream oleh RP. 2.2 Multicast Antar Domain Protokol multicast yang telah dibahas di atas terfokus pada routing intra domain. Dan seperti telah disebutkan, PIM-SM merupakan protokol multicast de facto yang digunakan di dalam multicast intra domain. Dalam melakukan multicast antar domain, ada beberapa permasalahan yang dihadapi oleh PIM-SM. Secara umum, permasalahannya terletak pada keberadaan RP yang sangat vital bagi penerima dan pengirim. Jika setiap pengelola domain (Autonomous System) tidak ingin bergantung pada pengelola domain yang lain mengenai informasi routing multicast, maka mereka harus menyediakan RP sendiri untuk semua grup multicast. Hal ini bertentangan dengan ide satu RP per grup multicast untuk seluruh jaringan Internet global. Di sisi lain, dengan menggunakan RP independen di setiap domain, proses pertukaran informasi pengirim dan penerima di domain lain akan menjadi masalah. 12 Ada beberapa persyaratan yang harus dipenuhi oleh suatu solusi multicast antar domain : • Adanya protokol yang mengimplementasikan Explicit Join di dalam domain untuk efisiensi resource jaringan. • Penggunaan protokol unicast yang sudah ada dalam melakukan peering multicast. • Mekanisme multicast antar domain tersebut tidak boleh bergantung pada RP dari pengelola domain yang lain. • Fleksibilitas dalam melakukan penempatan RP. Persyaratan pertama telah terpenuhi dalam spesifikasi PIM-SM. Untuk persyaratan yang lain, agar PIM-SM dapat bekerja sebagai solusi multicast antar domain, diperlukan dua buah solusi lagi, yaitu MBGP dan MSDP. 2.2.1 MBGP MBGP[12] merupakan solusi untuk persyaratan multicast antar domain di atas yang ke dua. MBGP menyediakan metode untuk membedakan prefiks rute mana yang akan digunakan untuk melakukan pengecekan RPF multicast. Pengecekan RPF merupakan mekanisme dasar yang digunakan router untuk menentukan jalur yang akan digunakan oleh pohon distribusi multicast dari sumber ke penerima. MBGP merupakan ekstensi dari BGP yang menambahkan beberapa kemampuan pada BGP berupa dua tambahan atribut, yaitu MP_REACH_NLRI dan MP_UNREACH_NLRI. Atribut baru tersebut menciptakan cara sederhana untuk membawa dua set informasi routing –satu untuk routing unicast dan satu untuk routing multicast. Rute yang diasosiasikan dengan routing multicast digunakan untuk melakukan pengecekan RPF pada perbatasan antar domain. Keuntungan utama dari MBGP adalah suatu internetwork dapat mendukung adanya topologi unicast dan multicast yang non kongruen. MBGP dapat mendukung policy yang berbeda untuk masing-masing topologi. Tabel routing BGP terpisah dibuat untuk Unicast Routing Information Base (U-RIB) dan Multicast Routing Information Base (M-RIB). M-RIB diturunkan dari tabel routing unicast dengan menerapkan policy untuk multicast. Pengecekan RPF dan PIM forwarding dilakukan berdasarkan informasi di dalam M-RIB. 13 2.2.2 MSDP MSDP (Multicast Source Discovery Protocol) merupakan solusi untuk kedua persyaratan terakhir implementasi multicast antar domain, yaitu independensi dari RP domain lain serta fleksibilitas dalam penempatan RP. Pada model PIM-SM, sumber multicast harus melakukan proses register dengan RP lokal, sehingga setiap RP mengetahui seluruh sumber untuk setiap grup tertentu di domain tersebut. RP di dalam suatu domain tidak memiliki cara untuk mengetahui sumber multicast yang terletak di domain lain. MSDP mengatasi hal tersebut dengan cara memungkinkan RP untuk membagikan informasi mengenai sumber aktif di domainnya masing-masing. RP di tiap domain membangun sesi peering MSDP dengan menggunakan koneksi TCP dengan RP domain lain. Ketika RP tersebut mengetahui adanya sumber baru di dalam domainnya, RP tersebut mengenkapsulasikan paket data pertama di dalam message Source-Active (SA) dan mengirimkannya ke seluruh peer MSDP. Setiap peer penerima akan menggunakan pengecekan RPF untuk meneruskan SA hingga SA mencapai seluruh router MSDP yang ada. Jika peer penerima MSDP adalah sebuah RP, dan RP tersebut memiliki entri (*,G) untuk grup di dalam SA, RP tersebut akan membuat kondisi (S,G) ke sumber trafik bergabung ke SPT arah sumber. Data terenkapsulasikan tersebut dide-enkapsulasikan dan diteruskan ke arah bawah dari shared tree RP tersebut. MSDP dikembangkan untuk keperluan peering antar pengelola domain, atau secara khusus ISP. Suatu ISP tidak akan mau bergantung pada RP milik ISP lain dalam menyediakan layanan ke kustomer mereka. MSDP memungkinkan setiap ISP untuk memiliki RP masing-masing namun masih dapat meneruskan dan menerima trafik multicast ke Internet. Gambar berikut menunjukkan bagaimana data mengalir antara sumber di domain A ke penerima di domain E. 14 Gambar 2.5 - Contoh koneksi multicast antar domain menggunakan MSDP 2.2.3 BGMP BGMP didesain untuk menjadi suatu kesatuan protokol multicast antar domain, dengan cara yang hampir mirip dengan penggunaan BGP pada routing unicast. BGMP adalah protokol antar domain mengadopsi fitur desain tertentu dari BGP, yaitu penggunaan koneksi TCP untuk melakukan transfer informasi routing, serta penggunaan state machine yang mirip dengan BGP. BGMP mendukung langsung metode source specific multicast (SSM) dan juga anysource multicast (ASM). BGMP membangun bidirectional shared trees untuk grup multicast aktif, dan memungkinkan domain untuk membangun cabang distribusi antar domain yang bersifat source tree bila diperlukan. BGMP dikembangkan berdasarkan konsep dari PIM-SM dan CBT. BGMP mensyaratkan setiap grup multicast global untuk diasosiasikan dengan sebuah single root. Namun, pada BGMP, konsep single root ini adalah sebuah domain utuh, bukan per router. Untuk grup-grup yang sumbernya tidak spesifik, BGMP mengasumsikan bahwa rentang alamat multicast telah diberikan pada domain-domain yang ikut grup tersebut. 15 Masing-masing domain tersebut menjadi root dari shared domain-trees untuk semua grup pada range tersebut. BGMP menggunakan TCP sebagai protokol transport. Hal Ini menghilangkan keharusan untuk mengimplementasikan fragmentasi message, retransmisi, acknowledgement, dan pengurutan. Dua buah peer BGMP akan saling membentuk koneksi TCP dan mempertukarkan message untuk membuka dan mengkonfirmasi parameter koneksi. Mereka kemudian mengirim update message Join/Prune secara inkremental bila keanggotaan grup di dalam domain tersebut berubah. Ada tiga perbedaan utama antara BGMP dengan protokol shared-tree lainnya : • Pohon bidireksional vs unidireksional Penggunaan pohon bidireksional pada BGMP meminimalkan ketergantungan pada pihak ketiga yang merupakan suatu hal penting di dalam konteks koneksi antar domain. • Pohon/cabang distribusi spesifik pada suatu sumber multicast Perbedaan BGMP dari protokol shared tree lainnya adalah bahwa state spesifik sumber BGMP dibangun hanya ketika : 1. Keadaan mensyaratkan untuk menarik trafik multicast ke arah router BGMP yang telah memiliki state spesifik sumber (S,G). 2. Router BGMP tersebut belum termasuk dalam shared tree yang digunakan. 3. Router BGMP tersebut tidak ingin menerima paket melalui enkapsulasi dari router yang termasuk di dalam shared tree. BGMP menyediakan cabang spesifik sumber karena kebanyakan protokol multicast intra domain saat ini menggunakan pohon spesifik sumber. Cabang spesifik sumber dari BGMP menghilangkan overhead yang tidak perlu dari enkapsulasi untuk sumber dengan rate data yang tinggi. Meskipun demikian, secara umum BGMP tidak menggunakan pohon distribusi antar domain yang spesifik sumber karena : 1. Konektivitas antar domain secara umum kurang dinamis dibandingkan dengan konektivitas intra domain, sehingga shared distribution tree kan memiliki panjang jalur dan konsentrasi trafik yang lebih dapat diterima dalam konteks antar domain. 16 2. Dengan selalu memprioritaskan penggunaan state shared tree dibandingkan dengan state source-specific tree, kemungkinan munculnya ambiguitas dapat dihindari. Dari hal-hal di atas, secara umum dapat disebutkan bahwa BGMP merupakan gabungan antara PIM-SM dengan pohon CBT. • Metode pemilihan root dari pohon group-shared Pemilihan shared-tree-root dari suatu grup memiliki dampak terhadap performansi dan policy. Pada kasus intra domain, sering diasumsikan bahwa seluruh kandidat RP di dalam suatu domain memiliki cost yang sama untuk menjadi root dari suatu grup yang diinisiasi di dalam domain tersebut. Pada kasus antar domain, akan muncul lebih banyak peluang munculnya kasus penempatan RP yang buruk, serta adanya kendali administratif dari dari sebuah root shared tree suatu grup. Oleh karena itu, pada kasus intra domain, protokol lain terkadang memperlakukan seluruh kandidat RP adalah sama dan mengimplementasikan load sharing untuk memaksimalkan kinerja multicast. Hal tersebut tidak dapat dilakukan pada kasus antar domain, sehingga digunakan pendekatan dimana suatu root domain dari suatu grup tidak dipilih acak, namun dipilih berdasarkan pada kendali administratif. 17