Tugas 5
1. Multirecipient
Konsep client-server
merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi
jaringan. Socket dapat menangani pesan dari banyak client sekaligus (multiple
recipient). Pada saat socket client, informasi alamat socket server dilewatkan
sebagai argumen dan socket client akan otomatis mencoba meminta koneksi ke socket server.
Pada saat permintaan koneksi client sampai pada server, maka server akan
membuat suatu socket biasa. Socket ini yang nantinya akan berkomunikasi dengan
socket pada sisi client. Setelah itu socket server dapat kembali melakukan listen untuk menunggu
permintaan koneksi dari client lainnya.
·
Bagaimana Jika kita akan mengirimkan data ke
banyak penerima?
·
Solusi:
1.
Unicast salinan data kesetiap penerima
menggunakan single connection.
Permasalahan?
Tidak efisien, karena:
-
terjadi duplikasi
-
boros bandwith
2.
Menggunakan dukungan jaringan, dengan:
-
Broadcast
-
Multicast
·
Keterbatasan:
-
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.
2. Unicast
Unicast adalah transmisi data pada
sebuah jaringan yang pling sederhana secara one-to-one. Sesuai dengan
namanya, aliran data unicast hanya menghubungkan komputer tunggal dengan sistem
yang dijadikan sebagai host dan perangkat sistem komputer lainnya sebagai
tujuan.
Ketika digunakan, perangkat komputer tunggal asal
hanya akan mencoba berkomunikasi dengan satu perangkat komputer tujuan saja.
Unicast adalah metode pengiriman paket
data hanya ke satu perangkat, jika suatu perangkat ingin mengirim paket data ke
beberapa perangkat sekaligus, maka perangkat tersebut harus mengirimkan
beberapa paket data dengan alamat spesifikasi yang ada pada paket untuk
masing-masing perangkat, setiap paket data perangkat berisi alamat tertentu.
Untuk mengirim paket melalui unicast, sumber harus mengetahui alamat IP
perangkat tujuan. Seperti yang ditunjukkan pada gambar di bawah ini, dengan
unicast, pengirim sumber mengirimkan paket hanya ke satu perangkat target, jika
ada lebih dari satu perangkat target, pengirim harus mengirim paket satu per
satu, dan setiap paket berisi alamat yang tepat dari target perangkat.
Transmisi jaringan dengan sistem unicast dapat dianalogikan seperti seseorang yang ingin memberikan sebuah undangan kepada satu orang lain secara langsung dengan mengantarkan undangan tersebut ke rumahnya. Diantara pemberi dan penerima undangan akan terjadi komunikasi sehingga pemberi undangan sebagai perangkat asal akan mengetahui bahwa informasi atau undangan yang dikirimnya telah sampai kepada si penerima.
3. Broadcast
Broadcast adalah suatu metode pengiriman data, yang dimana data tersebut dikirim ke banyak titik sekaligus tanpa melakukan pemeriksaan atau pengecekan apakah titik tersebut siap atau tidak ataupun tanpa memperhatikan pakah data tersebut sampai atau tidak.
Broadcast merupakan metode pengiriman paket yang ditujukan untuk semua perangkat pada jaringan. Broadcast juga disebut metode transmisi One to all(satu untuk semua). Address tujuan adalah alamat spesial yang ditentukan untuk pesan broadcast. Pada jaringan ethernet, Broadcast dikrim ke alamat khusus menggunakan format FF-FF-FF-FF-FF-FF-FF. Jika pasket dikirim dengan menggunakan broadcast, maka semua perangkat yang terhubung ke jaringan akan menerima paket yang sama tersebut. Contoh penerapan broadcast adalah DHCP, VTP, dan cara switch mengisi mac tablenya.
Broadcasting mengirimkan data ke banyak perangkat sekaligus atau PTMP (Point to MultiPoint). Saat menggunakan metode ini untuk mengirim ke banyak titik, tidak perlu peduli apakah data sampai ke penerima. Juga jangan melihat apakah perangkat penerima di setiap titik siap menerima paket secara aktif. Cara komunikasi ini biasanya dilakukan pada setiap perangkat yang tergabung dalam jaringan yang sama atau dengan kata lain alamat broadcast yang sama. Jika kita mempelajari subnetting, alamat broadcast adalah alamat terakhir dari subnet. Misalnya, jika Anda memiliki jaringan dengan subnet 192.168.1.0/24, alamat siarannya adalah 192.168.1.255. Ini sering disebut penyiaran subnet. Ada juga broadcast terbatas yang mentransmisikan data menggunakan alamat 255.255.255.255.
Transmisi jaringan broadcast memiliki analogi seperti seorang pemberi undangan yang ingin mengirimkan informasi kepada orang lain. Pemberi undangan sebagai host membagikan undangan dengan menyebarnya di jalan-jalan. Oleh karena itu, perangkat host tidak akan mengetahui bahwa informasi yang dikirimkannya telah sampai dan respon penerima pun tidak akan diketahui oleh perangkat sistem yang menjadi host.
Broadcast:
- 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 opsi SO_BROADCAST harus di set pada sisi pengirim meminta “izin” kepada sistem untuk melakukan broadcast.
- Broadcast berfungsi dengan baik jika persentase host jaringan ingin menerima pesan besar; Namun, jika beberapa host perlu menerima paket, broadcast "memaksakan" semua host dalam jaringan untuk keuntungan beberapa orang.
- Pengetahuan tentang alamat tidak diperlukan untuk broadcast. Dalam beberapa konteks (lokal), ini membuat mekanisme broadcast yang lebih baik untuk discovery
- Alamat Broadcast:
- Broadcast address pada perangkat,
dapat dilihat dengan menggunakan perintah ifconfig.
Contoh:
ifconfig eth0
Output
yang mungkin ditampilkan :
Pada contoh diatas, broadcast address dapat dilihat pada
baris ke 2 yaitu : 192.168.0.255
Broadcast address yang lain adalah 255.255.255.255->merupakan
broadcast address umum -> penggunaannya tidak disarankan
4. Multicast
Multicast
adalah transmisi data dari satu sumber ke beberapa penerima. Multicasting mirip
dengan penyiaran, tetapi hanya mengirimkan informasi ke pengguna tertentu. Ini
digunakan untuk mengirimkan streaming dan jenis data lainnya secara efisien ke
banyak pengguna secara bersamaan. Cara mudah untuk mengirim data ke beberapa
pengguna sekaligus adalah dengan mengirimkan salinan data yang terpisah kepada
setiap pengguna. Namun, ini sangat tidak efisien karena banyak salinan dari
data yang sama dikirim dari sumber melalui satu atau lebih jaringan.
Multicast
memungkinkan satu transmisi untuk dibagikan di antara banyak pengguna, secara
signifikan mengurangi bandwidth yang diperlukan. Multicast yang terjadi di
Internet disebut IP multicast karena menggunakan Internet Protocol (IP) untuk
mengirimkan data.
Multicast
IP membuat "pohon multicast" yang memungkinkan satu transmisi
bercabang ke pengguna individu. Cabang-cabang ini dibuat di router internet
jika diperlukan. Misalnya, jika lima pengguna dari lima negara berbeda meminta
akses ke aliran yang sama, percabangan yang mirip dengan aslinya akan dibuat.
Jika lima pengguna dari kota yang sama meminta akses ke aliran yang sama,
cabang dibuat di dekat pengguna. IP Multicast bekerja dengan menggabungkan dua
protokol lainnya dengan Internet Protocol. Multicast juga dapat digunakan untuk
mengirim jenis data lain melalui Internet, seperti berita, harga saham, atau
bahkan salinan digital perangkat lunak.
Terlepas dari apapun aplikasinya, multicast membantu mengurangi penggunaan bandwidth Internet dengan menyediakan cara yang efisien untuk mengirim data ke banyak pengguna.Apakah metode pengiriman paket identik dengan broadcasting, kecuali bahwa paket dikirim ke beberapa tujuan sekaligus berdasarkan grup tertentu melalui alamat grup. Menggunakan protokol IGMP (Internet Group Management Protocol) untuk mengidentifikasi multicast grup. Tampilan multicast dari alamat IP pribadi antara 24.0.0.0 dan 239.255.255.255. Misalnya saat kita melakukan streaming audio atau video. Tentu saja, banyak komputer ingin mengaksesnya secara bersamaan. Data multicast dikirim hanya sekali tetapi dapat diterima oleh banyak perangkat.
Multicast:
- Pengiriman data dengan tujuan alamat group dalam 1 jaringan
- Menggunakan kelas D, sehingga beberapa host akan didaftarkan dengan menggunakan alamat kelas D ini
- Tidak perlu set permission untuk multicast.
- Multicast sender dapat men set nilai TTL untuk mengirimkan datagram
- Untuk mengontrol multicast dapat kita lakukan dengan menggunakan fungsi setsockopt(). Fungsi setsocktopt () menerima flag dari IPPROTO_IP berikut:
- IP_ADD_MEMBERSHIP: Join dengan multicast group yang ditentukan.
- IP_DROP_MEMBERSHIP: keluar dari multicast group yang ditentun
- IP_MULTICAST_IF: Mengatur interface yang digunakan untuk pengiriman multicast datagram ke luar (outgoing multicast datagrams)
- IP_MULTICAST_TTL: Mengatur Time To Live (TTL) pada IP header untuk outgoing multicast datagrams.
- IP_MULTICAST_LOOP: Menentukan apakah salinan outgoing multicast datagrams dikirim ke host pengirim selama ia adalah anggota grup multicast
- socket () mengembalikan deskriptor socket yang mewakili end point. Pernyataan itu juga mengidentifikasi bahwa INET address family (Internet Protocol) dengan transport UDP (SOCK_DGRAM) digunakan untuk soket ini. Soket ini mengirimkan datagram ke aplikasi lain.
- Struktur sockaddr_in menentukan alamat IP tujuan dan nomor port. Contoh, alamatnya adalah 225.1.1.1 dan nomor port adalah 5555.
- setsockopt () menetapkan opsi soket IP_MULTICAST_LOOP sehingga sistem pengirim tidak menerima salinan datagram multicast yang ditransmisikan.
- setsockopt () menggunakan opsi socket IP_MULTICAST_IF, yang mendefinisikan interface lokal di mana datagram multicast dikirim.
- sendto () mengirim datagram multicast ke alamat IP grup yang ditentukan.
- close () menutup semua deskriptor soket yang terbuka.
- socket () mengembalikan deskriptor socket yang mewakili end point. Pernyataan itu juga mengidentifikasi bahwa INET address family (Internet Protocol) dengan transport UDP (SOCK_DGRAM) digunakan untuk soket ini. Soket ini mengirimkan datagram ke aplikasi lain.
- setsockopt () menetapkan opsi soket SO_REUSEADDR untuk memungkinkan beberapa aplikasi menerima datagram yang diperuntukkan bagi nomor port lokal yang sama.
- bind () menentukan nomor port lokal. Dalam contoh ini, alamat IP ditetapkan sebagai INADDR_ANY untuk menerima datagram yang ditujukan ke grup multicast.
- setsockopt () menggunakan opsi soket IP_ADD_MEMBERSHIP, yang bergabung dengan grup multicast yang menerima datagram. Saat bergabung dengan grup, tentukan alamat grup D kelas bersama dengan alamat IP dari antarmuka lokal. Sistem harus memanggil opsi soket IP_ADD_MEMBERSHIP untuk setiap antarmuka lokal yang menerima datagram multicast. Contoh grup multicast (225.1.1.1) bergabung pada antarmuka lokal 9.5.1.1.
- read () membaca datagram multicast yang sedang dikirim.
- close () menutup semua deskriptor soket yang terbuka.
0 comments:
Post a Comment