SpongeBob SquarePants esetblog: PERTEMUAN V (SISTEM TERDISTRIBUSI)

WELCOME

ESETBLOG.BLOGGSPOT.COM

Rabu, 22 Januari 2014

PERTEMUAN V (SISTEM TERDISTRIBUSI)


SISTEM TERDISTRIBUSI
Chapter 4. Naming


4.1 Naming Entities
   Sebuah nama dalam sistem terdistribusi 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, dsb. Pengertian lain nya Name Service dalam Sistem Terdistribusi merupakan layanan penamaan yang berfungsi untuk menyimpan naming context, yakni kumpulan binding nama dengan objek, tugasnya untuk me-resolve nama. Pada sistem terdistribusi implementasi sistem penamaan tidak berpusat pada sebuah komputer namun lebih sering terdistribusi pada beberapa mesin dan cara pendistribusiannya mempengaruhi efisiensi dan skalabilitas dari sistem penamaan tersebut.
Untuk memanfaatkan entitas-entitas dalam sistem terdistribusi 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.
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, dsb.
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 terdistribusi
Nama-nama biasanya diatur menjadi sesuatu yang dikenal sebagai ruang nama (name space). Name space untuk nama yang terstruktur dapat direpresentasikan dalam bentuk graph (sebuah diagram yang terdiri dari simpul
(node) dan sisi (edge)yang menghubungkan dua simpul) yang memiliki label (nama) dan arah.
<gambar penjelasan graph biasa dan graph dengan label dan arah>
Ada dengan dua macam simpul pada graph yang merepresentasikan name space, yaitu:
1. Simpul daun yang merepresentasikan entitas yang memiliki nama dan tidak menjadi induk dari simpul lainnya
2. Simpul direktori yang memiliki ujung-ujung yang bernama dan menunjuk pada dari simpul daun lain
Simpul direktori menyimpan sebuah tabel yang disebut directory table yang berisi pasangan nama sisi (edge) yang mengarah ke luar menuju pada sebuah simpul anak dan identifier dari simpul anak tersebut. Simpul yang menjadi induk dan tidak memiliki induk disebut sebagai simpul root (akar). Sebuah graph penamaan dapat memiliki beberapa root namun demi kesederhanaan biasanya sebuah graph penamaan hanya memiliki satu root.

Setiap jalur (path) menuju suatu entitas dapat ditulis sebagai urutan label-label dari setiap sisi yang mengarah pada entitas tersebut seperti N:<label-1, label-2, …, label-n> di mana N adalah simpul di awal jalur. Jika sebuah jalur diawali dengan simpul root maka jalur tersebut disebut absolute path dan jika tidak diawali simpul root maka dinamakan relative path.
Contoh mudahnya adalah jalur ke sebuah file pada banyak sistem berkas (filesystem) ditulis sebagai urutan label dari sisi-sisi (melambangkan direktori - jangan tertukar dengan istilah simpul direktori) yang mengarah pada file tersebut seperti c:\windows\system32\cmd.exe atau /home/faculty/test.sh. Ada beberapa cara berbeda untuk mengatur sebuah name space namun kebanyakan hanya memiliki satu simpul root dan pada banyak kasus bersifat hierarkis dalam artian name space tersebut memiliki struktur seperti pohon (tree). Pada pengorganisasian seperti itu semua simpul memiliki tepat satu sisi yang mengarah ke simpul tersebut (kecuali simpul root) dan dapat memiliki beberapa sisi yang mengarah ke luar dari simpul tersebut ke simpul di bawahnya sehingga setiap simpul memiliki tepat satu absolute path.
Grafik penamaan ditunjukkan pada Gambar. 4-1 adalah contoh grafik asiklik diarahkan. Dalam sebuah organisasi, node dapat memiliki lebih dari satu sisi masuk, tapi grafik tidak diizinkan untuk memiliki siklus. Ada juga nama ruang yang tidak memiliki pembatasan ini. Untuk membuat keadaan menjadi lebih konkret, pertimbangkan cara file secara tradisional UNIX sistem file yang bernama. Dalam grafik penamaan untuk UNIX, node direktori merupakan direktori file, sedangkan simpul daun merepresentasikan file. Ada satu direktori root, diwakili dalam grafik penamaan oleh simpul akar. Implementasi dari grafik penamaan merupakan bagian integral dari pelaksanaan lengkap sistem file. Bahwa pelaksanaan terdiri dari serangkaian bersebelahan blok dari logis disk, umumnya dibagi menjadi blok boot, superblok, serangkaian indeks node (disebut inode), dan blok file data. Lihat juga (Crowley, 1997, Nutt, 2000; Tanenbaum dan Woodhull, 1997). Organisasi ini ditunjukkan pada Gambar. 4-2.

Description: Capture.JPG

Boot block adalah blok khusus data dan instruksi yang otomatis dimuat ke memori utama ketika sistem di-boot. Boot block digunakan untuk memuat sistem operasi ke dalam memori utama. Superblock berisi informasi tentang seluruh sistem file, seperti ukuran, yang blok pada disk yang belum dialokasikan, yang inode belum digunakan, dan sebagainya pada. Inode disebut oleh nomor indeks, mulai dari angka nol, yaitu dicadangkan untuk inode mewakili direktori root.Inode masing-masing berisi informasi yang tepat di mana data file terkait dapat ditemukan pada disk. Selain itu, inode berisi informasi tentang pemiliknya, waktu penciptaan dan modifikasi terakhir, perlindungan, dan sejenisnya. Akibatnya, ketika diberi nomor indeks inode, adalah mungkin untuk mengakses terkait file. Setiap direktori diimplementasikan sebagai file juga. Ini juga kasus untuk direktori root, yang berisi pemetaan antara nama file dan nomor indeks inode. Hal demikian terlihat bahwa jumlah indeks inode sesuai dengan node identifier dalam grafik penamaan.

4.1.2 Name Resolution
   Name resolution merupakan istilah untuk proses pencarian (looking up) sebuah nama ketika kita mendapatkan path dari nama tersebut. Proses name resolution ini akan menghasilkan identifier dari sebuah simpul yang dilalui pada proses tersebut.
Ruang nama menawarkan mekanisme yang nyaman untuk menyimpan dan mengambil informasi tentang entitas dengan cara nama. Lebih umum, diberi nama jalan, maka harus mungkin untuk mencari informasi yang tersimpan di simpul yang dirujuk oleh nama itu. Proses mencari nama disebut resolusi nama Untuk menjelaskan bagaimana resolusi nama bekerja, mempertimbangkan nama jalan seperti N: <label-1, label-2, ..., label-n>. Resolusi nama ini dimulai pada node N dari penamaan grafik, di mana nama label-1 adalah mendongak dalam tabel direktori, dan yang mengembalikan identifier dari node yang label-1 mengacu. resolusi kemudian terus di simpul diidentifikasi dengan melihat nama label-2 dalam direktori yang meja, dan sebagainya. Dengan asumsi bahwa jalan bernama benar-benar ada, resolusi berhenti di simpul terakhir disebut oleh label-n, dengan mengembalikan isi dari simpul tersebut.
   Sebuah pencarian nama mengembalikan identifier node dari mana resolusi nama Proses berlanjut. Secara khusus, perlu untuk mengakses tabel direktori node diidentifikasi. Pertimbangkan lagi grafik penamaan untuk sistem file UNIX. Sebagai disebutkan, pengenal simpul diimplementasikan sebagai nomor indeks dari inode. Mengakses tabel direktori berarti bahwa pertama inode harus dibaca untuk mengetahui dimana data tersebut disimpan pada disk, dan kemudian selanjutnya untuk membaca data blok berisi tabel direktori.
Mekanisme Penutupan (Closure)
Proses name resolution hanya dapat terjadi apabila pencari mengetahui bagaimana dan di mana untuk memulai proses. Hal ini dikenal sebagai closure mechanism yang secara esensi berurusan dengan menentukan simpul awal dalam name space di mana proses pencarian bisa dimulai. Closure mechanism terkadang tidak tampak (implicit) dan sudah menjadi bagian dari sebuah sistem dan dapat berbeda-beda pada setiap sistem. Sebagai contoh proses name resolution pada graph penamaan di filesystem UNIX menggunakan aturan bahwa inode (simpul) dari direktori root adalah inode (simpul) pertama. Jika sebuah file bernama /home/steen/mbox ingin ditemukan maka sistem operasi harus sudah dapat mengakses inode root untuk memulai pencarian.
Contoh lainnya dari closure mechanism ialah jika diberikan sebuah deretan angka “00301231751” banyak yang tidak mengetahui apa yang harus dilakukan kecuali ada informasi tambahan bahwa deretan angka tersebut adalah nomor telepon. Informasi tersebut cukup untuk memulai sebuah proses name resolution dengan cara memanggil nomor tersebut melalui pesawat telepon dan sistem telekomunikasi telepon akan melakukan proses lookup.

