Sistem Penamaan pada Sistem Terdisitribusi

Pentingnya Masalah Penamaan

Penamaan berperan penting dalam banyak hal mengenai sistem komputer. Nama merupakan identitas yang dapat membedakan suatu entitas dengan entitas lainnya. Tidak hanya itu nama juga dapat menunjukkan lokasi suatu entitas. Masalah yang perlu diperhatikan dalam hal penamaan adalah bagaimana sebuah nama dapat menunjuk ke entitas yang diwakilinya seperti halnya sebuah NIM (Nomor Induk Mahasiswa) atau nama dapat menunjuk ke mahasiswa yang diwakili NIM atau nama tersebut. Untuk mewujudkan hal tersebut dibuatlah suatu sistem penamaan. Pada sistem tersebar implementasi sistem penamaan tidak berpusat pada sebuah komputer namun lebih sering tersebar pada beberapa mesin dan cara pendistribusiannya mempengaruhi efisiensi dan skalabilitas dari sistem penamaan tersebut.

Nama, Identifier, dan Alamat 

Sebuah nama dalam sistem tersebar adalah sebuah deretean karakter yang digunakan untuk mewakili sebuah entitas. Entitas sendiri dapat berupa secara praktis dapat berarti apapun baik yang bersifat fisik seperti: komputer, printer, media penyimpanan, ataupun modem, maupun yang bersifat abstrak (lojik) seperti: berkas (file), user, proses, mailbox, dan sebagainya. Untuk memanfaatkan entitas-entitas dalam sistem tersebar pengguna (manusia ataupun mesin) perlu mengakses entitas-entitas tersebut melalui sesuatu yang disebut access point, address, atau alamat. Sebuah entitas dapat memiliki beberapa alamat seperti halnya seseorang dapat memiliki beberapa nomor telepon genggam. 

Contoh lainnya adalah ketika seseorang berpindah tempat seperti kota atau negara maka nomor teleponnya sering harus diubah sesuai dengan sistem di kota (kode area) atau negara (kode negara) tersebut. Alamat cukup nyaman untuk digunakan sebagai nama mewakili sebuah entitas tetapi seringkali tidak cukup bersahabat dengan manusia (sulit dibaca dan diingat) dan tidak fleksibel. Contohnya: pada sistem tersebar sering ditemukan bahwa sebuah layanan yang sedang diakses ternyata pada waktu yang berbeda dijalankan pada server yang berbeda. 

Entitas server dapat dengan mudah berganti alamat atau alamat dapat diubah mewakili server lainnya sehingga bisa saja pada suatu waktu sebuah alamat mewakili server yang dibutuhkan tetapi pada waktu lainnya mewakili server yang tidak tepat. Hal seperti ini umum ditemukan pada server layanan web yang disebar pada beberapa komputer server untuk meningkatkan performa dan ketersediaan layanan. Solusi yang lebih baik adalah dengan memberikan sebuah nama yang independen terhadap alamat server untuk layanan web.

sehingga penambahan, pengurangan, dan pergantian server tidak mempengaruhi pengaksesan layanan web di sisi pengguna. Contoh di atas memberikan gambaran bahwa sebuah nama untuk entitas yang tidak bergantung pada alamat entitas (location independent) lebih fleksibel dan mudah untuk digunakan. Jenis nama lain yang mendapat perlakuan khusus selain alamat adalah identifier dengan sifat-sifat sebagai berikut: 

  1. mewakili paling banyak satu entitas,
  2. setiap entitas diwakili oleh paling banyak satu identifier, 
  3. sebuah identifier selalu mewakili entitas yang sama (tidak berubah meurut waktu dan kondisi). 
Satu lagi jenis nama penting adalah nama dengan sifat user-friendly yang mudah dibaca dan diingat oleh manusia. Nama ini biasanya terdiri dari sederetan karakter yang dikenali manusia seperti nama pada file atau nama yang digunakan pada Domain Name System seperti www.google.co.id, dan sebagainya. 

