sistem terdistribusi - name service

19

Click here to load reader

Upload: dina-amriyani-hasibuan

Post on 01-Dec-2015

723 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sistem Terdistribusi - Name Service

SISTEM TERDISTRIBUSI

NAME SERVICE

RAHMAT SALEH HSB (111421046) RAISSA ADITYA RAHAYU (111421072) RIBKA BR. GINTING (121421006) DINA AMRIYANI HSB (121421017) ERJAN FIKRY ANTARI (121421025) EMIR SATRIA HASIBUAN (121421034) ADYA ZIZWAN PUTRA (121421029) SITA SARTIKA (121421013)

PROGRAM STUDI S1 EKSTENSI ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2012

Page 2: Sistem Terdistribusi - Name Service

KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Allah SWT yang telah memberikan rahmat

serta karunia-Nya kepada kami sehingga kami berhasil menyelesaikan makalah

ini yang alhamdulillah tepat pada waktunya yang berjudul “NAME SERVICE”

Makalah ini berisikan tentang informasi Pengertian NAME SERVICE atau yang

lebih khususnya membahas penerapan Name Service dalam Sistem Terdistribusi.

Diharapkan Makalah ini dapat memberikan informasi kepada kita semua tentang

Name Service.

Kami menyadari bahwa makalah ini masih jauh dari sempurna, oleh karena itu

kritik dan saran dari semua pihak yang bersifat membangun selalu kami harapkan

demi kesempurnaan makalah ini.

Akhir kata, kami sampaikan terima kasih kepada semua pihak yang telah berperan

serta dalam penyusunan makalah ini dari awal sampai akhir. Semoga Allah SWT

senantiasa meridhai segala usaha kita. Amin.

Medan, 14 November 2012

Penyusun

Page 3: Sistem Terdistribusi - Name Service

NAME SERVICE

Pendahuluan

Nama = string digunakan untuk mengidentifikasi objek (file, komputer, orang,

proses, objek). Name Service dalam Sistem Terdistribusi merupakan layanan

penamaan yang berfungsi untuk menyimpan naming context, yaitu sehimpunan

keterkaitan antara nama dan atribut objek (binding), seperti user, komputer,

services, dan remote object, tugasnya untuk me-resolve nama.

Pengaksesan resource pada sistem terdistribusi yang memerlukan:

i. Nama resource (untuk pemanggilan),

ii. Alamat (lokasi resource tersebut),

iii. Rute (bagaimana mencapai lokasi tersebut).

Name Service memiliki konsentrasi pada aspek penamaan, dan pemetaan

antara nama & alamat, bukan pada masalah rute, yang dibahas di Jaringan

Komputer. Resource yang dipakai dalam Name Service adalah: komputer,

layanan, remote object, berkas, pemakai.

Konsep Penamaan

1. Tekstual nama (dibaca manusia)

-Digunakan untuk mengidentifikasi layanan individu, orang

• alamat email: handrizal@ usu.ac.id

• URL: www.google.com

- Atau kelompok orang atau benda

• mailing list: [email protected]

• email domain (jika ada beberapa mail exchanger)

Page 4: Sistem Terdistribusi - Name Service

2. Numeric alamat (mengidentifikasi lokasi obyek)

- Mencari sumber daya individu, misalnya

193.206.186.100 (alamat IP host)

- Kasus khusus: alamat kelompok, misalnya

multicast dan broadcast alamat: Multicast IP, Ethernet

3. Obyek pengidentifikasi

- "Murni" nama (pola bit), biasanya numerik dan besar

• tidak pernah digunakan kembali (termasuk timestamp)

• digunakan untuk keperluan identifikasi

Tidak ada perbedaan nyata antara nama dan alamat. Keduanya harus mendongak

untuk memperoleh tingkat rendah data atau resolusi nama.

Contoh naming pada aplikasi sistem terdistribusi:

a. file system

- Nama file peta ke file

b. RMI registri

- Mengikat objek remote ke nama simbolik

c. DNS (Domain Name Service)

- Nama domain peta ke alamat IP

-. URL untuk mengakses suatu halaman web.

- Terukur, dapat menangani perubahan

d. X.500/LDAP layanan direktori

- Nama memetakan seseorang untuk alamat email, nomor telepon

e. Alamat e-mail utk komunikasi antar pemakai.

Page 5: Sistem Terdistribusi - Name Service

Tujuan dari Penamaan

1. Identifikasi

2. Seorang pemakai menginginkan obyek/layanan A, bukan obyek/layanan

B.

3. Memungkinkan terjadinya sharing

4. Lebih dari satu pemakai dapat mengindentifikasikan resource dengan

nama yang sesuai (tidak harus nama yang sama).

5. Memungkinkan location independence (File dapat dipindahkan tanpa

penggantian nama)

6. Perubahan lokasi tidak menuntut perubahan nama, asalkan lokasi tidak

menjadi bagian dari nama resource tsb.

7. Memberikan kemampuan keamanan (security)

8. Jika sebuah nama dipilih secara acak dari himpunan besar interger, maka

nama tsb hanya bisa diketahui dari legitimate source, bukan dari menebak.

Jadi jika seseorang mengetahui nama obyek tersebut, maka dia memang

diberi tahu, karena sulit sekali menebak nama tersebut.

Dalam rangka memenuhi kebutuhan tersebut, sebuah name server setidaknya

dapat menerapkan mekanisme berikut:

Partitioning

• Tidak ada satu name server yang dapat menyimpan seluruh nama dan

atribut untuk seluruh jaringan.

• Data nama dipartisi berdasarkan domain.

Replication

• Sebuah domain biasanya memiliki lebih dari satu name server

• Untuk meningkatkan availability dan performance

Page 6: Sistem Terdistribusi - Name Service

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.

Contoh Penamaan yang memberikan kemampuan keamanan

Nama dipilih secara acak dari 128 bit integer, maka ada sekitar 3 x 1038 nama

yang berbeda. Jika sekumpulan obyek membutuhkan nama yang unik, dan di-

generate 1 juta dalam 1 detik selama 100 tahun, maka pada akhirnya akan ada

sekitar 3 x 1015 obyek (nama). Proporsi nama yang dipakai, jauh lebih kecil dari

keseluruhan nama yang tersedia. Probabilitas benar dalam menebak nama obyek

tersebut adalah 1:1023. Jika dalam dalam 1 detik dilakukan 1 juta tebakan, maka

diperlukan sekitar 1010 tahun untuk menebak nama yang benar.

• Pure name : nama yang tidak perlu di terjemahkan, karena pada nama tersebut

sudah menunjuk alamat objek langsung. Contoh : IP

• non-pure name : dalam nama mengandung suatu informasi (misalnya atribut)

tentang suatu objek. Contoh : URL, alamat email, X.500 Directory Service, IOR

(Interoperability Object Reference).

Name Resolution, Binding, Attributes

Name resolution:

– Nama ditranslasikan ke data tentang resource/object tersebut.

Binding:

– Asosiasi atau gabungan antara nama & obyek.

– Biasanya nama diikat (bound) ke attributes dari suatu obyek.

Page 7: Sistem Terdistribusi - Name Service

Address: atribut kunci dari sebuah entitas dalam sistem terdistribusi

Attribute:

– Nilai suatu object property.

Contoh:

• DNS : memetakan dari nama ke atribut alamat IP host

• X.500 : memetakan suatu nama seseorang ke beberapa atribut, seperti email,

telepon, dan sebagainya.

• CORBA Naming Service yang memetakan nama remote objek ke remote object

reference

Composed Naming Domains to access a resource from a URL

URL (Uniform Resource Locator) merupakan suatu tipe khusus URI (Uniform

Resource Identifier). Tipe lainnya adalah URN (Uniform Resource Name). Ide

dengan adanya URN adalah user dapat melakukan query berdasar URN untuk

http://www.cdk3.net:8888/WebExamples/earth.ht

UR

