الخلاصة

  • عدّت RFC 3084 كل القرارات داخل رسالة DEC في COPS-PR معاملة واحدة: إما أن يثبت PEP جميع عمليات الحذف والتركيب، أو يبلغ بالفشل ويعود إلى آخر معاملة ناجحة.
  • لم يكن تقرير النجاح دليلاً دائماً. يستطيع الجهاز مواصلة العمل بالسياسة المخزنة أثناء الانقطاع، ثم تحتاج العودة إلى مزامنة Request-States أو إلى افتراض أن نسختي الخادم والجهاز بقيتا متطابقتين.

تحولت السياسة إلى واقع داخل آلة أخرى

يرسل PDP في رسالة واحدة حذف مرشح قديم وتركيب بديله. ينقل TCP البايتات، ثم يجيب PEP بـSuccess. صار لدى الخادم ما هو أقوى من سجل الإرسال: نقطة الإنفاذ تقول إنها نفذت المعاملة.

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

نشرت RFC 3084 في مارس 2001 وحددت COPS-PR، أي استخدام Common Open Policy Service لتزويد السياسات. يمد Policy Decision Point نقطة Policy Enforcement Point بالمعلومات. تنظم Policy Information Base الفئات والمثيلات؛ PRI هي المثيل وPRID معرفه. أمكن للآلية حمل سياسات جودة الخدمة أو الأمن من دون فرض نموذج بيانات واحد على كل المجالات.

يقع هذا السؤال خارج حدود المقال المنشور عن RFC 3060. فقد فصل PCIM بين مخطط المعلومات المشترك وخوارزمية التقييم المحلية. أما COPS-PR فسأل ماذا يحدث بعد فهم الكائن: كيف يثبت، ويؤكد، ويخزن خلال العطل، ثم يطابق مع نسخة الخادم؟

منحت المعاملة الذرية نقطة رجوع واضحة

قد تضم DEC عدة قرارات. وجب وضع الحذف قبل التركيب لحسم الأسبقية داخل المعاملة، لا للوعد بمرحلتين زمنيتين مستقلتين. وكان على الرسالة كلها أن تنجح أو تفشل. إذا تعذر تثبيت جزء منها، أرسل PEP تقرير Failure وأعاد الحالة التي تركتها آخر DEC ناجحة.

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

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

اختلف أثر عدم توافق النسخ باختلاف الاتجاه

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

حدت هذه الاستجابات من الضرر، لكنها لم تجعل النسختين متساويتين. أثبتت المعاملة الناجحة معالجة الكائنات المرسلة فقط، ولم تثبت امتلاك الطرفين الامتدادات نفسها أو القدرات نفسها أو بناء آليات محلية متماثلة.

كما ركز COPS-PR سلطة الكتابة. ففي مجال تحدده قيمة Client-Type، يحدث خادم واحد الإعداد. وما دام PEP متصلاً بـPDP، وصف الإعداد بأنه مقفل فعلياً حتى أمام تعديلات وحدة التحكم المحلية. قلل الكاتب الواحد التضارب، لكنه جعل هوية PDP والاتصال ومخزن حالته أجزاء من سلطة التحكم.

تولت الذاكرة المؤقتة السلطة أثناء الصمت

عند فقد الاتصال، حاول PEP الوصول إلى آخر PDP ثم إلى خادم ثانوي معد مسبقاً. وفي الأثناء استمر Request-State النشط في حكم السياسة. عند العودة، أخبر LastPDPAddr الخادم عن مصدر القرارات التي لا تزال مخزنة. واستطاع PDP طلب المزامنة برسالة SSQ.

عندئذ أعاد PEP إصدار REQ لكل Request-States المعروفة. وأرسل PDP عمليات حذف لمعرفات PRID أو بادئات كاملة حتى يصل الطرفان إلى حالة معروفة ومتسقة. إذا لم يطلب الخادم المزامنة، جاز للعميل افتراض أن الخادم تعرف عليه وأن حالته الحالية صحيحة. كان ذلك قاعدة تشغيل، لا فحصاً مستقلاً للتساوي.

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

وسعت SPPI ووثائق PIB اللاحقة المنظومة بنماذج لجودة الخدمة والإطار العام وملاحظات الاستخدام. وفي 2016 نقل IETF RFC 3084 والوثائق المرتبطة إلى حالة Historic، مشيراً إلى انتشار محدود وإلى انتقال إدارة الإعداد نحو NETCONF وYANG. يسجل ذلك اتجاهاً للمعايير، ولا يثبت عدم وجود أي تطبيق أو اختفاء جميع التطبيقات معاً.

يبقى من RFC 3084 درس في فصل الأدلة: نية PDP، ومعاملة DEC، وتقرير RPT، والذاكرة المؤقتة، وإعادة المزامنة، والإعداد المحلي، ونتيجة الحركة وقائع مترابطة وليست واقعة واحدة. يوصل النقل الموثوق القاعدة؛ أما المطابقة والمراقبة فهما ما يكشف القاعدة التي ظل الجهاز يطبقها.

المصادر

  1. https://www.rfc-editor.org/info/rfc3084
  2. https://www.rfc-editor.org/rfc/rfc3084.html
  3. https://datatracker.ietf.org/doc/rfc3084/
  4. https://www.rfc-editor.org/errata/rfc3084
  5. https://www.rfc-editor.org/rfc/rfc2748.html
  6. https://www.rfc-editor.org/rfc/rfc2753.html
  7. https://www.rfc-editor.org/rfc/rfc3159.html
  8. https://www.rfc-editor.org/rfc/rfc3198.html
  9. https://www.rfc-editor.org/rfc/rfc3317.html
  10. https://www.rfc-editor.org/rfc/rfc3318.html
  11. https://www.rfc-editor.org/rfc/rfc3483.html
  12. https://datatracker.ietf.org/doc/status-change-copspr-sppi-to-historic/
  13. https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
  14. https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/