الاتصال المباشر (بروتوكول)

الاتصال المباشر ( DC ) هو بروتوكول لمشاركة الملفات بين الأجهزة . تتصل أجهزة عملاء الاتصال المباشر بمركز رئيسي ويمكنها تنزيل الملفات مباشرةً من بعضها البعض. ويمكن اعتبار الاتصال المباشر المتقدم بروتوكولاً لاحقاً.

تحتوي المراكز على قائمة بالعملاء أو المستخدمين المتصلين بها. يمكن للمستخدمين البحث عن الملفات وتنزيلها من عملاء آخرين، بالإضافة إلى الدردشة مع مستخدمين آخرين.

تاريخ

تأسست شركة NeoModus بتمويل من برنامج الإعلانات المتسللة "Direct Connect" بواسطة جون هيس في نوفمبر 1999 عندما كان في المدرسة الثانوية. [ 1 ]

كان أول عميل طرف ثالث يُسمى "DClite"، والذي لم يدعم بشكل كامل جوانب مشاركة الملفات في البروتوكول. أصدر هيس نسخة جديدة من Direct Connect، تتطلب مفتاح تشفير بسيطًا لبدء الاتصال، مما منع عملاء الطرف الثالث من الوصول. تم اختراق مفتاح التشفير، وأصدر مطور DClite نسخة جديدة متوافقة مع برنامج NeoModus الجديد. بعد فترة، أُعيدت كتابة DClite باسم Open Direct Connect بهدف توفير واجهة مستخدم MDI واستخدام إضافات لبروتوكولات مشاركة الملفات (على غرار MLDonkey ). لم يدعم Open Direct Connect أيضًا جميع جوانب مشاركة الملفات في البروتوكول بشكل كامل، ولكن تم توفير ذلك في نسخة Java . لاحقًا، اكتسبت عملاء أخرى مثل DCTC (عميل Direct Connect النصي) و DC++ شعبية واسعة.

يحتوي أرشيف DCDev [ 2 ] على مناقشات حول تغييرات البروتوكول لتطوير DC في السنوات 2003-2005.

بروتوكول

بروتوكول الاتصال المباشر هو بروتوكول حاسوبي نصي، حيث تُرسل الأوامر ومعلوماتها كنص عادي دون تشفير في برنامج NeoModus الأصلي ( يتوفر التشفير كإضافة للبروتوكول). تتصل الأجهزة العميلة بخادم مركزي يعمل كمركز اتصال. يوفر هذا المركز إمكانية اكتشاف المحتوى، ويتيح للأجهزة العميلة إنشاء اتصالات مباشرة فيما بينها لنقل المحتوى. ولأن هذا المركز المركزي يتعامل فقط مع البيانات الوصفية، فإنه لا يتطلب نفس عرض النطاق الترددي الذي يتطلبه لو كان يقدم المحتوى نفسه؛ وتشير التقديرات إلى أن التعامل مع 1000 مستخدم يتطلب حوالي 2.5 ميجابت/ثانية من عرض النطاق الترددي. [ 3 ]

لا توجد مواصفات رسمية للبروتوكول، مما يعني أن كل عميل وموزع (باستثناء عميل وموزع NeoModus الأصليين) اضطروا إلى إجراء هندسة عكسية للمعلومات. ولذلك، فإن أي مواصفات بروتوكول قد تشير إليها هذه المقالة من المحتمل أن تكون غير دقيقة و/أو غير مكتملة. [ 4 ]

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

يفتقر البروتوكول إلى ترميز أحرف افتراضي محدد للعملاء أو الموزعات. يستخدم العميل والموزع الأصليان ترميز ASCII بدلاً من ترميز نظام التشغيل . وهذا يسمح بالانتقال إلى ترميز UTF-8 في البرامج الأحدث.

