الخلاصة

  • تفرض RFC 6996 إزالة أرقام AS المخصصة للاستخدام الخاص من AS_PATH، ومن AS4_PATH عند انطباقه، قبل الإعلان عالمياً عن بادئات نشأت عبرها. وهي تحدد نتيجة واجبة عند الحد العام، لا خوارزمية واحدة لكل المنصات.
  • حذف المجموعة الأولى فقط، أو حذف كل ظهور، أو الاستبدال، أو إبقاء رقم النظير، ينتج مسارات عامة مختلفة من المدخل نفسه. قد يقصّر الحذف المسار ويغيّر الاختيار، بينما يحافظ الاستبدال على العدد ويطوي هويات داخلية عدة في هوية عامة واحدة.
  • يجمع الإثبات الآمن بين السمات الخام، والمسار رباعي الثُمانيّات المعاد بناؤه، والسياسة ذات الإصدار لكل جار وAFI/SAFI، وAdj-RIB-Out، والاستقبال والقرار في المصب، وFIB، والحزم. المسار النظيف في مجمّع الطرق ليس سجلاً كاملاً للتاريخ.

لا يبدأ الاختبار من الحالة السهلة

لنفترض مزوّداً في مختبر اصطناعي يستخدم ASN 64497، المحجوز لأغراض التوثيق، بوصفه هوية حدودية تجريبية، ويستقبل بادئة اختبار من عميل عبر 65020 و65030 و4200000041. الرقم 64497 ليس هوية إنتاج عامة مخصّصة عالمياً. ويستقبل أيضاً نسخة مختلطة يوجد فيها ASN توثيقي غير خاص بين قيمتين خاصتين. الحالة الثانية مهمة لأن تطبيقات كثيرة تبدو متطابقة حين يكون المسار كله خاصاً، ثم تفترق عند أول قيمة غير خاصة.

يبدأ المنفذ الأول من الطرف الأيسر، فيحذف السلسلة الخاصة المتصلة ويتوقف عند أول ASN غير خاص في مسار المختبر التوثيقي. يحذف المنفذ الثاني، في وضع all، كل ظهور يقع ضمن المجالين الخاصين. ويستبدل المنفذ الثالث كل ظهور بالرقم التوثيقي 64497 الذي يستخدمه مزوّد المختبر. بعد ذلك يضيف كل موجّه رقمَه بالطريقة المعتادة في eBGP.

قد يبقى عند الجار الأول رقم خاص جاء بعد الرقم العام. ويرى الجار الثاني مساراً أقصر بعدة مواضع، فيفضّله على بديل لم يتغير فعلياً. ويرى الثالث 64497 مكرراً، كأنه prepend متعمد من المزوّد، فتتفاعل معه مرشحات أخرى. وقد تقبل نسخة قديمة الأمر لكنها لا تتعرف إلى 4200000041 في تمثيل AS4.

لا يعني ذلك التساهل مع تسرب الأرقام الخاصة. فالهوية غير الفريدة عالمياً يجب ألا تخرج كقفزة قابلة للإسناد العام. لكنه يعني أن اسم remove-private-as ليس وصفاً كاملاً للنتيجة. وحدة الإثبات هي التسلسل الدقيق الذي أنشأه الإصدار العامل لجار محدد وعائلة عناوين محددة.

«خاص» يحدد نطاق المعنى، لا درجة السرية

تخصص IANA المجالين 64512–65534 و4200000000–4294967294 للاستخدام الخاص. أما 64496–64511 فللتوثيق والأمثلة، والرقمان 65535 و4294967295 محجوزان على نحو منفصل وفق RFC 7300.

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

يحمل ASN الخاص معنى تشغيلياً حقيقياً داخل النطاق المصرح به. تعرض RFC 7938 بنى Clos في مراكز البيانات، حيث تميز الأرقام الخاصة الأوراق والعناقيد، وتخدم كشف الحلقات وتشخيص الأعطال، وقد يعاد استخدامها في عناقيد منفصلة. تصبح القيمة ملتبسة عندما تغادر السجل المحلي الذي يفسرها، لأن مؤسسة أخرى تستطيع استخدام الرقم نفسه لكيان آخر.

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

ما تثبته RFC 6996 وما تتركه محلياً

تطلب RFC 6996 إزالة الأرقام الخاصة قبل الإعلان إلى الإنترنت العالمي، وتذكر AS4_PATH صراحة، كما تسمح بالترشيح العادي لمنع خروج المسار أصلاً. الحد الأدنى المشترك واضح: لا تُعرض هوية محلية غير فريدة كما لو كانت قفزة عالمية قابلة للتفسير.

