Back to IF3130 Sistem Paralel dan Terdistribusi

Topic

Questions/Cues

  • Apa itu arsitektur Decentralized?

  • Apa itu Peer-to-Peer (P2P)?

  • 3 jenis P2P?

  • Apa itu Overlay Network?

  • Beda Structured vs Unstructured P2P?

  • Contoh Structured P2P?

  • Prinsip Unstructured P2P?

  • Apa itu Superpeer?

  • Contoh arsitektur hibrida?

  • Bagaimana arsitektur BitTorrent?

Reference Points

  • Slides 24-31 (10 - IF3130-09-Architecture-2022.pdf)

  • Kuliah Arsitektur Sistem Terdistribusi

1. Arsitektur Terdesentralisasi (P2P)

Berbeda dengan model terpusat (Client-Server), arsitektur Peer-to-Peer (P2P) tidak memiliki server pusat. Semua node (disebut peers) pada dasarnya setara.

Overlay Networks: Jaringan P2P adalah overlay network. Ini adalah jaringan logis yang dibangun di atas jaringan fisik (Internet). Ketetanggaan (siapa terhubung ke siapa) didefinisikan oleh aplikasi, bukan oleh kabel fisik.

2. Tiga Jenis Sistem P2P

  1. Structured P2P:

    • Node diorganisasi berdasarkan struktur data terdistribusi tertentu (misal: ring atau grid).

    • Ada mekanisme pasti untuk mencari key (data) ada di node mana.

    • Contoh (Slide 25): Distributed Hash Table (DHT). Node diatur dalam ring (0-15). Setiap node bertanggung jawab atas range kunci tertentu. (Misal: Node 12 bertanggung jawab atas data dengan kunci 8, 9, 10, 11, 12).

  2. Unstructured P2P:

    • Node memilih neighbors (tetangga) secara acak.

    • Tidak ada struktur pasti. Untuk mencari data, query harus “dibanjiri” (flooded) ke neighbors, yang kemudian meneruskannya ke neighbors mereka.

    • Prinsip (Slide 27): Setiap peer menjaga partial view (daftar neighbors terbatas). Secara periodik, peer saling bertukar anggota view mereka untuk menjaga randomness dan robustness (jika satu node mati, jaringan tetap terhubung).

  3. Hybrid P2P:

    • Menggabungkan elemen P2P dengan node yang memiliki fungsi khusus (server).

    • Contoh: Superpeers (Slide 29).

3. Superpeers (Hybrid P2P)

Ini adalah node P2P biasa yang “dipromosikan” untuk melakukan pekerjaan spesifik karena memiliki kapasitas lebih (CPU, bandwidth, uptime).

Node biasa (Regular peer) akan terhubung ke Superpeer. Jaringan Superpeer membentuk jaringan P2P level lebih tinggi.

Contoh Tugas Superpeer:

  • Menjaga index file (untuk pencarian file).

  • Memonitor status jaringan.

  • Membantu setup koneksi antar peers (misal: jika ada di belakang NAT).

4. Arsitektur Hibrida (Hybrid)

Arsitektur ini menggabungkan model Client-Server (CS) dengan P2P.

Contoh 1: Edge-Server / CDN

  • Content Delivery Network (CDN) adalah arsitektur hibrida.

  • Bagian CS: Ada Content Provider (server pusat) yang menyimpan data asli.

  • Bagian CS (Edge): Ada Edge Servers (server-server yang tersebar di banyak lokasi geografis, dekat pengguna/ISP).

  • Alur: Client (pengguna) terhubung ke Edge Server (secara Client-Server) yang lokasinya paling dekat. Edge Server menyajikan konten yang sudah di-cache. Ini mengurangi beban Content Provider dan mempercepat pengiriman.

Contoh 2: BitTorrent

  • Bagian CS (Langkah Awal):

    1. Client mencari file .torrent di Web Server (situs torrent).

    2. File .torrent berisi referensi ke Tracker (sebuah File Server / Server khusus).

    3. Client menghubungi Tracker (secara Client-Server).

    4. Tracker (Server) merespons dengan daftar IP address peers (Node 1…N) yang sedang men-download/upload file tersebut.

  • Bagian P2P (Swarm):

    1. Client bergabung ke “swarm” (kumpulan peers).

    2. Client mulai men-download potongan file (chunks) dari peers lain.

    3. Secara bersamaan, client juga meng-upload chunks yang sudah ia miliki ke peers lain di swarm tersebut.

Summary

Arsitektur terdesentralisasi (P2P) menghilangkan server pusat, di mana peers setara dan terhubung dalam overlay network. Jaringan ini bisa Structured (terstruktur, misal: DHT) atau Unstructured (acak). Arsitektur Hibrida menggabungkan model P2P dengan Client-Server. Contohnya adalah CDN (menggunakan Edge Server terpusat) dan BitTorrent (menggunakan Tracker terpusat untuk mengoordinasi swarm P2P untuk berbagi file).