Linking dan Mounting
Terkadang suatu entitas memiliki beberapa nama atau dikenal sebagai alias. Pada sebuah graph penamaan terdapat dua cara untuk mengimplementasikan konsep alias, yaitu:
1. dengan mengizinkan adanya lebih dari satu absolute path menuju suatu simpul (pada dunia filesystem UNIX ini dikenal sebagai hard link)
2. atau dengan merepresentasikan sebuah entitas dengan sebuah simpul daun yang berisi informasi berupa absolute path dari entitas tersebut. Cara ini ke-dua dikenal dengan istilah symbolic link.


Proses name resolution yang dicontohkan sejauh ini berada dalam sebuah name space. Name resolution dapat juga melibatkan dua atau lebih name space. Contohnya adalah mounted filesystem pada UNIX. Proses mounting terjadi ketika sebuah simpul direktori menyimpan identifier dari simpul direktori yang berada di naming space yang berbeda atau dikenal sebagai simpul direktori asing. Simpul direktori yang menyimpan identifier simpul direktori asing disebut sebagai mount point sedangkan simpul direktori asing dikenal sebagai mounting point.
Pada sebuah sistem tersebar proses mounting dapat dilakukan lintas komputer jika didukung oleh tiga informasi berikut ini, yaitu:
1. nama dari protocol aksesnya,
2. nama dari komputer lain,
3. nama mounting point yang berada pada name space yang dimiliki komputer tersebut.
Perhatikan bahwa masing-masing nama harus diselesaikan. Nama dari protokol akses harus diselesaikan dengan pelaksanaan protokol dimana komunikasi dengan server dari ruang nama asing dapat terjadi. Nama dari
Server harus diselesaikan ke alamat mana server yang dapat dihubungi. Sebagai bagian terakhir dalam resolusi nama, nama titik pemasangan perlu diselesaikan
ke pengenal simpul dalam ruang nama asing. Dalam sistem nondistributed, tidak satupun dari tiga poin sebenarnya mungkin diperlukan. Misalnya, dalam UNIX, tidak ada protokol akses dan tidak ada server. Juga, nama dari titik pemasangan tidak perlu, karena hanya direktori root dari asing ruang nama. Nama titik pemasangan yang akan diselesaikan oleh server dari luar negeri ruang nama. Namun, kita juga perlu ruang nama dan implementasi untuk
akses protokol dan nama server. Salah satu kemungkinan adalah untuk mewakili tiga, nama yang tercantum di atas sebagai URL.
Untuk membuat hal-hal konkret, pertimbangkan situasi di mana pengguna dengan laptop komputer ingin mengakses file yang disimpan pada file server remote. Klien mesin dan file server keduanya dikonfigurasi dengan File System Sun Jaringan (NFS), yang akan kita bahas secara rinci dalam Bab. 10. NFS merupakan sebuah sistem berkas terdistribusi yang datang dengan sebuah protokol yang menggambarkan secara tepat bagaimana klien dapat mengakses file yang disimpan pada file server (remote) NFS. Secara khusus, untuk memungkinkan NFS untuk bekerja di Internet, klien dapat menentukan mana yang file itu ingin mengakses dengan sarana URL NFS, misalnya, nfs :/ / flits.cs.vu.nl / / home / steen. URL ini nama file (yang terjadi menjadi sebuah direktori) disebut / home / steen pada file NFS Server flits.cs.vu.nl, yang dapat diakses oleh klien melalui protokol NFS (Callaghan, 2000).
Nama nfs adalah nama terkenal dalam arti bahwa seluruh dunia perjanjian ada di bagaimana menafsirkan nama itu. Dengan kata lain, mengingat bahwa kita berhadapan dengan URL, nama nfs akan memutuskan untuk sebuah implementasi dari protokol NFS. Nama server diselesaikan ke alamat dengan menggunakan Domain Name System,
yang dibahas pada bagian selanjutnya. Seperti yang kami katakan, / home / steen diselesaikan oleh Server dari ruang nama asing.
Contoh implementasinya adalah NFS (Network File System) yang dikembangkan oleh Sun Microsystem.
Organisasi dari sistem file pada komputer klien sebagian ditampilkan dalam Gambar. 4-4. Direktori root memiliki sejumlah user-defined entri, termasuk subdirektori disebut / remote. Ini subdirektori dimaksudkan untuk memasukkan mount point. untuk ruang nama asing seperti direktori home user di Vrije Universiteit.
Untuk tujuan ini, sebuah node direktori bernama / remote / vu digunakan untuk menyimpan URL
nfs :/ / flits.cs.vu.nl / / home / steen.
Sekarang perhatikan nama / remote / vu / mbox. Nama ini diselesaikan dengan memulai dalam direktori root pada mesin klien dan berlanjut sampai node / remote / vu tercapai. Resolusi nama kemudian berlanjut dengan kembali URL nfs :/ / flits.cs.vu.nl / / home / steen, pada gilirannya menyebabkan mesin klien untuk menghubungi file server flits.cs.vu.nl melalui protokol NFS, dan kemudian mengakses
direktori / home / steen. Resolusi nama kemudian dapat dilanjutkan dengan membaca file bernama mbox dalam direktori tersebut. Terdistribusi sistem yang memungkinkan pemasangan sistem file jarak jauh seperti yang baru saja dijelaskan memungkinkan mesin klien untuk, misalnya, jalankan perintah berikut
cd /remote/vu
ls –l
yang kemudian daftar file di direktori / home / steen pada file remote server. Keindahan ini semua adalah bahwa pengguna terhindar rincian actual akses ke server remote. Idealnya, hanya beberapa penurunan performa yang melihat dibandingkan dengan mengakses file yang tersedia secara lokal. Akibatnya, untuk klien tampak bahwa ruang nama berakar pada mesin lokal, dan yang berakar pada / home / steen pada mesin remote, membentuk ruang nama tunggal.