لكن الوثيقة لا تضع شاهداً في موضع العقدة المحذوفة، ولا تفاوض الجهة المستقبلة على نمط الإزالة، ولا توحد دلالات all وlimited وreplace وnearest أو استثناء النظير. وهي تحذر من تطبيقات كانت، وقت نشرها، لا تحذف شيئاً إذا خلط المسار أرقاماً عامة وخاصة.

هذه مواصفة ابتدائية دنيا نافعة: تثبت الثابت المطلوب عند الحد المشترك، وتترك تطور التنفيذ محلياً. غير أن الحرية المحلية تتطلب تسمية القرار وإصدارَه واختبارَه. نص الإعداد يعلن النية؛ الشفرة العاملة وAdj-RIB-Out يثبتان الفعل.

AS_PATH مدخل قرار وسجل دليل

تعرّف RFC 4271 ‏AS_PATH كسمة إلزامية مع AS_SEQUENCE مرتبة وAS_SET. يضيف المتحدث الخارجي عادة رقمَه، ويبحث المستقبل عن رقمه هو لكشف الحلقة، ويستخدم كثير من التطبيقات طول المسار في اختيار الأفضل. كما تطابق السياسات تسلسلات معينة.

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

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

هناك أيضاً قيمة خاصة تساوي ASN الخاص بالنظير. إبقاؤها يسمح للنظير برؤية نفسه ورفض الحلقة. يكشف Junos خيار no-peer-loop-check، ويكشف Nokia ‏skip-peer-as. إلغاء الاستثناء ليس تنظيفاً أشمل وحسب؛ إنه إزالة لإشارة حماية بعينها.

السؤال السليم هو: أي خصائص للاختيار والحلقة والإسناد يجب أن تبقى بعدما تزال الهويات الملتبسة عالمياً؟

الأفعال المتشابهة لا تعني خوارزميات متشابهة

توثق Cisco فاصلاً بين سلوك أقدم لا يعالج المسارات المختلطة وأنماط أحدث تحذف القيم الخاصة حتى بين القيم العامة. يستبدل all replace-as القيم برقم AS المحلي. وقد تطبق الميزة لكل عائلة عناوين، فيحمل IPv4 تاريخاً مختلفاً عن IPv6 للجار نفسه.

يبدأ Junos عادة من الطرف الأيسر ويتوقف عند أول ASN عام أو قيمة خاصة تساوي رقم النظير. يوسع all النطاق، بينما يغير replace وnearest مصدر البديل بحسب القواعد الموثقة. وتكون مقاطع الاتحاد الكونفدرالي قد عولجت قبل ذلك.

يفصل Nokia SR OS بين limited وskip-peer-as وreplace، ويختار البديل وفق local-as أو AS الموجّه أو سياق الكونفدرالية، وينفذ الإزالة قبل as-override. ويميز Arista بين الإبقاء والحذف والاستبدال مع قيد موثق للمسارات المختلطة.

لا تكفي خانة «مدعوم». تحتاج البيئة المختلطة إلى مصفوفة دلالية تشمل المنصة والإصدار، والمجالات المعروفة، والحذف الأولي أو الكلي، والمسار المختلط، واستثناء النظير، وقيمة البديل، والترتيب مع الكونفدرالية وoverride، ومعالجة AS4، وAFI/SAFI، والمشاهدات المتاحة.

يمكن تنظيف AS_PATH وترك AS4_PATH

عند تفاعل متحدثي BGP القدماء والجدد قد تتوزع معلومات المسار بين AS_PATH وAS4_PATH. تحدد RFC 6793 طريقة إعادة البناء وتذكر حالات لا يكتمل فيها. لذلك فإن ذكر RFC 6996 للسِمتين ذو أثر عملي.

قد يحذف تطبيق جزئي 65020 من AS_PATH الظاهر ويبقي 4200000041 في AS4_PATH. وقد يعرض أمرٌ المسار المعاد بناؤه فقط، فيما يعرض آخر مكوناً خاماً واحداً. يجب حفظ ثلاثة مناظير: AS_PATH الخام، وAS4_PATH الخام، والمسار الفعلي المعاد بناؤه؛ قبل السياسة، وبعد التحويل، وعند مستقبل قادر على أربعة ثُمانيّات.