Resource ID (IP number, port number,

Network

2:60:8c:2:b0:5

Web

55.55.55.5

WebExamples/earth.ht

888

DNS

Socke

Resolution via ARP

Resolution via DNS

Page 8: Sistem Terdistribusi - Name Service

mendapatkan URL objek. URC (Uniform Resource Characteristics) merupakan

subset dari URN untuk mendeskripsikan suatu sesumber Web dengan suatu

atribut, contoh 'author=budsus', 'keywords=sister,...'

Contoh bentuk URL

• Pada RFC 1738, penamaan dengan URL dapat mendukung beberapa protokol

berikut :

"http://" host [ ":" port] ["/" path] [ "?" search]

"ftp://" [user ":" password "@" host] [":" port] *[ "/" directoryname]

[ "/" filename]

Contoh Bentuk URN

• urn:nameSpace:nameSpace-specificName.

• Contoh : urn:ISBN:0-201-62433-8

• Contoh : urn:dcs:gormenghast.ac.uk:TR2000-56

Jenis Nama

User names:

– Dibuat oleh pemakai (user).

– Merujuk pada suatu obyek atau layanan.

– Terdiri dari strings of characters.

– Contoh: hp201 untuk pencetak, ~bettyp/tmp/test.c untuk berkas.

Page 9: Sistem Terdistribusi - Name Service

System names:

– Terdiri dari bit string.

– Internal untuk sistem, tidak ditujukan untuk manusia.

– Lebih compact dari user names, sehingga dapat dibandingkan dan

lebih efisien.

Struktur Nama

Primitive/flat names (Unique Identifiers = UIDs)

– Tanpa struktur internal, hanya string of bits.

– Digunakan utk perbandingan dengan UID lain.

– Tidak membawa informasi lain: pure names.

– Sangat berguna dan banyak digunakan karena:

• Location & application independent, sehingga tidak

menjadi masalah bagi mobilitas obyek.

• Seragam, fixed size.

• Compact: mudah disimpan, di-pass, & jika cukup besar

menjadi sulit ditebak.

Partitioned Names (PN)

– Komposisi dari beberapa nama primitif, biasanya disusun secara

hirarkis.

– Contoh: telaga.cs.ui.ac.id, /cs/docs/akademik/SisDis/naming.ppt.

– Membawa informasi: impure names.

– Biasanya tidak secara unik mengidentifikasikan obyek, beberapa

nama bisa dipetakan ke satu obyek (misalnya UNIX file links).

Descriptive names (DN)

– Daftar atribut yang secara bersama-sama mengidentifikasikan

obyek secara unik.

– Membawa informasi: impure names.

– DN adalah superset dari PN.

Page 10: Sistem Terdistribusi - Name Service

– OSI X.500 directory service.

• Directory Information Tree (DIT) X.500 name tree

• Directory Information Base (DIB):

The entire directory structure, including the data associated with the

nodes.

Name Contexts

Nama selalu diasosiasikan dengan konteks, yang mendefinisikan di mana

nama tersebut valid.

Ada 2 macam konteks:

– Universal context:

• Di manapun nama digunakan, nama di-resolved dengan

cara yang sama.

• Dapat disalin dari mesin ke mesin dengan bebas.

• Contoh: http://www.cs.ui.ac.id/index.html.

– Relative context:

• Context dependent.

• Contoh: ‘a/b/c’, ‘b/c’ resolvable pada konteks ‘a’.

Sedangkan pada node yang berbeda, ‘a/b/c’ dapat merujuk

pada hal yang berbeda pula.

Apakah yang Diharapkan dari Fasilitas Penamaan

Efisien, karena fasilitas penamaan merupakan dasar pada sistem

terdistribusi dan digunakan secara terus menerus.

Terdistribusi.

Jika UIDs dibangkitkan oleh centralized generator, maka akan terjadi:

– Bottleneck.

– Node tempat generator tersebut mengalami kegagalan.

Page 11: Sistem Terdistribusi - Name Service

Tampak seperti global space, tidak tergantung konektifitas, topologi, dan

lokasi obyek.

Mendukung pemetaan 1:many antara nama & obyek, untuk

memungkinkan multicast.

Mendukung dynamic relocation of objects, jika obyek/proses potensial

untuk mobile (berpindah-pindah). Jadi diperlukan dynamic binding antara

nama & alamat, juga antara alamat & rute.

Memungkinkan local aliases, sehingga pemakai dapat mengekspresikan

interpretasi semantik mereka terhadap suatu obyek. Tentu saja diperlukan

pemetaan antara aliases dan full names.

Lokasi Resource

Lokasi Resource harus memiliki Broadcast ke semua name servers, yang berarti

berfungsi melaporkan seluruh response (positif & negatif) yang kemudian lalu

lintas menjadi sibuk. Lokasi resource hanya melaporkan positive response.

• Nama unik merupakan keharusan.

• Tidak scalable: Masih bisa ditolerir untuk LAN

Name lists

Client

Name Agent

Name Server Name Server

Client

Name Agent

Client

Network

Page 12: Sistem Terdistribusi - Name Service

Name Lists terdiri dari 2 komponen yaitu

Name agents:

Name agents berada di client, bisa 1 name agent per client atau 1 name agent

digunakan oleh beberapa clients. Name agents menjadi perantara antara client

dan name server. Contoh: resolver pada Domain Name Service (DNS).

Name servers.

Name agents 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.

Fungsi Name Agents

Fungsi Name Agents memastikan bahwa lokasi name servers terlihat transparan

bagi client programs (menyembunyikan lokasi name server). Fungsi Name Agents

‘Berbicara’ dalam protokol komunikasi yang dimengerti name server. Name

Agents mengetahui bagaimana name space diatur, sehingga tahu ke mana suatu

request harus dikirim untuk memperoleh informasi lokasi, juga untuk melakukan

negosiasi kompabilitias atau availability sumber daya (resource), berdasarkan

atribut.

Name Servers

Name Servers menyimpan pemetaan nama ke alamat untuk setiap obyek dalam

sistem, contohnya melalui tuples <nama, lokasi, [atribut]>. Hal penting yang

harus dimiliki: Availability, Resilience to failure, Konsistensi, Kecepatan

menerima pengaruh perubahan name lists, Kemudahan mengkompilasi list of

objects (resources).

Page 13: Sistem Terdistribusi - Name Service

Beberapa bentuk Name List:

Tersentralisasi.

Tereplikasi penuh.

Tereplikasi sebagian (menggunakan cache).

Name List - Tersentralisasi

Adalah Name list yang berada pada satu mesin.

Kelebihan:

– Layanan cukup dilakukan dengan melihat name lists.

– Waktu yang dibutuhkan antara registrasi obyek & saat obyek tsb dapat

diakses, sangat singkat.

– Mudah untuk memperoleh daftar obyek aktif.

Kekurangan:

– Poor resilience: jika node crash, terjadilah malapetaka.

– Kemacetan (congestion) membatasi availability.

Name List - Tereplikasi Penuh

Digunakan untuk mengatasi kekurangan name list tersentralisasi.

Masalah:

– WRITE:

• Untuk menjaga konsistensi, jika name list direplikasi, maka setiap

perubahan harus terefleksi di semua copy.

• Bagaimana jika saat perubahan dicatat, ada sebagian replika yang tidak

dapat dihubungi (link or node failures)?

– READ:

• Bagaimana jika informasi yang diperoleh ternyata sudah usang, atau ada

beberapa replika yang tidak dapat diakses?

Page 14: Sistem Terdistribusi - Name Service

Solusi:

– Sebuah name server dipilih sebagai master, dan selalu merefleksikan

secara akurat state of the world.

– Name servers lainnya bertindak sbg pemberi petunjuk (hint), yang belum

tentu benar.

– Propagasi informasi antara master dan replika dilakukan saat ‘sepi’.

Diperlukan beberapa asumsi, yaitu:

– Data penamaan tidak sering berubah, sehingga ketidakkonsistenan relatif

jarang terjadi. Tergantung dari aplikasi, cukup akurat untuk mail system

tapi tidak untuk sistem berbasis obyek yang sangat dinamis.

– Jika dipakai data yang usang, maka akan terjadi error yang dapat diatasi.

Contoh: Buku telepon yang memuat no telp yang tidak terpakai lagi.

Error & penanganannya?

– Tidak ada masalah jika dipakai data usang.

Contoh: forward pada alamat e-mail yang lama.

Kelebihan:

– Tidak perlu suatu central name server, di mana seluruh station tergantung

pada name server tsb.

– Masih relatif mudah memperoleh daftar obyek dalam suatu jaringan, di

mana suatu name list berisi informasi yang dibutuhkan.

– Availability meningkat, shg lokasi obyek dapat ditemukan lebih cepat dari

name list tersentralisasi.

Kekurangan:

– Menggunakan lebih banyak memori.

– Potensial timbul masalah ketidakkonsistenan.

– Pada beberapa jaringan, broadcast packet ke replika sangat meningkatkan

overhead jaringan.

Page 15: Sistem Terdistribusi - Name Service

Name Server - Tereplikasi Sebagian

Name Server yang tereplikasi sebagian adalah sebagian name lists disimpan dalam

cache setiap mesin. Hal ini memerlukan mekanisme petunjuk (hint), yang

biasanya benar. Tidak ada master copy, sehingga dapat timbul masalah yaitu

seberapa besar cache atau menekah nama yang harus dihapus dari cache untuk

menjaga konsistensi.

Name Server - Tereplikasi Sebagian biasanya umum digunakan pada

sistem berbasis obyek. UID juga merupakan nama obyek. Petunjuk lokasi

disimpan dalam nama tersebut, untuk menghindari seringnya berkonsultasi

dengan name server. Petunjuk dari Name Server - Tereplikasi Sebagian harus

dapat diandalkan. Jika sebuah obyek berpindah, maka setiap reference harus

diubah satu persatu.

Name Resolution

Yaitu diberikan nama obyek, lalu 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.

Page 16: Sistem Terdistribusi - Name Service

Non-recursive and Recursive

Server-controlled Navigation

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.

Agen

N.S. N.S. N.S.

1 2

3

5

1 2

3 4

4

A name server NS1 communicates with other name servers on behalf of a client

client client

Recursive server-controlled

NS2

NS1

NS3

NS2

NS1

NS3

Non-recursive server-controlled

Page 17: Sistem Terdistribusi - Name Service

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. Kelebihannya berkurangnya

pengiriman pesan, server tidak perlu menyimpan status on going resolution.

Kekurangannya adalah pengirim tidak menerima ACK.

N.S.

N.S.

Agen

N.S.

Client 1 2

3

NS2

NS1

NS3

Name servers

A client iteratively contacts name servers NS1–NS3 in order to resolve a name

Page 18: Sistem Terdistribusi - Name Service

KESIMPULAN

Dalam sistem terdistribusi, nama digunakan untuk menunjuk ke suatu sesumber

yang beragam dan tersebar seperti komputer, layanan (services), file, remote

object, use.

Nama memfasilitasi

• komunikasi : nama domain sebagai bagian dari email

• resource sharing : nama domain internet.

Proses tidak dapat mengakses suatu sesumber, jika sesumber

tersebut tidak diberi nama. Kebutuhan akan penamaan tersebut memicu

munculnya layanan penamaan (Naming Services) yang menyediakan mekanisme

dan struktur penamaan objek itu sendiri. Contoh : DNS (Domain Name Service),

dan juga kebutuhan untuk pencarian objek berdasar nama dan juga atribut objek

itu sendiri (Directory Service).

Suatu nama akan diterjemahkan ke dalam suatu data tentang

sesumber atau objek yang dimaksudkan. Gabungan antara objek dan nama disebut

binding. Name Service dalam Sistem Terdistribusi merupakan layanan penamaan

yang berfungsi untuk menyimpan naming context, yaitu sehimpunan keterkaitan

antara nama dan atribut objek (binding), seperti user, komputer, services dan

remote object, tugasnya untuk me-resolve nama. Name Service memiliki

konsentrasi pada aspek penamaan, dan pemetaan antara nama & alamat, bukan

pada masalah rute, yg dibahas di Jaringan Komputer.

Resource yang dipakai dalam Name Service adalah: komputer,

layanan, remote object, berkas, pemakai. Contoh naming pada aplikasi sistem

terdistribusi: URL untuk mengakses suatu halaman web dan Alamat e-mail utk

komunikasi antar pemakai.

Page 19: Sistem Terdistribusi - Name Service

DAFTAR PUSTAKA

http://iwan.staff.gunadarma.ac.id/Downloads/files/22157/6_Name+Service.pdf

Diakses 13 November 2012

http://blogerahman.staff.unisbank.ac.id/files/2011/07/Sist-Terdistribusi-Anton-Pres10.pdf

Diakses 13 November 2012

http://sitialiyah.staff.gunadarma.ac.id/Downloads/files/11437/week8+NameService.pdf

Diakses 13 November 2012

http://wiwied.staff.gunadarma.ac.id

Diakses 13 November 2012