الخلاصة

  • أبقت RFC 3478 مدخلات تمرير MPLS وروابط label-FEC كحالة قديمة بينما يعيد LDP بناء معناها في مستوى التحكم.
  • جعلت مؤقتات إعادة الاتصال والحيوية والاستعادة والاحتفاظ، مع منع إعادة استخدام الملصق مبكراً، الاستمرارية قرضاً محدوداً لا دليلاً على اكتمال الاستعادة.

توحي عبارة «إعادة تشغيل سلسة» بأن النظام يعود كاملاً. لكن RFC 3478 رتبت صفقة أكثر حذراً: يمكن لمكوّن LDP في مستوى التحكم أن يعيد التشغيل ويتعلم من جديد، بينما يواصل مستوى التمرير استخدام قواعد ثُبتت قبل الانقطاع. تستطيع الحزم أن تستمر قبل اكتمال القصة التي تفسر طريقها.

كان افتراض الحفظ في حده الأدنى. لم يكن على LSR القادر على حفظ حالة تمرير MPLS أن يحفظ كل حالة LDP. يكفي بقاء العلاقة من ملصق داخل إلى ملصق خارج وقفزة تالية، أو عند المدخل من FEC إلى ملصق خارج وقفزة تالية. يمنع هذا اضطراب LSP فوراً، لكنه لا يثبت أن مستوى التحكم يتذكر سبب كل ملصق.

بعد إعادة التشغيل وُسمت المدخلات المحفوظة بأنها stale. استطاعت رسالة Label Mapping جديدة تأكيدها إذا تطابق ملصق الخروج والقفزة التالية المعروفة من الجار. احتاجت حالات Implicit NULL وpenultimate hop وegress إلى شروط أخرى تشمل pop وFEC. لم يختف وصف القدم إلا حين قدم البروتوكول المعاد بناؤه الربط المطلوب.

سمح إجراء بديل بوجود رابطين محليين لنفس FEC مؤقتاً: واحد محفوظ من التشغيل السابق وآخر أُنشئ بعد العودة. يشتركان في ملصق الخروج والقفزة التالية، ويحذف القديم عند نهاية الاستعادة. لذلك لم تكن استمرارية التمرير دليلاً على وجود حقيقة تحكم واحدة في كل لحظة.

حكم الزمن هذه الصفقة. حمل FT Session TLV في Initialization قيمتي FT Reconnect Timeout وRecovery Time. طلبت الأولى من الجار مدة الاحتفاظ بالحالة القديمة بعد فقد الاتصال. وأعلنت الثانية المدة التي يستطيع فيها LSR المعاد تشغيله الاحتفاظ بالتمرير الذي حفظه فعلاً.

كان للصفر معنى حاسم. يعني FT Reconnect Timeout صفراً أن المرسل لا يحفظ تمريره، وإن ظل قادراً على مساعدة جار آخر. ويعني Recovery Time صفراً أن الحالة القديمة غير متاحة. عندها يجب إزالة الروابط stale لا انتظارها إلى أجل مجهول.

اختصرت السياسة المحلية الوعد البعيد. قبل إعادة الاتصال استمرت الروابط لمدة الأصغر بين FT Reconnect Timeout وNeighbor Liveness Timer. وبعد الاتصال مع Recovery Time غير صفري، حدد الأصغر بينه وبين Maximum Recovery Time مدة إضافية. وعلى الجهاز المعاد تشغيله حذف MPLS Forwarding State Holding timer ما بقي stale عند انتهائه.

لم تكن هذه ساعات متكررة. طلب الجار وقتاً، وحدد المشغل المحلي مقدار الثقة، وحددت العقدة ما تستطيع حفظه. كانت النافذة الفعلية تقاطع القيود، لا أكبر رقم في الرسالة.

أوصت RFC بإكمال تبادل mappings في النصف الأول من Recovery Time. لكن عودة جلسة TCP/LDP لم تثبت وصول LIB كلها. لم تحمل مواصفة 2003 علامة نهاية صريحة. أضافت RFC 5919 لاحقاً End-of-LIB Notification. تكشف هذه الإضافة فجوة الدليل، لكنها ليست حقلاً يمكن إرجاعه إلى العقد الأصلي.

حجر الملصقات حمى المعنى. إذا حرر downstream رقماً ومنحه وظيفة جديدة بينما ظل upstream يرسل وفق الوظيفة القديمة، فقد تصل الحزم إلى وجهة خاطئة. لذلك لا يعاد استخدام الملصق تجاه جار يدعم graceful restart قبل مرور FT Reconnect Timeout مضافاً إليه Recovery Time.

أظهر قسم الأمن أن الزمن سطح هجوم. يستطيع منتحل أو معترض جعل Recovery Time صفراً لفرض تحرير الملصقات. وفي الاتجاه الآخر قد يلتقي استخدام مبكر لملصق ذي نطاق المنصة بجار ما زال يرسل بالمعنى القديم. تساعد المصادقة، لكن يلزم أيضاً إثبات ما اعتقده كل طرف ومتى.

استمرار الحركة بلا انقطاع إيصال محدود. يثبت أن بعض المدخلات بقيت وعملت للحزم المرصودة. لا يثبت تحديث جميع FEC، أو إعادة بناء LIB كاملة، أو حفظ ملكية الملصقات التي قد يخصصها BGP أو RSVP-TE، أو بقاء المعنى آمناً بعد انتهاء آخر مؤقت.

يبدأ فصل طبقات الواقع لدى Heng Lu بهويتي الجلسة القديمة والجديدة وأحداث TCP وFT TLV وكل المؤقتات. تُفصل حالة التمرير عن LIB وعن مصدر البروتوكول. لكل مدخل نسجل لحظة stale، ورسالة Mapping وعنوان الجار اللذين حدثاه، وتغير الملصق، والحذف، والحجر قبل إعادة الاستخدام.

بعد ذلك فقط نصل ملاحظات الحركة. منحنى بلا فقد ليس سجل إعادة بناء. session-up ليس End-of-LIB. Recovery Time غير الصفري ادعاء حفظ لا قياس. والمدخل الذي ما زال يمرر يبقى قديماً حتى يجدده دليل التحكم.

تدخل RFC 3478 تاريخ الإنترنت لأنها أسست الاستمرارية على شك منضبط. عاش مستوى البيانات مؤقتاً أطول من رواية التحكم، من دون تحويل الماضي إلى حقيقة دائمة. واصلت الملصقات التمرير ضمن مهلة مستعارة، وحدد البروتوكول من يمنح المهلة ويقصرها وينهيها.

المصادر