مستخدم:Kernlpanic/جدول التجزئة الموزع

من ويكيبيديا، الموسوعة الحرة

جدول التجزئة الموزع ( DHT ) هو نظام موزع يوفر خدمة بحث مشابهة لجدول التجزئة : يتم تخزين أزواج المفتاح والقيمة في DHT ، ويمكن لأي عقدة استرداد القيمة المرتبطة بمفتاح معين بكفاءة. الميزة الرئيسية لـ DHT هي أنه يمكن إضافة العقد أو إزالتها مع الحد الأدنى من العمل حول إعادة توزيع المفاتيح. المفاتيح هي معرفات فريدة يتم تعيينها لقيم معينة ، والتي بدورها يمكن أن تكون أي شيء من العناوين إلى المستندات إلى البيانات العشوائية. [1] يتم توزيع مسؤولية الحفاظ على التعيين من المفاتيح إلى القيم بين العقد ، بحيث يؤدي التغيير في مجموعة المشاركين إلى الحد الأدنى من الاضطراب. هذا يسمح ل DHT للوصول إلى نطاق أعداد كبيرة للغاية من العقد وللتعامل مع استمرار دخول وخروج العقد , حتى العقد التي فشل اتصالها

تشكل DHTs بنية تحتية يمكن استخدامها لبناء خدمات أكثر تعقيدًا ، مثل Anycast والتخزين المؤقت التعاوني للويب وأنظمة الملفات الموزعة وخدمات اسم المجال والرسائل الفورية والبث المتعدد وأيضًا مشاركة الملفات من نظير إلى نظير وأنظمة توزيع المحتوى. الشبكات الموزعة البارزة التي تستخدم DHTs تشمل :

متتبع بيتتورنت الموزع ، و شبكات توزيع المحتوى ، و شبكة كاد ، و الروبوتات العاصفة ، و برنامج المراسلة توكس ، فرينيت ، و ياسي محرك البحث، و نظام الملفات بين الكواكب .

تاريخ[عدل]

كان الدافع وراء أبحاث DHT ، جزئيًا ، هو أنظمة نظير إلى نظير (P2P) مثل Freenet و Gnutella و BitTorrent و Napster ، والتي استفادت من الموارد الموزعة عبر الإنترنت لتوفير تطبيق مفيد واحد. على وجه الخصوص ، استفادوا من عرض النطاق الترددي المتزايد وسعة القرص الثابت لتوفير خدمة مشاركة الملفات. [2]

اختلفت هذه الأنظمة في كيفية تحديد موقع البيانات التي يقدمها أقرانهم. يتطلب Napster ، وهو أول نظام تسليم محتوى P2P واسع النطاق ، خادم فهرس مركزي: سترسل كل عقدة ، عند الانضمام ، قائمة بالملفات المحفوظة محليًا إلى الخادم ، والتي من شأنها إجراء عمليات البحث وإحالة الاستعلامات إلى العقد التي تحتوي على النتائج. ترك هذا المكون المركزي النظام عرضة للهجمات والدعاوى القضائية.

انتقلت Gnutella والشبكات المماثلة إلى نموذج إغراق الاستعلام – من حيث الجوهر ، سيؤدي كل بحث إلى بث رسالة إلى كل جهاز آخر في الشبكة.

كانت هذه الطريقة أقل كفاءة بشكل ملحوظ من Napster. انتقلت الإصدارات اللاحقة من عملاء نوتيلا إلى نموذج الاستعلام الديناميكي الذي أدى إلى تحسين الكفاءة بشكل كبير. [3]

فرينت هو نظام موزع ، ولكن يعمل على خوارزمية مبنية على أساس مفتاح التوجيه الذي يرتبط كل ملف مع مفتاح، والملفات مع مفاتيح مماثلة تميل إلى التسجيل على مجموعة مماثلة من العقد. من المحتمل أن يتم توجيه الاستعلامات عبر الشبكة إلى مثل هذه المجموعة دون الحاجة إلى زيارة العديد من الأقران. [4] ومع ذلك ، لا تضمن Freenet العثور على البياناتبشكل اكيد.

تستخدم جداول التجزئة الموزعة توجيهًا أكثر تنظيماً يعتمد على المفاتيح لتحقيق كل من لامركزية Freenet و كفاءة Gnutella ونتائج Napster المضمونة. أحد العوائق هو أنه ، مثل Freenet ، تدعم DHTs البحث عن المطابقة التامة فقط، بدلاً من البحث عن الكلمات الرئيسية ، على الرغم من أن خوارزمية التوجيه الخاصة بـ Freenet يمكن استخدامها لايجاد المفاتيح المتشابهة. [5]

