إصدار NNCP 8.8.0، أدوات مساعدة لنقل الملفات/الأوامر في وضع التخزين وإعادة التوجيه

إصدار Node-to-Node CoPy (NNCP)، وهي مجموعة من الأدوات المساعدة لنقل الملفات والبريد الإلكتروني والأوامر بشكل آمن للتنفيذ في وضع التخزين وإعادة التوجيه. يدعم التشغيل على أنظمة التشغيل المتوافقة مع POSIX. تتم كتابة الأدوات المساعدة بلغة Go ويتم توزيعها بموجب ترخيص GPLv3.

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

الفرق بين حلول NNCP وUUCP وFTN (شبكة تكنولوجيا FidoNet)، بالإضافة إلى التشفير والمصادقة المذكورين أعلاه، هو الدعم الجاهز لشبكات Floppinet وأجهزة الكمبيوتر المعزولة ماديًا (معزولة بالهواء) عن الشبكات المحلية وغير الآمنة. الشبكات العامة. يتميز NNCP أيضًا بسهولة التكامل (على قدم المساواة مع UUCP) مع خوادم البريد الحالية مثل Postfix وExim.

تشمل مجالات التطبيق المحتملة لـ NNCP تنظيم إرسال/استقبال البريد إلى الأجهزة دون اتصال دائم بالإنترنت، ونقل الملفات في ظروف اتصال شبكة غير مستقر، ونقل كميات كبيرة جدًا من البيانات بشكل آمن على الوسائط المادية، وإنشاء شبكات نقل بيانات معزولة ومحمية من هجمات MitM، متجاوزة رقابة الشبكة ومراقبتها. نظرًا لأن مفتاح فك التشفير موجود فقط في يد المستلم، بغض النظر عما إذا تم تسليم الحزمة عبر الشبكة أو من خلال الوسائط المادية، فلا يمكن لطرف ثالث قراءة المحتويات، حتى لو تم اعتراض الحزمة. وفي المقابل، لا تسمح مصادقة التوقيع الرقمي بإنشاء رسالة وهمية تحت ستار مرسل آخر.

ومن ابتكارات NNCP 8.8.0 مقارنة بالخبر السابق (الإصدار 5.0.0):

  • بدلاً من تجزئة BLAKE2b، يتم استخدام ما يسمى MTH: التجزئة المستندة إلى شجرة Merkle، والتي تستخدم تجزئة BLAKE3، للتحقق من سلامة الملفات. يتيح لك ذلك حساب سلامة الجزء المشفر من الحزمة مباشرة أثناء التنزيل، دون الحاجة إلى قراءتها في المستقبل. وهذا يسمح أيضًا بموازاة غير محدودة لعمليات التحقق من النزاهة.
  • يعد تنسيق الحزمة المشفرة الجديد مناسبًا تمامًا للبث عندما يكون حجم البيانات غير معروف مسبقًا. تنتقل إشارة اكتمال النقل، ذات الحجم المعتمد، مباشرة داخل الدفق المشفر. في السابق، لمعرفة حجم البيانات المنقولة، كان من الضروري حفظها في ملف مؤقت. لذلك فقد الأمر "nncp-exec" خيار "-use-tmp" لأنه غير ضروري على الإطلاق.
  • تم استبدال وظائف BLAKE2b KDF وXOF بـ BLAKE3 لتقليل عدد أساسيات التشفير المستخدمة وتبسيط التعليمات البرمجية.
  • أصبح من الممكن الآن اكتشاف العقد الأخرى على الشبكة المحلية من خلال البث المتعدد إلى العنوان "ff02::4e4e:4350".
  • ظهرت مجموعات البث المتعدد (مماثلة لمؤتمرات صدى FidoNet أو مجموعات أخبار Usenet)، مما يسمح لحزمة واحدة بإرسال البيانات إلى أعضاء مجموعة متعددين، حيث يقوم كل منهم أيضًا بترحيل الحزمة إلى بقية الموقعين. تتطلب قراءة حزمة البث المتعدد معرفة زوج المفاتيح (يجب أن تكون عضوًا في المجموعة بشكل صريح)، ولكن يمكن إجراء الترحيل بواسطة أي عقدة.
  • يوجد الآن دعم للتأكيد الصريح لاستلام الحزمة. لا يجوز للمرسل حذف الحزمة بعد الإرسال، بل ينتظر حتى يتلقى حزمة ACK خاصة من جهاز الاستقبال.
  • دعم مدمج لشبكة تراكب Yggdrasil: يمكن للبرامج الشيطانية عبر الإنترنت أن تعمل كمشاركين مستقلين بالكامل في الشبكة، دون استخدام تطبيقات Yggdrasil التابعة لجهات خارجية ودون العمل بشكل كامل مع مكدس IP على واجهة شبكة افتراضية.
  • بدلاً من السلاسل المنظمة (RFC 3339)، يستخدم السجل إدخالات ملف إعادة التسجيل، والتي يمكن استخدامها مع أدوات GNU Recutils المساعدة.
  • اختياريًا، يمكن تخزين رؤوس الحزم المشفرة في ملفات منفصلة في الدليل الفرعي "hdr/"، مما يؤدي إلى تسريع عمليات استرداد قائمة الحزم بشكل كبير على أنظمة الملفات ذات أحجام الكتل الكبيرة، مثل ZFS. في السابق، كان استرداد رأس الحزمة يتطلب قراءة كتلة بحجم 128 كيلو بايت فقط من القرص بشكل افتراضي.
  • يمكن التحقق من وجود ملفات جديدة بشكل اختياري باستخدام kqueue وinotify أنظمة kernel الفرعية، مما يؤدي إلى إجراء عدد أقل من مكالمات النظام.
  • تحتفظ الأدوات المساعدة بعدد أقل من الملفات المفتوحة وتغلقها وتعيد فتحها بشكل أقل. مع وجود عدد كبير من الحزم، كان من الممكن في السابق مواجهة قيود على الحد الأقصى لعدد الملفات المفتوحة.
  • بدأت العديد من الفرق في إظهار التقدم وسرعة العمليات مثل تنزيل/تحميل ونسخ ومعالجة (إرم) الحزم.
  • لا يمكن لأمر "nncp-file" إرسال ملفات فردية فحسب، بل أيضًا أدلة، مما يؤدي إلى إنشاء أرشيف pax بمحتوياته بسرعة.
  • يمكن للأدوات المساعدة عبر الإنترنت، اختياريًا، استدعاء رمي الحزم على الفور بعد تنزيل الحزمة بنجاح، دون تشغيل البرنامج الخفي "nncp-toss" المنفصل.
  • يمكن إجراء مكالمة عبر الإنترنت لمشارك آخر اختياريًا ليس فقط عند تشغيل المؤقت، ولكن أيضًا عند ظهور حزمة صادرة في دليل التخزين المؤقت.
  • يضمن إمكانية التشغيل ضمن نظامي التشغيل NetBSD وOpenBSD، بالإضافة إلى نظامي FreeBSD وGNU/Linux المدعومين مسبقًا.
  • "nncp-daemon" متوافق تمامًا مع واجهة UCSPI-TCP. إلى جانب القدرة على تسجيل الدخول إلى واصف ملف محدد (على سبيل المثال عن طريق إعداد "NNCPLOG=FD:4")، فهو سهل الاستخدام تمامًا للتشغيل ضمن أدوات مساعدة شبيهة بـ daemontools.
  • تم نقل تجميع المشروع بالكامل إلى نظام الإعادة.

المصدر: opennet.ru

إضافة تعليق