Anda di halaman 1dari 15

Tugas Sistem Terdistribusi

(TIF 304)
“NAME SERVICE ”

Oleh :
Andono Satrio W (32508)
Tegar Permana (32324)

PRODI TEKNOLOGI INFORMASI


JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS GADJAH MADA
2009
9.1 Pendahuluan
Dalam sistem terdistribusi, name service digunakan untuk menunjuk ke suatu
sesumber yang beragam dan tersebar seperti komputer, layanan (services), file, remote
object, use yang dapat memudahkan pengguna.
Contoh penamaan pada aplikasi sistem terdistribusi:
– URL untuk mengakses suatu halaman web.
– Alamat e-mail utk komunikasi antar pemakai.

Selain itu name service juga merupakan layanan penamaan yang berfungsi untuk
menyimpan naming context, yakni kumpulan binding nama dengan objek, tugasnya untuk
me-resolve nama. Kebutuhan akan penamaan juga memicu munculnya layanan
penamaan (Naming Services) yang menyediakan mekanisme dan struktur penamaan
objek itu sendiri. Contohnya DNS (Domain Name Service), X.500, COBRA, dan GNS.

9.1.1 Name Resolution, Binding, Attributes

· Name resolution: Nama ditranslasikan ke data ttg resource/object tsb.


· Binding: Asosiasi antara nama & obyek. Dan biasanya nama diikat (bound) ke
attributes dari suatu obyek.
· Address: atribut kunci dari sebuah entitas dalam sistem terdistribusi
· Attribute: nilai suatu object property.

Penguraian Naming Domains untuk mengakses resource dari URL


Didalam setiap name objek terdapat juga beberapa atribut yang merupakan properti suatu
objek. Contoh :

ü DNS : memetakan dari nama ke atribut alamat IP host


ü X.500 : memetakan suatu nama seseorang ke beberapa atribut, seperti email,
telepon, dsb.
ü CORBA Naming Service yang memetakan nama remote objek ke remote object
reference.

9.2 Name Service and the Domain Name System


Suatu name service dapat menyimpan kumpulan satu atau lebih kontek penamaan
yaitu sehimpunan keterkaitan antara nama dan atribut objek, seperti user, komputer,
services dan remote object.

Yang dibutuhkan dari suatu Name Services adalah :

– penamaan unik yang standard


– scalability
– consistency
– performance dan availability
– mudah menyesuaikan terhadap perubahan
– perlindungan kegagalan

Dalam rangka memenuhi kebutuhan tersebut, sebuah name server setidaknya


dapat menerapkan mekanisme berikut :

o Partitioning
ü Tidak ada satu name server yang dapat menyimpan seluruhnama dan
atribut untuk seluruh jaringan.
ü Data nama dipartisi berdasarkan domain.

o Replication
ü Sebuah domain biasanya memiliki lebih dari satu name server
ü Untuk meningkatkan availability dan performance

o Caching
ü Sebuah name server dapat melakukan mekanisme caching terhadap data
nama dari name server lain
ü Hal ini dilakukan untuk mencegah operasi permintaan sama berulang-
ulang
9.2.1 Name Space
Name Space adalah kumpulan nama sah yang dikenal oleh suatu layanan yang
sesuai. Suatu nama dapat digambarkan dengan menggunakan generative grammar,
seperti BNF (Backus-Naur Form).

Contoh BNF untuk email

Berikut adalah beberapa karakter dari name space :


· memiliki struktur internal
ü flat
ü hirarki yang mempresentasikan posisi (contoh sistem berkas UNIX)
ü hirarki yang mempresentasikan struktur organisasi (contoh Internet
Domain)
· Karena hirarki, memiliki potensi tak terbatas
· Suatu name space dapat diatur secara terdistribusi (naming domain)
· Suatu name space dapat berupa gabungan dari beberapa nama space lain. Contoh
mount pada UNIX/Linux
9.2.2 Name Resolution
Yaitu diberikan nama obyek , temukan obyek tersebut. Simpan semua nama di
setiap name server. Partisi basis data penamaan (naming database) dapat dilakukan
berdasarkan:

· Algoritma:
ü Tergantung dari nilai sebuah fungsi hash.
ü Tidak tergantung pada struktur dan lokasi obyek.