المنفذ 411 هو المنفذ الافتراضي للموزعات، والمنفذ 412 للاتصالات بين الأجهزة. إذا كان أي من هذين المنفذين قيد الاستخدام، يتم زيادة رقم المنفذ حتى يتم العثور على رقم منفذ متاح. على سبيل المثال، إذا كانت المنافذ 411 و412 و413 قيد الاستخدام، فسيتم استخدام المنفذ 414.

عناوين المحور تكون بالشكل التالي: dchub://example.com[:411]، حيث 411 هو منفذ اختياري.

لا يوجد نظام تعريف عالمي؛ بدلاً من ذلك، يتم تعريف المستخدمين من خلال ألقابهم على أساس مركز إلى مركز.

لا يمكن ربط طلب وارد لاتصال بين عميلين باتصال فعلي. [ 5 ]

لا يمكن ربط نتيجة البحث بعملية بحث محددة. [ 6 ]

يدعم البروتوكول إمكانية طرد المستخدم أو نقله (إعادة توجيهه) إلى مركز آخر. في حال طرد المستخدم، لا يُلزم المركز بإبلاغه بسبب محدد، ولا توجد قيود على وجهة إعادة توجيهه. مع ذلك، إذا أصدر عميل آخر ذو صلاحيات واسعة تعليمات للمركز بالطرد، يجوز لهذا العميل إرسال إشعار قبل التنفيذ. يجب أن يكون لإعادة توجيه المستخدم سبب. لا يوجد ما يُعادل مُحيل HTTP .

قد تُرسل مراكز البيانات أوامر المستخدم إلى العملاء. هذه الأوامر هي أوامر بروتوكولية خام، وتُستخدم في الغالب لتسهيل مهمة معينة. على سبيل المثال، لا يستطيع مركز البيانات إرسال أمر مستخدم يُفعّل المتصفح الافتراضي لزيارة موقع ويب. مع ذلك، يُمكنه إضافة الأمر "+rules" (حيث يُشير "+" إلى مركز البيانات بأنه أمر - وقد يختلف هذا) لعرض قواعد مركز البيانات.

يعتمد جزء الند للند من البروتوكول على مفهوم "الفتحات" (على غرار عدد الوظائف الشاغرة). تشير هذه الفتحات إلى عدد الأشخاص المسموح لهم بالتنزيل من مستخدم معين في أي وقت، ويتحكم بها العميل.

في الاتصالات بين العملاء، يقوم الطرفان بإنشاء رقم عشوائي لمعرفة من يجب السماح له بالتنزيل أولاً، ويفوز العميل الذي لديه الرقم الأكبر.

يتطلب نقل التنزيلات والاتصال بالمركز بروتوكول TCP ، بينما تستخدم عمليات البحث النشطة بروتوكول UDP .

يوجد نوعان من أوضاع المستخدم: الوضع "النشط" والوضع "السلبي". يمكن للمستخدمين في الوضع النشط التنزيل من أي مستخدم آخر على الشبكة، بينما لا يمكن للمستخدمين في الوضع السلبي التنزيل إلا من المستخدمين النشطين. في NeoModus Direct Connect، يتلقى المستخدمون في الوضع السلبي نتائج بحث المستخدمين السلبيين الآخرين، ولكن لا يمكنهم تنزيل أي شيء. أما في DC++ ، فلا يتلقى المستخدمون نتائج البحث هذه. في NeoModus Direct Connect، يتم إرسال خمس نتائج بحث كحد أقصى لكل استعلام إلى جميع المستخدمين. إذا أجرى المستخدم بحثًا، فسيرد DC++ بعشر نتائج بحث عندما يكون المستخدم في الوضع النشط، وخمس نتائج عندما يكون في الوضع السلبي. تُرسل نتائج البحث إلى العملاء السلبيين عبر الموزع، بينما يتلقاها العملاء النشطون مباشرةً.

تُستخدم علامات "$" و"|" و U+0020 مسافة كفواصل  في البروتوكول . يحتوي البروتوكول على تسلسل هروب لهذه العلامات (وغيرها)، وتستخدمها معظم البرامج بشكل صحيح في تسلسل تسجيل الدخول (قفل إلى مفتاح). لسبب ما، تجاهل مطورو DC++ تسلسل الهروب هذا ، ويستخدمون ما يعادله في لغة HTML لعرض هذه الأحرف للمستخدم.

