الخلاصة

  • جعل RFC 2383 كل قفزة ST2+ تستخدم دارة ATM افتراضية واحدة، مع فصل مستوى البيانات عن التحكم والإدارة؛ فالدارة التي حملت البيانات المحجوزة لم تكن هي الدليل نفسه الذي حمل إخطار فشلها.
  • لأن استعادة ST2+ كانت غامضة وغير مكتملة، ولأن عدة وكلاء قد يتلقون إخطار ATM نفسه معاً، فرضت المواصفة NoRecover؛ كان الرفض الصريح أكثر قابلية للتشغيل البيني من وعد استعادة يفسره كل طرف بطريقة مختلفة.

قد تحجز الشبكة السعة، ولا تحجز معها طريق الرجوع من العطل.

هذا هو الحد الذي أظهره RFC 2383 عند نشره في أغسطس 1998 بوصفه وثيقة معلوماتية عن تشغيل ST2+ فوق ATM UNI 3.1. قدّم علاقة مباشرة: قفزة ST2+ واحدة تقابل دارة ATM افتراضية واحدة، ولا تشترك تلك الدارة بين قفزات، ولا تُقسّم القفزة على عدة دارات. صار لطلب الموارد حامل محدد، ولحالة كل مقطع موضع يمكن فحصه.

لكن المواصفة لم تمد هذه الدقة إلى الاستعادة. وجب على كل تنفيذ اختيار NoRecover في CONNECT. وإذا طلب النظير خلاف ذلك، يرد الطرف المستقبل بـ REFUSE وسبب NoRecover. لم تقل الوثيقة إن الاستعادة الآلية مدعومة جزئياً، ولم تعتبر إخطار ATM بديلاً عن منطق ST2+ المفقود. قالت إن استعادة التدفق غير مدعومة وإن التطبيق مسؤول عنها.

تكتسب هذه الجملة أهميتها من كثرة الأشياء التي تشبه الاستعادة من بعيد. تستطيع ATM إعلان سقوط اتصال. ويتبادل وكلاء ST2+ رسائل SCMP. ويحمل التدفق FlowSpec وتُحجز موارده قفزة بعد أخرى. ويمكن إنشاء دارة جديدة. لكن هذه الوقائع لا تختار من يبدأ، ولا تمنع وكيلين من العمل على العطل نفسه، ولا تربط الاتصال البديل حتماً بالتدفق الصحيح، ولا تثبت أن التطبيق حصل على نتيجة مقبولة.

دارة واحدة لكل قفزة، وحقائق متعددة لكل دارة

فصل RFC 2383 بين مستوى المستخدم ومستوى التحكم ومستوى الإدارة. عبر مستوى المستخدم مرت بيانات ST2+ في اتصال ATM المخصص للقفزة. وفي مستوى التحكم تبادل الوكلاء SCMP. أما الإدارة فشملت العنونة وإنشاء الدارات وملاحظة حالتها محلياً.

لم تتحد هذه المستويات في مسار واحد. تركت الوثيقة دارة SCMP الافتراضية من دون طريقة إلزامية: يمكن إعادة استخدام دارة IPv4 أو إنشاء دارة خاصة بتحكم ST2+. وكان على بيانات التدفق وSCMP اتباع اتجاه توجيه ST2+ نفسه، بينما يمكن أن يسلك IPv4 إلى عنوان IP ذاته اتجاهاً معاكساً. وهكذا قد يبقى التحكم متاحاً بعد انكسار دارة البيانات المحجوزة، أو يفشل التحكم تحت ظروف لا تمس البيانات بالطريقة نفسها.

لهذا تبقى عبارة «الشبكة متاحة» ناقصة. هل وجد IPv4 مساراً؟ هل وصلت SCMP إلى الوكيل؟ هل لا يزال محول ATM يحتفظ بحالة النداء؟ أم هل تعبر بيانات المستخدم في الدارة المعنية؟ كل إجابة دليل في طبقة مختلفة، ولا تمنح تلقائياً شهادة لبقية الطبقات.

تزيد قاعدة الدارة الواحدة وضوح الدليل، لكنها تحدد أيضاً نطاقه. الدارة هي حامل تلك القفزة وليست وعداً موزعاً على ناقلات مجهولة. غير أن التدفق من طرف إلى طرف يتكون من عدة قفزات ودارات ووكلاء. يكشف فقد دارة مقطعاً مكسوراً؛ ولا يعيد تكوين التدفق الكامل.

اكتشاف الفشل لم يحدد سلطة الاستعادة

سمحت الوثيقة بعدم دعم وظيفة HELLO الخاصة بـ ST2+ فوق ATM، لأن ATM عُدّت قادرة على تقديم إشعار كافٍ بفشل الاتصال. إلا أن البيانات وSCMP قد تسافران في دارتين مختلفتين. نجاح HELLO أو وصول إشارة في إحداهما لا يثبت حالة الأخرى.

