سؤال

أولاً، أنا جديد على تفاصيل IPv6 لذا لن أتفاجأ إذا كان هذا مجرد سوء فهم لتوجيه IPv6.ضع في اعتبارك الموقف الذي أقوم فيه بتشغيل شبكة تراكب P2P، والتي يعيش جزء منها داخل حدود شبكة LAN واحدة.تحتوي العقد الموجودة داخل شبكة LAN هذه على عناوين الارتباط المحلية التالية (كما تشاهدها بنفسها):

  • النظير 1 fe80::225:4bff:fea8:e200%en0
  • النظير 2 fe80::225:4bff:fea8:e201%eth1
  • نظير 3 fe80::225:4bff:fea8:e202%en1

الآن، افترض أن كل نظير تمكن من اكتشاف الآخرين من خلال بعض الوسائل، ولديهم عناوين بعضهم البعض.يستمع كل نظير على المنفذ، على سبيل المثال 12345.إذا أراد النظير 1 التحدث إلى النظير 2، فقد يحاول استخدام URI:

تكب://[fe80:225:4bff:fea8:e201%eth1]:12345

هذا هو المكان الذي أواجه فيه مشاكل.لا يحتوي النظير 1 على محول يسمى "eth1"، وبالتالي فإن معرف منطقة IPv6 هذا غير معروف له.إذا تمت إزالة معرف المنطقة من العنوان، فلن يتمكن النظير 1 من تحديد محولاته التي يجب عليه استخدامها للاتصال بالمضيف.

إذن السؤال:هل من الممكن حل معرف المنطقة لعنوان IPv6 بطريقة قياسية؟إذا لم يكن الأمر كذلك، فهل يجب علي الاستعلام عن النظام لجميع معرفات المنطقة، ومحاولة الاتصال بالعنوان باستخدام معرف كل منطقة على حدة حتى أحقق النجاح؟أم أن محاولة التواصل باستخدام عناوين الارتباط المحلية فكرة غبية في المقام الأول؟

هل كانت مفيدة؟

المحلول

ربط العناوين المحلية تكون مناسبة فقط عندما يكون لديك آلية ما لتحديد موقع العقدة الأخرى المعنية تلقائيًا والاتصال والربط بالواجهة الصحيحة.

إذا كنت تتوقع أن يقوم المستخدم بإدخال العناوين يدويًا، فيجب عليك استخدام عناوين الموقع المحلية (أو الأفضل من ذلك، العناوين المحلية الفريدة) واطلب من المستخدم تكوينها بنفسه، أو أن يكون لديه طريقة تحليل عنوان أعلى عناوين الارتباط المحلية، مثل mDNS.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top