الخلاصة

  • تعرّف RFC 9830 طريقة حمل مرشحي SR Policy في BGP، أما التحقق الدلالي واختيار المرشح النشط وتثبيت الحالة فتبقى من اختصاص SRPM في العقدة الرأسية.
  • يفصل Distinguisher الإعلانات بعضها عن بعض، لكنه لا يحمل معنى الأولوية أو الإصدار أو الثقة أو التفويض.
  • ينبغي لسجل الإثبات أن يفصل بين الاستلام واختيار BGP والاستيراد بواسطة Route Target وصلاحية SRPM والمرشح النشط وBinding SID والتثبيت في FIB والمرور الفعلي للحزم.

اقتراعان لا اقتراع واحد

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

ترسم RFC 9830 الحد بوضوح. ينشئ BGP معلومات candidate path وينشرها. وعند العقدة الرأسية يسلّمها إلى Segment Routing Policy Module، أي SRPM. وقد تكون لدى الوحدة مرشحات أخرى مصدرها CLI أو NETCONF أو PCEP أو إعداد محلي. تتحقق الوحدة من دلالة مكونات السياسة، وتجمع المرشحين، وتختار واحدا نشطا، وتعالج Binding SID، وتبدأ عملية تثبيت الحالة في مستوى البيانات.

إذن هناك قراران مستقلان. يختار BGP أفضل مسار لـ NLRI معين وفق قواعده. ويختار SRPM المرشح النشط للسياسة المعرفة بثنائية Color وEndpoint وفق قواعد SR Policy. قد يفوز إعلان في BGP ثم يخسر أمام إعداد محلي ذي Preference أعلى. وقد يصل إلى SRPM ثم يفشل لأن مقطعا لا يمكن التحقق منه أو لأن Binding SID غير قابل للاستخدام.

لهذا لا يجوز تحويل عبارة “BGP best” إلى “policy active”. ولا يجوز القفز منها إلى “FIB installed” أو “traffic verified”. تنص المواصفة على أن BGP لا يثبت SR Policy Candidate Path بنفسه في مستوى البيانات. الوجود في جدول BGP إيصال نقل، لا إيصال تنفيذ.

يفصل Distinguisher السجلات ولا يشرحها

يتكون NLRI الخاص بـ SR Policy من Distinguisher وColor وEndpoint. يحدد Color وEndpoint مفتاح السياسة، بينما يسمح Distinguisher للمنشئ بأن يبقي عدة مرشحين للسياسة نفسها أو إعلانات موجهة إلى عقد رأسية مختلفة كسجلات منفصلة.

ثم تضع المواصفة قيدا حاسما: لا قيمة دلالية لـ Distinguisher. الرقم الأكبر ليس أحدث ولا أفضل. وثبات الرقم لا يثبت ثبات النية. ولا يحدد الحقل الخدمة أو صاحب الموافقة أو مستوى الثقة. سلطته تقف عند منع اختلاط سجلات NLRI.

لذلك يحتاج التحقيق إلى طبقات هوية مختلفة. يميز NLRI الإعلان. تجمع ثنائية Color–Endpoint المرشحين في سياسة. ويميز Protocol-Origin وDiscriminator مصادر المرشحين داخل SRPM. وتحدد معلومات originator المصدر البروتوكولي. أما سجل التغيير فيحدد السلطة البشرية التي أقرت الغرض. تحويل أي طبقة إلى هوية شاملة ينتج ربطا سهلا لكنه خاطئ.

يستعيد المستقبل أصل BGP بترتيب محدد قد يستخدم Route Origin Community ثم ORIGINATOR_ID ثم Router ID للنظير. يفيد ذلك بعد مرور الإعلان في route reflector، لكنه لا يثبت هوية مؤسسة ولا حقها في تغيير خدمة. قد يكون الجار ناقلا، والمتحكم منشئا، وصاحب التفويض شخصا أو جهة ثالثة.

ولا تحمل الأسماء الرمزية هذا العبء. إن Policy Name وCandidate Path Name اختياريان وقد يتعرضان للاقتطاع أثناء الإشارة. هما مفيدان للقراءة، لا كمفتاح ربط وحيد. تشابه اسمين قد يدمج سياستين، وتغيير الاسم قد يجعل سياسة واحدة تبدو كأنها سياستان.

يفحص BGP الظرف ويفحص SRPM المعنى

لا يعني الفصل أن BGP لا يتحقق من شيء. تحدد RFC 9830 SAFI 73، وأنواع AFI المسموحة، وطول NLRI، وصيغة Tunnel Encapsulation Attribute. رقم Tunnel Type الخاص بـ SR Policy هو 15. قد يجعل نوع خاطئ أو TLV مكرر على نحو غير مسموح أو بنية لازمة تالفة الإعلان غير صالح، ويطلق معالجة treat-as-withdraw.

تحاصر هذه المعالجة الضرر في المسار المتأثر بدلا من إسقاط الجلسة كلها. وهي تحمي الاستمرارية، لكنها لا تمنح شهادة دلالية للإعلان الذي اجتاز الفحص. تطلب المواصفة ألا يجري BGP التحقق الدلالي لحقول SR Policy الفردية، وألا يرفض UPDATE لمجرد ذلك الحكم. هذه مهمة SRPM.

يجب أن تحتفظ لغة الحوادث بمكان القرار. “سحب بسبب بنية BGP”، و“تجاهل sub-TLV”، و“لم يستورد لهذه العقدة”، و“رفضه SRPM دلاليا”، و“صالح لكنه لم يُختر”، و“مختار لكنه غائب عن FIB” حالات لها مالكون وطرق إصلاح مختلفة. جمعها تحت “policy invalid” يمحو السبب.

تضيف قابلية التوسع اختلافا بين الصور. ترسل البتات المحجوزة صفرا ثم تُتجاهل عند الاستقبال. ويمكن تجاهل الحقول غير المعروفة أو غير المناسبة وإزالتها. وفي بعض sub-TLVs التي يسمح منها بنسخة واحدة، يُعتد بالمثيل الأول فقط. لذلك قد تختلف بايتات المتحكم عما مرره reflector وعما تسلمه SRPM. كل حد يحتاج بصمة مستقلة.

Preference ليست تفضيل BGP

تتشابه أسماء عدة حقول لكنها لا تشارك القرار نفسه. تؤثر Preference في اختيار candidate path داخل SRPM، ولا تدخل في أفضل مسار BGP. تحدد Priority ترتيب إعادة حساب السياسات بعد تغير الطوبولوجيا، لا رتبة إعلان. ويوزع Weight الحركة بين قوائم مقاطع صالحة داخل المرشح المختار، ولا يثبت أن القائمة ثُبتت أو أن الحركة الفعلية وافقت النسبة.

إذا اختصر النظام الحقول الثلاثة في كلمة “أولوية”، عجز عن شرح الأثر. قد يؤدي تغيير Preference إلى تبديل المرشح النشط من دون أي حركة في جدول BGP. وقد يغير Priority ترتيب الاستجابة فقط. وقد يغير Weight توزيع الحركة من دون تغيير المرشح. لكل قيمة فاعل وقرار ونتيجة.

يحافظ Binding SID أيضا على سلطة محلية. بحسب العلامات ونوع مستوى البيانات، قد تتحقق العقدة من SID المعلن أو تقبله أو تخصصه بنفسها أو ترفضه. وقد يترك سلوك SRv6 معتما لتختاره العقدة. وتسمح شروط معينة بتجاوز محلي لقيم Traffic Class أو TTL أو Explicit NULL.

الإعلان إذن ليس أمرا مكتملا. مكوناته توصيات وبيانات بدرجات إلزام مختلفة. ينبغي للسجل أن يقول “وصل”، و“قُبل”، و“تجاوزه قرار محلي”، و“اختير”، و“ثُبت”، بدلا من وضع حالة واحدة للحمولة كلها.

