الخلاصة

  • للإعداد الصريح غير المأخوذ من قالب أعلى أولوية؛ والسلف الأقرب يتغلب على الأبعد؛ وفي العقدة نفسها يفوز أول قالب منطبق في القائمة المرتبة التي أرسلها العميل.
  • تتطلب إعادة إنتاج intended نسختين كاملتين ومتزامنتين من running وsystem، وتعريفات القوالب ومواضعها وترتيبها، ومطابقة مفاتيح I-Regexp، والتجاوزات الصريحة. ولا يثبت ذلك هوية العميل أو غياب السباق أو صحة NACM أو تقارب التشغيل.

قد يرى مراجع أمني شجرة إعداد صحيحة، ثم يفترض أن الصلاحيات التي أنشأتها صحيحة أيضاً. هذه القفزة هي موضع الخطر. فالمراجعة 03 من draft-tt-netmod-yang-config-templates تشرح بدقة كيف تُدمج القيم، لكنها لا تحدد من يحق له قراءة التعريفات أو تعديل بيانات التطبيق، ولا تثبت ما نُفذ على الجهاز.

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

يوضح مثال Ethernet اتجاه الترتيب: ethernet-interface base-interface. بالنسبة إلى المدخلات المطابقة، تفوز قيمة MTU 1500 من القالب الأول على 65536 من الثاني. إذن الأول المنطبق هو الأعلى أولوية. تحويل القائمة إلى مجموعة غير مرتبة، أو إعادة ترتيبها أثناء التخزين، يغيّر الإعداد نفسه.

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

النمط يحتاج إلى المفاتيح التي اختُبر عليها

تسمح المسودة بتعبير منتظم على مفتاح قائمة إذا كان نوعه المدمج string أو مشتقاً منه. وتستخدم I-Regexp في RFC 9485، وهي مجموعة فرعية محدودة صُممت لتحسين قابلية التشغيل البيني. لكن قصر القواعد لا يجعل نص النمط دليلاً كاملاً على العناصر المطابقة.

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

وقد يكون تعريف القالب جزئياً. ينبغي للخادم التحقق منه عندما يكون ذلك ممكناً، أما الناتج المدمج فيجب أن يطابق قيود YANG ذات الصلة. تعرض صفحة Datatracker حالياً صفراً من الأخطاء وصفراً من التحذيرات لفحص الوحدة المستخرجة ietf-config-template (revision 2026-07-03). هذا إيصال أداة لوثيقة، وليس تبنياً من NETMOD ولا اعتماداً من IETF ولا اختباراً لمنتج.

قراءة intended لا تكشف كل الأسباب

في NMDA تبقى صورة running مضغوطة: تعريفات وبيانات تطبيق وقيم صريحة. وتظهر نتيجة الوراثة والترتيب والتجاوز في intended. وإذا تغير قالب مطبق في running أو system فمن المفترض أن يتغير الإعداد المقصود.

لا يجوز حذف قالب لا يزال مستخدماً؛ تطلب المراجعة 03 رفض المحاولة بالوسم data-missing. يجب أولاً تحديث جميع المواضع المرجعية ثم حذف التعريف. غير أن هذا ترتيب منطقي، لا ضمان لذرية طلبات متعددة. قد يضيف عميل آخر مرجعاً بين الجرد والحذف. إثبات المعاملة أو القفل أو نافذة الصيانة يقع على التطبيق الفعلي.

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

شروط إعادة الإنتاج المستقلة

ينبغي تثبيت التجربة كاملة: المراجعة الدقيقة للمسودة والقواعد؛ هوية الخادم وأداة التوسيع؛ running وsystem كاملين من النقطة الزمنية نفسها؛ جميع التعريفات؛ مسارات التطبيق وعمق الأسلاف؛ القوائم المرتبة؛ دلالة I-Regexp والمفاتيح المرشحة؛ القيم الصريحة؛ ورقم إصدار أو علاقة زمنية تربط الأجزاء.

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

تقدم NETCONF وRESTCONF أدلة خاصة بالطلبات والموارد، لكنها لا تثبت الانتشار اللاحق. وتضع RFC 8341 صلاحيات NACM في سطح مستقل يجب اختباره لكل دور، بما في ذلك القراءة المرشحة. وتفصل RFC 8342 بين intended وoperational لأن قيود الموارد أو أخطاء التنفيذ قد تمنع التطبيق. وبعد ذلك تحتاج FIB والحزم وجودة الخدمة إلى مراقبين آخرين.

حالة الوثيقة بدقة

تحمل المراجعة 03 تاريخ 3 يوليو 2026، ويقول رأسها «Intended status: Standards Track». وفي حقل منفصل يصفها Datatracker بأنها مسودة إنترنت فردية نشطة، بلا stream وبلا intended RFC status، وحالتها I-D Exists. نقل الحقلين كما هما لا يعني تبني مجموعة عمل أو اعتماد IETF أو ضمان صدور RFC.

المصادر

المصادر الأولية: المراجعة 03، Datatracker، YANG Conf, RFC 7950، YANG Metadata, RFC 7952، NMDA, RFC 8342، NACM, RFC 8341، NETCONF, RFC 6241، RESTCONF, RFC 8040، I-Regexp, RFC 9485. التسلسل: سجل Datatracker. مصادر تأطير الحدود: المراجعة 20 من System Configuration، وLu Heng عن أولوية الشيفرة العاملة، والمواصفة الأولية الدنيا، وطبقات الواقع.