(TIF 304)
“NAME SERVICE ”
Oleh :
Andono Satrio W (32508)
Tegar Permana (32324)
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.
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).
· 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.
ü 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.
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 :
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)
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.
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.
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.