في عام 2001 ، — CAN ، [6] Chord ، [7] Pastry ، و Tapestry — اشعلو البحث والتطوير في DHT. تم تمويل مشروع يسمى البنية التحتية لأنظمة الإنترنت المقاومة (Iris) بمنحة قدرها 12 مليون دولار من مؤسسة العلوم الوطنية الأمريكية في عام 2002. [8] ومن بين الباحثين سيلفيا راتناسامي ، إيون ستويكا ، هاري بالاكريشنان وسكوت شينكر . [9] خارج الأوساط الأكاديمية ، تم اعتماد تقنية DHT كعنصر من مكونات BitTorrent وفي شبكات توزيع المحتوى .

الخصائص[عدل]

تؤكد DHTs بشكل مميز على الخصائص التالية:

تتمثل إحدى التقنيات الرئيسية المستخدمة لتحقيق هذه الأهداف في أن أي عقدة واحدة تحتاج إلى التنسيق مع عدد قليل فقط من العقد الأخرى في النظام - والأكثر شيوعًا ، O (log n ) من المشاركين n (انظر أدناه) - بحيث لا يكون هناك سوى قدر محدود من العمل يجب القيام به لكل تغيير في العضوية.

تسعى بعض تصميمات DHT إلى أن تكون آمنة ضد المشاركين الخبثاء [11] والسماح للمشاركين بالبقاء مجهولين ، على الرغم من أن هذا أقل شيوعًا من العديد من أنظمة نظير إلى نظير (خاصة مشاركة الملفات ) ؛ انظر P2P مجهول .

أخيرًا ، يجب أن تتعامل DHTs مع مشكلات الأنظمة الموزعة التقليدية مثل موازنة الحمل وتكامل البيانات والأداء (على وجه الخصوص ، ضمان اكتمال العمليات مثل التوجيه وتخزين البيانات أو استرجاعها يتم بسرعة).

بنية[عدل]

يمكن أن يتحلل هيكل DHT إلى عدة مكونات رئيسية. [12] [13] الأساس عبارة عن مفتاح مجرد ، مثل مجموعة سلاسل 160 بت . يتم توزيع هذه المفاتيح على العقد المشاركة . تقوم شبكة التراكب بعد ذلك بتوصيل العقد ، مما يسمح لها بالعثور على مالك أي مفتاح معين في مساحة المفاتيح.

بمجرد وضع هذه المكونات في مكانها الصحيح ، يقوم نظام DHT بعمل التالي. لاضافة ملف باسم filename وبيانات data لتخزينهم في DHT ، يتم توليد تجزئة (hash) للملف ثم يتم توليد مفتاح 160-بت من هذه التجزئة k , ويتم ارسال رسالة put(k, data)بحيث تحتوي على المفتاح والبيانات الى اي قرين متصل بشبكة DHT . يتم إعادة توجيه الرسالة من عقدة إلى أخرى عبر شبكة التراكب حتى تصل إلى العقدة المفردة المسؤولة عن المفتاح k . ثم تخزن هذه العقدة المفتاح والبيانات. يمكن لأي عميل آخر بعد ذلك استرداد محتويات الملف عن طريق تجزئة filename الملف مرة أخرى لإنتاج k ومطالبة أي عقدة على DHT بالعثور على البيانات المرتبطة بـ k مع رسالة get(k) . سيتم توجيه الرسالة مرة أخرى من خلال الشبكة إلى العقدة المسؤولة عن k ، والتي سترد البيانات المخزنة.

يتم وصف مكونات الشبكة المتراكبة وتقسيم المفاتيح أدناه بهدف التقاط الأفكار الرئيسية الشائعة في معظم DHTs ؛ العديد من التصاميم تختلف في التفاصيل.

تقسيم المفاتيح[عدل]

تستخدم معظم DHTs بعض المتغيرات من التجزئة المتسقة أو تجزئة التقاء لتعيين المفاتيح للعقد. يبدو أن الخوارزميتين قد تم ابتكارهما بشكل مستقل وفي نفس الوقت لحل مشكلة جدول التجزئة الموزعة.

خوارزميات شبكات التراكب[عدل]

بصرف النظر عن التوجيه ، توجد العديد من الخوارزميات التي تستغل بنية شبكة التراكب لإرسال رسالة إلى جميع العقد ، أو مجموعة فرعية من العقد ، في DHT. [14] يتم استخدام هذه الخوارزميات من قبل التطبيقات للقيام بالبث المتعدد أو استعلامات النطاق أو لجمع الإحصائيات. يوجد نظامان يعتمدان على هذا النهج هما Structella ، [15] الذي ينفذ عمليات الإغراق والمشي العشوائي ، ونظام DQ-DHT ، الذي ينفذ خوارزمية بحث ديناميكية للاستعلام عبر شبكة الوتر. [16]

