الخلاصة

  • عرض في NANOG 98 وصف نقل منافذ TCP إلى سحابة على مراحل، مع استمرار الموقع القديم في إعلان عنوان الخدمة.
  • قال المتحدث إن الفريق نقل 3 آلاف منفذ خلال ستة أشهر، وتراجع مرتين بسبب مشكلات في التطبيق، ولم يفقد معاملة واحدة؛ RFC 8955 لا توحّد الإجراء redirect-nh الظاهر في العرض.

قد يبدو الترحيل تدريجياً على المخطط، لكن الجلسة النشطة لا تهتم بهذا الوصف؛ ما يهمها أن تصل الحزمة التالية إلى الخدمة نفسها. في NANOG 98، شرح مهندس البنية التحتية Hervé Hildenbrand خدمة يستخدم عملاؤها عنوان IP ثابتاً داخل البرنامج واتصال TCP مباشراً. لم يكن هناك سجل DNS لتغييره، ولا وكيل وسيط تتحمله الخدمة، ولا برمجيات ثابتة للعملاء يمكن تحديثها. نقل بادئة /32 دفعة واحدة كان سيحرك أكثر من 3 آلاف منفذ TCP معاً؛ وإعلانها من موقعين كان قد يقسم الجلسات النشطة.

كان الحل، وفق صفحة جلسة NANOG، إبقاء الحركة المعتادة على الموقع القديم وتحويل تركيبات مختارة من عنوان الوجهة والبروتوكول والمنفذ فقط. وتعرض الشرائح قواعد BGP FlowSpec تغيّر القفزة التالية إلى نقطة Anycast في سحابة جديدة، مع نقل الحركة بين الموقعين عبر MPLS. ينتقل المنفذ حين يصبح جاهزاً، وتبقى بقية المنافذ كما هي. وعند النهاية، تعلن الحافة الجديدة /32، وتسحبه الحافة القديمة، ثم تزال قواعد تحويل FlowSpec.

هذه إعادة توظيف ذكية لأداة اشتهرت بترشيح الحركة. لكن FlowSpec يصف مطابقة الحركة وتوزيع القواعد عبر BGP؛ ولا يعني وجود أمر توجيه موحد يعمل بالطريقة نفسها في كل مكان. تسمح RFC 8955 بمطابقة بادئة الوجهة والبروتوكول والمنافذ، لكنها تنص على تجاهل عنوان القفزة التالية في NLRI الخاص بـ FlowSpec. أما إجراء التحويل المعياري فيوجه الحركة إلى VRF عبر route target. وتعرض شرائح Hildenbrand إجراءً آخر باسم redirect-nh إلى عنوان Anycast. تسمح RFC بإجراءات إضافية قد توحدها مواصفة أخرى أو يحددها تنفيذ بعينه؛ لكنها لا تجعل تعديل القفزة التالية قابلاً للتشغيل البيني تلقائياً. ولا تكشف الشرائح اسم التنفيذ أو ترميز الإجراء على السلك.

إجراءات الحماية جزء من القصة. تشرح الشرائح قواعد معرفة في Git/Terraform، وخط CI/CD يتحقق من عناوين الوجهة ونطاقات المنافذ والقفزات التالية المصرح بها، ومرشحات صارمة في الموجهات ترفض الوجهات غير المعتمدة. قد تؤثر قاعدة خاطئة في الحركة بسرعة طبقة التحويل. التحقق قبل إدخال القاعدة، ثم تقييدها داخل الجهاز، يقلل فرصة أن تتحول هجرة محددة إلى مشكلة على مستوى العمود الفقري.

تقول الشرائح إن الفريق نقل 3 آلاف منفذ TCP في ستة أشهر، مع تقارب يقل عن ثانية، وتراجع مرتين بسبب مشكلات التطبيق، ومن دون خسارة معاملات. هذه أرقام الحالة التي قدمها المتحدث، وليست سجلاً خضع لتدقيق مستقل. العنوان 192.0.2.50 في الرسوم ضمن TEST-NET-1 المخصص للأمثلة في RFC 5737؛ و10.100.0.254 ضمن مجال العناوين الخاصة في RFC 1918. لم يكشف العرض اسم العميل أو عناوينه الفعلية.

النتيجة الأهم ليست أن FlowSpec يستطيع نقل خدمة. فقد قسم الفريق هوية مشتركة واحدة، عنوان IP، إلى قرارات تشغيلية أصغر، لكل منها شرط مطابقة واضح ووجهة مصرح بها وتغيير قابل للتراجع. أتاح ذلك حل مشكلات التطبيق حالة بحالة من دون تحويل كل مشكلة إلى تبديل شامل للشبكة. المصدر التفصيلي: شرائح هيرفيه هيلدنبراند في NANOG 98.