الخلاصة

  • سمّت RFC 1266 ثلاثة تطبيقات مستقلة لـBGP، وفصلت بين مجموع بلغ 56 موجهاً في سبعة أنظمة مستقلة وبين 49 موجهاً في ستة أنظمة كانت ضمن الإنترنت التشغيلي.
  • كان أكثر من 2,000 شبكة وتنوع السرعات والعتاد والطوبولوجيا دليلاً على بيئة BGP-3 الموصوفة عام 1991، لا إحصاءً للإنترنت كله ولا وعداً بسعة مستقبلية.
  • ربط التقرير في CA*Net بين الازدحام وإسقاط حزم التحكم وبطء التقارب، واقترح معاملة تفضيلية محلية، ثم نص صراحة على أن هذه البنية شديدة الإجهاد ليست الحالة الطبيعية.

السبب يسبق العلاج

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

هذه ليست ثلاث صيغ لوصف عطل واحد، بل ثلاث طبقات متتابعة: حمل يفوق ما تتحمله الوصلة، قرار إسقاط داخل الموجه، ثم تأخر في وصول حالة التوجيه واستقرارها. لذلك جادلت RFC 1266 بأن استبدال TCP لن يمنع الموجه المزدحم من إسقاط الحزم. كان TCP يعيد الإرسال، لكنه لم يصنع الحمل الأصلي ولم يكن يملك سياسة الطابور.

حدد التقرير سطحين للتدخل. الأول هو تخفيف الازدحام، وهو خارج سيطرة BGP نفسه. والثاني خفض نسبة حزم BGP التي تُسقط، بتمييزها ومنحها أولوية في الموجه. اقترح النص أسبقية IP أو منفذ TCP أو عنواني المصدر والوجهة وسائل للتصنيف، واستخدمت CA*Net العناوين.

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

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

لم يكن الرقم 56 مقاماً واحداً

كُتبت RFC 1266 لتوثيق استيفاء BGP متطلبات التقدم إلى مرحلة Draft Standard في ذلك الوقت. وهي وثيقة معلوماتية لا تحدد معياراً للإنترنت. قوتها أنها لم تكتف بعبارة «اختُبر البروتوكول»، بل أعطت القارئ مكونات الإيصال.

أحصت عشرة موجهات في CA*Net، وعشرين في العمود الفقري T1 NSFNET، وخمسة عشر في العمود الفقري T3 NSFNET، وسبعة في شبكة اختبار T3 NSFNET، واثنين في CICNET، وواحداً في MERIT وواحداً في PSC. كان المجموع 56 موجهاً حدودياً في سبعة أنظمة مستقلة.

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

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

الاستقلال كان أصلاً برمجياً لا اسماً تجارياً

سمّى التقرير ثلاثة تطبيقات وصفها بأنها مستقلة تماماً ومتوافقة في العمل: تطبيق cisco لنظام موجهاتها، وبرنامج gated المتاح في الملك العام على أنظمة تشغيل متعددة، وتطبيق NSFNET/IBM المستخدم في عمودي T1 وT3 الفقريين. تطلب كل تطبيق تطويراً منفصلاً لبيئة تشغيل مختلفة.

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

امتد التنوع أيضاً إلى الوصلات، من 56 كيلوبت في الثانية إلى 45 ميغابت في الثانية؛ وإلى الحواسيب، من PC/RT إلى RS/6000؛ وإلى موجهات مخصصة ومحطات Unix؛ وإلى حلقات وأشجار متناثرة وأعمدة فقرية كثيفة. وحمل BGP مجموعة مسارات خارجية تتجاوز 2,000 شبكة.

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

عبارة «عمل البروتوكول» تخفي سجلات متعددة

توضح RFC 1164 جانب التنفيذ الذي يقع خلف تقرير الخبرة. TCP تيار من البايتات، وقد تعيد عملية قراءة جزءاً فقط من رسالة BGP. على التطبيق أن يتحقق من الرأس والطول، ويحتفظ بالجزء الناقص حتى تكتمل الرسالة، وألا يعلق عملية التوجيه.

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

تصف RFC 1267 عقد BGP-3 نفسه: عند فتح الاتصال تُرسل الحالة الكاملة، وبعدها تُرسل التغييرات فقط. لا توجد دورة دورية كاملة تصلح اختلافاً صامتاً. لهذا ترتبط سلامة الحالة بتاريخ الاتصال؛ وعند فشله يعود النظيران إلى حالة Idle ويعيدان بناء العلاقة.

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

المقياس المعاصر له تاريخ انتهاء

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

هذه خبرة معتبرة لأن الحدود مسماة: الأنظمة، أعداد الموجهات، فئات السرعة والطوبولوجيا وحجم جدول المسارات. وأحال التقرير إلى عروض في وقائع الاجتماع العشرين لـIETF للحصول على تفاصيل قياسات CA*Net وNSFNET. لكن الإحالة لا تمنح الكاتب لاحقاً عينات خام أو هوامش خطأ أو نسب انتشار لم تنقلها الوثيقة.

وكذلك فإن «أكثر من 2,000 شبكة» ملاحظة عن مجموعة المسارات آنذاك. لا تثبت شيئاً بذاتها عن جداول BGP-4 أو السمات اللاحقة أو سياسات اليوم أو مطابقة منتج حالي. الرقم المنزوع من الإصدار والزمن يتحول من دليل إلى زينة.

الحالة القصوى حملت تحذيرها معها

كانت CA*Net تمنح تقارب BGP أهمية غير معتادة لأنها لم تحمل معلومات المسارات الخارجية داخل بروتوكول البوابة الداخلي. أصبحت معلومات BGP مدخلاً للتوجيه داخل الحلقة نفسها. لهذا وصف التقرير الترتيب بأنه حالة إجهاد قصوى، وقال إن نتائجها لا ينبغي أن تُعامل بوصفها الحالة الطبيعية؛ ففي تصميمات أكثر اعتياداً تُحمل معلومات المسارات الخارجية عبر IGP.

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

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

المصادر وحدود الاستدلال

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