الامان[عدل]

بسبب اللامركزية ، وتحمل الخطأ ، وقابلية التوسع في DHTs ، فهي بطبيعتها أكثر مرونة ضد الهجمات اكثر من النظام المركزي.[مبهم]

الأنظمة المفتوحة لتخزين البيانات الموزعة والقوية ضد المهاجمين العدائيين أمر ممكن. [17]

أمثلة[عدل]

بروتوكولات DHT والتطبيقات[عدل]

التطبيقات التي تستخدم DHTs[عدل]

[[تصنيف:فهرسة دالاتية]] [[تصنيف:بنية الشبكة]] [[تصنيف:تشارك ملفات]]

  1. ^ Stoica، I.؛ Morris، R.؛ Karger، D.؛ Kaashoek، M. F.؛ Balakrishnan، H. (2001). "Chord: A scalable peer-to-peer lookup service for internet applications" (PDF). ACM SIGCOMM Computer Communication Review. ج. 31 ع. 4: 149. DOI:10.1145/964723.383071. A value can be an address, a document, or an arbitrary data item.
  2. ^ Liz, Crowcroft؛ وآخرون (2005). "A survey and comparison of peer-to-peer overlay network schemes" (PDF). IEEE Communications Surveys & Tutorials. ج. 7 ع. 2: 72–93. DOI:10.1109/COMST.2005.1610546.
  3. ^ Richter, Stevenson؛ وآخرون (2009). "Analysis of the impact of dynamic querying models on client-server relationships". Trends in Modern Computing: 682–701.
  4. ^ Searching in a Small World Chapters 1 & 2 (PDF)، اطلع عليه بتاريخ 2012-01-10
  5. ^ "Section 5.2.2" (PDF)، A Distributed Decentralized Information Storage and Retrieval System، اطلع عليه بتاريخ 2012-01-10
  6. ^ Ratnasamy؛ وآخرون (2001). "A Scalable Content-Addressable Network" (PDF). In Proceedings of ACM SIGCOMM 2001. اطلع عليه بتاريخ 2013-05-20.
  7. ^ 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.
  8. ^ David Cohen (1 أكتوبر 2002). "New P2P network funded by US government". New Scientist. اطلع عليه بتاريخ 2013-11-10.
  9. ^ "MIT, Berkeley, ICSI, NYU, and Rice Launch the IRIS Project". Press release. MIT. 25 سبتمبر 2002. مؤرشف من الأصل في 2015-09-26. اطلع عليه بتاريخ 2013-11-10.
  10. ^ R Mokadem, A Hameurlain and AM Tjoa. Resource discovery service while minimizing maintenance overhead in hierarchical DHT systems. Proc. iiWas, 2010
  11. ^ Guido Urdaneta, Guillaume Pierre and Maarten van Steen. A Survey of DHT Security Techniques. ACM Computing Surveys 43(2), January 2011.
  12. ^ Moni Naor and Udi Wieder. Novel Architectures for P2P Applications: the Continuous-Discrete Approach. Proc. SPAA, 2003.
  13. ^ Gurmeet Singh Manku. Dipsea: A Modular Distributed Hash Table نسخة محفوظة 2004-09-10 على موقع واي باك مشين.. Ph. D. Thesis (Stanford University), August 2004.
  14. ^ Ali Ghodsi (22 مايو 2007). "Distributed k-ary System: Algorithms for Distributed Hash Tables". مؤرشف من الأصل في 2007-01-04. {{استشهاد ويب}}: |archive-date= / |archive-url= timestamp mismatch (مساعدة). KTH-Royal Institute of Technology, 2006.
  15. ^ Castro، Miguel؛ Costa، Manuel؛ Rowstron، Antony (1 يناير 2004). "Should we build Gnutella on a structured overlay?" (PDF). ACM SIGCOMM Computer Communication Review. ج. 34 ع. 1: 131. DOI:10.1145/972374.972397.
  16. ^ Talia، Domenico؛ Trunfio، Paolo (ديسمبر 2010). "Enabling Dynamic Querying over Distributed Hash Tables". Journal of Parallel and Distributed Computing. ج. 70 ع. 12: 1254–1265. DOI:10.1016/j.jpdc.2010.08.012.
  17. ^ Baruch Awerbuch, Christian Scheideler. "Towards a scalable and robust DHT". 2006. دُوِي:10.1145/1148109.1148163
  18. ^ Tribler wiki نسخة محفوظة December 4, 2010, على موقع واي باك مشين. retrieved January 2010.