
Reticulum هي مكدس الشبكات القائم على التشفير لبناء شبكات محلية وعريضة للمناطق مع أجهزة متاحة بسهولة. يمكن أن تعمل حتى مع زمن الوصول العالي للغاية وعرض النطاق الترددي المنخفض للغاية. يتيح لك Reticulum بناء شبكات على نطاق واسع مع أدوات خارج الجهة ، ويوفر تشفيرًا واتصالًا من طرف إلى طرف ، وإخفاء هوية البادئ ، وتكوين تلقائي مدعوم من النقل متعدد القوانين ، ومعالجة فعالة ، وإقرارات غير قابلة للتسليم وأكثر من ذلك.
تتمثل رؤية الشبكة في السماح لأي شخص أن يكون مشغل الشبكة الخاص به ، وجعلها رخيصة وسهلة تغطية مناطق شاسعة مع عدد لا يحصى من الشبكات المستقلة والمستقلة والمستقلة. الشبكة ليست شبكة واحدة . إنها أداة لبناء الآلاف من الشبكات . الشبكات دون تقتلات القتل والمراقبة والرقابة والسيطرة. الشبكات التي يمكن أن تتداخل بحرية وربط وتفتت مع بعضها البعض ، ولا تتطلب أي إشراف مركزي. شبكات للبشر. شبكات للناس .
Reticulum عبارة عن مكدس شبكات كامل ، ولا يعتمد على IP أو طبقات أعلى ، ولكن من الممكن استخدام IP كحامل أساسي لشبكة الشبكة. لذلك من التافهة أن نفق الشبكة عبر الإنترنت أو شبكات IP الخاصة.
لا يوجد أي تبعيات على مداخن الشبكات التقليدية تحرر النفقات العامة التي تم استخدامها لتنفيذ مكدس الشبكات المبني مباشرة على مبادئ التشفير ، مما يسمح بالمرونة والوظائف المستقرة ، حتى في الشبكات المفتوحة وغير الموثوقة.
لا توجد وحدات أو برامج تشغيل kernel مطلوبة. يعمل Reticulum بالكامل في Userland ، ويمكن أن يعمل على أي نظام يقوم بتشغيل Python 3 عمليًا.
الوثائق الكاملة لشبكة الشبكة متوفرة في markqvist.github.io/reticulum/manual/.
يمكنك أيضًا تنزيل دليل الشبكة كـ PDF أو ككتاب إلكتروني بتنسيق EPUB.
لمزيد من المعلومات ، راجع Reticulum.network وقسم الأسئلة الشائعة في الويكي.
على الرغم من أن الشبكة هي بالفعل مكدس شبكات مميز بشكل كامل وعملي ، إلا أن العديد من التحسينات والإضافات قيد العمل بنشاط ، ومخطط لها للمستقبل.
لمعرفة المزيد حول اتجاه ومستقبل الشبكة ، يرجى الاطلاع على خريطة طريق التطوير.
إذا كنت ترغب في الحصول على فكرة بسرعة عما يمكن أن يفعله الشبكة ، ألق نظرة على الموارد التالية.
على أي وسيط يمكن أن يدعم قناة نصف ثنائية على الأقل مع إنتاجية أكبر من 5 بتات في الثانية ، و MTU من 500 بايت. إن أجهزة الراديو والمودم وأجهزة الراديو Lora والخطوط التسلسلية و AX.25 TNCs والأوضاع الرقمية لراديو الهواة وأجهزة WiFi و Ethernet والروابط البصرية للمساحة الحرة والأنظمة المماثلة كلها أمثلة على أنواع الأجهزة المادية التي يمكن أن تستخدمها الشبكة.
تم تصميم واجهة مفتوحة المصدر قائمة على LORA تسمى RNODE خصيصًا للاستخدام مع الشبكة. من الممكن أن تبني نفسك ، أو يمكن شراؤها كجهاز جهاز الإرسال والاستقبال الكامل الذي يحتاج فقط إلى اتصال USB بالمضيف.
يمكن أيضًا تغليف Reticulum على شبكات IP الموجودة ، لذلك لا يوجد شيء يمنعك من استخدامه عبر Ethernet السلكي أو شبكة WiFi المحلية أو الإنترنت ، حيث ستعمل أيضًا. في الواقع ، تتمثل إحدى نقاط القوة في الشبكة في مدى سهولة توصيل وسائل مختلفة في شبكة تكوين ذاتي ومرنة ومشفر ، باستخدام أي مزيج متاح من البنية التحتية المتاحة.
على سبيل المثال ، من الممكن إعداد Raspberry Pi متصل بكل من راديو Lora و Radio TNC وشبكة WiFi. بمجرد تكوين الواجهات ، سيعتني الشبكة بالباقي ، ويمكن لأي جهاز على شبكة WiFi التواصل مع العقد على جوانب راديو Lora و Packet على الشبكة ، والعكس صحيح.
تعتمد أفضل طريقة للبدء في مكدس شبكة الشبكة على ما تريد القيام به. للحصول على التفاصيل والأمثلة الكاملة ، ألق نظرة على القسم السريع للبدء في دليل الشبكة.
لتثبيت الشبكة والمرافق ذات الصلة على نظامك ، فإن أسهل طريقة هي عبر pip . يمكنك بعد ذلك بدء أي برنامج يستخدم الشبكة ، أو بدء الشبكة كخدمة نظام مع الأداة المساعدة RNSD.
pip install rns إذا كنت تستخدم نظام تشغيل يحظر تثبيت حزمة المستخدم العادية عبر pip ، فيمكنك إرجاع pip إلى السلوك العادي عن طريق تحرير ملف ~/.config/pip/pip.conf ، وإضافة التوجيه التالي في القسم [global] :
[global]
break-system-packages = true
بدلاً من ذلك ، يمكنك استخدام أداة pipx لتثبيت الشبكة في بيئة معزولة:
pipx install rnsعند بدء تشغيله لأول مرة ، سيقوم Reticulum بإنشاء ملف تكوين افتراضي ، مما يوفر اتصالًا أساسيًا لأقران الشبكة الآخرين الذين قد يكونون محليًا. يحتوي ملف التكوين الافتراضي على بعض الأمثلة ، والمراجع لإنشاء تكوين أكثر تعقيدًا.
إذا كان لديك إصدار قديم من pip على نظامك ، فقد تحتاج إلى ترقيته أولاً باستخدام pip install pip --upgrade . إذا لم يكن لديك تثبيت pip بالفعل ، فيمكنك تثبيته باستخدام Manager Package لنظامك مع sudo apt install python3-pip أو ما شابه.
للحصول على أمثلة أكثر تفصيلاً حول كيفية توسيع الاتصالات على العديد من الوسائط مثل راديو الحزم أو المنافذ التسلسلية ، أو على روابط IP السريعة والإنترنت باستخدام واجهات UDP و TCP ، ألقِ نظرة على قسم الواجهات المدعومة في دليل الشبكة.
يتضمن Reticulum مجموعة من الأدوات المساعدة المفيدة لإدارة شبكاتك وحالة العرض والمعلومات والمهام الأخرى. يمكنك قراءة المزيد حول هذه البرامج في قسم برامج المرافق المضمنة في دليل الشبكة.
rnsd لتشغيل الشبكة كخدمة متاحة دائمًاrnstatus ، والتي تعرض معلومات حول الواجهاتrnpath تتيح لك عرض جداول المسار وتعديلهاrnprobe للتحقق من الاتصال بالوجهاتrncp مما يجعل من السهل نقل الملفات بين الأنظمةrnid دعنا ندير الهويات وتشفير/فك تشفير الملفاتrnx دعنا ندير الأوامر والبرامج واسترداد الإخراج من الأنظمة البعيدة جميع الأدوات ، بما في ذلك rnx و rncp ، تعمل بشكل موثوق وبشكل جيد حتى على روابط النطاق الترددي المنخفض للغاية مثل Lora أو Packet Radio. بالنسبة للقذائف البعيدة ذات الميزة الكاملة على الشبكة ، يمكنك أيضًا إلقاء نظرة على برنامج RNSH.
ينفذ الشبكة مجموعة من أنواع الواجهة المعممة التي تغطي معظم أجهزة الاتصالات التي يمكن أن تنتهي الشبكة. إذا لم يتم دعم الأجهزة الخاصة بك ، فمن السهل تنفيذ وحدة واجهة مخصصة.
يتم قبول طلبات السحب للواجهات المخصصة بامتنان ، شريطة أن تكون مفيدة بشكل عام ومختبر بشكل جيد في الاستخدام في العالم الحقيقي.
حاليًا ، يتم دعم الواجهات المدمجة التالية:
يستهدف Reticulum مظروفًا واسعًا للغاية للاستخدام ، ولكنه يعرض الأولوية للأداء والأداء على الوسائط المنخفضة النطاق الترددي. الهدف من ذلك هو توفير مظروف أداء ديناميكي من 250 بت في الثانية ، إلى 1 جيجابت في الثانية على الأجهزة العادية.
حاليًا ، يبلغ مظروف الأداء القابل للاستخدام حوالي 150 بت في الثانية إلى 40 ميغابت في الثانية ، مع الوسائط المادية أسرع من عدم تشبعها. الأداء الذي يتجاوز المستوى الحالي مخصص للترقيات المستقبلية ، ولكن لم يتم تحديد أولوياته بشكل كبير في هذه المرحلة الزمنية.
ينبغي حاليًا اعتبار الشبكية برنامج تجريبي. يتم تنفيذ جميع ميزات البروتوكول الأساسي وتعمل ، ولكن من المحتمل أن تحدث الإضافات عند استكشاف استخدام العالم الحقيقي. سيكون هناك حشرات. يمكن اعتبار واجهة برمجة التطبيقات (API) وتنسيق الأسلاك مستقرة نسبيًا في الوقت الحالي ، ولكن يمكن أن تتغير إذا كان هناك ما يبرر.
يتطلب تثبيت حزمة rns الافتراضية التبعيات المذكورة أدناه. تحتوي جميع الأنظمة والتوزيعات تقريبًا على حزم هذه التبعيات تقريبًا ، وعندما يتم تثبيت حزمة rns باستخدام pip ، سيتم تنزيلها وتثبيتها أيضًا.
في الأنظمة غير المعتادة ، وفي بعض الحالات النادرة ، قد لا يكون من الممكن تثبيت أو حتى تجميع واحد أو أكثر من الوحدات المذكورة أعلاه. في مثل هذه الحالات ، يمكنك استخدام حزمة rnspure بدلاً من ذلك ، والتي لا تتطلب أي تبعيات خارجية للتثبيت. يرجى ملاحظة أن محتويات حزم rns و rnspure متطابقة . الفرق الوحيد هو أن حزمة rnspure لا تسرد أي تبعيات مطلوبة للتثبيت.
بغض النظر عن كيفية تثبيت الشبكة وبدء تشغيله ، فإنه لن يحمل تبعيات خارجية إلا إذا كانت هناك حاجة ومتاحة . على سبيل المثال ، إذا كنت ترغب في استخدام الشبكة على نظام لا يمكن أن يدعم Pyserial ، فمن الممكن تمامًا القيام بذلك باستخدام حزمة rnspure ، ولكن لن يتمكن الشبكة من استخدام واجهات متسلسلة. سيتم تحميل جميع الوحدات الأخرى المتاحة عند الحاجة.
يرجى الملاحظة! إذا كنت تستخدم حزمة rnspure لتشغيل الشبكة على الأنظمة التي لا تدعم PYCA/Cryptography ، فمن المهم أن تقرأ وفهم قسم Primitives التشفير في هذا المستند.
إذا كنت ترغب فقط في البدء في التجربة دون بناء أي شبكات مادية ، فنحن نرحب بك للانضمام إلى RNS Development Testnet.
testnet هو مجرد شبكة غير رسمية للاختبار والتجربة. سيكون الأمر أكثر من الوقت ، ويمكن لأي شخص الانضمام ، ولكن هذا يعني أيضًا أنه لا توجد ضمانات لتوافر الخدمة.
من المحتمل أن يكون من المثير للقلق ، ولكن لا تستخدم نقاط دخول testnet كواجهات متشددين أو افتراضية في أي تطبيقات تشحنها إلى المستخدمين . عند شحن التطبيقات ، تتمثل أفضل الممارسات في توفير حلول الاتصال الافتراضية الخاصة بك ، إذا لزم الأمر وقابلة للتطبيق ، أو في معظم الحالات ، ببساطة تركها للمستخدم الذي يشترط الاتصال به ، وكيف.
يقوم Testnet بتشغيل أحدث إصدار من Reticulum (غالبًا ما يكون قصيرًا قبل إصداره علنًا). في بعض الأحيان ، قد يتم نشر الإصدارات التجريبية من الشبكة على العقد على testnet ، مما يعني أن السلوك الغريب قد يحدث. إذا لم يخيفك أي من هذا ، فيمكنك الانضمام إلى TestNet عبر TCP أو I2P. فقط أضف أحد الواجهات التالية إلى ملف تكوين الشبكة:
# TCP/IP interface to the RNS Amsterdam Hub
[[RNS Testnet Amsterdam]]
type = TCPClientInterface
enabled = yes
target_host = amsterdam.connect.reticulum.network
target_port = 4965
# TCP/IP interface to the BetweenTheBorders Hub (community-provided)
[[RNS Testnet BetweenTheBorders]]
type = TCPClientInterface
enabled = yes
target_host = reticulum.betweentheborders.com
target_port = 4242
# Interface to Testnet I2P Hub
[[RNS Testnet I2P Hub]]
type = I2PInterface
enabled = yes
peers = g3br23bvx3lq5uddcsjii74xgmn6y5q325ovrkq2zw2wbzbqgbuq.b32.i2p
يحتوي TestNet أيضًا على عدد من العقد الشبكة البدوية ، وعقد انتشار LXMF.
يمكنك المساعدة في دعم التطوير المستمر لأنظمة الاتصالات المفتوحة والمجانية والخاصة من خلال التبرع عبر إحدى القنوات التالية:
84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
0xFDabC71AC4c0C78C95aDDDe3B4FA19d6273c5E73
35G9uWVzrpJJibzUwpNUQGQNFzLirhrYAH
هل بعض الميزات في خريطة طريق التطوير مهمة لك أو لمؤسستك؟ اجعلهم حقيقة سريعة من خلال رعاية تنفيذها.
يستخدم Reticulum مجموعة بسيطة من بدايات التشفير الفعالة والقوية والمختبرة جيدًا ، مع تطبيقات متاحة على نطاق واسع يمكن استخدامها على كل من وحدات المعالجة المركزية للأغراض العامة وعلى موكئيات Microcontrollers. البدائية المستخدمة هي:
في تكوين التثبيت الافتراضي ، يتم توفير بدائل X25519 و Ed25519 و AES-128-CBC بواسطة OpenSSL (عبر حزمة PYCA/Cryptography). يتم توفير وظائف التجزئة SHA-256 و SHA-512 بواسطة هاشيل بيثون القياسي. يتم دائمًا توفير HKDF و HMAC و Token Primitives ووظيفة PKCS7 دائمًا من خلال التطبيقات الداخلية التالية:
يتضمن الشبكة أيضًا تنفيذًا كاملاً لجميع البدائية اللازمة في Python النقي. إذا لم تكن Openssl & Pyca متوفرة على النظام عند بدء تشغيل الشبكة ، فستستخدم Reticulum بدلًا من البدائيات الداخلية النقية. النتيجة التافهة لهذا هو الأداء ، مع وجود الواجهة الخلفية OpenSSL أسرع بكثير . ومع ذلك ، فإن النتيجة الأكثر أهمية هي الخسارة المحتملة للأمان باستخدام البدائية التي لم تشهد نفس القدر من التدقيق والاختبار والمراجعة مثل تلك الموجودة في OpenSSL.
إذا كنت ترغب في استخدام أولي بايثون النقية الداخلية ، فمن المستحسن أن يكون لديك فهم جيد للمخاطر التي يطرحها هذا ، واتخاذ قرار مستنير بشأن ما إذا كانت هذه المخاطر مقبولة لك.
الشبكة هي برنامج شاب نسبيًا ، ويجب اعتباره على هذا النحو. على الرغم من أنه تم بناؤه مع مراعاة أفضل حالات التشفير في كل شيء في الاعتبار ، إلا أنه لم يتم مراجعته من الخارج ، وقد يكون هناك خلايا أو خشرات أمنية. إذا كنت ترغب في المساعدة ، أو تساعد في رعاية التدقيق ، فيرجى الاتصال.
لا يمكن أن توجد شبكية إلا بسبب جبل العمل مفتوح المصدر الذي تم بناؤه فوقه ، ومساهمات جميع المعنيين ، وكل من دعم المشروع على مر السنين. لكل من ساعد ، شكرا جزيلا لك.
هناك عدد من الوحدات والمشاريع الأخرى إما جزء من الشبكة أو استخدامها. خالص الشكر للمؤلفين والمساهمين في المشاريع التالية: