الخلاصة

  • يتيح RFC 9899 إضافة أعضاء إلى defined set أو حذفهم من دون إعادة تعريف قاعدة ACL الأم؛ لذلك لا يثبت ثبات نص القاعدة ثبات نطاقها الفعلي.
  • يحتاج السجل القابل للدفاع إلى ربط التعديل المصرح به، والعضوية الكاملة، وحالتي intended وoperational لكل جهاز، ونقطة الربط، والعدادات، والنتيجة اللاحقة.

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

المشكلة لم تكن كذب القاعدة، بل الخلط بين المرجع والشيء المشار إليه.

يعرّف RFC 8519 ACL كسلسلة مرتبة من ACEs. تجمع كل ACE شروط المطابقة مع إجراءات مثل القبول أو الإسقاط أو الرفض أو العد أو التقييد. ولا يبدأ أثرها على الرزم إلا بعد تطبيق ACL على attachment point مناسب.

يوسع RFC 9899 النموذج بمجموعات مسماة لبادئات IPv4 وIPv6 والمنافذ والبروتوكولات وأنواع ICMP، وبـ aliases تجمع أكثر من معامل. ويضيف أسطحاً اختيارية لمطابقة payload وMPLS وVLAN وI-SID والـ fragments وTCP flags وإجراء rate-limit.

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

لذلك يجب أن يحفظ التاريخ الرسم البياني المحلول: ACL الأم، وترتيب ACEs، وكل أعضاء المجموعات والـ aliases، ومراجعات الوحدات، وقدرات الجهاز، والارتباط، ونقطة التطبيق. الاسم الثابت مؤشر، وليس صورة للمحتوى.

إذا تغيرت المجموعة عند 10:05، وردت استجابة نجاح عند 10:07، وطبّق جهاز التغيير عند 10:08 وآخر عند 10:13، فإن رزمة 10:10 لا تواجه سياسة واحدة. لم تتغير ACE، لكن حالتها المحلولة اختلفت بين الجهازين.

يفصل RFC 8342 بين <running> و<intended> و<operational>. intended هو ما يحاول النظام تطبيقه بعد التحويلات، ومقارنته بالجزء القابل للتهيئة من operational تكشف مقدار ما دخل الاستخدام. وقد توجد إعدادات inactive أو remnant أو متأخرة أو غير مطبقة بنجاح.

حالة المتحكم المرغوبة دليل مهم، لكنها ليست قراءة الجهاز. القوالب والقيم الافتراضية والـ features والـ augmentations قد تغيّر النتيجة. يجب أن تكون القراءة مرتبطة بجهاز وزمن.

استجابات الإدارة محدودة أيضاً. يعرّف RFC 6241 NETCONF <ok> كاستجابة لمعالجة RPC بلا خطأ أو تحذير وبلا بيانات معادة. ويستخدم RFC 8040 201 أو 204 لنجاح إنشاء مورد RESTCONF أو تعديله. كلاهما يثبت معاملة إدارية، لا مطابقة رزمة لاحقة ولا نتيجة خدمة.

ويعمل RFC 8341 في مستوى مستقل. يحدد NACM من يقرأ أو يكتب أو ينفذ محتوى YANG. يحمي RFC 9899 المجموعات الحساسة بـ nacm:default-deny-write لأن التعديل غير المصرح قد يسمح بما يجب منعه أو يمنع ما يجب السماح به. صلاحية التعديل ليست دليلاً على التنفيذ في data plane.

تقدم عدادات RFC 8519 دليلاً أقرب إلى التشغيل. تعرض matched-packets وmatched-octets لكل ACE، وأحياناً لكل interface. الزيادة تعني أن الجهاز نسب حركة إلى ACE، لكنها تحتاج إلى نطاق العد ووقت التصفير والساعة والـ attachment والمجموعة المحلولة. لا تسمي مشتركاً ولا تثبت نتيجة التطبيق.

الصفر قد يعني عدم وجود مطابقة، أو غياب الميزة، أو تصفير العداد، أو ضياع النافذة، أو سؤال الجهاز الخطأ، أو بقاء نسخة قديمة. لا تصبح الملاحظة السلبية حجة إلا إذا عُرفت حدود الرؤية.

في payload matching يحدد RFC 9899 offset وطولاً ونمطاً ثنائياً وoperator. تكون المطابقة حتمية للبيانات غير المشفرة، أما المشفرة فتتوقف الفاعلية على نمط ظاهر ثابت. قدرة النموذج على وصف شرط لا تخلق bytes ظاهرة في المرور.

يعطي RFC 7950 YANG 1.1 انضباطاً لتمثيل الإعداد والحالة وRPC والإشعارات. صحة الـ schema تثبت التمثيل؛ التطبيق والمطابقة والنتيجة حقائق لاحقة.

يبدأ السجل السليم بالمستخدم والجلسة المصادق عليهما، وقرار NACM، والطلب، والـ datastore، والاستجابة. ثم يجمد ACL وACEs والأعضاء والمراجعات والقدرات والأجهزة ونقاط الربط ولقطات intended/operational. تلحق بها العدادات مع reset epoch والسجلات وملاحظة packet/flow، ثم تسجل الخدمة نتيجتها بنفسها.

ويجب أن يعيد rollback الكيان المحلول كله. إعادة القاعدة الأم مع إبقاء المجموعة الجديدة ليست استرجاعاً. وإعادة المتحكم من دون إثبات operational لكل جهاز لا تغلق العملية.

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

السؤال التنفيذي الصحيح هو: ما السياسة الكاملة التي حلّها هذا الجهاز في ذلك الوقت، وما الحركة التي قال إنها طابقتها، وأي سجل مستقل يثبت ما حدث بعدها؟

Sources