4.1.3 Pelaksanaan Space Nama
Sebuah ruang nama membentuk jantung dari layanan penamaan, yaitu sebuah layanan yang memungkinkan pengguna dan proses untuk menambah, menghapus, dan mencari nama. Sebuah layanan penamaan diimplementasikan oleh server nama. Jika sistem terdistribusi terbatas pada local area jaringan, sering layak untuk menerapkan layanan penamaan dengan cara hanya server tunggal nama. Namun, dalam skala besar sistem terdistribusi dengan banyak entitas, mungkin tersebar di seluruh wilayah geografis yang luas, perlu untuk mendistribusikan pelaksanaan ruang nama atas nama beberapa server. Nama ruang untuk sistem skala besar, didistribusikan mungkin di seluruh dunia, biasanya diselenggarakan secara hierarkis. Seperti sebelumnya, asumsikan seperti ruang nama hanya memiliki tunggal akar simpul. Untuk secara efektif menerapkan seperti ruang nama, akan lebih mudah untuk partisi ke dalam lapisan logis. Cheriton dan Mann (1989) membedakan tiga lapisan yaitu sebagai berikut:
a.    Lapisan global yang dibentuk oleh tingkat tertinggi node, yaitu, simpul akar dan node direktori lain secara logis dekat dengan akar, yaitu anak-anaknya. Node dalam lapisan global sering ditandai oleh stabilitas mereka, dalam arti bahwa direktori tabel jarang berubah. Node tersebut dapat mewakili organisasi .. atau kelompok organisasi, yang namanya disimpan dalam ruang nama.
b.    Lapisan administrasi dibentuk oleh node direktori yang bersama-sama adalah dikelola dalam satu organisasi. Karakteristik dari direktori node pada lapisan administrasi adalah bahwa mereka mewakili kelompok entitas yang milik organisasi yang sama atau unit administrasi. Sebagai contoh, mungkin ada menjadi simpul direktori untuk setiap departemen dalam suatu organisasi, atau node direktori dari mana semua host dapat ditemukan. Node lain direktori dapat digunakan sebagai titik awal untuk penamaan semua pengguna, dan sebagainya. Node dalam administrasi Lapisan relatif stabil, meskipun perubahan umumnya terjadi lebih sering daripada ke node di lapisan global.
c.    Lapisan manajerial terdiri dari node yang biasanya bisa berubah teratur. Sebagai contoh, node yang mewakili host di jaringan lokal milik lapisan ini. Untuk alasan yang sama, lapisan termasuk node yang mewakili file bersama seperti untuk perpustakaan atau binari. Kelas lain yang penting dari node meliputi orang yang mewakili user-defined direktori dan file. Berbeda dengan global dan Lapisan administrasi, node pada lapisan manajerial diselenggarakan tidak hanya oleh administrator sistem, tetapi juga oleh pengguna akhir individu suatu sistem terdistribusi.
Untuk membuat keadaan menjadi lebih konkret, Gambar. 5-13 menunjukkan contoh partisi bagian dari ruang nama DNS, termasuk nama-nama file dalam suatu organisasi yang dapat diakses melalui Internet, misalnya, halaman Web file dipindahtangankan dan ruang nama dibagi menjadi bagian-bagian nonoverlapping, disebut zona dalam DNS. Zona adalah bagian dari ruang nama yang diimplementasikan oleh server nama yang terpisah. Beberapa zona diilustrasikan dalam Gambar. 4-6.
Jika kita melihat ketersediaan dan kinerja, server nama di setiap lapisan harus memenuhi kebutuhan yang berbeda. Ketersediaan tinggi ini sangat penting untuk Nama server di lapisan global. Jika name server gagal, sebagian besar nama ruang akan terjangkau karena resolusi nama tidak bisa melanjutkan di luar gagal server. Kinerja agak halus. Karena rendahnya tingkat perubahan node dalam lapisan global, hasil usaha pencarian umumnya tetap berlaku untuk waktu yang lama waktu. Akibatnya, hasil tersebut bisa efektif cache (yaitu, disimpan secara lokal) .
Gambar 4-6. Contoh partisi dari ruang nama DNS, termasuk Internet yang dapat diakses file, menjadi tiga lapisan.
Ketersediaan untuk server nama dalam lapisan administrasi terutama penting untuk klien di organisasi yang sama sebagai server nama. Jika nama server gagal, banyak sumber daya dalam organisasi menjadi tidak terjangkau karena mereka tidak dapat mendongak. Di sisi lain, mungkin kurang penting bahwa sumber daya di sebuah organisasi untuk sementara terjangkau bagi pengguna di luar organisasi.
Sehubungan dengan kinerja, nama server di lapisan administrasi memiliki karakteristik yang sama seperti yang di lapisan global. Karena perubahan node melakukan tidak terjadi semua yang sering, caching hasil pencarian dapat sangat efektif, sehingga kinerja kurang kritis. Namun, berbeda dengan lapisan global, yang administrational layer harus berhati-hati bahwa hasil pencarian dikembalikan dalam milidetik beberapa baik secara langsung dari server atau dari cache lokal klien. Demikian juga, update umumnya harus diproses lebih cepat daripada lapisan global. Untuk Misalnya, tidak dapat diterima bahwa account untuk user baru mengambil jam untuk menjadi efektif.
Persyaratan ini seringkali dapat dipenuhi dengan menggunakan performa tinggi mesin untuk menjalankan server nama. Selain itu, client-side caching harus diterapkan, dikombinasikan dengan replikasi untuk ketersediaan keseluruhan meningkat. Ketersediaan persyaratan untuk server nama di tingkat manajerial umumnya kurang menuntut. Secara khusus, sering cukup untuk menggunakan mesin (dedicated) tunggal untuk menjalankan server nama dengan risiko tidak tersedianya sementara. Namun, kinerja sangat penting. Pengguna berharap operasi berlangsung segera. Karena update terjadi secara teratur, client-side caching sering kurang efektif, kecuali khusus langkah-langkah yang diambil, yang kita bahas dalam Bab. 6
Item
Global
Administrational
Managerial
Geographical scale of network
Worldwide
Organization
Department
Total number of nodes
Few
Many
Vast numbers
Responsiveness to lookups
Seconds
Milliseconds
Immediate
Update propagation
Lazy
Immediate
Immediate
Number of replicas
Many
None or few
None
Is client-side caching applied?
Yes
Yes
Sometimes
Gambar 4-7. Perbandingan antara server nama untuk node pelaksanaan dari skala besar ruang nama dipartisi menjadi lapisan global, suatu administrasi lapisan, dan lapisan manajerial.
Perbandingan antara server nama pada lapisan yang berbeda ditunjukkan pada Gambar. 4-7. Dalam sistem terdistribusi, nama server di lapisan global dan administrasi yang paling sulit untuk diterapkan. Kesulitan disebabkan oleh replikasi dan caching, yang dibutuhkan untuk ketersediaan dan kinerja, tetapi juga memperkenalkan konsistensi masalah. Beberapa masalah yang diperparah oleh kenyataan bahwa cache dan replika yang tersebar di seluruh jaringan wide-area, yang memperkenalkan lama keterlambatan komunikasi sehingga membuat sinkronisasi lebih keras. Peniruan dan caching dibahas secara luas dalam Bab. 6