وتتضاعف المشكلة عند الاستعادة. وصف RFC 1819 سلوكاً للاستعادة في ST2+، لكن RFC 2383 رأى أنه غير واضح وغير مكتمل لهذه البيئة. تستطيع ATM إخطار جميع الأطراف المتأثرة بالعطل، فيكتشف عدة وكلاء ST2+ المشكلة في اللحظة نفسها تقريباً. فإذا حاول كل منهم الإصلاح مستقلاً، قد يحرر أحدهم الحالة القديمة بينما يبني آخر حالة جديدة، أو تظهر دارتان بديلتان، أو يتصل الجزء اللاحق بمحاولة غير المقصودة.

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

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

انتقل الالتزام الأخير إلى التطبيق

قول RFC إن على التطبيق توفير الاستعادة لم يمنح التطبيق قدرة سحرية؛ بل نقل الواجب غير المحلول إلى الطبقة القادرة على فهم معنى الاستمرار. قد يعني ذلك الاستئناف من رقم تسلسلي في تطبيق، وبدء تدفق جديد وإهمال الجزء السابق في تطبيق آخر، أو طلب قرار بشري إذا كان تكرار الأثر غير مقبول.

تستطيع الشبكة توفير مسار بديل، لكنها لا تعرف إن كان القديم والجديد يشكلان عملية واحدة صحيحة. ولهذا لا يكفي إنشاء VC جديد لوضع علامة «تمت الاستعادة». يجب وصل إخطار العطل وهوية الدارتين وتحرير الحجز السابق وبناء حالة القفزة وهوية التدفق من طرف إلى طرف وإقرار التطبيق. ومن دون هذا الربط تكون الاستعادة تسمية للنية.

تكشف عدسة طبقات الواقع لدى Heng Lu السبب. الحالة الفيزيائية، ونداء ATM، وحالة وكيل ST2+، وتبادل SCMP، وجلسة التطبيق، والنتيجة التي يراها المستخدم طبقات متجاورة وليست مترادفة. ضغطها في ضوء أخضر واحد يجعل اللوحة أبسط، لكنه يسقط الفروق التي تحدد صحة الادعاء. ومن يملك تسمية «مستعاد» قد لا يكون هو من يتحمل أثر التكرار أو الفقد.

اتجاه الإنشاء كان أيضاً قرار سياسة

حتى قبل العطل، احتاجت الدارة إلى طرف يبدأها. في الدارات الافتراضية المبدلة أجاز RFC اختيار بادئ اتصال ATM وفق السياسة التشغيلية أو سياسة الفوترة، بصورة مستقلة عن اتجاه المرسل إلى المستقبل الذي بُني فيه تدفق ST2+.

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

وكان لتحويل FlowSpec إلى ATM حد قاطع آخر. تحولت خصائص المرور وجودة الخدمة إلى معاملات ATM بالاستناد إلى نماذج RFC 2211 وRFC 2212 وإشارات RFC 1755. لم تسمح UNI 3.1 بتعديل جودة الخدمة في اتصال قائم. فإذا استلزم تغيير FlowSpec المدعوم موارد مختلفة، أطلق التنفيذ اتصالات ATM القديمة وأنشأ اتصالات جديدة.

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

وهذا ما يميز الموضوع من البحث السابق عن RFC 2380. تمحورت تلك الوثيقة حول تغيير الحجز وreduced reservation وحد القرار بين التخصيص القديم والجديد. أما RFC 2383 فيمتلك مسألة مختلفة: عدة وكلاء يشاهدون فشل ATM فيما لا توجد سلطة استعادة مكتملة.

الرفض الصريح قد يصنع التشغيل البيني

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

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

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

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

لم يدع RFC 2383 هذه النتيجة. ووصفه المعلوماتي يمنع تحويله إلى شهادة انتشار. يسجل IETF Datatracker مسار نشره، لا عدد الشبكات التي شغلته.

الأمن حمى حافة واحدة من سلسلة الدليل

قالت الوثيقة إن الحد الأدنى من امتدادات ATM وإصلاحات الأخطاء لم يضعف أمن ST2+ أو UNI 3.1. وأشارت إلى أن رقم الطرف المتصل الذي تقدمه الشبكة، إن جرى التحقق منه، يمكن أن يسهم في المصادقة.

الإسهام ليس إثباتاً كاملاً. قد تحدد هوية المتصل بادئ الدارة، لكنها لا تثبت تفويض FlowSpec أو بقاء السيطرة على الطرف أو انتماء الدارة البديلة إلى التدفق المكسور أو قبول التطبيق للجلسة المعاد بناؤها. أدلة الهوية والموارد والحالة والنتيجة متكاملة وليست بدائل.

ولا يثبت RFC نشر مزود بعينه للبروتوكول أو بلوغ زمن تأخير أو استعادة حادثة أو اختيار بادئ محدد بالفوترة. تلك حقائق تحتاج إلى سجلات تشغيل.

أما الحد التاريخي الثابت فهو أن حجز الموارد واكتشاف الفشل ووصول التحكم وإعادة البناء ونجاح التطبيق ادعاءات منفصلة. يمكن أن تتحقق الثلاثة الأولى من دون الرابعة، وأن يعاد بناء البنية من دون الخامسة. حفظ RFC 2383 هذه الفروق بكلمة لا تحتمل التجميل: NoRecover.

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

المصادر