نظرة عامة
هذه الاقتراح يتعلق بتنفيذ أنفاق ثنائية الاتجاه في I2P.
الدافع
i2pd سوف تقدم أنفاق ثنائية الاتجاه من خلال مسيرات i2pd الأخرى فقط في الوقت الراهن. بالنسبة للشبكة، ستظهر كأنفاق واردة وصادرة عادية.
التصميم
أهداف
- تقليل استخدام الشبكة ووحدة المعالجة المركزية عن طريق تقليل عدد رسائل بناء النفق
- القدرة على معرفة فورًا إذا كان المشارك قد انقطع
- إنشاء ملفات تعريف وإحصاءات أكثر دقة
- استخدام شبكات مظلمة أخرى كوسطاء
تعديلات النفق
بناء النفق
تبنى الأنفاق بطريقة مماثلة للأنفاق الواردة. لا تتطلب رسالة رد. هناك نوع خاص من المشاركين يسمى "المدخل" محدد بعلم، يعمل كمدخل نفق وارد ومخرج نفق صادر في نفس الوقت. الرسالة تحمل نفس تنسيق VaribaleTunnelBuild لكن ClearText تحتوي على حقول مختلفة::
in_tunnel_id
out_tunnel_id
in_next_tunnel_id
out_next_tunnel_id
in_next_ident
out_next_ident
layer_key, iv_key
سوف تحتوي أيضًا على حقل يذكر إلى أي شبكة مظلمة ينتمي النظير التالي وبعض المعلومات الإضافية إذا لم يكن ذلك I2P.
إنهاء النفق
إذا أراد النظير المغادرة، فإنه ينشئ رسائل إنهاء النفق مشفرة بمفتاح الطبقة ويرسلها في الاتجاه “الوارد”. إذا استلم المشارك مثل هذه الرسالة، فإنه يعيد تشفيرها بمفتاح طبقة خاص به ويرسلها إلى النظير التالي. بمجرد أن تصل الرسالة إلى مالك النفق، يبدأ في فك التشفير عقدة بعقدة حتى يحصل على الرسالة غير المشفرة. يكتشف أي نظير قدغادر وينهي النفق.