لا يزال هناك اهتمام مستمر بميزات مثل التصنيفات وحزم اللغات. كما اقترح مطورو DC++ استبدالًا كاملًا لبروتوكول الاتصال المباشر يُسمى ADC، أو بشكل غير رسمي، الاتصال المباشر المتقدم. يستخدم ADC نفس بنية الشبكة والمفاهيم والمصطلحات المستخدمة في البروتوكول الأصلي. [ 7 ]

من الأمثلة على الميزات المضافة إلى البروتوكول، مقارنةً بالبروتوكول الأصلي، بثّ تجزئة شجرة النمر للملفات المشتركة (TTH). تشمل مزايا هذه الميزة التحقق من تنزيل الملف بشكل صحيح، والقدرة على البحث عن الملفات بغض النظر عن أسمائها.

يُستخدم الاتصال المباشر في هجمات DDoS

بما أن البروتوكول يسمح للمراكز بإعادة توجيه المستخدمين إلى مراكز أخرى ، فقد قامت مراكز خبيثة بإعادة توجيه المستخدمين إلى مواقع أخرى غير مراكز الاتصال المباشر الحقيقية، مما تسبب فعليًا في هجوم حجب الخدمة الموزع . وقد تقوم هذه المراكز بتغيير عنوان IP في اتصالات العملاء، مما يشير إلى ضحية محتملة. [ 8 ] [ 9 ] [ 10 ]

ظهرت ثغرة CTM في الفترة ما بين عامي 2006 و2007، حيث تعرضت شبكة Direct Connect بأكملها لهجمات DDoS خلال تلك الفترة. [ 11 ] [ 12 ] وقد دفع هذا الوضع المطورين إلى أخذ قضايا الأمن على محمل الجد. [ 13 ]

اعتبارًا من فبراير 2009، [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 12 ] تم اقتراح امتداد للعملاء من أجل أن يتمكن الطرف المهاجم من معرفة المحور الذي يرسل المستخدمين المتصلين.

مؤسسة شبكة الاتصال المباشر

مؤسسة شبكة الاتصال المباشر (DCNF) هي منظمة غير ربحية مسجلة في السويد تهدف إلى تحسين شبكة الاتصال المباشر من خلال تحسين البرامج والبروتوكولات والخدمات الأخرى في الشبكة. [ 18 ]

المقالات والأوراق البحثية

تحتفظ DCNF بقائمة من المقالات والأوراق والمزيد من الوثائق المتعلقة بـ DC. [ 19 ]

انظر أيضاً

