الخلاصة
- تسمح
draft-feng-netconf-naim-op-00بأن يحتوي حقل التعويض على كائنات Operation IR يُقصد بها عكس تغييرات نُفذت أو تخفيف أثرها؛ وفي الوقت نفسه تتوقع فشل التعويض، وانتهاء مهلة التنفيذ المجمع، وفقد الاتصال أثناء التراجع. - يربط معرّف المعاملة المشترك العمليات ببعضها، لكنه لا يعرّف تنفيذًا ذريًا، أو عزلًا، أو قفلًا، أو ترتيبًا ملزمًا، أو سجلًا دائمًا، أو نقطة استعادة واحدة عبر أجهزة وبروتوكولات مختلفة.
- يتطلب ادعاء الاستعادة سلسلة أدلة: حالة مرجعية، وتفويضًا منفصلًا، وشروطًا مسبقة حية، ورسائل وإيصالات دقيقة، وحساب التغييرات المتزامنة، ورصد الحالة اللاحقة، وفحص خدمة مستقل، وبيانًا بالآثار التي لا يمكن محوها.
العملية العكسية تصل إلى عالم تغيّر بالفعل
لنفترض أن وكيلًا يريد نقل عشر واجهات إلى سياسة توجيه جديدة، ثم إعادة المرجع القديم إذا فشل فحص الوصول. يتحقق الـ Handler من القيم ويبدأ التنفيذ. تقبل ثلاثة أجهزة التغيير، وينقطع مسار الإدارة إلى الجهاز الرابع، وتفشل تجربة الخدمة.
عند هذه اللحظة لم يعد العالم مطابقًا للصورة التي بُنيت عليها الخطة. ربما عدّل متحكم آخر إحدى الواجهات. وربما استقبل نظير خارجي إعلانًا ثم سحبًا. وربما أطلقت رسالة إنذار إجراءً بشريًا. وقد يكون دور الاستعادة أضيق صلاحية من دور التغيير الأصلي. كتابة القيمة القديمة قد تصلح جهازين، وتمحو تعديلًا مشروعًا على ثالث، ولا يتضح إن كانت وصلت إلى الرابع أصلًا.
لهذا تصوغ المسودة التعريف بحذر: Compensation Operation هي عملية يُقصد بها عكس أثر عملية سابقة أو تخفيفه. القصد ليس نتيجة، والتخفيف ليس بالضرورة استعادة كاملة. الكائن يصف فعلًا سيجري الآن، ولا يعيد الزمن إلى الوراء.
فصل النية عن التنفيذ
تقترح Operation IR تمثيلًا وسيطًا محايدًا للبروتوكول بين الطلب الطبيعي وبين NETCONF أو RESTCONF أو واجهة إدارة أخرى. يمكنه حمل الكتابة والاسترجاع وRPC/actions والمرشحات واختيار datastore والشروط المسبقة والتعبيرات وبيانات المعاملة والتعويض. يبقى الذكاء الاصطناعي مشفّرًا للنية، بينما يتولى Handler حتمي التحقق من النموذج وقراءة الحالة الحية وترجمة الرسائل وتنفيذها.
لكن وضع الوثيقة جزء من الحقيقة. يسجل Datatracker النسخة 00، المؤرخة في 18 يوليو 2026، بوصفها Internet-Draft فردية نشطة، من دون RFC stream ومن دون Intended RFC status رسمي. وتقول الصفحة إن أي شخص يستطيع تقديم I-D، وإن الوثيقة غير مؤيدة من IETF ولا تملك مكانة رسمية في مسار المعايير. يحمل رأس النص المقدم عبارتي “NETCONF Working Group” و“Intended status: Standards Track”؛ وهما وصفان قدّمهما المؤلف، لا دليلًا على تبني مجموعة العمل أو إجماع IETF.
وتستبعد المسودة صراحة خوارزميات الاشتقاق الآلي للتعويض، وتفاصيل الجدولة، ومنطق محرك التنفيذ الخاص. لذلك قد يولد Handlerان تسلسلين مختلفين للتعويض من النية الأمامية نفسها. عبارة «تم تشغيل التراجع الآلي» لا تكفي للتدقيق؛ المطلوب حفظ الكائنات التي وُلّدت فعلًا، وأهدافها وقيمها وافتراضاتها.
معرّف مشترك لا يصنع ذرّية
تقول الفقرة 12 إن عدة كائنات Operation IR قد ترتبط بمعرّف معاملة مشترك. الارتباط مهم لجمع السجلات المتفرقة. لكنه لا يحدد commit من نوع الكل أو لا شيء، ولا عزلًا قابلًا للتسلسل، ولا قفلًا عالميًا، ولا ترتيبًا مفروضًا، ولا سجل معاملة دائمًا.
يظهر الفرق عندما تعبر المجموعة أسطحًا غير متجانسة. قد يدعم جهاز candidate datastore وconfirmed commit، بينما يكتب آخر مباشرة في running، وقد يستدعي إجراء ثالث نظامًا خارجيًا. يستطيع الرقم الواحد جمع هذه الوقائع في تقرير، لكنه لا يوحد قدراتها ولا حدود فشلها.
ولا تكفي قاعدة «اعكس الترتيب». إذا أُنشئت سياسة ثم رُبطت بواجهة، فقد يلزم فك الارتباط قبل الحذف. لكن خدمة أخرى قد تكون بدأت تستخدم السياسة بصورة مشروعة؛ يصبح حذفها عندئذ ضررًا جديدًا. العكس الصحيح نحويًا قد يكون خاطئًا أمام الحالة الحالية.
التعويض مطالبة جديدة بالسلطة
توصي المسودة بأن تخضع عمليات التعويض لتوقعات التفويض والتحقق والتسجيل نفسها التي تخضع لها العمليات العادية. وتفرد في قسم الأمن بندًا لتفويض التعويض وبندًا لتدقيق التنفيذ والتراجع.
لا يجوز نسخ إذن الذهاب إلى طريق العودة. قد يتطلب الإنشاء والحذف صلاحيتين مختلفتين. وقد تنتهي صلاحية الدور، أو يُحل مرجع ديناميكي إلى هدف آخر، أو تتغير سياسة الوصول أثناء الحادث. يطبق RFC 8341 التحكم بصورة مستقلة على العمليات وعقد البيانات في NETCONF/RESTCONF؛ تسمية الفعل «استعادة» لا تمنحه استثناءً.
تفيد الشروط المسبقة في منع الكتابة فوق حالة تغيّرت. فإذا لم تصح القيمة المتوقعة، لا ينبغي تنفيذ العملية. غير أن نجاح القراءة يثبت لحظة واحدة فقط. لا يثبت أن الكتابة اللاحقة طُبقت أو بقيت أو أعادت الخدمة. ينبغي تسجيل الهوية والسياسة والهدف المحلول والقيمة المرصودة وقرار الوصول والنتيجة لكل خطوة تعويض.
مسار الإنقاذ نفسه قد يتعطل
تطلب المسودة من التنفيذ الذي يدعم المعاملات أن يحدد سلوكه عند فشل شرط مسبق، أو فشل في منتصف المجموعة، أو فشل التعويض، أو انتهاء المهلة، أو فقد الاتصال أثناء التراجع. هذه القائمة تمنع وضع الاستعادة خارج نموذج الأعطال.
إذا انقطع الاتصال بعد الإرسال، فقد لا يعرف الـ Handler هل لم تصل الرسالة، أم طُبقت وضاع الرد. قد تكرر المحاولة أثرًا غير idempotent؛ وقد يترك الامتناع حالة جزئية. لا يصف علم منطقي واحد مثل rolled_back هذا الواقع. يلزم فصل حالات: مخطط، ومفوض، ومتحقق من شرطه، ومرسل، ومؤكد، ومرصود بصورة مستقلة، ومختبر على مستوى الخدمة.
NETCONF يوضح قيمة النطاق الضيق
يقدم RFC 6241 مقارنة عملية. عندما يعلن الخادم قدرة rollback-on-error، يستطيع edit-config أن يتوقف عند الخطأ ويعيد الإعداد المحدد إلى حالته الكاملة في بداية تلك العملية. هذا وعد مرتبط بقدرة وبعملية وبنطاق إعداد واضح.
ومع ذلك يحذر RFC من أن التراجع في إعداد مشترك قد يغيّر أو يزيل تعديلات جلسات أخرى إن لم يُستخدم القفل. كما يعرّف خطأ rollback-failed. ولـ confirmed commit قدرة أخرى واعتماد على candidate datastore.
قد يترجم تعويض Operation IR إلى هذه الآلية، أو إلى كتابة RESTCONF مقابلة، أو إلى action تطبيقي. لا تنتقل أقوى ضمانات أحد الـ backends إلى المجموعة كلها لأن الجميع يستخدم كلمة rollback.
تساوي الإعداد لا يعني تساوي الواقع
يفصل RFC 8342 بين الإعداد المقصود والحالة التشغيلية. قد يطابق فرع من datastore لقطة قديمة بينما تظل الحالة المطبقة أو الخدمة مختلفة. وخارج النموذج تبقى آثار لا تملك عكسًا أمينًا: حزم أُرسلت، وإشعارات استُهلكت، واعتمادات كُشفت، ومهل انتهت، وتنبيهات عميل وقرارات بشرية.
قد ينجح التعويض ويخفف الضرر من دون استعادة كل شيء. هذه نتيجة نافعة. الخطأ يبدأ عندما تحول الواجهة «اكتمل التعويض» إلى «لا أثر». يجب أن يحدد التقرير ما عاد، وما تعذر رصده، وما بقي خارج النظام.
dry-run يكشف الخطة وحدودها
يجب ألا يطبق dry-run تغييرًا فعليًا، وينبغي أن يعرض الأهداف والقيم وdatastore والفحوص وملخص الرسائل وخطة التعويض والآثار والقيود. وتقر المسودة بأن الحالة الحية ونتائج التفويض والشروط الخارجية قد لا تُفحص كاملة قبل التنفيذ.
لذلك تعرض المعاينة الجيدة بوضوح ما حُل وفق لقطة، وما ينتظر تفويضًا، وما لا يمكن محاكاته، وما لا يملك عكسًا. اللون الأخضر أداة قرار، لا شهادة على المستقبل.
سجل إثبات الاستعادة
ينبغي حفظ النية غير القابلة للتغيير ونسخة السياق، والنموذج القانوني لدى Handler، وقرارات التفويض، وقراءات الشروط المسبقة المؤقتة، والرسائل الدقيقة، وتسلسل الردود والأخطاء والمهل، وكائنات التعويض نفسها، وفحوصها الخاصة، والأقفال والكتابات المتزامنة، ومشاهدات الإعداد والحالة بعد التعويض، والآثار الخارجية الباقية، وفحص خدمة من جهة مستقلة عن Handler.
ويجب أن ينقسم الإغلاق إلى: «جرت محاولة التعويض»، و«عادت الحالة الممثلة ضمن نطاق معلن»، و«تعافت الخدمة». لا تثبت الأولى الثانية ولا الثانية الثالثة. المعرّف يصل الأدلة ولا يحل محلها.
المصادر
- سجل Operation IR في Datatracker
- تاريخ وثيقة Operation IR
- نص Operation IR، النسخة 00
- مصدر XML للنسخة 00
- سجل نواة NAIM في Datatracker
- نواة NAIM، النسخة 00
- سجل NAIM over MCP في Datatracker
- NAIM over MCP، النسخة 00
- RFC 6241 — NETCONF
- RFC 8341 — نموذج التحكم في وصول إعداد الشبكة
- RFC 8342 — معمارية مخازن إدارة الشبكة
- RFC 8040 — RESTCONF
- RFC 7950 — YANG 1.1
- RFC 8808 — إعدادات المصنع
- Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
- On Reality Layers, Symbolic Power, and Why Clarity Feels So Hostile
- Running-Code Primacy
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات

