Multirecipient
1.1 Tujuan
- Mahasiswa memahami konsep pengiriman data untuk Multi Recipient
- Mahasiswa mampu membuat program pengiriman data untuk Multiple Recipient
1.2 Dasar Teori
Konsep client-server merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi jaringan. Socket merupakan antarmuka antara application process dan transport layer. Setelah sebelumnya kita mempelajari beberapa metode untuk penanganan request dari banyak client ke server, maka muncul pertanyaan Bagaimana Jika kita akan mengirimkan data ke banyak penerima? Ada beberapa solusi yang dapat diterapkan diantaranya adalah menggunakan fasilitas yang disediakan oleh jaringan yaitu broadcast dan multicast. Dalam penerapannya metode broadcast dan multicast sendiri memiliki keterbatasan, yaitu:
- Hanya UDP socket yang dapat melakukan broadcast dan multicast
- Broadcast hanya mencakup lingkup lokal, biasanya jaringan area local (LAN).
- Multicast di seluruh Internet saat ini tidak didukung oleh sebagian besar penyedia layanan Internet.
Broadcast merupakan pengiriman data dengan tujuan semua alamat yang berada dalam 1 jaringan. Aplikasi akan mengirimkan data ke alamat broadcast, apabila data dikirim ke alamat ini maka semua host yang berada dalam jaringan tersebut akan menerima data. Sebelum mengirimkan data ke alamat broadcast, maka kita harus meminta “izin” kepada sistem untuk melakukan broadcast dengan men-set opsi SO_BROADCAST harus pada sisi pengirim. Berbeda dengan broadcast, multicast merupakan pengiriman data dengan tujuan alamat group dalam 1 jaringan. Pada prakteknya dalam pemrograman tidak perlu set permission untuk multicast. Multicast sender dapat men set nilai TTL untuk mengirimkan datagram. Langkah-langkah yang harus dilakukan dalam pemrograman untuk melakukan broadcast maupun multicast pada dasarnya sama dengan pemrograman menggunakan UDP, namun pada broadcast perlu penambahan socket option SO_BROADCAST, sehingga sistem mengizinkan untuk melakukan broadcast.
1.3 Percobaan
Program 1: program multicast
multicast_client.py
Hasil Program
broadcast_client.py
Hasil program
Analisa:
Pada program diatas merupakan program broadcast yang merupakan transmisi jaringan one-to-all. ). Pada server menggunakan domain AF_INET yang Menyediakan datagram, yang merupakan pesan tanpa sambungan dengan panjang maksimum tetap yang keandalannya tidak dijamin. Datagram dapat rusak, diterima rusak, hilang, atau dikirim berkali-kali. Opsi ini mengambil nilai int. Ini adalah opsi Boolean. Opsi SO_REUSEPORT yang disetel ke soket menentukan bahwa aturan yang digunakan dalam memvalidasi alamat yang disediakan oleh subrutin bind harus memungkinkan penggunaan kembali kombinasi port/alamat lokal. Setiap pengikatan kombinasi port/alamat harus menentukan opsi soket SO_REUSEPORT.