مراجع

  1. أنالي نيويتز (يوليو 2001). "مشاركة البيانات" . مترو، صحيفة وادي السيليكون الأسبوعية . شركة مترو للنشر. مؤرشف من الأصل في 21 يناير 2021. تم الاطلاع عليه في 16 أكتوبر 2006 .
  2. أرشيف DCDev، مؤرشف بتاريخ 20 ديسمبر 2016 على موقع Wayback Machine
  3. فريدريك أولنر (أبريل 2007). "تقديرات الأوامر وعرض النطاق الترددي في NMDC" . DC++: Just These Guys, Ya Know?. مؤرشف من الأصل بتاريخ 16 أكتوبر 2007. تم الاطلاع عليه بتاريخ 27 يوليو 2007 .
  4. "بروتوكول NMDC" . Nmdc.sourceforge.net . مؤرشف من الأصل بتاريخ 10 فبراير 2017. تم الاطلاع عليه بتاريخ 4 ديسمبر 2016 .
  5. "رموز CTM في ADC (أو لماذا بروتوكول NMDC سيء، الجزء 2)" . DC++: فقط هؤلاء الرجال، هل تعلم؟ أغسطس 2007. مؤرشف من الأصل في 15 أكتوبر 2007. تم الاسترجاع في 7 أكتوبر 2007 .
  6. تود بيدرزاني (يونيو 2006). "إعادة صياغة الترشيح" . DC++: هؤلاء الرجال فقط، كما تعلمون؟. مؤرشف من الأصل في 15 أكتوبر 2007. تم الاطلاع عليه في 31 أغسطس 2007 .
  7. جاك سيكا وفريدريك أولنر (يناير 2019). "بروتوكول ADC" . DCNF. مؤرشف من الأصل في 1 ديسمبر 2020. تم الاطلاع عليه في 21 ديسمبر 2020 .
  8. بول سوب (مايو 2007). "تنبيه بشأن هجوم حجب الخدمة الموزع من شركة بروليكسيك" . شركة بروليكسيك تكنولوجيز . مؤرشف من الأصل بتاريخ 3 أغسطس 2007. تم الاطلاع عليه بتاريخ 22 أغسطس 2007 .
  9. روبرت ليموس (مايو 2007). "استغلال شبكات الند للند في هجمات حجب الخدمة" . سكيورتي فوكس. مؤرشف من الأصل بتاريخ 24 سبتمبر 2015. تم الاطلاع عليه بتاريخ 22 أغسطس 2007 .
  10. فريدريك أولنر (مايو 2007). "صدّ الهجمات الموزعة" . DC++: هؤلاء الرجال فقط، كما تعلمون؟. مؤرشف من الأصل بتاريخ 15 مارس 2016. تم الاطلاع عليه بتاريخ 22 أغسطس 2007 .
  11. أولنر، فريدريك (17 يناير 2008). "التغطية الصحفية لاستخدام DC كأداة لهجمات DDoS" . DC++: هؤلاء الأشخاص فقط، كما تعلمون؟ مؤرشف من الأصل بتاريخ 23 سبتمبر 2016. تم الاطلاع عليه بتاريخ 19 مايو 2017 .
  12. 1 2 فريدريك أولنر (20 يوليو 2011). "رد مفقود منذ زمن طويل بخصوص استخدام DC كأداة لهجمات DDoS" . DC++: هؤلاء الأشخاص فقط، كما تعلمون؟ مؤرشف من الأصل في 8 سبتمبر 2011. تم الاطلاع عليه في 20 يوليو 2011 .
  13. فورتونا، أدريان (يوليو 2008). "DC++ وهجمات DDoS" (ملف PDF) . مؤرشف (PDF) من الأصل بتاريخ 9 نوفمبر 2016. تم الاطلاع عليه بتاريخ 19 مايو 2017 .
  14. جان فيدار كري (فبراير 2009). "امتداد الإحالة" . صفحة DC++ Launchpad. مؤرشف من الأصل بتاريخ 12 أغسطس 2011. تم الاطلاع عليه بتاريخ 11 فبراير 2009 .
  15. جان فيدار كري (فبراير 2009). "إضافة الإحالة على ويكي ADCPortal" . ADCPortal.com . تم الاطلاع عليه بتاريخ 11 فبراير 2009 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  16. يوجين هريستيف (فبراير 2009). "دي سي++ تُشير إلى الخلل" . دي سي++: هؤلاء الرجال فقط، كما تعلمون؟. مؤرشف من الأصل في 9 مارس 2009. تم الاطلاع عليه في 11 فبراير 2009 .
  17. توست (يناير 2009). "مراجعة CTM وأخطاء الماضي" . ADCPortal. مؤرشف من الأصل بتاريخ 7 يوليو 2011. تم الاطلاع عليه بتاريخ 27 يناير 2009 .
  18. "مؤسسة شبكة الاتصال المباشر - DCNF" . مؤرشف من الأصل بتاريخ 25 يناير 2016. تم الاطلاع عليه بتاريخ 7 يناير 2016 .
  19. مؤسسة شبكة الاتصال المباشر: وثائق وموارد مؤرشفة بتاريخ 20 ديسمبر 2016 على موقع Wayback Machine