ليس AS_TRANS رقماً خاصاً، بل قيمة محجوزة لآلية الانتقال. حذفه بمطابق واسع يفسد إعادة البناء بدلاً من تحسين النظافة العامة.

الكونفدرالية تمارس سلطة إزالة أخرى

تستخدم الكونفدراليات AS_CONFED_SEQUENCE وAS_CONFED_SET لعرض بنية Member-AS داخلياً، وتعرض معرف الكونفدرالية خارجياً وفق RFC 5065. يكثر استخدام الأرقام الخاصة للأعضاء، لكن المفهومين مستقلان.

إذا اختفت مقاطع الكونفدرالية قبل remove-private، فلن ترى الخوارزمية المدخل الذي أظهره الفحص المبكر. يجب أن يميز سجل الدليل بين قيمة أزيلت بسبب حد الكونفدرالية، وقيمة حذفت لأنها من فئة Private Use، وموضع استبدلته سياسة التصدير. كلمة «منقّى» لا تحفظ السببية.

إعادة الاستخدام تنقل مشكلة الحلقة

قد تعيد عناقيد منفصلة استخدام أرقام الأوراق نفسها. وعندما تصلها عملية اندماج أو تعافٍ من كارثة أو عمود فقري مؤقت، قد يستقبل موجّه رقمَه الخاص من كيان مادي مختلف ويرفض مساراً سليماً على أنه حلقة.

تستخدم بعض التصاميم allowas-in. تناقش RFC 7938 هذه الممارسة وتشير إلى أنها غير موحدة معيارياً. قد تكون منطقية مع حدود طوبولوجية أخرى، لكنها تعني أن قاعدة «ظهور رقمي يثبت الحلقة» لم تعد برهاناً كاملاً.

لا يصلح حذف الرقم عند المخرج العام التصادم الداخلي؛ بل يخفيه عن الخارج. واستبدال الجميع بالرقم العام يصنع شكلاً آخر من التكرار. يجب جرد إعادة الاستخدام قبل وصل النطاقات.

المجمّع يرى إسقاطاً، لا سلسلة منشأ كاملة

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

تذكر RFC 6996 أن التعرف إلى المصدر قد يتطلب الرجوع إلى AS المجاور الفريد عالمياً أو فحص سمات أخرى. يرث المزوّد بذلك واجب الدليل. يجب أن يعيد كل إعلان منقّى إلى علاقة العميل والجلسة الواردة والمسار الخام وحقبة السياسة.

يضم السجل الأدنى البادئة، وAFI/SAFI، والنظير المصدر، ونوع العلاقة، وAS_PATH وAS4_PATH الخامين، وإعادة البناء، وإصدار تصنيف IANA، والسياسة وإصدار البرمجية، والنطاق المطابق، ونتيجة استثناء النظير، والبديل، والمسار بعد السياسة، والـprepend المحلي. ثم يربط Adj-RIB-Out لكل جار، وAdj-RIB-In في المصب، وسبب best path، وnext hop في FIB، والحزم.

وهكذا تُفصل أسئلة: هل الاستخدام الداخلي مصرح؟ هل بلغ الحد الصحيح؟ أي تحويل نُفذ؟ هل امتثلت كل المخارج؟ هل تغير الاختيار؟ من يتحمل مسؤولية المنشأ المخفي؟ وهل تحركت خدمة البيانات؟

اختبر الحالات التي تفرّق المنصات

لا يكفي مسار كله خاص. تشمل المصفوفة: مجموعة خاصة قبل ASN عام؛ قيمة خاصة بعد العام؛ قيماً مكررة؛ رقم النظير؛ قيمة من كل مجال خاص؛ ASN للتوثيق؛ AS_TRANS؛ مقاطع قرب الكونفدرالية؛ وAS4_PATH يمر عبر متحدث قديم.

يكتب لكل مدخل التسلسل المتوقع بدقة في الحذف المحدود والكلي والاستبدال. إذا لم يعرف الإصدار قيمة أربعة ثُمانيّات، يتوقف النشر. ويثبت استثناء النظير بمسار يبقى مرفوضاً كحلقة وآخر استثني بموافقة صريحة.

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

يشمل التراجع إعادة الإعلان. حذف الإعداد لا يثبت أن Adj-RIB-In البعيدة استبدلت الإسقاط السابق. تنفذ إعادة تقييم محدودة أو route refresh أو إجراء جلسة مناسب، ثم يتحقق المسار الدقيق والمرشحون وFIB والحزم.

المصادر