الجمهور المقصود لا يثبت المسار النشط

قد ينشئ المتحكم جلسة مباشرة مع العقدة الرأسية في شبكة صغيرة. وفي النطاق الأكبر تمر الإعلانات عبر route reflectors أو عدة أنظمة مستقلة داخل نطاق SR موثوق. وتحدد Route Targets العقد الرأسية المقصودة.

الاستيراد بواسطة Route Target قرار جمهور. إنه يثبت أن السياسة المحلية اعتبرت الإعلان موجها إلى دور المستقبل، ولا يثبت أن SRPM قبله أو أنه هزم مرشح PCEP أو حصل على Binding SID صالح أو بلغ العتاد. قد يمنع Route Target ناقص مرشحا صحيحا من الوصول، وقد يكشف Target واسع السياسة لعقد لا ينبغي أن تراها.

المسألة أمنية كذلك. قد تكشف الإعلانات endpoints وعناوين عقد وSIDs وتصميما حساسا للمسارات. إعداد جلسة BGP لا يفوض تلقائيا كل address family وكل مستقبل. يلزم سجل مستقل للنطاق الموثوق ودور النظير وSAFI وRoute Targets وسياسة التصدير.

ولا ينبغي لـ route reflection أن يمحو المنشأ. قد يكون النظير المباشر reflector بينما يكون originator هو المتحكم. “استُلم من هذا الجار”، و“أنشأه هذا المتحكم”، و“وافق عليه هذا المسؤول” ثلاث وقائع مختلفة.

السحب يزيل مصدرا ولا يحدد ما توقف

عند سحب مسار BGP الخاص بـ SR Policy تختفي مساهمة مصدر واحد. قد يبقى في SRPM مرشح BGP آخر له Distinguisher مختلف، أو مرشح PCEP، أو إعداد محلي، أو بديل احتياطي. قد تظل السياسة النشطة كما هي، أو تتحول، أو تصبح غير صالحة، أو تختفي. لا يحدد withdraw النتيجة.

ويصح العكس. قد يصل أفضل مسار BGP جديد إلى SRPM من دون تغيير التمرير. ربما يخسر في Preference، أو يفشل مقطع في التحقق، أو يتعارض Binding SID، أو ترفضه سياسة محلية. عدد UPDATEs ليس عدد تغييرات الحركة.

تحتاج حجة الأثر إلى سلسلة أطول: UPDATE الخام وبصمته؛ نتيجة البنية؛ أفضل مسار للـ NLRI؛ قرار Route Target؛ أصل البروتوكول؛ نتيجة SRPM؛ لقطة مجموعة المرشحين؛ قرار المرشح النشط؛ حالة Binding SID؛ قوائم المقاطع والأوزان المثبتة؛ قراءة RIB وFIB؛ وحزم مرصودة على الطريق المتوقع. يلزم لكل حلقة وقت وجهاز وإصدار برمجي ورمز سبب.

المواصفة الدنيا تحفظ السلطة المحلية

توحّد RFC 9830 سطحا صعبا للتشغيل البيني: address family وNLRI والسمات وحقول المرشح والانتشار ومعالجة الأخطاء. تسمح هذه اللغة المشتركة لتطبيقات مستقلة بتبادل اقتراح. ولا يلزمها أن تصادر كل قرار محلي كي تكون مفيدة.

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

يبدأ اختبار عملي بمرشحين BGP لثنائية Color–Endpoint لهما Distinguishers مختلفان، ثم يضيف مرشحا أعلى Preference عبر PCEP أو الإعداد المحلي. راقب ما يحتفظ به BGP، وما يمرره SRPM، وما يرفضه، وأي مرشح ينشط، وأي Binding SID يصل إلى FIB، وأين تسير الحزم. اسحب كل مصدر منفردا. إذا لم يستطع نظام الرصد وصف التحولات إلا باسم “حالة BGP”، فقد أضاع حد السلطة الذي حفظته RFC 9830.

المصادر