Yang menjadi pusat pembahasan pada bab ini adalah bagaimana nama yang user-friendly atau identifier yang unik dapat diterjemahkan menjadi alamat dari sebuah entitas. Solusi sederhananya adalah sebuah tabel berisi pasangan nama atau identifier dengan sebuah alamat. Solusi ini tidak fleksibel dan sulit diterapkan pada sebuah sistem tersebar. Solusi yang lebih sering digunakan adalah dengan menyimpan informasi pasangan nama dan alamat tersebut pada beberapa sistem terpisah yang bersifat rekursif. Contohnya untuk mengetahui alamat www.yahoo.com: 

  1. Pengguna perlu menghubungi sebuah sistem (yaitu . (dot) atau root) yang akan memberikan alamat dari sistem di bawahnya yang memiliki tabel informasi mengenai alamat dari nama-nama yang berakhiran dengan com (DNS domain com) 
  2. Kemudian menghubungi sistem tersebut (DNS domain com) yang akan memberikan alamat dari sistem yang memiliki tabel informasi mengenai alamat dari nama-nama yang berakhiran yahoo.com (DNS domain yahoo.com) 
  3. Untuk kemudian mengulangi lagi menghubungi sistem (DNS domain yahoo.com) yang memiliki tabel berisi pasangan nama www.yahoo.com dengan alamatnya. 
Cara memasangkan alamat dengan nama atau identifier dan menemukan alamat pasangan dari nama atau identifier dan sebaliknya ini dikenal dengan naming System. Pada bagian berikutnya akan dibahas tiga naming System, yaitu: 

  1. flat naming 
  2. structured naming 
  3. attribute-based naming 

Flat Naming

Flat Naming adalah sistem penamaan yang tidak memiliki struktur tertentu. Nama dalam Flat Naming terdiri dari sederetan bit karakter yang tidak mengandung informasi tentang bagaimana menemukan alamat untuk entitas yang diwakili oleh nama tersebut. 

Teknik Resolving Cara penamaan ini memang sederhana tetapi menimbulkan akibat yang tidak sederhana dalam cara menemukan alamat entitas yang diwakilinya. Ada beberapa solusi dalam menyelesaikan masalah menemukan pasangan alamat/menerjemahkan nama menjadi alamat (resolving) pada sistem penamaan flat naming, yaitu: 

  • Broadcasting dan multicasting 
  • Forwarding pointer 
  • Home-based approach 
  • Hierarchical search tree 

Flat Naming broadcasting dan Multicasting Cara ini cukup sederhana yaitu mengirimkan sebuah pesan berisi permintaan pasangan identifier dari sebuah alamat kepada seluruh atau sebagian anggota jaringan dan hanya entitas yang memiliki alamat tersebut yang akan menjawab dengan identifier yang ia miliki. Contoh implementasinya adalah ARP (address resolution protocol) yang digunakan untuk mengetahui alamat hardware (MAC Address) berdasarkan sebuah alamat IP. Cara lainnya adalah dengan melakukan multicasting yaitu mengirimkan pesan hanya ke beberapa entitas dalam jaringan. 

Contoh kasusnya adalah pada unit bergerak seperti laptop milik pegawai yang terkoneksi dengan jaringan nirkabel. Ketika laptop pegawai terkoneksi ke jaringan khusus pegawai laptop tersebut akan mendapatkan alamat IP milik staff berdasarkan alamat hardwarenya. Ketika pegawai lain mencoba menghubungi laptop tersebut maka pesan dikirimkan hanya ke komputer yang tergabung dalam jaringan pegawai. Broadcast dan multicast memang sederhana tetapi tidak cocok digunakan ketika ukuran jaringan sudah cukup besar karena akan membebani jaringan dengan pesan permintaan resolving. 

Forwarding Pointers Pada teknik ini setiap kali sebuah entitas berpindah lokasi dan mendapatkan alamat baru maka entitas tersebut meninggalkan informasi mengenai lokasi barunya di lokasi lamanya sedemikian sehingga entitas lain yang mencarinya dapat menelusuri jejak perpindahan dan berkomunikasi dengan entitas tersebut. Informasi tersebut dikenal sebagai pointer.

Posting Komentar untuk "Sistem Penamaan pada Sistem Terdisitribusi"