الخلاصة

  • يضيف RFC 10016 مخزن <system> المقروء فقط لعملاء الإدارة كي يعرض التهيئة التي يوفرها الجهاز؛ ومع ذلك يمكن للبرمجيات والترخيص والموارد المادية تغيير محتواه.
  • تتقدم قيمة مسموح بها في <running> على قيمة النظام المطابقة. حذف هذا التجاوز قد يعيد قيمة النظام إلى <intended>، بينما إزالة العتاد قد تُبقي نية العميل محفوظة من دون ظهورها في <operational>.
  • يحدد المعيار ترتيب التحويل المنفصل ثم الدمج والتحقق الفوري، لكنه لا يثبت نجاح التطبيق ولا اكتمال الإشعارات ولا طريقة إصلاح شجرة العميل عندما يغير النظام شروطها.

إعادة الإقلاع ليست استعادة للمصنع

تُعاد تشغيل منصة بعد ترقية. يقارن فريق التشغيل القيم الجديدة بنسخة قديمة ويصف الفرق بأنه انحراف عن إعدادات المصنع. المشكلة في العبارة نفسها: القيم جاءت من <system>، لا من <factory-default>.

يعرّف RFC 10016 مخزناً تقليدياً جديداً ضمن NMDA للتهيئة التي يولدها النظام. لا يستمر هذا المخزن عبر إعادة الإقلاع؛ يعيد الجهاز تكوينه وفق البرمجيات والميزات والتراخيص والموارد المتاحة. أما <factory-default> في RFC 8808 فيجب أن يبقى عبر إعادة التشغيل ويمكنه تهيئة المخازن القابلة للكتابة عند إعادة ضبط المصنع.

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

أربع عبارات عن التهيئة

يحمل <system> ما يقدمه الجهاز. ويحمل <running> ما كتبه عملاء الإدارة صراحة. أما <intended> فيمثل الهدف بعد التحويل والدمج والتحقق، وهو ما يحاول النظام تطبيقه. ويعرض <operational> ما دخل الاستخدام فعلاً.

تظهر أهمية الفصل عند سحب بطاقة من الهيكل. يزيل النظام العقدة المرتبطة بالبطاقة من <system>. قد يبقى العنوان والوصف اللذان أعدهما العميل في <running> و<intended>. ولأن المورد المادي غائب، لا يطبقان ولا يظهران في <operational>.

الاحتفاظ بالنية مفيد للتهيئة المسبقة. لكنه لا يمنح منصة التحكم حق وصف الخدمة بأنها عاملة. نجاح عملية الكتابة أضيق من نجاح التطبيق.

القراءة فقط تحمي المسار المباشر لا النتيجة النهائية

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

وقد يسمح الخادم للعميل بكتابة عقدة مطابقة في <running>. لا يغير العميل مصدر <system>، لكنه يعطي قيمته أولوية أثناء الدمج. من هنا لا تعني «القراءة فقط» أن قيمة النظام لا يمكن حجب أثرها.

إذا أخطأ العميل أو تصرف مهاجم ضمن صلاحية واسعة، يمكن لقيمة في <running> أن تظلل عقدة حساسة في <system>، بما يؤدي إلى تجاوز سياسة أمنية أو خسارة في التوافر. لذلك يطلب RFC 10016 التحكم في قراءة المعلومات الحساسة وينصح بشدة بتسجيل محاولات الوصول. يوفر RFC 8341 نموذج NACM، لكن الهوية والقاعدة الفعلية تبقيان من مسؤولية المشغل.

الحذف الذي يكشف قيمة أخرى

ما دام التجاوز موجوداً، تتقدم قيمة <running> حتى لو تغيرت قيمة النظام تحتها. عندما يحذف العميل التجاوز، تظهر القيمة التي أنشأها النظام مجدداً في <intended> وقد تدخل الاستخدام إذا نجح تطبيقها.

إذن لا ينشئ الحذف فراغاً بالضرورة. إنه يعيد الأفضلية إلى مصدر آخر. يجب أن تعرض الموافقة قيمة العميل المحذوفة وقيمة النظام الحالية التي ستظهر بعدها. وإلا وافق المسؤول على نتيجة لم يرها.

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

قاعدة دمج ثابتة واستجابة تشغيلية محلية

إذا احتاج <system> أو <running> إلى توسيع قوالب أو إزالة عقد خاملة، فيجب إجراء التحويل لكل مخزن على حدة. يأتي الدمج بعد ذلك، وتتقدم العقدة المطابقة في <running> حيث يسمح التجاوز. وعند كل تغير في <system> يجب على الخادم تحديث <intended> والتحقق منه فوراً.

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

ويؤكد RFC 8342 أن <intended> يمثل ما يحاول النظام تطبيقه. قد تمنع موارد مفقودة أو تأخيرات محلية وصوله إلى <operational>. صحة الهدف ليست برهان التشغيل.

الإشعار دليل له حدود

يمكن نقل تغيرات النظام عبر اشتراكات RFC 8639 وYANG-Push في RFC 8641. لكن دعم on-change قد لا يشمل كل كائن أو تنفيذ. على المتلقي أن يعرف التغطية ويكتشف الانقطاع ويعيد المزامنة. غياب الرسائل لا يثبت غياب التغير.

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

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