· Sintaks:
ü Contoh: telaga.cs.ui.ac.id.

· Atribut.
ü Proxy dapat menyimpan pointer migrasi suatu obyek.

Name servers and navigation


Navigasi dan name servers di sini memiliki arti petunjuk pengaksesan nama data
dari lebih dari satu name server untuk menyelesaikan suatu pemetaan nama (resolve a
name). Yang didalamnya terdapat 3 metode,yaitu :

ü Iterative Navigation
ü Non-recursive, server-controlled
ü recursive, server-controlled

– Iterative Navigation

Iterative Navigation
Agent tetap memegang kendali proses resolusi sebuah nama. Server
mengembalikan status resolusi dan alamat server yang harus dihubungi selanjutnya.
Agent bekerja lebih keras dari cara pertama, dan perlu sedikit pintar.
Transitive Navigation

Transitive Navigation hampir sama dengan resolusi rekursif. Return address dari
agent diteruskan oleh server, sehingga jika informasi lokasi obyek ditemukan, informasi
tersebut langsung diteruskan ke agent. Kelebihan : berkurangnya pengiriman pesan,
server tidak perlu menyimpan status on going resolution. Kekurangan: pengirim tidak
menerima ACK.

– Non-recursive and Recursive server-controlled navigation


Non Recursive Server controlled
Recursive Server Controlled

Rekursif

Adalah aktifitas berpindah dari server ke server, shg nama selalu di-resolve dalam
konteks yang baru. Multiple servers transparan bagi name agent. Agent tidak sibuk.
Servers harus menyimpan return address untuk setiap outgoing lookup, dan secara
keseluruhan bekerja keras.
9.2.3 Domain Name System
Domain Name System merupakan sebuah name service sebagai standard penamaan pada
Internet. Hal itu ditemukan oleh Mockapertis (1987) untuk menggantikan skema penamaan
original, dimana semua hal dilakukan oleh satu central master file dan di download oleh FTP
untuk semua computer yang membutuhkannya.
Database DNS diterapkan dengan sistem partitioning yang terbagi-bagi dalam suatu zone
berdasar domainnya dan letak geografis. Top level organizational domain (biasa disebut generic
domains) yang digunakan saat ini antara lain :

Com - organisasi komersial


Edu - institusi pendidikan
Gov - institusi pemerintahan
Mil - organisasi militer
Net - Network support center
Org - Organisasi tertentu yang tidak disebutkan disini
Int - organisasi internasional
Us - United states
Uk - United kingdom
Id - Indonesian

DNS Name Server dan Implementasi BIND


Name server menggunakan basis data terdistribusi yang terdiri dari tuples <nama, lokasi,
[atribut]>. Contoh atribut: jika resource adalah printer, maka atribut dapat menyatakan apakah
obyek dapat melakukan pencetakan postcripts atau tidak.
Hal penting yang harus dimiliki:
– Availability,
– Resilience to failure,
– Konsistensi,
– Kecepatan menerima pengaruh perubahan name lists,
– Kemudahan mengkompilasi list of objects (resources).

Pada tiap zone memiliki 2 name server yang menyediakan authoritative naming
information (replikasi). Suatu authoritative DNS Server ada 2 jenis :

• Primary server :
– Mendapatkan data dengan membaca file di storage
– Lebih dikenal dengan File Zone

• Secondary Server :
– Mendapatkan data dengan mereplikasikan data yang ada di primary server
– Lebih dikenal dengan Transfer Zone
Selain itu DNS juga menerapkan mekanisme caching yang selalu menyimpan informasi
hasil resolve name yang sudah dilakukan.
Contoh definisi zone dengan BIND pada file /etc/named.conf :

zone "budsus.com" {
type master;
file "budsus.db";
};

Biasanya pada BIND, database name zone disimpa pada direktori /var/named. Untuk
mendefinisikan authoritative DNS server dapat diberikan data berikut pada file domain.db
(contoh : budsus.com.db)

