يُعد بروتوكول بوابة الحدود (BGP) بروتوكول التوجيه الفعلي للإنترنت. يوفر هذا البروتوكول آليات مدمجة تسمح للكيانات، التي تمثلها الأنظمة الذاتية (ASes)، بالتعبير عن الكيفية التي ترغب بها في إرسال واستقبال حركة المرور على الإنترنت. إحدى هذه الآليات هي سمات المسار، التي تحمل معلومات التوجيه والبيانات التعريفية الأساسية للمسار المرتبط بها. تقوم خوارزمية اختيار المسار بمعالجة بعض سمات المسار هذه في تسلسل حتمي لحساب أفضل مسار لبادئة محددة.
باستخدام موقعنا الفريد على الإنترنت، ألقينا نظرة استقصائية على إحدى السمات الإلزامية المعروفة في BGP، وهي ORIGIN (الأصل). يجب أن تكون سمة ORIGIN موجودة في كل إعلان بادئة BGP، ويجب عدم تعديلها بواسطة أي جهاز توجيه بعد ضبطها بواسطة جهاز التوجيه الأصلي. ما وجدناه من خلال تجاربنا الخاصة كان مذهلاً؛ فقد تبين أن حوالي 70% من المسارات التي تمت ملاحظتها في العديد من النقاط المميزة تحمل قيمة ORIGIN مختلفة مقارنة بما تم تعيينه بواسطة النظام الذاتي الأصلي. إن معالجة سمة ORIGIN لها تأثير كبير على طريقة إعادة توجيه حركة المرور على الإنترنت، وهو ما سنستكشفه في هذا المقال.
BGP ORIGIN وتاريخه التشغيلي
تشير سمة ORIGIN إلى كيف تم إدخال المسار في BGP، ويجب عدم الخلط بينها وبين النظام الذاتي الأصلي الذي يشير إلى أيّ نظام ذاتي أعلن عن المسار. لديها ثلاث قيم محتملة:
- IGP (بروتوكول البوابة الداخلية): يشير إلى أن المسار موجود داخل النظام الذاتي الأصلي.
- EGP (بروتوكول البوابة الخارجية): قيمة تاريخية تشير إلى أن المسار تم تعلمه عن طريق بروتوكول البوابة الخارجية القديم، وهو أمر عفا عليه الزمن وليس المقصود استخدامه في الإنترنت الحديث.
- غير مكتمل: يشير إلى أنه تم تعلم المسار عبر مصدر غير معروف أو خارجي.
من بين إجمالي المسارات التي يمكن ملاحظتها من جميع جامعي BGP العامين مثل RIPE RIS و RouteViews، تم ضبط ORIGIN على IGP بنسبة 89.8%، وEGP بنسبة 3.5%، وغير مكتمل بنسبة 6.7%. وكما هو مذكور أعلاه، من المفترض أن يكون EGP مهجورًا بالكامل، ويحمل الخيار غير المكتمل حصة أقلية من إجمالي المسارات. تشير هذه الأرقام إلى أنه على الرغم من أن IGP هي القيمة الأكثر شيوعًا لـ ORIGIN، فإن أكثر من 10% من المسارات تحمل قيمة EGP أو غير مكتمل، مما قد يحدث فرقًا في قرارات التوجيه.
كجزء من عملية اختيار مسار BGP، يقوم جهاز التوجيه بتقييم ORIGIN إذا كان هناك مساران لهما نفس التفضيل المحلي وطول AS_PATH، ثم يحدد ويثبت المسار ذو قيمة ORIGIN الأقل.
وبصرف النظر عن قرار اختيار المسار، ينص RFC4271 على ما يلي حول ORIGIN:
تنشأ سمة ORIGIN بواسطة المتحدث الذي ينشئ معلومات التوجيه المرتبطة. يجب ألا يتم تغيير قيمتها بواسطة أي متحدث آخر.
على الرغم من أن التوجيهات لا تقصد تعديل سمة ORIGIN، نظرًا لتقييمها المبكر في عملية اختيار المسار، فقد قدمت هذه السمة خيارًا جذابًا للأنظمة الذاتية (ASes) لتغيير تفضيلات المسار وتحويل حركة المرور إما عبر شبكاتها أو بعيدًا عنها.
على سبيل المثال، إذا أعلن AS64501 عن بادئة مع تعيين ORIGIN على غير مكتمل ونشر هذا الإعلان لعملائه AS64502 وAS64503. عادةً، يجب على كليهما إضافة AS الخاص بهما في AS_PATH وإعادة توجيه الإعلان إلى عميلهما المشترك AS64504، مع الحفاظ على القيمة غير المكتملة. ومع ذلك، لزيادة احتمالية اختيار مسارهم على مسار المنافسين، يقوم AS64503 بتعديل ORIGIN إلى IGP. ونتيجة لذلك، يتلقى AS64504 مسارين للبادئة بأطوال AS_PATH متساوية، لكن المسار من AS64503 يحمل قيمة IGP المفضلة. ومن ثم، سيحدد AS64504 المسار عبر AS64503 لإرسال حركة المرور إلى AS64501، مما يؤدي إلى زيادة حركة المرور والإيرادات لذلك المزود. هذا التغيير البسيط، إلى ORIGIN غير دقيق ولكنه أكثر تفضيلاً، يسمح لموفر النقل بجذب حركة المرور والأرباح.
لقد قبل مجتمع مشغلي الشبكات بصمت حقيقة أن مقدمي خدمات النقل قد أعادوا كتابة سمة ORIGIN إلى IGP من أجل جذب المزيد من حركة المرور إلى روابطهم. ومع ذلك، كان جيمس بنسلي في اجتماع RIPE 91 أول من سلط الضوء على الاعتماد الواسع النطاق لتقنية التلاعب هذه من قبل الشبكات الكبرى. كما أظهر عرض متابعة قدمته سيلسا سانشيز في اجتماع LACNIC 45 تحقيقًا في تأثير هذا السلوك في منطقة LACNIC (أمريكا اللاتينية ومنطقة البحر الكاريبي). في حين أن الكشف العلني يجب أن يثبط هذه الممارسة، فإنه يسلط الضوء على حقيقة أن اختيار المسار هو سباق تسلح مدفوع بالإيرادات. وبدلاً من انتظار المنافسين لاستئناف الامتثال لـ RFC، من المرجح أن يلجأ مشغلو الشبكات بسرعة إلى إعادة كتابة ORIGIN ببساطة لتحقيق تكافؤ الفرص.
أدى هذا التعامل غير المتسق بشكل متزايد مع ORIGIN عبر الإنترنت إلى إنشاء مشروع إنترنت منتهي الصلاحية الآن، أوصى بإهمالها. وللكشف عن حجم هذه الظاهرة وتتبع الجهات الفاعلة فيها ونواياها، أجرينا تجاربنا الخاصة ونشارك النتائج في القسم التالي.
تحليل التلاعب في سمة الأصل
في تجربتنا، أعلنا عن ثلاث بادئات IPv4 وثلاث بادئات IPv6، لكل منها قيمة ORIGIN مختلفة (IGP/EGP/INCOMPLETE) من جميع مواقعنا النظيرة باستخدام تقنية BGP Anycast. بعد تأكيد الانتشار العالمي، قمنا لاحقًا بسحب البادئات لتشغيل عملية صيد المسار، مما يكشف عن المزيد من المسارات لبادئات الاختبار، ويمنحنا المزيد من الفرص لاكتشاف الأصول المتغيرة. استخدمنا مجموعة أدوات BGPKIT لتحليل رسائل التحديث من مجموعة أدوات التوجيه متعدد الخيوط (MRT) ومقالب جميع جامعي BGP العامة من RIPE RIS و RouteViews، بالإضافة إلى بيانات BMP المحلية التي نجمعها من أجهزة التوجيه الحدودية لدينا. لاحظ أننا اخترنا تحليل التحديثات بدلاً من عمليات تفريغ قاعدة معلومات التوجيه (RIB)، وهي عبارة عن لقطات من جداول التوجيه الخاصة بالأنظمة الذاتية النظيرة، لاسترداد أكبر عدد ممكن من المسارات أثناء مرحلة الإعلان والانسحاب.
الصعوبة الأساسية لتحليل BGP هي قلة الرؤية داخل جميع الأنظمة الذاتية على الإنترنت لإعلان توجيه واحد. وقد اتسعت هذه الفجوة مع تسطيح الإنترنت في العصر الحديث، مدفوعًا بوحدات التوسعة الفائقة وشبكات CDN التي تتجاوز طرق النقل التقليدية لصالح التناظر المحلي المباشر. وبالتالي، فإن المراقبين العامين يفتقدون جزءًا كبيرًا من طوبولوجيا BGP لبادئة معينة، مما يعني أن الاستنتاجات حول خصائص النظام الذاتي تحمل دائمًا عدم اليقين المتأصل.
البحث عن أدوات إعادة كتابة ORIGIN في قفزتين AS_PATHs
أولاً، ركزنا على مسارات AS_PATH التي تحتوي على نظامين ذاتيين فقط: ASx AS13335، حيث نتصل ASx بنظير مباشر. نظرًا لأننا قمنا بتكوين أجهزة التوجيه الخاصة بنا لنشر إعلاناتنا بأصل محدد، فإننا واثقون من أنه إذا لاحظنا أصلًا مختلفًا، فإن ASx يجب أن يكون قد غيره إلى قيمته الجديدة. بالنسبة لاتصالات IPv4 المباشرة البالغ عددها 352، لاحظنا عدة أمور مثيرة للاهتمام. ثلاث أنظمة ذاتية قامت بتغيير ORIGIN إلى EGP، وأربع أنظمة ذاتية قامت بتغييره إلى غير مكتمل، بغض النظر عن قيمته الأصلية، مما يعني أنها تحاول على الأرجح تقليل أولويات هذه المسارات. كما أن ثلاثة أنظمة ذاتية، بالنسبة للبادئات غير IGP، تنشر المسارات بكل من القيمة الأصلية وIGP، مما يشير إلى تلقي مساراتنا في مواقع نظير متعددة وتحديث ORIGIN إلى IGP، لإعادة توجيه حركة المرور عبر نقطة مفضلة. بدمج هذه الأنظمة الذاتية مع تلك التي تعيد الكتابة باستمرار إلى IGP، اكتشفنا أن ما يقرب من 10% من النظراء المباشرين يغيرون سمة ORIGIN إلى IGP.
في اختبار IPv6، توقعنا نتائج مماثلة. بالنسبة للاتصالات المباشرة البالغ عددها 315 لـ IPv6، لاحظنا أن اثنين من الأقران المباشرين يغيرون ORIGIN إلى IGP فقط لبادئات IPv4 وليس IPv6، مما يعني وجود تكوينات مختلفة لعائلتي العناوين.
بتضييق تحليلنا إلى الأنظمة الذاتية من الفئة الأولى (Tier-1 AS)، يبدو أن ستة من أصل 16 تتعامل مع قيمة ORIGIN لـ IGP، مما يطابق نتائج الدراسة السابقة. من خلال التحقيق اليدوي، وجدنا أن إحدى شبكات المستوى 1 تغير قيمة ORIGIN إلى IGP للمسارات المستفادة من النظراء، بينما تحتفظ بها لمسارات العملاء. يعكس هذا النمط السلوكي عبر العديد من شبكات المستوى 1 الرغبة في جذب أكبر قدر من حركة المرور وإلغاء ميزة معدِّلات ORIGIN الأخرى.
تحديد معيدي الكتابة في AS_PATHs الأطول
بناءً على هذه النتائج الأولية، قمنا بتوسيع منهجيتنا لمعالجة المسارات الأطول واستنتاج سلوك المزيد من الأنظمة الذاتية. باختصار، تعمل الخوارزمية لدينا على النحو التالي:
- نبدأ بمجموعة موثوق بها (ت) تحتوي على AS13335 وجميع الأنظمة الذاتية التي تحافظ على قيمة ORIGIN.
- لكل AS_PATH، نقوم بتصفية جميع الأنظمة الذاتية الموجودة في (ت). إذا بقي نظام ذاتي واحد فقط، يمكننا أن ننسب ORIGIN إلى ذلك النظام ونسجل العلاقة (النظام الذاتي ← الأصل/الأصول).
- لكل زوج (النظام الذاتي ← الأصل/الأصول)، إذا كان الأصل مطابقًا للقيمة الأصلية المعلنة، نضيف النظام الذاتي إلى (ت). بخلاف ذلك، نضيف النظام الذاتي إلى مجموعة (م) للمحدّدات.
- إذا تم تحديث (ت) في الخطوة السابقة، نكرر الإجراء من الخطوة الثانية.
عند تطبيقها على مسارات بادئات IPv4 وIPv6 الخاصة بنا والتي نشأت بقيمتي EGP وINCOMPLETE، تزيد هذه المنهجية إسناد الأنظمة الذاتية لدينا إلى 606 من أصل 802 (75.6%) من الأنظمة الذاتية المرئية في AS_PATHs، منها 64 (10.6%) تقوم بتغيير ORIGIN إلى IGP. بدافع من اعتماد الطبقة الأولى لهذه التقنية، قمنا بدراسة أهمية استخدام الأنظمة الذاتية المنسوبة باستخدام تصنيف AS الخاص بـ CAIDA. يوفر هذا التصنيف ترتيبًا للأنظمة الذاتية استنادًا إلى مخروط عملائها. نلاحظ أن الأنظمة الذاتية التي تعيد كتابة IGP تتركز بشكل كبير في الجزء العلوي من التسلسل الهرمي للأنظمة الذاتية، مع وجود 20.3% من الأنظمة الذاتية التي تعيد الكتابة في أعلى 50 نظامًا ذاتيًا تصنيفًا.
تأثير إعادة كتابة ASes الكبيرة ORIGIN
بشكل عام، يتلاعب 26% من أفضل 50 نظامًا ذاتيًا و20% من أفضل 100 نظام ذاتي بسمة ORIGIN، مما يسلط الضوء على أنه على الرغم من النسبة المئوية المنخفضة إجمالاً، فإن الأنظمة الذاتية التي تعيد تعيين ORIGIN هي محورية ومؤثرة للغاية على الإنترنت.
تم تعزيز التأثير بشكل أكبر من خلال اكتشاف أن 70% من مسارات IPv4 AS_PATH الفريدة و67% من مسارات IPv6 AS_PATH التي تمت ملاحظتها في التجربة قد تمت إعادة تعيين ORIGIN فيها إلى IGP. لقد درسنا أيضًا التغييرات المفروضة على اختيار أفضل مسار من خلال دمج تحديثات BGP لحساب حالة جدول التوجيه النشط المتقارب لكل نظام ذاتي نظير. استخدمنا إعلان البادئة مع تعيين ORIGIN على IGP كـ مجموعة تحكم لمقارنة مسارات AS_PATH التي تمت ملاحظتها مقابل إعلاناتنا بقيمتي EGP وINCOMPLETE. عند القيام بذلك، وجدنا في IPv4 أن 110 مسارات AS_PATH من إجمالي 539 (20%) اجتازت شبكات المستوى 1، وأن إعادة تعيين ORIGIN إلى IGP تؤمّن لمعيدي كتابة ORIGIN 12 مسارًا إضافيًا (بزيادة قدرها 18%) والتي قد تمر عبر الشبكات التي تحافظ على ORIGIN. ويكون التأثير أقوى في IPv6، حيث اكتسب القائمون على إعادة الكتابة 33 مسارًا إضافيًا (40%). يتضمن ذلك 11 مسارًا لم تجتاز مجموعة التحكم الخاصة بنا أي شبكة من المستوى الأول. وهذا يسلط الضوء على إعادة توجيه حركة المرور نحو مزودي خدمة الإنترنت الكبار من المستوى الأول عندما تم التلاعب بالأصل، مما أدى إلى تحويل حركة المرور بعيدًا عن مزودي خدمة الإنترنت البديلين.
كما ترون، يتأثر توجيه الإنترنت بشكل كبير بمعالجة سمة ORIGIN. في تجاربنا، يمكننا بسهولة ملاحظة التأثيرات على اختيار مسار BGP وإظهار كيف أن إعادة كتابة ORIGIN هي وسيلة لامتصاص حركة المرور وتحقيق الإيرادات. لا يوجد سبب فني صالح للمطالبة بإعادة كتابة سمة ORIGIN، ويمكننا أن نرى أنه ليس من المنطقي الاعتماد على ORIGIN كعامل دافع في تحديد المسارات التي يجب اتباعها.
إهمال سمة ORIGIN
ونظرًا للنتائج التي توصلنا إليها بشأن التلاعب بـ ORIGIN على نطاق واسع، علينا أن نسأل أنفسنا ما إذا كانت هذه السمة لها دور مهم على الإطلاق في الإنترنت الحديث. نعتقد أن الجواب هو لا.
تؤدي المعالجة غير المتسقة لـ ORIGIN إلى عدم العدالة بين الشبكات التي تغيرها بشكل انتهازي والشبكات المتوافقة مع RFC. بينما الإهمال الفوري لسمة إلزامية في BGP سيكون غير ممكن، كان هناك بالفعل عمل مقترح في IETF لجعل سمة ORIGIN أقل أهمية في اختيار مسار BGP. نعتقد أن تطبيقات BGP (البائع) المطلوبة لتعيين ORIGIN كـ IGP قيد التشغيل على جميع الطرق المستلمة والمعلن عنها نقطة انطلاق معقولة. لقد تم تعيين IGP بالفعل على أنه ORIGIN في الغالبية العظمى من المسارات.
نريد إحياء هذه المحادثات في المجتمع وفي IETF حول سمة ORIGIN ومستقبلها (أو عدم وجودها) على الإنترنت. قد يشمل ذلك تجديد المسودة منتهية الصلاحية Scrubbing BGP ORIGIN Attribute، أو قد تتضمن نهجًا جديدًا تمامًا. سيكون توجيه الإنترنت أفضل وأكثر عدالة بدون تأثير السمة ORIGIN.