الخلاصة

  • جمع RFC 2174 بين توجيه أحادي الإرسال من عائلة متجه المسافة وشجرة واحدة للبث والبث المتعدد، جذرها المحوّل المصدر الافتراضي في مجموعة MAPOS صغيرة.
  • لم تحمل أطر MAPOS عنوان مصدر ولا TTL، لذلك لم يستطع إطار داخل حلقة مؤقتة أن يعرّف منشأه الحقيقي أو أن ينهي دورانه بنفسه.
  • كان المسار أو VSS أو المقياس الأقل من 16 أو بت المنفذ المعلَّم حالة محلية في مستوى التحكم، لا إيصالاً يثبت أمان التمرير أو وصول الإطار.

حين كان الصمت فعلاً مقصوداً

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

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

عالج الانتظار نقصين في الإطار. لا يوجد عنوان مصدر، فلا يستطيع المستقبل أن يجعل المرسل الحقيقي جذر اختبار مسار عكسي. ولا توجد قيمة TTL، فإذا صنعت رؤيتان غير متوافقتين للطوبولوجيا حلقة عابرة، لم يحمل الإطار عداداً يضمن اختفاءه.

لهذا قدّم SSP معلومات التحكم على نسخ البيانات. أعطى الشجرة وقتاً كي تتفق قبل إدخال إطار لا يعرف كيف يحد عمره.

مصدر افتراضي واحد بدلاً من مصادر لا تُرى

استحدث البروتوكول خوارزمية Virtual Reverse Path Broadcast، وافترض أن كل إطار بث أو بث متعدد صدر من عقدة تحت محوّل واحد يسمى VSS. كان VSS هو المحوّل القابل للوصول ذو الرقم الأصغر.

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

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

اكتشاف VSS جديد أو فقدان الحالي يبطل جدول البث كله. أما تغير منفذ تابع واحد فلا يلزم أن يوقف الفروع الأخرى. فرق النطاق هذا يمنع معاملة كل تغير في البتات بوصفه الحدث نفسه.

خريطة البتات كانت أمراً لا نتيجة

مثّل RFC 2174 جدول البث بخريطة بتات. يخص كل بت منفذاً؛ فإذا كانت قيمته واحداً وجب تمرير الإطار إلى عقدة محلية أو محوّل أعلى أو أسفل. وإذا لم تكن أي قيمة معلَّمة، أُسقط الإطار بصمت.

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

تأتي البتات من أدلة مختلفة. طلب عنوان NSP يدل على عقدة محلية. القفزة التالية إلى VSS تعيّن المنفذ الأعلى. وتحديث poisoned reverse الوارد عبر منفذ يدل على أن محوّلاً خلفه يستخدم الجهاز المحلي في طريقه إلى الجذر، فيصنف تابعاً.

عند ظهور تابع جديد يبدأ تأخير التفعيل. وبعد ذلك يراقب PORT_EXPIRATION_TIMER، ومدته الافتراضية ثلاثون ثانية أيضاً، استمرار الدليل. كل poisoned reverse جديد يجدد الساعة؛ وإذا انقطعت الرسائل مُسح البت. وإذا بدأ التابع السابق يرسل تحديثاً عادياً، وجب المسح فوراً لأنه اختار مساراً أو VSS آخر.

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

الخبر السيئ بقي كي يُنشر

إذا لم يتجدد مسار ثلاثين ثانية، أو أعلن الجار الحالي المقياس 16، أصبح غير قابل للوصول. ومع ذلك بقي السجل ثلاثين ثانية إضافية حتى يستطيع المحوّل إعلان 16 للآخرين قبل جمعه وحذفه.

يرجع هذا الانضباط إلى RIP كما وصفه RFC 1058. تستطيع بروتوكولات متجه المسافة الاحتفاظ باعتقاد قديم والعد نحو اللانهاية. يقلل split horizon مع poisoned reverse بعض الحلقات، وتسرّع التحديثات المحفَّزة الخبر، لكنها لا تحول المحوّلات إلى معاملة ذرية واحدة.

وتحمل الساعات ادعاءات مختلفة. انتهاء المسار يعني أن الاعتقاد المحلي شاخ. وجمعه لاحقاً يعني أنه بقي ليعلن موته. وتأخير التمرير يعني أن علاقة جديدة لم تُؤذن بعد. وانتهاء منفذ تابع يعني أن الدليل الدوري الذي كان يحفظه توقف. جمعها كلها تحت اسم timeout يخفي وظيفة كل قرار.

قد يسمع الثقب الأسود تحديثات التوجيه

يحذر قسم التنفيذ من اتصال نصف عامل. قد يستمر اتجاه الاستقبال بينما يفشل اتجاه الإرسال. يسمع المحوّل تحديثات SSP وتبدو جداوله حديثة، لكن إطاراته الصادرة تسقط في ثقب أسود.

يمكن لإشارات overhead في SONET/SDH أن تعيد حالة قناة الإرسال كما تراها الجهة البعيدة، إلا أن بعض الخدمات لا تحفظ الشفافية المطلوبة. استقبال التحكم في اتجاه لا يثبت نقل البيانات في الاتجاه الآخر.

كان RFC 2174 وثيقة Informational، لا نتاج مجموعة عمل IETF ولا ضمن Standards Track. افترض عدداً قليلاً من المحوّلات، ولم يقدم إحصاء نشر أو قياس تقارب أو اختبار توافق أو واقعة حلقة حقيقية. ولم يناقش مسائل الأمن.

تنبع قيمته التاريخية من الحد الذي أبقاه ظاهراً. معرفة المسار، واختيار الجذر، وانتظار الاستقرار، وفتح المنفذ، وتسليم الإطار وقائع منفصلة. لقد جعل البروتوكول «ليس بعد» حالة كاملة لا فراغاً بين حالتين.

المصادر

  1. RFC 1058 — Routing Information Protocol
  2. RFC 2171 — MAPOS Version 1
  3. RFC 2173 — Node Switch Protocol
  4. RFC 2174 — Switch-Switch Protocol
  5. RFC 2176 — IPv4 over MAPOS Version 1