@ IN SOA ns1.budsus.com. root.ns1.budsus.com. (


20020401000 ;serial number
7200 ;refresh - 2 jam
3600 ;Retry - 1 jam
43200 ;Expire - 12 jam
3600 ) ;Minimum - 1 hour
Beberapa tipe record pada DNS yang dikenal antara lain :
Tipe record NS (Name Server)
IN NS ns1.budsus.com

Tipe record MX (Mail eXchange)


IN MX 10 ns1.budsus.com

Tipe record A (Address)


ns1 IN A 192.168.0.2

Tipe record PTR (Domain Name Pointer)


192.168.0.2 IN PTR www.budsus.com

CNAME (Canonical Name)


www IN CNAME ns1.budsus.com

9.3 Directory and Discovery Services


Sebuah direktori merupakan sebuah database, yang pengelolaan informasinya di dasarkan
pada atribut setiap item datanya. Informasi pada direktori lebih banyak akan dibaca daripada
operasi update (add, modify, ataupun delete). Sehingga pada suatu directory service tidak
menerapkan transaksi atau skema roll-back yang komplek seperti halnya yang kita temui pada
database service.
Pengubahan informasi pada direktori terjadi pada semua atau beberapa atribut suatu item
direktori. Dengan sifatnya yang sebagian besar diterapkan operasi pembacaan, maka suatu
directory service akan menerapkan suatu model replikasi untuk dapat memberikan kehandalan
yang lebih baik.
Suatu directory service akan menerapkan protokol LDAP (Lightweight Directory Access
Protocol) dengan format atribut untuk tiap itemnya di dasarkan pada format standard X.500.
LDAP disepakati dengan RFC 1777.
Secara prinsip struktur database pada directory service adalah hierarchy seperti yang
ditunjukkan pada gambar di atas. Seperti pada struktur hirarki pada umumnya, pada suatu
database directory service akan memiliki suatu item yang dijadikan sebagai root. Untuk sebuah
titik root, secara umum ditunjukkan dengan suatu atribut dc (Domain Component), namun dapat
juga langsung ditunjuk dengan atribut cn (Common Name) atau ou (Organization Unit) ataupun
o (Organization). Kemudian pada titik daun (leaf) biasanya akan berisi suatu item denga atribut
uid (User ID) ataupun cn. Berikut beberapa atribut untuk sebuah titik pada directory service
(lihat RFC 2256) :
● uid User id
● cn Common Name
● sn Surname
●l Location
● ou Organisational Unit
●o Organisation
● dc Domain Component
● st State
●c Country

Lalu sekarang pertanyaannya adalah bagaimana caranya kita menunjuk ke suatu item dari
database directory service? Cara penunjukkan suatu item titik pada directory service sama seperti
kita memperlakukan struktur hirarki DNS. Sebuah item titik pada directory service diberi suatu
alamat baik secara relatif maupun absolut.
Untuk suatu alamat relatif sering disebut sebagai RDN (Relative Distinguish Name),
sedangkan alamat yang absolut disebut sebagai DN (Distinguish Name). Pengalamatan ini
disepakati dengan RFC 1779. Contoh pada gambar di atas DN untuk uid=jparker adalah
“dn=uid=jparker, ou=People, dc=pisoftware, dc=com”.
Secara keseluruhan, sebuah item dapat diakses dari directory client dengan mematuhi
aturan URI (Uniform Resource Identifier) seperti yang tertulis pada RFC 1959. Berikut beberapa
contoh URI LDAP :

ð ldap://foo.bar.com/dc=bar,dc=com
ð ldap://argle.bargle.com/dc=bar,dc=com??sub?uid=barney