Pelaksanaan Resolusi Nama.
Pembagian ruang nama di server nama multiple mempengaruhi pelaksanaan resolusi nama. Untuk menjelaskan pelaksanaan resolusi nama dalam skala besar layanan nama, kita asumsikan untuk saat ini bahwa nama server tidak direplikasi dan bahwa tidak ada sisi klien cache yang digunakan. Setiap klien memiliki akses ke resolver lokal nama, yang bertanggung jawab untuk memastikan bahwa resolusi nama Proses dilakukan. Mengacu pada Gambar. 4-6, menganggap nama path (absolut)  root: «nl, VU, CS, ftp, pub, globe, index.html>   Yang harus diselesaikan. Menggunakan notasi URL, nama path ini akan sesuai dengan  ftp://ftp.cs. vu.nl/pub/globe/index.html. Sekarang ada dua cara untuk menerapkan resolusi nama.
Dalam iteratif resolusi nama, nama resolver tangan di atas nama lengkap ke root server nama. Diasumsikan bahwa alamat di mana root server dapat dihubungi adalah terkenal. Root server akan menyelesaikan nama jalan sejauh bisa, dan mengembalikan hasilnya ke klien. Dalam contoh kita, server root dapat mengatasi hanya label nl, yang akan mengembalikan alamat dari server nama yang terkait.
Pada saat itu. klien melewati nama jalan yang tersisa  (i.e., nl: <VU, cs, jtp, pub, globe, index.html>)ke server nama. Server ini dapat mengatasi hanya label VU, dan mengembalikan alamat dari server nama yang terkait, bersama dengan tersisa nama path vu:<cs, ftp, pub, globe, index.html>.
Resolver nama klien kemudian akan menghubungi server ini nama berikutnya, yang merespon dengan memecahkan label cs, dan kemudian alsoftp, kembali alamat dari server FTP bersama dengan nama jalan ftp:<pub, globe, index.html>.itu klien maka kontak server FTP, memintanya untuk menyelesaikan bagian terakhir dari aslinya nama path. Server FTP selanjutnya akan menyelesaikan labe  pub. globe, dan index.html dan mentransfer file yang diminta (dalam hal ini menggunakan FTP). proses ini iteratif resolusi nama ditunjukkan pada Gambar. 4-8 (Notasi # <cs> adalah digunakan untuk menunjukkan alamat server bertanggung jawab untuk menangani node disebut oleh <cs>.)
Dalam prakteknya, langkah terakhir, yaitu menghubungi server FTP dan memintanya untuk mentransfer file dengan nama path ftp i-cpub, globe, index.himl », dilakukan terpisah oleh proses klien. Dengan kata lain, klien biasanya akan menyerahkan hanya akar nama path: «nl, VU, CS, ftp> ke resolver nama, dari mana ia harapkan alamat di mana ia dapat menghubungi server FTP, seperti yang juga ditampilkan dalam Gambar.
Sebuah alternatif untuk berulang resolusi nama adalah dengan menggunakan rekursi selama nama resolusi. Alih-alih kembali setiap hasil tengah kembali ke nama klien resolver, dengan resolusi nama rekursif, nama server melewati hasilnya ke name server berikutnya yang ditemukan. Jadi, misalnya, ketika server nama akar menemukan alamat server nama menerapkan node bernama nl, itu permintaan bahwa nama server untuk mengatasi jalan nl Nama: <vu, CS, ftp, pub, globe, index.html>. menggunakan resolusi nama rekursif juga, ini server berikutnya akan menyelesaikan path lengkap dan akhirnya mengembalikan index.html file ke root server, yang, pada gilirannya, akan lulus file itu ke resolver nama klien.
Resolusi nama Rekursif ditunjukkan pada Gambar. 5-16. Seperti dalam iteratif resolusi nama, langkah terakhir resolusi (menghubungi server FTP dan meminta untuk mentransfer file ditunjukkan) umumnya dilakukan sebagai proses terpisah oleh klien.
Kelemahan utama dari resolusi nama rekursif adalah bahwa hal itu menempatkan kinerja yang lebih tinggi demand pada setiap server nama. Pada dasarnya, server nama diperlukan untuk menangani resolusi lengkap dari nama jalan, meskipun mungkin melakukannya dalam kerjasama dengan server nama lain. Ini beban tambahan umumnya begitu tinggi sehingga Nama server di lapisan global dukungan ruang nama hanya iteratif resolusi nama.
Ada dua keuntungan penting untuk resolusi nama rekursif. yang pertama Keuntungan adalah bahwa caching hasil lebih efektif dibandingkan dengan iteratif nama resolusi. Keuntungan kedua adalah bahwa biaya komunikasi dapat dikurangi. Untuk  menjelaskan keuntungan, menganggap bahwa resolver nama klien akan menerima path nama mengacu hanya untuk node pada lapisan global atau administrasi dari nama ruang. Untuk mengatasi itu ofa bagian nama path yang sesuai dengan node dalam manajerial lapisan, klien secara terpisah akan menghubungi server nama dikembalikan oleh namanya resolver.
Resolusi nama Rekursif memungkinkan setiap server nama untuk secara bertahap mempelajari alamat masing-masing nama server bertanggung jawab untuk menerapkan tingkat rendah node. Sebagai Hasilnya, caching dapat digunakan secara efektif untuk meningkatkan kinerja. Misalnya, ketika server akar diminta untuk menyelesaikan akar nama path: <nl, vu, cs, ftp>, akhirnya akan mendapatkan alamat dari server nama menerapkan node disebut dengan nama itu jalan. Untuk datang ke titik itu, server nama untuk nl simpul harus mencari alamat server nama untuk node vu, sedangkan kedua harus mencari alamat server nama menangani node cs.
Karena perubahan node di lapisan global dan administrasi tidak sering terjadi, server nama akar efektif bisa cache alamat kembali. Selain itu, karena alamat tersebut juga dikembalikan, dengan rekursi, ke server nama bertanggung jawab untuk melaksanakan node vu dan yang melaksanakan nl node, mungkin juga di-cache pada server-server tersebut juga. Demikian pula, hasil pencarian nama antara juga dapat dikembalikan dan
cache. Sebagai contoh, server untuk node nl akan harus mencari alamat server simpul vu. Alamat yang dapat dikembalikan ke server akar ketika nl Server mengembalikan hasil dari pencarian nama asli. Sebuah gambaran lengkap dari Resolusi proses, dan hasil yang dapat di-cache oleh masing-masing name server ditunjukkan pada Gambar.
Server for node
Should resolve
Looks up
Passes to child
Receives and caches
Returns to requester
cs
<ftp>
#<ftp>
--
--
#<ftp>
vu
<cs,ftp>
#<cs>
<ftp>
#<ftp>
#<cs>
#<cs, ftp>
ni
<vu,cs,ftp>
#<vu>
<cs,ftp>
#<cs>
#<cs,ftp>
#<vu>
#<vu,cs>
#<vu,cs,ftp>
Manfaat utama dari pendekatan ini adalah bahwa, pada akhirnya. operasi lookup dapat ditangani cukup efisien. Misalnya, bahwa klien lain kemudian permintaan resolusi akar nama path: <nl, Vii, cs, flits>. Nama ini akan diteruskan ke akar, yang segera bisa meneruskannya ke server nama untuk node cs, dan permintaan untuk menyelesaikan nama path cs tersisa: <jlits>.
Dengan berulang resolusi nama, caching tentu terbatas pada klien nama resolver. Akibatnya, jika klien A permintaan resolusi nama, dan lain B client kemudian meminta agar nama yang sama untuk diselesaikan, resolusi nama akan harus melewati server nama yang sama seperti yang dilakukan untuk klien A. Sebagai kompromi, banyak organisasi menggunakan server, nama lokal antara yang dibagi oleh semua klien. Ini nama server lokal menangani semua permintaan penamaan dan hasil cache. Seperti server menengah juga nyaman dari segi manajemen melihat. Misalnya, hanya server yang perlu tahu di mana server nama root adalah terletak, mesin lain tidak memerlukan informasi ini.
Keuntungan kedua dari resolusi nama rekursif adalah bahwa hal itu sering lebih murah sehubungan dengan komunikasi. Sekali lagi, mempertimbangkan resolusi nama jalan root: <nl, vu, cs, ftp> dan menganggap klien terletak di San Francisco. Dengan asumsi bahwa klien mengetahui alamat server untuk node nl, dengan nama rekursif Resolusi, komunikasi mengikuti rute dari host klien di San Francisco ke server nl di Belanda, ditampilkan sebagai R 1 pada Gambar. 5-18. dari sana pada, komunikasi selanjutnya diperlukan antara server nl dan nama server dari Vrije Universiteit di kampus universitas di Amsterdam, Belanda. Komunikasi ini ditampilkan sebagai R 2. Akhirnya, komunikasi diperlukan antara server vu dan name server di Ilmu Komputer Departemen, ditampilkan sebagai R 3. Rute untuk jawabannya adalah sama, tetapi dalam berlawanan arah. Jelas, biaya komunikasi yang ditentukan oleh pertukaran pesan antar klien host dan server . Sebaliknya, dengan berulang resolusi nama, host klien harus berkomunikasi secara terpisah dengan server nl, server vu, dan server cs, di mana total biaya mungkin sekitar tiga kali lipat dari resolusi nama rekursif. Itu panah pada Gambar.  berlabel / 1, / 2, dan / 3 menunjukkan jalur komunikasi untuk iteratif resolusi nama.

4.1.4 Contoh: Sistem Nama Domain
Salah satu jasa terbesar penamaan terdistribusi yang digunakan saat ini adalah Internet Domain Name System (DNS). DNS terutama digunakan untuk mencari alamat IP dari host dan server mail. Pada halaman berikut, kami berkonsentrasi pada organisasi dari ruang nama DNS, dan informasi yang disimpan dalam node nya. Juga, kita mengambil melihat lebih dekat pada pelaksanaan sebenarnya DNS. Informasi lebih lanjut dapat ditemukan di Mockapetris dan Albitz dan Liu. Sebuah penilaian baru-baru ini DNS, terutama mengenai apakah masih sesuai dengan kebutuhan internet saat ini, dapat ditemukan di Levien. Dari laporan ini, seseorang dapat menarik agak mengejutkan kesimpulan bahwa bahkan setelah lebih dari 30 tahun, DNS memberikan indikasi bahwa perlu diganti. Kami akan berpendapat bahwa penyebab utama terletak pada desainer mendalam pemahaman tentang bagaimana untuk menjaga hal-hal sederhana. Praktek di bidang lain didistribusikan sistem menunjukkan bahwa tidak banyak yang berbakat dengan pemahaman seperti.

Space Nama DNS
Ruang nama DNS adalah hirarki terorganisir sebagai pohon berakar. Label adalah case-insensitive string yang terdiri dari karakter alfanumerik. Label sudah maksimal panjang 63 karakter, panjang nama path lengkap dibatasi 255 karakter. Representasi string dari nama jalan terdiri dari daftar label nya, dimulai dengan satu paling kanan, dan memisahkan label oleh sebuah titik (H. "). The root diwakili oleh sebuah titik. Jadi, misalnya, akar nama path: <nl, VU, cs, berpindah>, diwakili oleh flits.cs string. vu.nl., yang mencakup titik paling kanan untuk menunjukkan simpul akar. Kita umumnya menghilangkan titik ini untuk dibaca. Karena setiap node dalam ruang nama DNS memiliki tepat satu ujung masuk (dengan pengecualian dari simpul akar, yang tidak memiliki tepi yang masuk), label terpasang tepi masuk toa node juga digunakan sebagai nama untuk simpul tersebut. Sebuah subtree disebut domain, nama path ke node akar disebut nama domain. Catatan itu, seperti nama jalan, nama domain dapat berupa absolut atau relatif.
Isi simpul terbentuk oleh kumpulan catatan sumber daya. Sebuah simpul dalam ruang nama DNS akan sering mewakili beberapa entitas di waktu yang sama. Sebagai contoh, nama domain seperti vu.nl digunakan untuk mewakili domain dan zona. Dalam hal ini, domain diimplementasikan melalui beberapa (nonoverlapping) zona. Sebuah SOA (start otoritas) catatan sumber daya berisi informasi seperti e-mail dari administrator sistem bertanggung jawab untuk zona diwakili. nama host mana data pada zona dapat diambil, dan sebagainya.
Jenis catatan
Associated entity
Description
SOA
Zone
Memegang informasi mengenai zona
A
Host
Berisi alamat IP dari host
MX
Domain
Mengacu pada sebuah mail server untuk menangani surat yang ditujukan ke node ini
SRV
Domain
Mengacu ke server menangani layanan tertentu
A (alamat) record, merupakan host tertentu di Internet. A record berisi alamat IP untuk itu host untuk memungkinkan komunikasi. Jika host memiliki beberapa alamat IP, seperti halnya dengan multi-homed mesin, node akan berisi Sebuah catatan untuk alamat masing-masing. Tipe lain dari record adalah MX (mail exchange) catatan, yang seperti simbolik link ke sebuah node yang mewakili sebuah mail server. Sebagai contoh, node mewakili yang cs.vu.nl domain memiliki sebuah MX record yang berisi zephyr.cs.vu.nl nama, yang mengacu pada sebuah mail server. Server yang akan menangani semua surat masuk yang ditujukan kepada pengguna di cs. vu.nl domain. Mungkin ada catatan MX beberapa disimpan dalam node.
Terkait dengan catatan MX adalah catatan SRV, yang berisi nama server
untuk layanan tertentu. Catatan SRV didefinisikan dalam Gulbrandsen. Layanan sendiri diidentifikasi dengan menggunakan nama bersama dengan nama protokol. Untuk Sebagai contoh, server web di cs. vu.nl domain bisa diberi nama dengan cara yang Data SRV seperti. Jutp.ctcp.cs.vu.nl, rekaman ini kemudian akan mengacu pada aktual nama server (yang soling.cs. vu.nl). Keuntungan penting dari SRV catatan adalah bahwa klien tidak perlu lagi tahu nama DNS dari tuan rumah menyediakan layanan tertentu. Sebaliknya, hanya nama layanan perlu dibakukan, setelah itu tuan rumah menyediakan dapat mendongak. Node yang mewakili zona, mengandung satu atau lebih NS (name server) catatan. Seperti MX record, catatan NS berisi nama nama server yang mengimplementasikan zona diwakili oleh node.
Pada prinsipnya, setiap node dalam ruang nama dapat menyimpan catatan NS mengacu ke server nama yang mengimplementasikannya. Namun, seperti yang kita bahas di bawah ini, pelaksanaan ruang nama DNS adalah sedemikian rupa sehingga hanya node yang mewakili zona perlu menyimpan catatan NS. DNS alias membedakan dari apa yang disebut nama kanonik. setiap host diasumsikan memiliki nama kanonik, atau primer. Alias diimplementasikan olehsarana simpul menyimpan data CNAME berisi nama kanonik dari sebuah host. Nama node menyimpan catatan seperti demikian sama dengan link simbolik, sebagaimana ditunjukkan pada Gambar. DNS mempertahankan pemetaan invers alamat IP ke nama host dengan cara PTR (pointer) catatan. Untuk mengakomodasi pencarian dari nama host ketika diberi hanya alamat IP, DNS mempertahankan domain bernama in-addr.arpa, yang berisi node yang mewakili host Internet dan yang ditunjuk oleh alamat IP mewakili tuan rumah. Misalnya, tuan tVww.cs. \ 'u.nl memiliki alamat IP 130.37.20.20. DNS menciptakan simpul bernama 20.20.37.130.in-addr.mpa, yang digunakan untuk menyimpan Nama kanonik bahwa tuan rumah (yang kebetulan soling.cs. vu.nl i dalam catatan PTR.
Dua yang terakhir adalah jenis catatan catatan HINFO dan catatan TXT. sebuah HINFO (Info host) record digunakan untuk menyimpan informasi tambahan pada host seperti mesin nya jenis dan sistem operasi. Dalam cara yang sama, TXT catatan yang digunakan untuk jenis lain dari data yang pengguna menemukan berguna untuk menyimpan sekitar entitas diwakili oleh node.

DNS Implementasi
Pada dasarnya, ruang nama DNS dapat dibagi menjadi lapisan global dan administrasi lapisan. Lapisan manajerial, yang umumnya dibentuk oleh sistem file lokal, secara resmi bukan bagian dari DNS dan karena itu juga tidak dikelola olehnya. Sebuah database DNS diimplementasikan sebagai kumpulan (kecil) dari file, dari mana salah satu yang paling penting berisi semua catatan sumber daya untuk semua node dalam tertentu zona. Pendekatan ini memungkinkan node dapat diidentifikasi hanya dengan cara domain mereka Nama, di mana gagasan pengenal simpul mengurangi ke index (implisit) ke dalam sebuah file.
Untuk lebih memahami isu-isu implementasi ini menunjukkan kecil bagian dari file yang berisi sebagian besar informasi untuk domain cs.vu.nl (yang file telah diedit untuk kesederhanaan). File menunjukkan isi dari beberapa node yang merupakan bagian dari cs. vu.nl domain, di mana setiap node diidentifikasi dengan cara yang nama domain.
cs.vu.nl simpul merupakan domain serta zona. Its SOA sumber daya catatan berisi informasi spesifik tentang validitas file ini. yang tidak akan perhatian kita lebih lanjut. Ada empat nama server untuk zona ini, disebut oleh mereka kanonik nama host dalam catatan NS. Catatan TXT digunakan untuk memberikan beberapa informasi tambahan mengenai zona ini, tetapi tidak dapat secara otomatis diproses oleh nama server. Selain itu, ada mail server tunggal yang dapat menangani masuk surat yang ditujukan bagi pengguna di domain ini. Jumlah sebelum nama mail Server menentukan prioritas pemilihan. Sebuah mail server mengirimkan selalu upaya harus pertama untuk menghubungi server mail dengan angka terendah.
Tuan rumah star.cs. vu.nl beroperasi sebagai server nama untuk zona ini. Nama server sangat penting untuk setiap layanan penamaan. Apa yang bisa dilihat tentang server nama adalah bahwa ketahanan tambahan telah dibuat dengan memberikan dua antarmuka jaringan yang terpisah, masing-masing diwakili oleh rekor Sebuah sumber daya yang terpisah. Dengan cara ini, efek dari patah link jaringan dapat agak dikurangi sebagai server akan tetap dapat diakses.
Empat baris berikutnya (untuk zephyr.cs. Vu.nl) memberikan informasi yang diperlukan tentang salah satu dari server mail departemen. Perhatikan bahwa ini mail server juga didukung oleh orang lain mail server, yang jalan adalah tornado.cs. vu.nl. Enam baris berikutnya menunjukkan konfigurasi yang khas di mana departemen Web server, serta server FTP departemen dilaksanakan oleh satu mesin, disebut soling. cs. vu. nl. Dengan melaksanakan kedua server pada mesin yang sama (dan pada dasarnya menggunakan mesin yang hanya untuk layanan internet dan tidak apa-apa lain), sistem manajemen menjadi lebih mudah. Misalnya, kedua server akan memiliki pandangan yang sama dari sistem file, dan untuk efisiensi, bagian dari sistem file mungkin diimplementasikan pada soling.cs.vu.nl, pendekatan ini sering diterapkan dalam kasus WWW dan FTP jasa.
Dua baris berikut menampilkan informasi pada salah satu departemen yang lebih tua server cluster. Dalam kasus ini, ia memberitahu kita bahwa alamat 130.37.198.0 dikaitkan dengan nama host vucs-dasl.cs.vu.nl, Empat baris berikutnya menampilkan informasi pada dua printer utama terhubung ke jaringan lokal. Perhatikan bahwa alamat dalam kisaran 192.168.0.0 sampai 192.168.255.255 adalah swasta: mereka hanya dapat diakses dari dalam jaringan lokal dan tidak diakses dari host Internet yang sewenang-wenang.
Karena domain cs.vu.nl diimplementasikan sebagai zona tunggal. Gambar. 5-20 tidak tidak termasuk referensi ke zona lain. Cara untuk merujuk pada node di subdomain yang dilaksanakan di zona yang berbeda ditunjukkan pada Gambar. 5-21. Apa yang perlu dilakukan adalah untuk menentukan server nama untuk subdomain dengan hanya memberikan domainnya nama dan alamat IP. Ketika menyelesaikan nama untuk node yang terletak di cs.vu.nl domain, resolusi nama akan berlanjut pada titik tertentu dengan membaca database DNS disimpan oleh server nama untuk cs. vu.nl domain.
Name
Record type
Record value
cs.vu.nl
NIS
solo.cs.vu.nl
solo.cs.vu.nl
A
130.37.21.1

4.1.5 Example : X.500
DNS adalah contoh dari layanan penamaan tradisional: ketika diberi nama (mungkin terstruktur secara hierarkis), DNS menjelaskan nama ke sebuah node dalam grafik penamaan dan mengembalikan isi dari simpul dalam bentuk catatan sumber daya. Dalam pengertian ini, DNS dapat dikatakan sebanding dengan buku telepon untuk mencari nomor telepon.
Pendekatan yang berbeda diambil oleh apa yang disebut layanan direktori. Sebuah layanan direktori adalah jenis khusus dari layanan penamaan di mana klien dapat mencari suatu entitas berdasarkan deskripsi sifat bukan nama lengkap. Pendekatan ini sangat mirip dengan cara orang menggunakan halaman kuning ketika mereka butuhkan, misalnya, seseorang untuk memperbaiki jendela yang pecah. dalam kasus itu, pengguna dapat melihat di bawah "perbaikan jendela" pos untuk mendapatkan daftar (nama) perusahaan yang mengganti jendela.
Dalam bagian ini, kita melihat singkat di layanan direktori X.500 OSI. meskipun layanan direktori telah tersedia selama satu dekade lebih, hanya baru-baru ini mendapatkan popularitas lebih sebagai versi ringan sedang diimplementasikan sebagai layanan internet. Informasi lengkap mengenai X.500 dapat ditemukan dalam (Chadwick, 1994; Radicati, 1994). Informasi praktis mengenai berbagai layanan direktori, termasuk X.500, dapat ditemukan dalam (Sheresh dan Sheresh, 2000).

Space Name X.500
Secara konseptual, layanan direktori X.500 terdiri dari sejumlah catatan, biasanya disebut sebagai entri direktori. Sebuah entri direktori X.500 sebanding dengan catatan sumber daya dalam DNS. Setiap record terdiri dari kumpulan (atribut, value) pasangan, di mana setiap atribut memiliki tipe yang terkait. Sebuah perbedaan dibuat antara nilai-tunggal atribut. Yang terakhir ini biasanya mewakili array dan daftar. Sebagai contoh, entri direktori sederhana mengidentifikasi jaringan alamat dari beberapa server umum dari Gambar. 4-13 ditunjukkan pada Gambar. 4-15.
Dalam contoh kita, kita telah menggunakan konvensi penamaan dijelaskan dalam standar X.500, yang berlaku untuk lima atribut pertama. Organisasi atribut dan OrganizationUnit menjelaskan, masing-masing, organisasi dan departemen terkait dengan data yang disimpan dalam catatan. Demikian juga, Locality atribut dan Negara memberikan informasi tambahan di mana entri disimpan. Atribut CommonName sering digunakan sebagai nama (ambigu) untuk mengidentifikasi
masuk dalam bagian terbatas dari direktori. Misalnya, nama "server utama" mungkin cukup untuk menemukan entri contoh kita diberi nilai-nilai tertentu untuk empat lainnya atribut Negara, Locality, Organisasi OrganizationalUnit, dan. Dalam contoh kita, hanya atribut Mail_Servers memiliki beberapa nilai yang terkait dengannya. Semua atribut lainnya hanya memiliki nilai tunggal.
Pengumpulan semua entri direktori dalam layanan direktori X.500 disebut Informasi Direktori Dasar (DIB). Sebuah aspek penting dari DIB adalah bahwa setiap record secara unik bernama sehingga dapat mendongak. Seperti nama unik secara global muncul sebagai urutan penamaan atribut dalam setiap record. Setiap atribut penamaan disebut Nama Distinguished Relatif, atau RDN untuk pendek. Dalam contoh kita di Gambar. 4-15, lima pertama atribut semua atribut penamaan. Menggunakan singkatan konvensional untuk mewakili atribut penamaan dalam X.500 seperti yang ditunjukkan pada Gbr.4-15, Negara atribut, Organisasi, dan OrganizationalUnit dapat digunakan untuk membentuk nama unik secara global analog dengan nama DNS nl.vu.cs.
            /C=NL/O=Vrijie Universiteit/OU=Math. & Comp.Sc.
Seperti di DNS, penggunaan nama unik secara global oleh rDNS daftar secara berurutan, mengarah ke sebuah struktur dari koleksi entri direktori, yang disebut sebagai Pohon Information Directory (DIT). Sebuah Dit dasarnya membentuk grafik penamaan layanan direktori X.500 di mana setiap node merupakan entri direktori. Selain itu, node juga dapat bertindak sebagai direktori dalam arti tradisional, karena mungkin ada beberapa anak yang node bertindak sebagai orang tua ke sejumlah entri direktori lain yang memiliki HOST_NAME penamaan atribut tambahan yang digunakan sebagai RDN. Misalnya, entri tersebut dapat digunakan untuk mewakili tuan rumah seperti yang ditunjukkan pada Gambar. 4-16 (b).
Gambar 4-16. (a) Bagian dari pohon informasi direktori. (b) Dua entri direktori yang memiliki HOST_NAME sebagai RDN.
Sebuah node dalam sebuah grafik penamaan X.500 sehingga dapat secara bersamaan merupakan sebuah direktori dalam pengertian tradisional seperti yang kita bahas sebelumnya, serta catatan X.500. Perbedaan ini didukung oleh dua operasi pencarian yang berbeda. Operasi baca digunakan untuk membaca satu catatan data diberi nama path dalam Dit. Sebaliknya, operasi list digunakan untuk membuat daftar nama-nama semua tepi keluar dari node yang diberikan di Dit. Setiap nama sesuai dengan node anak dari node yang diberikan. Perhatikan bahwa daftar operasi tidak mengembalikan catatan, melainkan hanya mengembalikan nama. Dengan kata lain, membaca dengan calling masukan nama

            /C=NL/O=Vrije Universiteit/OU=Math. & Comp. Sc./CN=Main server

akan kembali di catatan yang ditunjukkan pada Gbr.4-15, sedangkan memanggil daftar akan mengembalikan Bintang nama dan zephyr dari entri yang ditunjukkan dalam Gbr.4-16 (b) serta nama-nama host lain yang telah terdaftar dalam yang sama cara.

X.500 Implementation
Menerapkan hasil direktori X.500 layanan dalam banyak cara yang sama seperti menerapkan layanan penamaan seperti DNS, kecuali X.500 yang mendukung operasi yang lebih lookup seperti yang akan kita bahas segera. Ketika berhadapan dengan direktori besar-besaran, yang Dit biasanya dipartisi dan didistribusikan di beberapa server, dikenal sebagai Agen Layanan direktori (DSA) dalam X.500Vterminology. setiap bagian dari Dit dipartisi sehingga sesuai dengan zona dalam DNS. Demikian juga, masing-masing DSA berperilaku sangat banyak yang sama sebagai server nama normal, kecuali bahwa ia menerapkan sejumlah serrvices direktori yang khas, seperti operasi pencarian lanjutan.
Klien yang diwakili oleh apa yang disebut direktori agen pengguna, atau hanya Duas. Sebuah DUA adalah mirip dengan penyelesai nama dalam layanan penamaan tradisional, A DUA pertukaran informasi dengan DSA menurut accessprotocol standar.
Apa yang membuat sebuah implementasi X.500 berbeda dari implementasi DNS adalah facilitics untuk mencari melalui DIB. Secara khusus, fasilitas yang disediakan entri harus untuk entri direktori diberi satu set critcria yang atribut dari entri mencari entri direktori tertentu seperangkat kriteria bahwa atribut dari entri dicari harus bertemu. Sebagai contoh, misalkan kita ingin daftar server utama ail di Vrije universiteit. Menggunakan notasi didefinisikan dalam (Howes, 1997), daftar tersebut dapat dikembalikan dengan menggunakan operasi pencarian seperti
Answer = search(“&(C=NL)(O=Vrije Universiteit)((OU=*)(CN=Main server)”)
Dalam contoh ini, kami telah menetapkan bahwa tempat untuk mencari server utama adalah organisasi bernama Vrije Universiteit di negara NL, tetapi bahwa kita tidak tertarik pada unit organisasi tertentu. Namun, masing-masing kembali eresult harus havee atribut CN sama dengan server utama.
Sebuah pengamatan penting adalah bahwa dalam mencari layanan direktori umumnya merupakan operasi yang mahal. Sebagai contoh, untuk menemukan semua server utama di Vrije Universiteit membutuhkan mencari semua entri di departemen masing-masing dan menggabungkan hasil dalam satu jawaban. Dalam wotds lain, kita umumnya akan perlu untuk mengakses beberapa node daun dari Dit untuk mendapatkan jawaban, dalam prakteknya, hal ini juga berarti bahwa beberapa DSAs perlu diakses. Dalam kontrak, layanan penamaan sering dapat diimplementasikan sedemikian rupa sehingga operasi pencarian membutuhkan mengakses hanya simpul daun tunggal.
Tinggal di sejalan dengan banyak protokol OSI lainnya, accesing sebuah direktori X.500 menurut aturan resmi tidak sepele. Untuk mengakomodasi layanan direktori X.500 di internet, sebuah protokol sederhana telah dirancang, dikenal sebagai protokol akses direktori ringan (LDAP)
LDAP adalah protokol level aplikasi yang diimplementasikan langsung di atas TCP (Yeong et al, 1995;.. Whal et al, 1997), yang sendiri memberikan kontribusi kesederhanaan dibandingkan dengan protokol OSI akses resmi. Selain itu, parameter pencarian dan operasi update hanya dapat lulus sebagai string, daripada menggunakan pengkodean yang terpisah seperti yang dipersyaratkan oleh protokol OSI. LDAP secara bertahap menjadi standar de facto untuk internet berbasis layanan direktori. Hal ini sedang intgered ke dalam sistem terdistribusi, termasuk, misalnya, Windows 2000, yang kita bahas dalam Chap.9. Informasi praktis tentang LDAP dapat ditemukan di (Johner et al., 1998).

4.2 LOCATING MOBILE ENTITIES
Layanan penamaan dibahas sejauh ini, terutama digunakan untuk penamaan entitas yang memiliki lokasi tetap. Secara alami mereka, sistem penamaan tradisional tidak cocok untuk mendukung nama ke alamat pemetaan yang berubah secara teratur, seperti halnya dengan entitas mobile. Isuue ini dibahas dalam bagian ini, bersama dengan solusi untuk mencari entitas mobile.

4.2.1 Naming versus Locating Entities
Seperti dijelaskan di bagian sebelumnya, entitas diberi nama sehingga mereka dapat mendongak dan kemudian accesed. Ada jenis yang dibedakan nama: nama ramah manusia, identifier, dan alamat. Karena sistem terdistribusi dibangun untuk digunakan oleh manusia dan karena itu perlu untuk memiliki alamat anentity untuk mengaksesnya, hampir semua sistem penamaan mempertahankan pemetaan nama ke alamat yang ramah manusia.
Seperti yang kita juga menjelaskan, untuk secara efektif menerapkan ruang nama skala besar seperti di DNS, hal ini berguna untuk partisi ruang nama menjadi tiga lapisan. Lapisan global dan lapisan administrasi dicirikan oleh kenyataan bahwa nama tidak berubah sering. Lebih tepatnya, isi node di bagian-bagian dari ruang nama relatif stabil. Akibatnya, implementasi yang efisien dapat dicapai melalui replikasi dan caching.
Node di lapisan manajerial sering berubah-ubah. Oleh karena itu, kinerja update dan pencarian menjadi penting. Dalam prakteknya, tuntutan kinerja dapat dipenuhi dengan menerapkan node pada server, kinerja nama lokal yang tinggi.
Mari kita lihat lebih dekat di mana asumsi yang sebenarnya dibuat, dan mengapa pendekatan ini menuju implementasi skala besar penamaan kerja sistem. Pertama mempertimbangkan lagi mencari alamat host (remote) ftp.cs.vu.nl. Dengan asumsi bahwa isi dari node di lapisan global dan administrasi yang stabil, besar kemungkinan bahwa klien dapat menemukan alamat server nama untuk domain cs.vu.nl dalam cache lokal. Akibatnya, hanya satu permintaan harus dikirim ke server nama untuk menemukan alamat ftp.cs.vu.nl.
Selanjutnya, pertimbangkan memperbarui alamat ftp.cs.vu.nl. Misalnya karena server FTP yang akan pindah ke mesin yang berbeda. Selama server dipindahkan ke mesin dalam domain cs.vu.nl, update bisa dilakukan secara efisien. Dalam hal ini, hanya database DNS dari server nama untuk cs.vu.nl harus diubah. Pencarian akan seefisien mereka sebelumnya.
Akibatnya, dengan assurning bahwa node di lapisan global dan administrasi tidak sering berubah-ubah dan juga dengan asumsi bahwa update umumnya terbatas pada server nama tunggal, penamaan sistem seperti DNS dapat dibuat sangat efisien.
Sekarang perhatikan apa yang terjadi jika ftp.cs.vu.nl adalah untuk pindah ke sebuah mesin bernama ftp.cs.unisa.edu.au, yang terletak di domain yang sama sekali berbeda. Pengamatan pertama untuk membuat, adalah bahwa ftp.cs.vu.nl nama sebaiknya tidak berubah, karena dapat diharapkan bahwa banyak aplikasi dan pengguna akan memiliki link simbolik untuk itu. Dengan kata lain, nama ini mungkin digunakan sebagai identifier. Perubahan itu akan menyebabkan semua link itu menjadi tidak valid.
Sekarang ada dasarnya dua solusi. Salah satu solusi untuk merekam Apakah alamat mesin baru dalam database DNS untuk cs.vu.nl. solusi alternatif adalah untuk mencatat nama mesin baru, bukan alamatnya, efektif mengubah ftp.cs.vu.nl menjadi link simbolik. Kedua solusi memiliki kelemahan yang serius.
Pertama, mari kita merekam alamat dari mesin baru. Jelas, operasi pencarian tidak terpengaruh oleh pendekatan ini. Namun, setiap kali ftp.cs.vu.nl bergerak sekali lagi ke komputer lain, masuk dalam database DNS di cs.vu.nl harus diperbarui juga. Penting untuk diperhatikan bahwa update ini lagi operasi lokal tetapi sebenarnya dapat mengambil ratusan milidetik untuk menyelesaikan. Dengan kata lain, pendekatan ini melanggar asumsi bahwa operasi pada node di lapisan manajerial yang efisien.
Kelemahan utama menggunakan symbolic link adalah bahwa operasi pencarian menjadi kurang efisien. Akibatnya, pencarian masing-masing dibagi menjadi dua langkah:
1. Cari nama dari mesin baru.
2. Carilah alamat yang terkait dengan nama itu.
Namun, ftp.cs.vu.nl adalah untuk bergerak lagi, katakan kepada ftp.cs.berkeley.edu, kita dapat melakukan operasi update lokal dengan memutar ftp.cs.unisa.edu.au nama menjadi link simbolik ke ftp cs.berkeley.edu,. dan meninggalkan entri dalam database DNS untuk cs.vu.nl. seperti itu. Kekurangannya adalah bahwa kami telah menambahkan langkah lain untuk operasi pencarian.
Untuk entitas yang sangat mobile, masalah hanya menjadi lebih buruk. Setiap kali suatu entitas bergerak, baik operasi update nonlokal perlu dilakukan atau langkah lain yang ditambahkan untuk pencarian operasi.
Masalah lain yang serius dengan pendekatan yang disebutkan sejauh ini, adalah bahwa ftp.cs.vu.nl nama tidak diperbolehkan untuk mengubah. Akibatnya, akan menjadi sangat penting untuk memilih nama-nama yang dapat diharapkan tidak berubah untuk seumur hidup dari entitas yang mereka wakili. Selain itu, nama itu tidak dapat digunakan untuk setiap entitas lainnya. Dalam prakteknya, memilih nama-nama tersebut, terutama untuk entitas hidup yang sangat panjang, sulit, seperti yang ditunjukkan oleh penamaan di World Wide Web. Secara khusus, banyak entitas yang dikenal dengan nama yang berbeda, dan semua nama harus tetap berlaku, yaitu, selalu mengacu pada entitas yang sama, bahkan dalam menghadapi mobilitas.
Untuk alasan ini, layanan penamaan tradisional seperti DNS tidak bisa mengatasi dengan baik dengan entitas mobile, dan solusi yang berbeda diperlukan. Pada dasarnya, masalah timbul karena layanan penamaan tradisional mempertahankan pemetaan langsung antara nama ramah manusia dan alamat dari entitas. Setiap kali nama atau perubahan alamat, pemetaan perlu berubah juga, seperti yang ditunjukkan pada gambar. 4 - 17 (a).








a) Langsung, pemetaan tingkat satu antara nama dan alamat.
b) Dua tingkat pemetaan menggunakan pengidentifikasi.
Sebuah Solusi Yang lebih BAIK adalah Artikel Baru memisahkan penamaan bahasa Dari entitas KBLI Artikel Baru memperkenalkan pengidentifikasi, seperti Yang ditunjukkan PADA GAMBAR 4 - 17 (b). ingat bahwa identifier tidak pernah berubah, bahwa masing-masing entitas memiliki tepat Satu identifier, Dan bahwa sebuah identifier tidak pernah ditugaskan untuk entitas Yang berbeda (Wieringa Dan de Jonge, 1995). Secara Umum, sebuah identifier tidak dimaksudkan untuk memiliki representasi Rama manusia. Baru kata Lain, ITU dioptimalkan untuk Saja machineprocessing.
Ketika mencari sebuah entitas dengan cara layanan penamaan, layanan yang mengembalikan sebuah identifier. Identifier dapat disimpan secara lokal untuk diperlukan karena diketahui tidak pernah merujuk pada entitas yang berbeda, dan tidak akan pernah berubah. Di mana nama disimpan secara lokal, tidak penting. Akibatnya, ketika identifier yang diperlukan waktu berikutnya, itu hanya dapat diambil secara lokal tanpa harus mencarinya dengan cara layanan penamaan.
Mencari entitas ditangani dengan cara layanan lokasi yang terpisah. Sebuah layanan lokasi pada dasarnya menerima pengenal sebagai input, dan mengembalikan alamat saat entitas diidentifikasi. Jika beberapa salinan exict, maka beberapa alamat dapat dikembalikan. Pada bagian ini, kita hanya berkonsentrasi pada masalah pelaksanaan layanan lokasi yang efisien.

4.2.2 Simple Solution
Kami pertama mempertimbangkan dua solusi sederhana untuk menemukan suatu entitas. Kedua solusi ini hanya berlaku untuk jaringan area lokal. Namun demikian, dalam lingkungan tersebut, mereka sering melakukan pekerjaan dengan baik, membuat kesederhanaan mereka sangat menarik.

Penyiaran dan multicasting.
Pertimbangkan sebuah system terdistribusi yang dibangun pada jaringan komputer yang menawarkan fasilitas penyiaran yang efisien. Biasanya, fasilitas seperti yang ditawarkan oleh local-areanet-karya di mana semua mesin yang terhubung ke kabel tunggal. Juga jaringan area local nirkabel termasuk dalam kategori ini.
Mencari entitas di lingkungan seperti sederhana: pesan yang berisi identifier dari entitas yang disiarkan ke setiap mesin dan mesin masing-masing diminta untuk memeriksa apakah ia memiliki entitas itu. Hanya mesin yang dapat menawarkan jalur akses untuk entitas mengirim pesan balasan yang berisi alamat dari titik akses.
Prinsip ini digunakan dalam alamat internet Resolution Protocol (ARP) untuk menemukan alamat data-link dari mesin ketika hanya diberi alamat IP (Plummer, 1982). Pada dasarnya, mesin menyiarkan paket pada jaringan local bertanya siapa pemilik dari alamat IP yang diberikan. Ketika pesan sampai di mesin, penerima memeriksa apakah mendengarkan alamat IP yang diminta. Jika demikian, ia akan mengirimkan paket balasanyang berisi, misalnya, alamat Ethernet.
Penyiaran menjadi tidak efisien ketika jaringan tumbuh. Tidak hanya bandwidth jaringan terbuang oleh pesan permintaan, namun, lebih, serius, host terlalu banyak dapat terganggu oleh permintaan mereka tidak bisa menjawab. Salah satu solusi yang mungkin adalah untuk beralih ke multicasting, dimana hanya kelompok terbatas dari host menerima permintaan. Misalnya, Ethernet jaringan dukungan data-link level multicasting langsung di hardware.
Multicasting juga dapat digunakan untuk mencari entitas dalam point-to-point jaringan. Misalnya, internet mendukung jaringan-tingkat multicasting dengan memungkinkan host untuk bergabung dengan grup multicast tertentu. Kelompok tersebut diidentifikasi dengan alamat multicast. Ketika tuan rumah mengirimkan pesan ke alamat multicast, lapisan jaringan menyediakan layanan terbaik-upaya untuk menyampaikan pesan itu kepada semua anggota kelompok. Implementasi yang efisien untuk multicasting di internet dibahas dalam (Deering dan Cheriton, 1990;. Deeringetal, 1996).
Sebuah alamat multicast dapat digunakan sebagai layanan lokasi umum untuk beberapa entitas. Sebagai contoh, pertimbangkan sebuah organisasi di mana setiap karyawan memiliki nya atau komputer sendiri mobile-nya. Ketika seperti komputer terhubung ke jaringan yang tersedia secara lokal, itu ditetapkan secara dinamis alamat IP. Selain itu, bergabung dengan kelompok multicast tertentu. Ketika sebuah proses ingin mencari komputer A, ia akan mengirimkan "di mana adalah A?" Permintaan untuk kelompok multicast. Jika A adalah terhubung, akan meresponnya dengan Alamat IP-nya saat ini. 
Cara lain untuk menggunakan addresss multicast adalah mengasosiasikannya dengan entitas direplikasi, dan menggunakan multicasting untuk mencari replika terdekat. Saat mengirim permintaan ke alamat multicast, setiap replika merespon dengan saat ini alamatnya (normal) IP. Sebuah cara sederhana untuk memilih replika terdekat adalah untuk memilih salah satu yang yg pertama datang. Pendekatan yang lebih akurat dijelaskan dalam (Guyton dan Schwartz, 1995). Ternyata, memilih replika terdekat umumnya tidak mudah.

Forwarding Pointer
Pendekatan anothers populer untuk mencari entitas mobile untuk menggunakan untuk menangkal-pointer (Flowler, 1985). Prinsipnya sederhana: ketika entitas bergerak dari A ke B, itu meninggalkan referensi ke lokasi baru di B. Keuntungan utama dari pendekatan ini adalah kesederhanaannya: secepat entitas telah ditemukan, misalnya dengan menggunakan layanan penamaan tradisional, klien dapat mencari alamat saat ini dengan mengikuti rantai pointer forwarding.
Ada juga sejumlah kelemahan penting. Pertama, jika tidak ada tindakan khusus dilakukan, rantai bisa menjadi begitu lama bahwa menemukan sebuah entitas yang mahal. Kedua, semua lokasi antara dalam rantai harus mempertahankan bagian mereka untuk rantai forwarding pointer selama diperlukan. Kelemahan ketiga, dan yang terkait, adalah kerentanan terhadap link yang rusak. Segera setelah pointer forwarding hilang untuk alasan apa pun, entitas tidak dapat lagi dihubungi. Suatu hal yang penting adalah, oleh karena itu, untuk menjaga rantai yang relatif pendek, dan untuk memastikan bahwa pointer forwarding yang kuat.
Untuk lebih memahami bagaimana forthe menangkal pointer kerja, condiser penggunaannya dengan repsepct ke objek didistribusikan. Mengikuti pendekatan dalam rantai SSP (Shapiro et al, 1992., Setiap pointer forwarding diimplementasikan sebagai sepasang (proxy, kerangka) seperti yang ditunjukkan pada Gbr.4-18 (di SSP, proxy disebut stub dan kerangka keturunan seorang, mengarah ke (rintisan, sction) pasangan, yang menjelaskan singkatan SSP) kerangka scion, memimpin sisi server stub) mengandung baik referensi lokal untuk objek yang sebenarnya atau referensi lokal untuk proxy (yaitu, klien - rintisan. ) untuk objek tersebut. Untuk menekankan bahwa tindakan kerangka sebagai barang masuk untuk referensi terpencil dan proxy sebagai barang keluar, kita menggunakan notasi seperti yang ditunjukkan pada Gambar 4-18.

Setiap kali sebuah benda bergerak dari ruang adderess A ke B. itu meninggalkan proxy di tempatnya di A dan menginstal kerangka yang referens untuk itu dalam B. aspek menarik dari pendekatan ini adalah bahwa migrasi benar-benar transparan kepada klien. Satu-satunya melihat obyek, adalah proxy, bagaimana dan dimana lokasi yang meneruskan proksi doa yang tersembunyi dari klien. Sedap dicatat bahwa ini penggunaan pointer forwarding tidak sama dengan lookingup alamat. Sebaliknya permintaan klien penyampaian sepanjang rantai ke objek yang sebenarnya.



Untuk pendek memotong rantai (proxy, kerangka) pasang sebuah doa membawa identifikasi proxy dari mana doa yang diprakarsai. Sebuah identifikasi Proxy terdiri dari transportasi-tuas alamat klien, dikombinasikan dengan nomor alocally dihasilkan untuk mengidentifikasi proxy. Ketika doa mencapai obyek di lokasi saat ini, respon yang dikirim kembali ke proxy mana doa itu dimulai. Lokasi saat ini piggybacked dengan tanggapan dan proxy menyesuaikan kerangka pendamping kepada salah satu di lokasi objek saat ini. Prinsip ini ditunjukkan pada Gambar 4-19
            Ada trade-off antara mengirimkan respon langsung ke proxy memulai, atau sepanjang jalan kebalikan dari pointer forwarding. Dalam kasus yang pertama, komunikasi lebih cepat karena proses sedikit mungkin perlu disetujui. Di sisi lain, hanya proxy mengawali dapat disesuaikan, sedangkan mengirimkan reponses sepanjang jalan reverse memungkinkan penyesuaian semua proxy menengah.
            Ketika kerangka tidak lagi disebut oleh proxy apapun. Hal ini dapat dihapus. Bagaimana hal ini dapat dilakukan secara otomatis, dibahas dalam sec 4.3
            Seperti yang kita dijelaskan dalam bab 2, referensi objek di terdistribusi - sistem objek dapat diimplementasikan sebagai proxy yang dikirimkan sebagai parameter dalam pemanggilan menthod. Skema ini masih bekerja dengan pointer forwarding. Misalkan p1 proses ara 4-18 melewati objek refence nya 0 sampai lewat proses p2.references dilakukan dengan memasang salinan p 'dari p proxy dalam ruang alamat dari proses p2. Proxy 'p mengacu pada kerangka yang sama seperti p sehingga mekanisme doa forwarding bekerja sama seperti sebelumnya.
Masalah timbul ketika proses rantai (proxy, kerangka) pasang crash atau menjadi lain tidak bisa dijangkau. Beberapa solusi yang mungkin. Salah satu kemungkinan yang diikuti di zamrud (Juli et al, 1988.) Dan dalam sistem LII (Hitam dan Artsy. 19900 adalah untuk membiarkan mesin mana objek diciptakan (disebut lokasi rumah obyek), selalu menjaga refernces ke lokasi saat ini referensi Itu. disimpan dan dipelihara dengan cara kesalahan-toleran. Ketika rantai rusak, lokasi rumah benda tersebut akan bertanya di mana benda-benda sekarang. untuk memungkinkan sebuah lokasi rumah obyek untuk mengubah, layanan penamaan tradisional dapat digunakan untuk catatan lokasi rumah saat ini. pendekatan berbasis rumah tersebut akan kita diskusikan nanti.

Tidak ada komentar:

Posting Komentar