Summary

  • تعلن Router Advertisement عن وجود موجّه ومعلمات إعداد. يخص Router Lifetime صلاحيته كموجّه افتراضي، بينما قد تكون للخيارات مدد مستقلة.
  • يتوقف الاختيار على قدرات host والتفضيل وحالة الوصول. تخصص RFC 4861 آلية Neighbor Unreachability Detection لكشف فشل القفزة الأولى بدلاً من استنتاجه من غياب الإعلانات.
  • يجب أن يربط الإيصال الدائم بين RA المستلمة والمسار المختار فعلاً وحالة Neighbor Cache/NUD ونتائج حزم ممثلة.

ظهر المسار قبل معرفة قابلية الوصول

لنتصور host يتلقى RA صالحة، ويضيف مرسلها إلى قائمة الموجّهات الافتراضية، فتظهر ::/0 سليمة على الشاشة. عنوان link-local موجود ومدة الصلاحية غير صفرية والتفضيل مناسب. لكن اتجاه الإرسال قد يكون معطلاً بسبب وصلة غير متناظرة أو فقدان التوجيه في المنبع أو تقادم حالة الطبقة الثانية.

لا يناقض الإعلان هذه النتيجة. يحدد Router Discovery الموجّهات والمعلمات المعلنة، بينما تبحث NUD عن تأكيد إيجابي بأن الجار يستقبل الحزم وتعالجها طبقة IP. الخلط بين السؤالين يحول حدث اكتشاف مشروعاً إلى ضمان تسليم لم يصدر قط.

تنشأ بذلك نافذة عمياء: RA حديثة ومسار مثبت قبل أن يؤكد تقدم الطبقات العليا أو probes الخاصة بـ NUD القفزة الأولى. الاحتفاظ بحدث تثبيت المسار وحده يمحو أهم انتقال في الحالة.

ما الذي تثبته Router Advertisement فعلاً

تصف RFC 4861 رسالة تعلن وجود الموجّه وتحمل معلمات للوصلة والإنترنت: prefixes، وhop limit مقترحاً، وRouter Lifetime، وReachable Time، وRetrans Timer، ومعلومات الطبقة الثانية، وMTU.

لا تخضع هذه البيانات لساعة واحدة. ينطبق Router Lifetime فقط على جدوى المرسل كموجّه افتراضي؛ وللحقول والخيارات الأخرى قواعد مدة مستقلة. عبارة «تم استلام RA» لا تعيد بناء ما كان ما يزال صالحاً عند إرسال حزمة بعينها.

المعيار واضح في كشف الفشل: تكفي دورية الإعلانات لاكتشاف الموجّهات، لكنها لا تكفي لاستنتاج العطل من غياب الإعلان. هذه وظيفة NUD المستقلة. حداثة آخر multicast RA ليست اختبار حياة ولا دليلاً على تقدم الحزم في الاتجاهين.

ترتبط عناصر Default Router List بعناصر Neighbor Cache، وتفضل الخوارزمية الموجّهات المعروفة بقابلية الوصول على تلك المشكوك فيها. لذلك يكون next hop نتيجة متغيرة للاكتشاف والذاكرة المخبأة وحالة الوجهة، لا معنى ثابتاً يحمله إعلان واحد.

التفضيل يغيّر الاختيار ولا يثبت التسليم

تضيف RFC 4191 قيمة Default Router Preference إلى header وتعرّف Route Information Option للـ prefixes الأكثر تحديداً. القيم الثلاث ليست metrics. عندما يكون Router Lifetime صفراً يتجاهل المستقبِل تفضيل header. وتحمل كل RIO prefix وتفضيلاً ومدة خاصة بها.

لا تتصرف hosts بالطريقة نفسها. النوع A يتجاهل التفضيل وRIO؛ والنوع B يستخدم تفضيل الموجّه الافتراضي ويتجاهل RIO؛ والنوع C يبني جدولاً من الاثنين. ويمكن لـ RIO من نوع ::/0 أن تتغلب على تفضيل header ومدته لدى النوع C. وهكذا قد تنتج البايتات نفسها مسارات فعلية مختلفة.

تأتي قابلية الوصول أولاً. يفضل النوع B الموجّه القابل للوصول ثم يقارن التفضيل. ويستخدم النوع C أطول prefix ثم التفضيل لكسر التعادل بين أطوال متساوية، ويتجاوز next hop المعروف بعدم الوصول. وإذا غابت معلومات الوصول تفترض الخوارزمية المفاهيمية أن الموجّه قابل للوصول. يسمح الافتراض ببدء الإرسال، لكنه لا يثبت نجاحه.

تقدم NUD فئة أخرى من الأدلة

تبحث Neighbor Unreachability Detection عن تأكيد إيجابي بأن الحزم تصل إلى الجار وتعالجها طبقة IP لديه. يمكن لتقدم حديث في طبقات أعلى توفير التأكيد. وعند غياب تلك الإشارات يرسل node رسائل Neighbor Solicitation أحادية الإرسال وينتظر Neighbor Advertisements مطلوبة.

لا يخزن Neighbor Cache ربط العنوان فقط، بل حالة الوصول وعدد probes التي لم تُجب وموعد حدث NUD التالي. قد يبقى المسار الافتراضي مثبتاً بينما ينتقل الجار بين reachable وstale وdelay وprobe. يجب قراءة سجل المسار وسجل الجار معاً.

تبقى NUD دليلاً على القفزة الأولى وليست ضماناً من طرف إلى طرف. قد يجيب الموجّه محلياً ولا يملك مساراً صالحاً في المنبع. كما أن غياب إشارة تطبيقية مؤقتاً لا يثبت الفشل. لا بد من تسمية نطاق كل ملاحظة.

المصادر