Secara teknis, LDAP merupakan sebuah protokol untuk mengakses ke Directory Service
X-500. Pertama-tama, client mengakses gateway ke X-500. Gateway tersebut akan menjalankan
LDAP di antara client dan gateway, sekaligus menjalankan Directory Access Protocol X-500
antara X-500 dan server. Karena LDAP merupakan jenis simpel dari DAP, maka LDAP
menyediakan sebagian besar dari fungsi DAP dengan biaya yang jauh lebih rendah.
LDAP menggunakan model client server. Saat client terkoneksi ke server dan
mengajukan LDAP request, server merespon dengan jawaban dan/atau dengan pointer ke arah
mana client dapat mendapat tambahan informasi (khususnya ke server LDAP yang lain). Tidak
masalah server LDAP yang mana yang merespon requst dari client, karena client tersebut akan
mendapat informasi yang sama.
Jini discovery service
Jini adalah teknologi dalam bidang jaringan komputer yang dipublikasikan secara resmi
oleh Sun Microsistem pada 25 Januari 1999. Ide dibalik teknologi ini diperoleh karena
keterbatasan Java dalam sistem terdistribusi. Perbedaan Jini dengan teknologi yang digunakan
untuk sistem terdistribusi lainnya adalah interface yang dapat dibuat tanpa harus menuliskan
notasi standar interface yaitu Interface Definition Language (IDL). Meskipun Jini dikembangkan
dengan menggunakan teknologi Java, namun pemrogram dapat menggunakan method dari kode
native yang ditulis dengan bahasa pemrograman selain Java untuk aplikasi Jini client dan server.
Jini merupakan salah satu arsitektur sistem terdistribusi yang menggunakan sekumpulan
antarmuka dan protocol yang sederhana. Jinni memungkinkan sebuah network yang
menyediakan service dan network yang terhubung ke device secara spontan tergabung dalam
sebuah grup obyek yang saling bekerja sama yang disebut federation. Federation merupakan
sebuah grup obyek yang saling bekerja sama yang merupakan gabungan dari jaringan penyedia
layanan dan jaringan yang terhubung keperalatan. Jini memiliki mekanisme self-healing yaitu
proses pemulihan diri sendiri ketika sebuah atau beberapa alat dilepas dari federations.

Konsep-konsep utama dalam arsitektur Jini antara lain :

1. Service
Sebuah entitas yang berada dalam network dan menunggu untuk melakukan
fungsinya.

2. Federation
Federation adalah sebuah sistem yang dinamis terdistribusi yang berisi devices dan
komponen-komponen software yang berada dalam satu network.
3. Lookup Service
Lookup Service berperan sebagai broker/trader/locator yang menghubungkan service
dan client. Service yang ada di network dicari dan ditemukan olehnya. Lookup service
memungkinkan registrasi, pengaksesan, pencarian dan penghapusan service. Dalam
jaringan dapat dijalankan beberapa lookup service untuk menangani masalah jika sebuah
lookup service mengalami crash.

Infrastruktur Jini :
1. Discovery Protocol
Protokol yang memungkinkan client dan services menemukan lookup service dan
melakukan koneksi dengan lookup service pada network. Jenisnya ada 2 yaitu Unicast
dan Multicast discovery.

2. Join Protocol
Join merupakan protocol yang memungkinkan service menjadi bagian dari
federation dan meregister dirinya sebagai registered service dengan mempublikasikan
sebuah service reference ke lookup service.
3. Lookup Protocol
Protokol yang memungkinkan client mencari lookup service untuk memperoleh
service yang dibutuhkannya.

9.4 Case Study of the Global Name Service

