Jun 08

Static Multicast Routing di Linux dengan SMCROUTE

Pengiriman data secara multicast lebih menguntungkan dibandingkan dengan secara unicast atau broadcast. Terutama jika ada 1 pengirim data dan banyak penerima yang tersebar dimana-mana. Apabila pengirim dan penerima berada dalam 1 subnet, maka tidak ada yang perlu dilakukan agar paket multicast dapat terkirim, selain memastikan bahwa switch yang dimiliki mendukung penggunaan multicast. Sebagian besar atau bisa dikatakan hampir semua switch yang ada saat ini dapat meneruskan paket-paket multicast.

Masalah terjadi ketika pengirim dan penerima berada pada subnet yang berbeda. Paket multicast tidak akan terkirim begitu saja jika router yang berada di antara pengirim dan penerima tidak dikonfigurasi untuk meneruskan paket-paket multicast. Apabila routernya menggunakan sistem operasi Linux, maka harus ada aplikasi-aplikasi yang mengatur tabel routing khusus untuk multicast. Untuk mengatur tabel routing secara dinamis sebetulnya dapat menggunakan mrouted atau pimd. Tetapi apabila pengaturan secara dinamis ini gagal, salah satunya disebabkan karena paket IGMP Join yang tidak terkirim atau lainnya, maka harus dilakukan pengaturan tabel routing multicast secara statis. Untuk itu ada aplikasi yang bernama smcroute

Untuk mulai mengaktifkan multicast routing di mesin linux anda, pertama-tama pastikan dulu apakah konfigurasi kernel sudah mendukung multicast routing. Bisa diperiksa dari file /boot/config-xxx apakah ada baris-baris berikut :

CONFIG_IP_MULTICAST = y
CONFIG_IP_MROUTE = y

Biasanya kernel-kernel yang ada saat ini, secara default sudah mengaktifkan konfigurasi-konfigurasi tsb. Sehingga kita dapat melanjutkan ke langkah berikutnya, yaitu memastikan bahwa mesin linux yang ada dapat meneruskan paket. Untuk itu ketikkan perintah berikut :

echo 1 > /proc/sys/net/ipv4/ip_forward

Atau ketikkan baris di bawah ini di file /etc/sysctl.conf :

net.ipv4.ip_forward=1

Kemudian ketikkan perintah berikut untuk mengaktifkan konfigurasi di sysctl.conf tadi :

systctl -p

Setelah konfigurasi awal tadi selesai, berikutnya adalah instalasi paket smcroute dari repository dengan perintah ini :

apt-get install smcroute

Setelah instalasi selesai, daemon smcroute akan berjalan. Berikutnya yang perlu dilakukan adalah mendaftarkan secara manual, paket-paket multicast dari suatu group itu akan masuk melalui interface yang mana pada router. Untuk itu dapat menggunakan perintah dengan format di bawah ini :

smcroute -a <InterfaceInput> <IPAddressSrc> <IPAddressGroup> <InterfaceOutput> [<InterfaceOutput>]...

Contoh untuk router yang ingin meneruskan paket multicast yang datang dari interface eth1, IP Pengirim asal 192.168.2.2, Multicast Address 232.43..211.234, dan akan diteruskan melalui interface eth0 dan eth2 :

smcroute -a eth1 192.168.2.2 232.43.211.234 etho eth2

Untuk menguji coba apakah paket multicast sudah dapat terkirim, dapat menggunakan paket smmping. Paket ssmping ini terdiri dari 2 aplikasi, yaitu ssmpingd (pengirim data multicast) dan ssmping (penerima data multicast). Ssmping ini memang digunakan untuk menguji konektivitas multicast routing. Klien akan mengirimkan sebuah paket UDP secara unicast ke server, kemudian server akan membalasnya dengan paket unicast ke klien dan ke server.

Contoh

Di sisi pengirim, dalam contoh ini adalah komputer dengan IP 192.168.2.2, akan menjalankan ssmpingd dengan perintah :

ssmpingd

Kemudian di sisi klien, dalam contoh ini ada 2 komputer yang digunakan, yaitu komputer dengan IP 192.168.1.2 (beda subnet dengan pengirim), dan komputer dengan IP 192.168.2.3 (subnet sama dengan pengirim). Perintah yang perlu dijalankan di sisi klien adalah :

ssmping 192.168.2.2

Apabila benar, maka tampilan pada komputer dengan IP 192.168.2.2 terlihat seperti di bawah ini :

Screenshot Pengirim Paket Multicast

Kemudian di sisi klien, akan tampak seperti gambar di bawah ini :

Screenshot Komputer IP 192.168.1.2

Screenshot Komputer IP 192.168.2.3

Dari screenshot di atas, dapat kita lihat bahwa dua buah klien sama-sama penerima paket unicast dan multicast, artinya paket multicast dapat terkirim dengan baik. Jika tidak ada reply yang berjenis multicast, maka berarti masih ada kesalahan yang terjadi. Apalagi jika paket unicast saja tidak diterima. ;-)

Be Sociable, Share!

2
comments

2 comments!!!

  1. iwan says:

    Pak mau tanya….
    saya punya server ubuntu dengan 2 NIC. eth0 buat IP server multicastnya yang eth1 mengarah ke LAN
    Kemudian ada 8 source yang terhubung melalui jaringan..masing2 memiliki IP satu dalam Network.
    itu setiingan di ubuntunya gmn ? dan routingnya gmn?
    makasih

    [Reply]

    bazz Reply:

    Kalau 8 source itu berada dalam 1 subnet, tidak perlu routing multicast

    [Reply]

Reply

[+] kaskus emoticons nartzco