شبكة عُقدة

التنفيذ
// نظرة عامة

شبكة عُقدة العامة هي شبكة overlay تجريبية تعمل على بروتوكول توجيه عُقدة.

جميع عقد الشبكة هي موجهات برمجية في مساحة المستخدم تعمل تحت عملية واحدة. يوفر الموجه بشكل اختياري محول TUN افتراضي لنظام التشغيل المضيف الذي يسمح بإرسال واستقبال حركة مرور IPv6 عبر شبكة عُقدة. يتم إنشاء اتصالات النظير بين هذه العقد عبر الشبكات المحلية أو الروابط من نقطة إلى نقطة أو الإنترنت باستخدام اتصالات TCP/TLS بشكل رئيسي.

// كيف يتم تأمين عُقدة؟

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

من الممكن لأي شخص الانضمام إلى شبكة عُقدة العامة ويجب اعتبارها شبكة غير موثوقة، مشابهة لشبكة Wi-Fi عامة أو اتصال إنترنت مباشر. يوصى بشدة بجدار حماية قادر على IPv6 يحظر حركة المرور الواردة غير المتوقعة لمنع الخدمات على جهازك من التعرض عن طريق الخطأ لجميع مستخدمي شبكة عُقدة.

// كيف تتصل العقد ببعضها؟

تؤسس عقد الشبكة اتصالات إما بإحدى طريقتين:

  1. يدوياً من قبل المستخدم. يمكن إعداد أي عقدة لقبول اتصالات النظير ويمكنها إنشاء اتصالات صادرة لعقد أخرى مستمعة. يشار إليها باسم "اتصالات النظير الثابتة" في أنها موجودة في ملف الإعداد ولا تتغير عادة أثناء التشغيل.
  2. اكتشاف multicast محلي الرابط. يمكن للعقد أن تعلن بشكل اختياري عن وجودها على الشبكة المحلية لعقد أخرى مستمعة، والتي ستحاول بعد ذلك إنشاء اتصالات تلقائياً. في معظم الحالات، يسمح هذا لأي عقدتين متصلتين معاً برابط IP باكتشاف بعضهما البعض تلقائياً وإنشاء اتصال نظير بطريقة "plug and play".

من المهم ملاحظة أن عقد عُقدة لا تؤسس أبداً اتصالات جديدة مع عقد بعيدة (أي غير المكتشفة عبر multicast) تلقائياً. عُقدة لا تحتوي عمداً على مفهوم تبادل النظير، كما هو موجود غالباً في تصميمات overlay وDHT الأخرى.

// كيف يتم تحديد العقد؟

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

// ماذا تفعل عُقدة بشكل مختلف؟

تأخذ عُقدة نهجاً مختلفاً جداً لمشاركة معرفة التوجيه. بدلاً من توزيع نطاقات العناوين كمسارات عبر أنظمة مستقلة معينة مركزياً، تبني عُقدة بدلاً من ذلك طوبولوجيا شبكة عالمية موزعة واحدة.

يتم استخدام شجرة الامتداد لتوفير المزامنة والسماح للعقد بتخصيص مجموعة من إحداثيات الشجرة لأنفسها، والتي تُستخدم لتبادل وإنشاء رسائل bootstrap وإعداد المسار. ثم تتبادل العقد مرشحات bloom التي تحتوي على معلومات حول أي جيران keyspace يمكن الوصول إليهم من خلال كل عقدة. ثم تملأ العقد الوسيطة جداول التوجيه الخاصة بها بهذه المسارات، مما يتيح للعقد توجيه الحزم أقرب إلى المفتاح العام للوجهة.

// ما هي الفوائد؟
// التفاصيل التقنية

للحصول على وثائق تقنية كاملة، راجع الوثائق التقنية أو الورقة التقنية.