Global name service (GNS) di desain dan diimplementasikan oleh Lampson dan
muridnya di DEC System Research Center yang memberikan fasilitas untuk penempatan
resource, alamat e-mail dan autentifikasi. Struktur dari name space mungkin berubah dalam
kurun waktu tertentu untuk mengimbangi struktur keorganisasian. Servis tersebut harus
mengakomodir perubahan nama baik individual, organisasi dan grup yang ditanganinya.
GNS mengatur penamaan database yang berada dalam direktori dari sebuah “tree” yang
memegang nama dan nilainya. Direktori diberi nama dengan beberapa nama bagian yang
mengarah pada root, atau relative kepada direktori yang aktif, seperti penamaan pada sistem
UNIX. Setiap direktori juga diberi integer yang menyajikan directory identifier (DI) yang unik.
Nama didalam GNS mempunyai dua bagian yaitu <directory name, value name>. Bagian
pertama menunjukan direktori dan yang kedua menunjukan nilai dari tree. Direktori dari tree
dipartisi dan disimpan dalam beberapa server, dimana setiap partisi di replikasi pada beberapa
server. Konsistensi tree harus dipertahankan, misalnya bila 2 user atau lebih memberikan nama
file yang sama maka hanya akan ada 1 user yang berhasil menamai dengan nama tersebut (yang
lebih cepat memberi nama).
9.5 Case Study of the X.500 Directory Service
International Telecomuncation Union (ITU) dan International Organization for
Standarization (ISO) pada tahun 1990 mengeluarkan standar untuk directory service yang diberi
nama X.500. Ide dasar dari X.500 adalah untuk membangun sebuah sistim terdistribusi secara
global yang dapat menawarkan pengaksesan informasi secara homogen dan komprehensif.
Dalam X.500 terdefinisi Directory Access Protocol (DAP) yang dapat digunakan oleh klien
untuk mengakses direktorinya. Secara umum X.500 bertujuan untuk memudahkan pencarian data
yang tersusun secara hirarkis. Karena implementasi X.500 service protocol terlalu berat untuk
desktop pada saat itu, pada tahun 1993, akademisi dari Universitas Michigan, dengan bantuan
Konsorsium ISODE merancang dan membangun sebuah protocol yang dapat bekerja di atas
TCP/IP. Hasilnya adalah Lightweight Directory Access Protocol (LDAP). Protokol ini dirancang
untuk menyediakan akses ke direktori X.500 tanpa perlu memiliki sumber daya yang dibutuhkan
untuk mengimplementasikan DAP.
Microsoft, sebuah perusahaan perangkat lunak, melihat layanan direktori ini sebagai
komponen kritikal dalam sebuah sistem yang mencari dan mengirimkan informasi. Oleh karena
itu, pada tahun 1996 Microsoft membuat implementasi layanan ini yang diberi nama Active
Directory (MSAD) dan dirilis pertama kali bersamaan dengan penggunaan Windows 2000 yang
kemudian ditingkatkan fungsionalitasnya pada Windows Server 2003 [WIK05]. MSAD men-
support sejumlah standar dalam layanan ini antara lain sebagian dari DAP dan LDAP.

CARA KERJA :
X.500 berbasiskan model client-server. Secara terminologi dari standar X.500, direktori
kliennya disebut dengan Directory User Agent (DUA), dan untuk server disebut dengan
Directory System Agent (DSA). Protokol yang mengatur interaksi antarad dua atau lebih DSA
adalah Directory System Protocol (DSP), dan Directory Access Protocol (DAP) yang mengatur
komunikasi antara DUA dan DSA. DAP melewati semua lapisan jaringan yang didefinisikan
pada OSI. Klien mengakses directory dengan membangun suatu koneksi dengan server dengan
mengeluarkan permintaan akses. Klien dapat menghubungi semua server dengan sebuah
permintaan. Jika data yang dibutuhkan tidak terdapat pada segmen dari Directory Information
Base (DIB) pada suatu server, maka server tadi akan mencarikannya pada server lain atau
menyambungkan klien (redirecting) dengan server lain.
Berikut ilustrasinya :
Data yang ada disimpan di X.500 server menggunakan struktur data tree (yang diberi
nama Directory Information Tree – DIT) dengan nodes yang diberi nama sebagai atribut
pencarian. Menurut Coulouris, data tersebut diakses menggunakan dua jenis perintah, read dan
search. Untuk read, klien sudah tahu pengenal data yang diinginkan (identifier) memakai nama
absolut, sehingga DSA tinggal mengambil data yang diinginkan menggunakan navigasi DIT.
Sementara pada search, klien hanya memberikan sebuah filter dan basis nama dan DSA diminta
untuk mencari data pada DIT yang sesuai dengan filter yang diberikan.
Sedangkan cara kerja LDAP mirip dengan X.500, karena LDAP dapat dikatakan
merupakan himpunan bagian dari X.500. LDAP menggunakan model client-server. Pemrosesan
query dari klien adalah serupa dengan X.500. Untuk melakukan sebuah query, klien
mengirimkan identifier data (disebut Relative Distinguished Name) yang ingin diambil nilai
atribut-atributnya. Klien mengirimkan pesan itu di atas TCP, dan server mencoba mencarinya
pada DIT yang tersimpan di server tersebut. Bila ditemukan maka hasilnya langsung diberikan
ke klien, bila tidak maka hasilnya berupa sebuah pointer ke server lain yang menyimpan data
yang dicari.

Anda mungkin juga menyukai