Tabel Hash Terdistribusi: Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 27851603; atribusi sumber disertakan. |
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi |
||
| Baris 1: | Baris 1: | ||
'''Tabel hash terdistribusi''' (Bahasa Inggris ''Distributed Hast Tabel "DHT"'' ) adalah [[Komputasi terdistribusi|sistem terdistribusi]] yang menyediakan layanan pencarian yang mirip dengan tabel hash: pasangan atribut nilai disimpan dalam Tabel Hash Terdistribusi, dan setiap ''node'' yang berpartisipasi dapat secara efisien mengambil nilai yang terkait dengan kunci yang diberikan. Keuntungan utama dari Tabel Hash Terdistribusi adalah bahwa ''node'' dapat ditambahkan atau dihapus dengan pekerjaan minimum di sekitar mendistribusikan ulang kunci. ''Kunci'' adalah pengidentifikasi unik yang memetakan ke ''nilai'' tertentu, yang pada gilirannya dapat berupa apa saja mulai dari alamat, [[dokumen elektronik|dokumen]], hingga [[data]] arbitrer. Tanggung jawab untuk memelihara pemetaan dari kunci ke nilai didistribusikan di antara ''node'', sedemikian rupa sehingga perubahan dalam set tidak menyebabkan gangguan yang berarti. Hal ini memungkinkan Tabel Hash Terdistribusi untuk [[Skalabilitas|menskalakan]] ke jumlah ''node'' yang sangat besar dan untuk menangani kedatangan, keberangkatan, dan kegagalan ''node'' yang berkelanjutan. Tabel Hash Terdistribusi membentuk infrastruktur yang dapat digunakan untuk membangun layanan yang lebih kompleks, seperti [[anycast]], cache web kooperatif, sistem file terdistribusi, [[Sistem Penamaan Domain|sistem penamaan domain]], [[pesan instan]], [[multisiar]], dan juga [[Berbagi file peer-to-peer|berbagi file ''peer-to-peer'']] dan sistem [[Distribusi digital|distribusi konten.]] Jaringan terdistribusi terkemuka yang menggunakan tabel hash terdistribusi adalah pelacak terdistribusi BitTorrent, [[Jaringan Distribusi Konten Karang|Coral Konten Distribution Network]], [[jaringan kad|jaringan Kad]], [[Badai botnet|Storm botnet]], [[Toks (protokol)|Tox instant messenger]], [[jaringan bebas|Freenet]], mesin pencari YaCy, dan ''InterPlanetary File System.'' | '''Tabel hash terdistribusi''' (Bahasa Inggris ''Distributed Hast Tabel "DHT"'' ) adalah [[Komputasi terdistribusi|sistem terdistribusi]] yang menyediakan layanan pencarian yang mirip dengan tabel hash: pasangan atribut nilai disimpan dalam Tabel Hash Terdistribusi, dan setiap ''node'' yang berpartisipasi dapat secara efisien mengambil nilai yang terkait dengan kunci yang diberikan. Keuntungan utama dari Tabel Hash Terdistribusi adalah bahwa ''node'' dapat ditambahkan atau dihapus dengan pekerjaan minimum di sekitar mendistribusikan ulang kunci. ''Kunci'' adalah pengidentifikasi unik yang memetakan ke ''nilai'' tertentu, yang pada gilirannya dapat berupa apa saja mulai dari alamat, [[dokumen elektronik|dokumen]], hingga [[data]] arbitrer.<ref>I. Stoica. [http://pdos.csail.mit.edu/papers/chord:sigcomm01/chord_sigcomm.pdf Chord: A scalable peer-to-peer lookup service for internet applications]. ''ACM SIGCOMM Computer Communication Review''. 2001. Vol. 31 (4). hlm. 149. doi:10.1145/964723.383071.</ref> Tanggung jawab untuk memelihara pemetaan dari kunci ke nilai didistribusikan di antara ''node'', sedemikian rupa sehingga perubahan dalam set tidak menyebabkan gangguan yang berarti. Hal ini memungkinkan Tabel Hash Terdistribusi untuk [[Skalabilitas|menskalakan]] ke jumlah ''node'' yang sangat besar dan untuk menangani kedatangan, keberangkatan, dan kegagalan ''node'' yang berkelanjutan. Tabel Hash Terdistribusi membentuk infrastruktur yang dapat digunakan untuk membangun layanan yang lebih kompleks, seperti [[anycast]], cache web kooperatif, sistem file terdistribusi, [[Sistem Penamaan Domain|sistem penamaan domain]], [[pesan instan]], [[multisiar]], dan juga [[Berbagi file peer-to-peer|berbagi file ''peer-to-peer'']] dan sistem [[Distribusi digital|distribusi konten.]] Jaringan terdistribusi terkemuka yang menggunakan tabel hash terdistribusi adalah pelacak terdistribusi BitTorrent, [[Jaringan Distribusi Konten Karang|Coral Konten Distribution Network]], [[jaringan kad|jaringan Kad]], [[Badai botnet|Storm botnet]], [[Toks (protokol)|Tox instant messenger]], [[jaringan bebas|Freenet]], mesin pencari YaCy, dan ''InterPlanetary File System.'' | ||
== Sejarah == | == Sejarah == | ||
Penelitian Tabel Hash Terdistribusi awalnya dimotivasi, sebagian, oleh sistem ''peer-to-peer'' (P2P) seperti [[jaringan bebas|Freenet]], [[Gnutella]], [[BitTorrent (perangkat lunak)|BitTorrent]] dan [[Napster]], yang memanfaatkan sumber daya yang didistribusikan di Internet untuk menyediakan satu aplikasi yang berguna. Secara khusus, mereka memanfaatkan peningkatan kapasitas [[Bandwidth (komputasi)|bandwidth]] dan [[Cakram keras|hard disk]] untuk menyediakan layanan berbagi file. Sistem ini berbeda dalam cara mereka menemukan data yang ditawarkan oleh P2P yang lain. Napster, sistem pengiriman konten P2P skala besar pertama, memerlukan server indeks pusat: setiap ''node'', setelah bergabung, akan mengirim daftar file yang disimpan secara lokal ke server, yang akan melakukan pencarian dan merujuk kueri ke ''node'' yang menyimpan hasil. Komponen utama ini membuat sistem rentan terhadap serangan dan tuntutan hukum. | Penelitian Tabel Hash Terdistribusi awalnya dimotivasi, sebagian, oleh sistem ''peer-to-peer'' (P2P) seperti [[jaringan bebas|Freenet]], [[Gnutella]], [[BitTorrent (perangkat lunak)|BitTorrent]] dan [[Napster]], yang memanfaatkan sumber daya yang didistribusikan di Internet untuk menyediakan satu aplikasi yang berguna. Secara khusus, mereka memanfaatkan peningkatan kapasitas [[Bandwidth (komputasi)|bandwidth]] dan [[Cakram keras|hard disk]] untuk menyediakan layanan berbagi file.<ref>Liz, Crowcroft. [http://www.cl.cam.ac.uk/teaching/2005/AdvSysTop/survey.pdf A survey and comparison of peer-to-peer overlay network schemes]. ''IEEE Communications Surveys & Tutorials''. 2005. Vol. 7 (2). hlm. 72–93. doi:10.1109/COMST.2005.1610546.</ref> Sistem ini berbeda dalam cara mereka menemukan data yang ditawarkan oleh P2P yang lain. Napster, sistem pengiriman konten P2P skala besar pertama, memerlukan server indeks pusat: setiap ''node'', setelah bergabung, akan mengirim daftar file yang disimpan secara lokal ke server, yang akan melakukan pencarian dan merujuk kueri ke ''node'' yang menyimpan hasil. Komponen utama ini membuat sistem rentan terhadap serangan dan tuntutan hukum. | ||
Gnutella dan jaringan serupa diganti ke model ''query flooding''intinya, setiap pencarian akan menghasilkan pesan yang disiarkan ke setiap mesin lain dalam jaringan. Sambil menghindari s''ingle point of failure'', metode ini secara signifikan kurang efisien dibandingkan Napster. Versi klien Gnutella yang lebih baru pindah ke [[Kueri dinamis|model kueri dinamis]] yang sangat meningkatkan efisiensi. | Gnutella dan jaringan serupa diganti ke model ''query flooding''intinya, setiap pencarian akan menghasilkan pesan yang disiarkan ke setiap mesin lain dalam jaringan. Sambil menghindari s''ingle point of failure'', metode ini secara signifikan kurang efisien dibandingkan Napster. Versi klien Gnutella yang lebih baru pindah ke [[Kueri dinamis|model kueri dinamis]] yang sangat meningkatkan efisiensi.<ref>Richter, Stevenson. [https://www.scirp.org/pdf/CN_2018110915053101.pdf Analysis of the impact of dynamic querying models on client-server relationships]. ''Trends in Modern Computing''. 2009. hlm. 682–701.</ref> | ||
Freenet sepenuhnya didistribusikan, tetapi menggunakan [[perutean berbasis kunci]] [[Heuristik (ilmu komputer)|heuristik]] di mana setiap file dikaitkan dengan kunci, dan file dengan kunci serupa cenderung mengelompok pada kumpulan ''node'' yang serupa. Kueri kemungkinan akan dirutekan melalui jaringan ke klaster seperti itu tanpa perlu mengunjungi banyak ''peer''. Namun, Freenet tidak menjamin bahwa data akan ditemukan. | Freenet sepenuhnya didistribusikan, tetapi menggunakan [[perutean berbasis kunci]] [[Heuristik (ilmu komputer)|heuristik]] di mana setiap file dikaitkan dengan kunci, dan file dengan kunci serupa cenderung mengelompok pada kumpulan ''node'' yang serupa. Kueri kemungkinan akan dirutekan melalui jaringan ke klaster seperti itu tanpa perlu mengunjungi banyak ''peer''.<ref>Sandberg, O. (2005). [https://freenetproject.org/papers/lic.pdf Searching in a Small World Chapters 1 & 2].. Chalmers University of Technology and Goteborg University. hlm.40.Diakses pada 10-12-2021.</ref> Namun, Freenet tidak menjamin bahwa data akan ditemukan. | ||
Tabel hash terdistribusi menggunakan perutean berbasis kunci yang lebih terstruktur untuk mencapai baik desentralisasi Freenet dan Gnutella, serta efisiensi dan jaminan hasil seperti Napster. Salah satu kelemahannya adalah seperti Freenet, Tabel Hash Terdistribusi hanya secara langsung mendukung pencarian pencocokan tepat, bukan pencarian kata kunci, meskipun [[Perutean|algoritma perutean]] Freenet dapat digeneralisasikan ke semua jenis kunci di mana operasi kedekatan dapat ditentukan. | Tabel hash terdistribusi menggunakan perutean berbasis kunci yang lebih terstruktur untuk mencapai baik desentralisasi Freenet dan Gnutella, serta efisiensi dan jaminan hasil seperti Napster. Salah satu kelemahannya adalah seperti Freenet, Tabel Hash Terdistribusi hanya secara langsung mendukung pencarian pencocokan tepat, bukan pencarian kata kunci, meskipun [[Perutean|algoritma perutean]] Freenet dapat digeneralisasikan ke semua jenis kunci di mana operasi kedekatan dapat ditentukan.<ref>Clarle, Ian. (1999). [https://freenetproject.org/papers/ddisrs.pdf A Distributed Decentralized Information Storage and Retrieval System].. hlm. 21. Diakses pada 2021-12-10</ref> | ||
Pada tahun 2001, empat sistem — [[Jaringan beralamat konten|CAN]], [[Akor (peer-to-peer)|Chord]], [[Kue Kering (DHT)|Pastry]], dan [[Permadani (DHT)|Tapestry]] — memicu Tabel Hash Terdistribusi sebagai topik penelitian yang populer. Sebuah proyek bernama Infrastructure for [[Resilient Internet Systems]] (Iris) didanai oleh hibah $12 juta dari United States [[Yayasan Sains Nasional|National Science Foundation]] pada tahun 2002. Peneliti termasuk Sylvia Ratnasamy, Ion Stoica, Hari Balakrishnan dan Scott Shenker. Di luar akademisi, teknologi Tabel Hash Terdistribusi telah diadopsi sebagai komponen BitTorrent dan di [[Jaringan Distribusi Konten Karang|Coral Content Distribution Network]]. | Pada tahun 2001, empat sistem — [[Jaringan beralamat konten|CAN]],<ref>Ratnasamy. [http://www.eecs.berkeley.edu/~sylvia/papers/cans.pdf A Scalable Content-Addressable Network]. In Proceedings of ACM SIGCOMM 2001. 2001.</ref> [[Akor (peer-to-peer)|Chord]],<ref>Hari Balakrishnan, M. Frans Kaashoek, David Karger, Robert Morris, and Ion Stoica. [http://www.cs.berkeley.edu/~istoica/papers/2003/cacm03.pdf Looking up data in P2P systems]. In Communications of the ACM, February 2003.</ref> [[Kue Kering (DHT)|Pastry]], dan [[Permadani (DHT)|Tapestry]] — memicu Tabel Hash Terdistribusi sebagai topik penelitian yang populer. Sebuah proyek bernama Infrastructure for [[Resilient Internet Systems]] (Iris) didanai oleh hibah $12 juta dari United States [[Yayasan Sains Nasional|National Science Foundation]] pada tahun 2002.<ref>David Cohen. [https://www.newscientist.com/article/dn2861-new-p2p-network-funded-by-us-government/ New P2P network funded by US government]. ''New Scientist''. October 1, 2002.</ref> Peneliti termasuk Sylvia Ratnasamy, Ion Stoica, Hari Balakrishnan dan Scott Shenker.<ref>[https://iris.pdos.csail.mit.edu/MITPressRelease1.doc MIT, Berkeley, ICSI, NYU, and Rice Launch the IRIS Project]. ''Press release''. MIT. September 25, 2002.</ref> Di luar akademisi, teknologi Tabel Hash Terdistribusi telah diadopsi sebagai komponen BitTorrent dan di [[Jaringan Distribusi Konten Karang|Coral Content Distribution Network]]. | ||
== Properti == | == Properti == | ||
Tabel Hash Terdistribusi secara khas menekankan sifat-sifat berikut: | Tabel Hash Terdistribusi secara khas menekankan sifat-sifat berikut:<ref>R Mokadem, A Hameurlain and AM Tjoa. [https://www.irit.fr/~Riad.Mokadem/wp-content/uploads/sites/67/2020/12/Resource-discovery-service-while-minimizing-maintenance-overhead-in-hierarchical-DHT-systems-iiWas2010.pdf Resource discovery service while minimizing maintenance overhead in hierarchical DHT systems]. Proc. iiWas, 2010</ref> | ||
* [[Komputasi terdesentralisasi|Otonomi dan desentralisasi]]: ''node'' secara kolektif membentuk sistem tanpa koordinasi pusat. | * [[Komputasi terdesentralisasi|Otonomi dan desentralisasi]]: ''node'' secara kolektif membentuk sistem tanpa koordinasi pusat. | ||
* [[Toleransi kesalahan]]: Sistem harus dapat diandalkan (dalam beberapa hal) bahkan dengan ''node'' yang terus-menerus bergabung, keluar, dan gagal. | * [[Toleransi kesalahan]]: Sistem harus dapat diandalkan (dalam beberapa hal) bahkan dengan ''node'' yang terus-menerus bergabung, keluar, dan gagal.<ref>R Mokadem, A Hameurlain and AM Tjoa. [https://www.irit.fr/~Riad.Mokadem/wp-content/uploads/sites/67/2020/12/Resource-discovery-service-while-minimizing-maintenance-overhead-in-hierarchical-DHT-systems-iiWas2010.pdf Resource discovery service while minimizing maintenance overhead in hierarchical DHT systems]. Proc. iiWas, 2010</ref> | ||
* [[Skalabilitas]]: Sistem harus berfungsi secara efisien bahkan dengan ribuan atau jutaan ''node''. | * [[Skalabilitas]]: Sistem harus berfungsi secara efisien bahkan dengan ribuan atau jutaan ''node''.<ref>R Mokadem, A Hameurlain and AM Tjoa. [https://www.irit.fr/~Riad.Mokadem/wp-content/uploads/sites/67/2020/12/Resource-discovery-service-while-minimizing-maintenance-overhead-in-hierarchical-DHT-systems-iiWas2010.pdf Resource discovery service while minimizing maintenance overhead in hierarchical DHT systems]. Proc. iiWas, 2010</ref> | ||
Teknik kunci yang digunakan untuk mencapai tujuan bahwa setiap ''node'' perlu berkoordinasi dengan hanya beberapa ''node'' lain dalam sistem – paling umum, [[Notasi O besar|O]] (log ''n'' ) dari ''n'' peserta (lihat di bawah) – sehingga hanya sejumlah terbatas pekerjaan yang harus dilakukan untuk setiap perubahan keanggotaan. Beberapa desain Tabel Hash Terdistribusi berusaha untuk [[Komunikasi yang aman|mengamankan]] dari peserta jahat dan untuk memungkinkan peserta untuk tetap [[Anonimitas|anonim]], meskipun ini kurang umum daripada di banyak sistem ''peer-to-peer'' (terutama [[Berbagi berkas|file sharing]] ). | Teknik kunci yang digunakan untuk mencapai tujuan bahwa setiap ''node'' perlu berkoordinasi dengan hanya beberapa ''node'' lain dalam sistem – paling umum, [[Notasi O besar|O]] (log ''n'' ) dari ''n'' peserta (lihat di bawah) – sehingga hanya sejumlah terbatas pekerjaan yang harus dilakukan untuk setiap perubahan keanggotaan. Beberapa desain Tabel Hash Terdistribusi berusaha untuk [[Komunikasi yang aman|mengamankan]] dari peserta jahat<ref>Guido Urdaneta, Guillaume Pierre and Maarten van Steen. [http://www.globule.org/publi/SDST_acmcs2009.html A Survey of DHT Security Techniques]. ACM Computing Surveys 43(2), January 2011.</ref> dan untuk memungkinkan peserta untuk tetap [[Anonimitas|anonim]], meskipun ini kurang umum daripada di banyak sistem ''peer-to-peer'' (terutama [[Berbagi berkas|file sharing]] ). | ||
== Struktur == | == Struktur == | ||
Struktur Tabel Hash Terdistribusi dapat diuraikan menjadi beberapa komponen utama. Fondasinya adalah ruang [[Keyspace (penyimpanan data terdistribusi)|kunci]] abstrak, seperti kumpulan [[string]] 160-bit. [[Partisi (basis data)|Skema partisi]] keyspace membagi kepemilikan keyspace ini di antara ''node'' yang berpartisipasi. Jaringan ''overlay'' kemudian menghubungkan ''node'', memungkinkan mereka untuk menemukan pemilik kunci yang diberikan di ''keyspace''. Setelah komponen-komponen ini berada di tempatnya, penggunaan Tabel Hash Terdistribusi yang khas untuk penyimpanan dan pengambilan dapat dilanjutkan sebagai berikut. Misalkan keyspace adalah kumpulan string 160-bit. Untuk mengindeks file dengan yang diberikan dan dalam Tabel Hash Terdistribusi, hash [[SHA-1]] dihasilkan, menghasilkan kunci 160-bit , dan pesan yang dikirim ke setiap ''node'' yang berpartisipasi dalam Tabel Hash Terdistribusi. Pesan diteruskan dari ''node'' ke ''node'' melalui jaringan overlay hingga mencapai ''node'' tunggal yang bertanggung jawab untuk kunci seperti yang ditentukan oleh partisi keyspace. ''Node'' itu kemudian menyimpan kunci dan datanya. Klien lain kemudian dapat mengambil isi file dengan hashing lagi untuk menghasilkan dan meminta ''node'' Tabel Hash Terdistribusi untuk menemukan data yang terkait dengan dengan pesan . Pesan akan dirutekan lagi melalui overlay ke ''node'' yang bertanggung jawab untuk , yang akan membalas dengan disimpan. Partisi keyspace dan komponen jaringan overlay dijelaskan di bawah ini dengan tujuan menangkap ide-ide utama yang umum untuk sebagian besar Tabel Hash Terdistribusi; banyak desain berbeda dalam detailnya. | Struktur Tabel Hash Terdistribusi dapat diuraikan menjadi beberapa komponen utama.<ref>Gurmeet Singh Manku. [https://drive.google.com/file/d/1NFuKfaFKwOY3sj-ZLPUXCJXM_UjxmSp0/view?usp=sharing Dipsea: A Modular Distributed Hash Table]. Stanford University. 2004. hlm. 1.</ref><ref>Moni Naor and Udi Wieder. [http://www.wisdom.weizmann.ac.il/~naor/PAPERS/dh.pdf Novel Architectures for P2P Applications: the Continuous-Discrete Approach]. Proc. SPAA, 2003.</ref> Fondasinya adalah ruang [[Keyspace (penyimpanan data terdistribusi)|kunci]] abstrak, seperti kumpulan [[string]] 160-bit. [[Partisi (basis data)|Skema partisi]] keyspace membagi kepemilikan keyspace ini di antara ''node'' yang berpartisipasi. Jaringan ''overlay'' kemudian menghubungkan ''node'', memungkinkan mereka untuk menemukan pemilik kunci yang diberikan di ''keyspace''. Setelah komponen-komponen ini berada di tempatnya, penggunaan Tabel Hash Terdistribusi yang khas untuk penyimpanan dan pengambilan dapat dilanjutkan sebagai berikut. Misalkan keyspace adalah kumpulan string 160-bit. Untuk mengindeks file dengan yang diberikan dan dalam Tabel Hash Terdistribusi, hash [[SHA-1]] dihasilkan, menghasilkan kunci 160-bit , dan pesan yang dikirim ke setiap ''node'' yang berpartisipasi dalam Tabel Hash Terdistribusi. Pesan diteruskan dari ''node'' ke ''node'' melalui jaringan overlay hingga mencapai ''node'' tunggal yang bertanggung jawab untuk kunci seperti yang ditentukan oleh partisi keyspace. ''Node'' itu kemudian menyimpan kunci dan datanya. Klien lain kemudian dapat mengambil isi file dengan hashing lagi untuk menghasilkan dan meminta ''node'' Tabel Hash Terdistribusi untuk menemukan data yang terkait dengan dengan pesan . Pesan akan dirutekan lagi melalui overlay ke ''node'' yang bertanggung jawab untuk , yang akan membalas dengan disimpan. Partisi keyspace dan komponen jaringan overlay dijelaskan di bawah ini dengan tujuan menangkap ide-ide utama yang umum untuk sebagian besar Tabel Hash Terdistribusi; banyak desain berbeda dalam detailnya. | ||
== Referensi == | == Referensi == | ||
<references /> | |||
== Sumber dan atribusi == | == Sumber dan atribusi == | ||
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Tabel+Hash+Terdistribusi&oldid=27851603 Wikipedia bahasa Indonesia], revisi 27851603 (2025-09-18T11:51:06Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Tabel+Hash+Terdistribusi&oldid=27851603 Wikipedia bahasa Indonesia], revisi 27851603 (2025-09-18T11:51:06Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | ||
<!-- WIKI_UNISSULA_PRESENTATION_V4 --> | |||
Revisi terkini sejak 24 Agustus 2026 09.08
Tabel hash terdistribusi (Bahasa Inggris Distributed Hast Tabel "DHT" ) adalah sistem terdistribusi yang menyediakan layanan pencarian yang mirip dengan tabel hash: pasangan atribut nilai disimpan dalam Tabel Hash Terdistribusi, dan setiap node yang berpartisipasi dapat secara efisien mengambil nilai yang terkait dengan kunci yang diberikan. Keuntungan utama dari Tabel Hash Terdistribusi adalah bahwa node dapat ditambahkan atau dihapus dengan pekerjaan minimum di sekitar mendistribusikan ulang kunci. Kunci adalah pengidentifikasi unik yang memetakan ke nilai tertentu, yang pada gilirannya dapat berupa apa saja mulai dari alamat, dokumen, hingga data arbitrer.[1] Tanggung jawab untuk memelihara pemetaan dari kunci ke nilai didistribusikan di antara node, sedemikian rupa sehingga perubahan dalam set tidak menyebabkan gangguan yang berarti. Hal ini memungkinkan Tabel Hash Terdistribusi untuk menskalakan ke jumlah node yang sangat besar dan untuk menangani kedatangan, keberangkatan, dan kegagalan node yang berkelanjutan. Tabel Hash Terdistribusi membentuk infrastruktur yang dapat digunakan untuk membangun layanan yang lebih kompleks, seperti anycast, cache web kooperatif, sistem file terdistribusi, sistem penamaan domain, pesan instan, multisiar, dan juga berbagi file peer-to-peer dan sistem distribusi konten. Jaringan terdistribusi terkemuka yang menggunakan tabel hash terdistribusi adalah pelacak terdistribusi BitTorrent, Coral Konten Distribution Network, jaringan Kad, Storm botnet, Tox instant messenger, Freenet, mesin pencari YaCy, dan InterPlanetary File System.
Sejarah
Penelitian Tabel Hash Terdistribusi awalnya dimotivasi, sebagian, oleh sistem peer-to-peer (P2P) seperti Freenet, Gnutella, BitTorrent dan Napster, yang memanfaatkan sumber daya yang didistribusikan di Internet untuk menyediakan satu aplikasi yang berguna. Secara khusus, mereka memanfaatkan peningkatan kapasitas bandwidth dan hard disk untuk menyediakan layanan berbagi file.[2] Sistem ini berbeda dalam cara mereka menemukan data yang ditawarkan oleh P2P yang lain. Napster, sistem pengiriman konten P2P skala besar pertama, memerlukan server indeks pusat: setiap node, setelah bergabung, akan mengirim daftar file yang disimpan secara lokal ke server, yang akan melakukan pencarian dan merujuk kueri ke node yang menyimpan hasil. Komponen utama ini membuat sistem rentan terhadap serangan dan tuntutan hukum.
Gnutella dan jaringan serupa diganti ke model query floodingintinya, setiap pencarian akan menghasilkan pesan yang disiarkan ke setiap mesin lain dalam jaringan. Sambil menghindari single point of failure, metode ini secara signifikan kurang efisien dibandingkan Napster. Versi klien Gnutella yang lebih baru pindah ke model kueri dinamis yang sangat meningkatkan efisiensi.[3]
Freenet sepenuhnya didistribusikan, tetapi menggunakan perutean berbasis kunci heuristik di mana setiap file dikaitkan dengan kunci, dan file dengan kunci serupa cenderung mengelompok pada kumpulan node yang serupa. Kueri kemungkinan akan dirutekan melalui jaringan ke klaster seperti itu tanpa perlu mengunjungi banyak peer.[4] Namun, Freenet tidak menjamin bahwa data akan ditemukan.
Tabel hash terdistribusi menggunakan perutean berbasis kunci yang lebih terstruktur untuk mencapai baik desentralisasi Freenet dan Gnutella, serta efisiensi dan jaminan hasil seperti Napster. Salah satu kelemahannya adalah seperti Freenet, Tabel Hash Terdistribusi hanya secara langsung mendukung pencarian pencocokan tepat, bukan pencarian kata kunci, meskipun algoritma perutean Freenet dapat digeneralisasikan ke semua jenis kunci di mana operasi kedekatan dapat ditentukan.[5]
Pada tahun 2001, empat sistem — CAN,[6] Chord,[7] Pastry, dan Tapestry — memicu Tabel Hash Terdistribusi sebagai topik penelitian yang populer. Sebuah proyek bernama Infrastructure for Resilient Internet Systems (Iris) didanai oleh hibah $12 juta dari United States National Science Foundation pada tahun 2002.[8] Peneliti termasuk Sylvia Ratnasamy, Ion Stoica, Hari Balakrishnan dan Scott Shenker.[9] Di luar akademisi, teknologi Tabel Hash Terdistribusi telah diadopsi sebagai komponen BitTorrent dan di Coral Content Distribution Network.
Properti
Tabel Hash Terdistribusi secara khas menekankan sifat-sifat berikut:[10]
- Otonomi dan desentralisasi: node secara kolektif membentuk sistem tanpa koordinasi pusat.
- Toleransi kesalahan: Sistem harus dapat diandalkan (dalam beberapa hal) bahkan dengan node yang terus-menerus bergabung, keluar, dan gagal.[11]
- Skalabilitas: Sistem harus berfungsi secara efisien bahkan dengan ribuan atau jutaan node.[12]
Teknik kunci yang digunakan untuk mencapai tujuan bahwa setiap node perlu berkoordinasi dengan hanya beberapa node lain dalam sistem – paling umum, O (log n ) dari n peserta (lihat di bawah) – sehingga hanya sejumlah terbatas pekerjaan yang harus dilakukan untuk setiap perubahan keanggotaan. Beberapa desain Tabel Hash Terdistribusi berusaha untuk mengamankan dari peserta jahat[13] dan untuk memungkinkan peserta untuk tetap anonim, meskipun ini kurang umum daripada di banyak sistem peer-to-peer (terutama file sharing ).
Struktur
Struktur Tabel Hash Terdistribusi dapat diuraikan menjadi beberapa komponen utama.[14][15] Fondasinya adalah ruang kunci abstrak, seperti kumpulan string 160-bit. Skema partisi keyspace membagi kepemilikan keyspace ini di antara node yang berpartisipasi. Jaringan overlay kemudian menghubungkan node, memungkinkan mereka untuk menemukan pemilik kunci yang diberikan di keyspace. Setelah komponen-komponen ini berada di tempatnya, penggunaan Tabel Hash Terdistribusi yang khas untuk penyimpanan dan pengambilan dapat dilanjutkan sebagai berikut. Misalkan keyspace adalah kumpulan string 160-bit. Untuk mengindeks file dengan yang diberikan dan dalam Tabel Hash Terdistribusi, hash SHA-1 dihasilkan, menghasilkan kunci 160-bit , dan pesan yang dikirim ke setiap node yang berpartisipasi dalam Tabel Hash Terdistribusi. Pesan diteruskan dari node ke node melalui jaringan overlay hingga mencapai node tunggal yang bertanggung jawab untuk kunci seperti yang ditentukan oleh partisi keyspace. Node itu kemudian menyimpan kunci dan datanya. Klien lain kemudian dapat mengambil isi file dengan hashing lagi untuk menghasilkan dan meminta node Tabel Hash Terdistribusi untuk menemukan data yang terkait dengan dengan pesan . Pesan akan dirutekan lagi melalui overlay ke node yang bertanggung jawab untuk , yang akan membalas dengan disimpan. Partisi keyspace dan komponen jaringan overlay dijelaskan di bawah ini dengan tujuan menangkap ide-ide utama yang umum untuk sebagian besar Tabel Hash Terdistribusi; banyak desain berbeda dalam detailnya.
Referensi
- ↑ I. Stoica. Chord: A scalable peer-to-peer lookup service for internet applications. ACM SIGCOMM Computer Communication Review. 2001. Vol. 31 (4). hlm. 149. doi:10.1145/964723.383071.
- ↑ Liz, Crowcroft. A survey and comparison of peer-to-peer overlay network schemes. IEEE Communications Surveys & Tutorials. 2005. Vol. 7 (2). hlm. 72–93. doi:10.1109/COMST.2005.1610546.
- ↑ Richter, Stevenson. Analysis of the impact of dynamic querying models on client-server relationships. Trends in Modern Computing. 2009. hlm. 682–701.
- ↑ Sandberg, O. (2005). Searching in a Small World Chapters 1 & 2.. Chalmers University of Technology and Goteborg University. hlm.40.Diakses pada 10-12-2021.
- ↑ Clarle, Ian. (1999). A Distributed Decentralized Information Storage and Retrieval System.. hlm. 21. Diakses pada 2021-12-10
- ↑ Ratnasamy. A Scalable Content-Addressable Network. In Proceedings of ACM SIGCOMM 2001. 2001.
- ↑ Hari Balakrishnan, M. Frans Kaashoek, David Karger, Robert Morris, and Ion Stoica. Looking up data in P2P systems. In Communications of the ACM, February 2003.
- ↑ David Cohen. New P2P network funded by US government. New Scientist. October 1, 2002.
- ↑ MIT, Berkeley, ICSI, NYU, and Rice Launch the IRIS Project. Press release. MIT. September 25, 2002.
- ↑ R Mokadem, A Hameurlain and AM Tjoa. Resource discovery service while minimizing maintenance overhead in hierarchical DHT systems. Proc. iiWas, 2010
- ↑ R Mokadem, A Hameurlain and AM Tjoa. Resource discovery service while minimizing maintenance overhead in hierarchical DHT systems. Proc. iiWas, 2010
- ↑ R Mokadem, A Hameurlain and AM Tjoa. Resource discovery service while minimizing maintenance overhead in hierarchical DHT systems. Proc. iiWas, 2010
- ↑ Guido Urdaneta, Guillaume Pierre and Maarten van Steen. A Survey of DHT Security Techniques. ACM Computing Surveys 43(2), January 2011.
- ↑ Gurmeet Singh Manku. Dipsea: A Modular Distributed Hash Table. Stanford University. 2004. hlm. 1.
- ↑ Moni Naor and Udi Wieder. Novel Architectures for P2P Applications: the Continuous-Discrete Approach. Proc. SPAA, 2003.
Sumber dan atribusi
Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 27851603 (2025-09-18T11:51:06Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.