Back to IF3130 Sistem Paralel dan Terdistribusi

Topic: Konsep Dasar Penamaan (Naming), Resolusi, & Binding

Questions/Cues

  • Entitas yang Dinamai

  • Naming Service vs Directory Service

  • Perbedaan Name, Address, Route

  • Uniqueness & Hierarki

  • Konsep Context

  • Name Space

  • Mekanisme Resolution

  • Tipe-tipe Binding (Static, Early, Late)

Reference Points

  • Slides: Page 1-17

  • Fokus: Teori Dasar & Definisi

1. Entitas & Kebutuhan Penamaan

Dalam sistem terdistribusi, nama (Naming) adalah hal fundamental. Kita memberi nama pada berbagai entitas agar bisa diacu dan digunakan.

  • Contoh Entitas: Nama user, nama mesin (hostname), nama file, device, variabel program, hingga layanan jaringan.

  • Contoh Nyata: "My Laptop" (User friendly), Bromo.if.itb.ac.id (DNS), 167.205.32.2 (IP Address), 00:14:51:ec:fa:1d (MAC Address).

2. Naming Service (Layanan Penamaan)

Layanan ini bertugas untuk melakukan lookup names: menerima sebuah nama dan mengembalikan alamat (address) atau informasi lain terkait nama tersebut.

  • Implementasi: Bisa sesederhana pencarian dalam sebuah file teks (seperti /etc/hosts), program client/server khusus, atau query basis data yang kompleks.

3. Distingsi: Name vs Address vs Route vs Binding

Sangat penting membedakan keempat istilah ini (berdasarkan RFC 1498):

  • Name (Nama): Mengidentifikasi apa yang kita cari/inginkan. Sifatnya logis. Contoh: www.google.com.

  • Address (Alamat): Mengidentifikasi di mana lokasi objek tersebut berada. Sifatnya fisik atau lokasi jaringan. Contoh: 142.250.1.100.

  • Route (Rute): Mengidentifikasi bagaimana cara mencapai lokasi tersebut dari posisi kita saat ini.

  • Binding (Pengikatan): Asosiasi atau pemetaan antara Nama dan Alamat. Resolusi nama adalah proses menemukan binding ini.

4. Uniqueness (Keunikan) & Context

Menjamin nama itu unik secara global sangat sulit pada skala besar (Internet).

  • Solusi Hierarki: Penggunaan struktur hierarkis memungkinkan pengelolaan keunikan yang terdesentralisasi. Contoh: IP Address (Network ID + Host ID) atau Domain Name (itb.ac.id mengatur subdomain di bawahnya).

  • Konsep Context: Nama selalu diinterpretasikan relatif terhadap “konteks” tertentu. Sebuah nama harus unik dalam konteksnya, tapi boleh sama di konteks lain.

    • Contoh: File /etc/httpd/conf/httpd.conf adalah nama unik dalam konteks sistem file komputer tertentu. Di komputer lain, path yang sama merujuk ke file berbeda.

    • Naming System: Adalah kumpulan konteks yang terhubung dan menyediakan operasi yang sama (misal sistem DNS atau LDAP).

5. Namespace & Resolution

  • Name Space: Wadah (container) untuk kumpulan nama. Namespace bisa memiliki Scope, yaitu wilayah di mana nama tersebut valid dan menunjuk ke suatu objek. Struktur namespace seringkali berbentuk pohon (tree).

  • Name Resolution (Resolusi): Proses pencarian (lookup) untuk mengembalikan binding dari sebuah nama.

    • Contoh: Resolusi www.itb.ac.id menghasilkan 167.205.1.34.

    • Proses resolusi melibatkan pencarian node layanan, pencarian alamat jaringan node, dan penentuan jalur (path).

6. Directory Service

Ini adalah perluasan (extension) dari Naming Service.

  • Fungsi: Tidak hanya memetakan nama ke alamat, tapi juga mengasosiasikan nama dengan atribut-atribut objek (meta-data).

  • Kapabilitas: Memungkinkan pencarian berdasarkan atribut (bukan hanya berdasarkan nama).

  • Contoh: LDAP (Lightweight Directory Access Protocol). Kita bisa mencari “Semua printer yang berwarna di Lantai 2”.

7. Tipe-Tipe Binding

Kapan asosiasi antara nama dan objek/alamat ditetapkan?

  • Static Binding (Hard Coded): Nama dan alamat dipasangkan secara permanen di dalam kode program. Sangat kaku, sulit diubah.

  • Early Binding: Resolusi (lookup) dilakukan jauh sebelum objek digunakan. Hasil binding seringkali disimpan (cache) untuk digunakan nanti. Efisien tapi kurang fleksibel jika alamat berubah.

  • Late Binding: Resolusi dilakukan tepat sesaat sebelum objek digunakan. Paling fleksibel karena selalu mendapatkan alamat terkini, namun overhead (waktu tunggu) terjadi setiap kali akses.

Summary

Penamaan (Naming) adalah jembatan antara identitas logis (Name) dan lokasi fisik (Address). Naming Service menyediakan mekanisme resolusi untuk memetakan nama ke alamat melalui proses Binding. Untuk menangani skala besar, digunakan hierarki dan konsep Context di mana nama hanya perlu unik dalam lingkup tertentu. Directory Service memperkaya ini dengan menyimpan atribut objek. Binding dapat dilakukan secara statis, early, atau late, tergantung kebutuhan antara efisiensi vs fleksibilitas.