Tuesday, November 29, 2022

Modul 9 : Pertemuan 11 (Socket Programming - Multirecipient)

 Multirecipient


1.1 Tujuan

  1. Mahasiswa memahami konsep pengiriman data untuk Multi Recipient
  2. 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:

  1. Hanya UDP socket yang dapat melakukan broadcast dan multicast
  2. Broadcast hanya mencakup lingkup lokal, biasanya jaringan area local (LAN).
  3. 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_server.py

multicast_client.py













Hasil Program 

Analisa:
Pada program diatas merupakan program multicast yang mana server dapat menerima 2 client tetapi dengan berbeda PC dengan membuat multicast_group dan server address yang sama. Alamat untuk multicast, yang disebut grup multicast, adalah subset dari rentang alamat IPv4 reguler (224.0.0.0 hingga 230.255.255.255) yang dicadangkan untuk lalu lintas multicast. Disini grup multicast nya adalah 224.3.2.79 . Alamat ini diperlakukan secara khusus oleh router dan switch jaringan, sehingga pesan yang dikirim ke grup dapat didistribusikan melalui Internet ke semua penerima yang telah bergabung dengan grup. Lalu, Mengirim Pesan Multicast Klien gema yang dimodifikasi ini akan mengirim pesan ke grup multicast, lalu melaporkan semua tanggapan yang diterimanya. 

Program2
broadcast_server.py








    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. 










No comments:

Post a Comment