Thursday, May 3, 2012

Protokol Routing Multicast DV-MRP

Routing distance vector, yang dibahasa pada bagian sebelumnya untuk unicast, bisa dikembangkan untuk multicast. Protokol yang dihasilkan disebut Distance Vector Multicast Routing Protocol(DVMRP). DVMRP adalah protocol routing multicast pertama yang digunakan secara luas.
Perlu diingat bahwa bahwa dalam algoritma distance vector, setiap router menyimpan sebuah tabel <Destination, Cost, NextHop> dan bertukar dengan sebuah daftar <Destination, Cost > yang berpasangan dengan tetangga yang terhubung langsung. Pengembangan algoritma ini agar mendukung multicast dilakukan dengan proses dua tahap. Pertama, dibuat sebuah mekanisme broadcast yang memungkinkan sebuah paket untuk diforward ke semua jaringan di internet. Kedua, dibuat mekanisme untuk memotong kembali jaringan yang tidak mempunyai host yang termasuk dalam multicast group. Sebagai akibatnya, DVMRP adalah satu dari beberapa protocol yang termasuk dalam protocol flood-and-prune(banjiri dan potong).
Misalkan diketahui sebuah tabel routing multicast, setiap router mengetahui bahwa jalur terpendek untuk tujuan tertentu bisa melalui sebuah NextHop. Oleh karena itu, setiap kali diterima sebuah paket multicast dari source S, router meneruskan paket ke semua sambungan keluar(kecuali dari sambungan paket yang datang) jika dan hanya jika paket tiba dari sambungan yang merupakan jalur terpendek ke S (contohnya, jika paket datang dari NextHop yang berpasangan dengan sumber S dalam tabel routing). Strategi ini secara efektif membanjiri paket keluar dari S tanpa paket berulang kembali ke S.

Terdapat dua kelemahan utama untuk pendekatan ini. Kelemahan yang pertama yaitu flood-and-prune ini benar-benar membanjiri jaringan; sehingga pendekatan ini tidak punya usaha untuk menghindari LAN yang tidak mempunyai anggota yang termasuk dalam Group Multicast. Masalah tersebut bisa diatasi dengan cara pada bagian berikutnya.  Permasalahan berikutnya yaitu ketika sebuah paket akan diteruskan melalui sebuah LAN oleh setiap router yang terhubung ke LAN tersebut. Hal ini karena strategi untuk meneruskan paket dengan cara membanjiri(flooding) paket pada semua sambungan selain dari sambungan tempat paket datang, tanpa memandang apakah sambungan tersebut merupakan bagian dari jalur terpendek ke sumber atau tidak.
Penyelesaian untuk masalah ini adalah dengan menghilangkan paket broadcast yang sama yang dihasilkan ketika lebih dari satu router terhubung ke sebuah router tertentu. Salah satu cara untuk melakukan hal ini adalah dengan menandai salah satu router sebagai router induk untuk setiap link, relative terhadap sumber, dimana hanya router induk yang boleh untuk meneruskan paket-paket multicast dari sumber tertentu melalui LAN. Router yang mempunyai jalur terpendek ke sumber S dipilih sebagai induk; dua buah router yang mempunyai jarak yang sama akan diputus menurut router mana yang mempunyai alamat terkecil. Sebuah router bisa mengetahui apakah router tersebut merupakan Induk dari LAN tertentu (sekali lagi, yang relative untuk setiap sumber yang mungkin) berdasar atas pesan-pesan distance-vector yang ditukarkan router tersebut dengan tetangganya.
Perlu diingat bahwa teknik ini mengharuskan setiap router, untuk tiap sumbernya,  untuk menyimpan sebuah informasi untuk tiap sambungan yang terhubung, yang menandakan apakah sambungan tersebut merupakan induk untuk sumber atau pasangan sambungan tertentu. Perlu diingat bahwa dalam sebuah pengaturan internet, sebuah sumber adalah sebuah jaringan, bukan sebuah host, karena sebuah router internet hanya meneruskan paket antar jaringan. Mekanisme yang dihasilkan sering disebut Reverse Path Broadcast (RPB) atau Reverse Path Forwarding(RPF). Jalur dibuat terbalik untuk mempertimbangkan jalur terpendek menuju sumber ketika pembuatan keputusan untuk forwarding, sebagai perbandingan pada unicast routing, yang mana mencari jalur terpendek untuk sebuah tujuan tertentu.
Mekanisme RPB hanya menjelaskan penerapan broadcast jalur terpendek. Sekarang jika ingin memotong sekumpulan jaringan yang menerima setiap paket yang ditujukan ke group G sehingga mengeluarkan jaringan yang tidak mempunyai host yang tidak termasuk anggota dari group G. hal ini bisa dilakukan dengan dua tahap. Pertama, kita harus mengetahui ketika cabang jaringan tidak mempunyai anggota group. Untuk mengetahui sebuah cabang jaringan sangat mudah, jika router induk sebagai mana dijelaskan di atas hanya sebuah router pada jaringan, maka jaringan tersebut adalah sebuah cabang. Penentuan apakah anggota group terletak pada jaringan bisa diketahui dengan memerintahkan setiap host yang merupakan anggota dari sebuah group G untuk secara periodis memberitahukan informasi ini melalui jaringan, sebagaimana dijelaskan pada penjelasa diawal mengenai multicast link-state. Router kemudian menggunakan informasi ini untuk menentukan apakah akan meneruskan paket multicast yang dialamatkan ke G melalui LAN ini.
Tahap berikutnya yaitu menyebarkan informasi berisi “tidak ada anggota G di sini” melalui pohon jalur terpendek. Hal ini dilakukan dengan membuat router memngumpulkan pasangan <destination, cost> yang dikirimkan ke tetangganya dengan sekumpulan group dimana jaringan cabang termasuk dalam penerima paket multicast.  Informasi ini kemudian bisa disebarkan dari router ke router, sehingga untuk setiap sambungannya diberikan sebuah router yang mengetahui untuk group mana router tersebut harus meneruskan paket multicast.
Sebagai catatan, bahwa termasuk semua informasi ini dalam update router merupakan hal yang mahal untuk dilakukan. Secara praktis, oleh karena itu, informasi ii ditukar hanya ketika beberapa sumber mulai mengirimkan paket ke group tersebut. Dengan kata lain, strategi ini menggunakan RPB, yang mana menambahkan sedikit overhead pada algoritma distance-vector dasar, sampai sebuah alamat multicas tertentu menjadi aktif. Sampai saat tersebut, router, yang tidak punya kepentingan dalam menerima paket yang dialamatkan ke group tersebut, terus menerus menyebarkan informasi dan informasi tersebut disebarkan ke router yang lain.

No comments:

Post a Comment