نقطة تبادل الحركة: من البدايات إلى إنشاء IX الخاص بك



"لقد أقمنا اتصالاً هاتفياً بيننا وبين الرجال في SRI ..." ، قال كلينروك ... في مقابلة:
"لقد كتبنا حرف L وسألنا على الهاتف ،" هل ترى L؟ ""
"نعم ، نرى L ،" جاء الرد.
"لقد كتبنا O ، وسألنا ،" هل ترى O. ""
"نعم ، نرى O."
"ثم كتبنا G ، وتحطمت النظام" ...

بعد ثورة قد بدأت ...

بداية الانترنت.

مرحبا بالجميع!

اسمي ألكساندر ، أنا مهندس شبكة في Linxdatacenter. في مقال اليوم ، سنتحدث عن نقاط تبادل حركة المرور (Internet Exchange Point ، IXP): ما الذي سبق ظهورها ، وما هي المهام التي يحلونها وكيف يتم بناؤها. أيضًا في هذه المقالة ، سأوضح كيف يعمل IXP باستخدام النظام الأساسي EVE-NG وجهاز توجيه BIRD ، بحيث يمكنك فهم كيفية عمله "تحت الغطاء".

قليلا من التاريخ


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

هذه الحالة من الأشياء لم تؤثر فقط على تكلفة تسليم حركة المرور العابر ، ولكن أيضا على جودة القنوات والتأخير. زاد عدد مستخدمي الإنترنت ، ظهرت مشغلين جدد ، زاد حجم حركة المرور ، نمت الإنترنت. بدأ المشغلون في جميع أنحاء العالم يدركون أن هناك حاجة إلى نهج أكثر عقلانية لتنظيم التفاعل بين المشغلين. "لماذا يجب علي ، المشغل A ، أن أدفع مقابل العبور عبر بلد آخر من أجل توصيل حركة المرور إلى المشغل B ، الموجود في أحد الشوارع المجاورة؟" تم طلب شيء من هذا القبيل من قبل مشغلي الاتصالات في ذلك الوقت. لذلك ، في أجزاء مختلفة من العالم ، بدأت نقاط تبادل حركة المرور تظهر في نقاط تركيز المشغل:

  • 1994 - LINX في لندن ،
  • 1995 - DE-CIX في فرانكفورت ،
  • 1995 - MSK-IX ، في موسكو ، إلخ.

الانترنت واليوم


من الناحية النظرية ، فإن بنية الإنترنت الحديثة هي عبارة عن مجموعة من الأنظمة المستقلة (الأنظمة المستقلة ، AS) والعديد من الروابط بينها ، المادية منها والمنطقية ، والتي تحدد مسار الحركة من واحدة إلى أخرى.

عادةً ما يكون مشغلو الاتصالات ومزودو الإنترنت وشبكات توزيع المعلومات ومراكز البيانات والشركات في قطاع المؤسسات. تقوم ASS بتنظيم النظرات فيما بينها ، كقاعدة عامة ، باستخدام بروتوكول BGP.

يتم تحديد كيفية تنظيم النظم الذاتية لهذه العلاقات من خلال عدد من العوامل:

  • الجغرافية،
  • الاقتصادية،
  • السياسية،
  • الترتيبات والمصالح المشتركة بين أصحاب AS ،
  • إلخ

بالطبع ، في هذا المخطط هناك هيكل معين والتسلسل الهرمي. لذلك ، يتم تقسيم المشغلين إلى المستوى 1 ، والمستوى 2 ، والمستوى 3 ، وإذا كان عملاء مزود الإنترنت المحلي (المستوى 3) مستخدمين عاديين ، فعلى سبيل المثال ، لمشغلي المستوى 1 المشغلين الآخرين. يقوم مشغلو المستوى 3 بتجميع حركة مشتركيهم بأنفسهم ، ويقوم مشغلو اتصالات المستوى 2 ، بدورهم ، بتجميع حركة مشغلي المستوى 3 ، والمستوى 1 - كل حركة مرور الإنترنت.

من الناحية التخطيطية ، يمكن تمثيل ذلك على النحو التالي:


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

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



لنفترض أنه في مدينة كبيرة يوجد 5 مشغلي اتصالات ، نظير بينهم ، لسبب أو لآخر ، منظم على النحو المبين أعلاه.
إذا أراد المستخدم Petya ، المتصل بمزود الإنترنت Go ، الوصول إلى الخادم المتصل بمزود ASM ، فسوف تضطر حركة المرور بينهما إلى المرور عبر 5 أنظمة مستقلة. هذا يزيد من التأخير ، ل زيادة عدد أجهزة الشبكة التي تمر من خلالها حركة المرور ، وكذلك مقدار حركة المرور على أنظمة الحكم الذاتي بين Go و ASM.
كيفية تقليل عدد ASS العابر التي تضطر إلى المرور؟ هذا صحيح - نقطة تبادل حركة المرور.

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

ما هي نقطة تبادل الحركة؟


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

  • تقليل التأخير
  • تقليل كمية حركة المرور العابر ،
  • تحسين التوجيه بين ASS.

بالنظر إلى وجود نقاط تبادل الإنترنت (IXP) في العديد من المدن الكبرى في العالم ، فإن هذا كله يؤثر بشكل إيجابي على الإنترنت ككل.

إذا تم حل الموقف الموصوف أعلاه مع Petya بمساعدة IXP ، فسوف يتحول إلى شيء مثل هذا:



كيف يتم ترتيب نقطة تبادل المرور؟


كقاعدة عامة ، IXP هو AS منفصل مع كتلة خاصة به من عناوين IPv4 / IPv6 العامة.

غالبًا ما تكون شبكة IXP مجال L2 مستمر. في بعض الأحيان ، يكون مجرد شبكة محلية ظاهرية تستضيف جميع عملاء IXP. عندما يتعلق الأمر بـ IXPs الأكبر الموزعة جغرافيًا ، يمكن استخدام تقنيات مثل MPLS و VXLAN وما إلى ذلك لتنظيم مجال L2.

عناصر IXP


  • SCS. لا يوجد شيء غير عادي هنا: الرفوف ، عبر البلدان البصرية ، لوحات التصحيح.
  • المفاتيح هي أساس IXP. منفذ التبديل هو نقطة إدخال شبكة IXP. تؤدي المحولات أيضًا جزءًا من وظائف الأمان - تصفية حركة المرور غير الهامة التي يجب ألا تكون موجودة على شبكة IXP. كقاعدة عامة ، يتم اختيار المحولات بناءً على المتطلبات الوظيفية - الموثوقية وسرعة المنفذ المدعومة وميزات الأمان ودعم sFlow ، إلخ.
  • يعد خادم المسار (RS) جزءًا لا يتجزأ وضروريًا من أي نقطة تبادل حركة مرور حديثة. إنه يعمل تمامًا مثل عاكس المسار في iBGP أو جهاز توجيه معين في OSPF ويحل نفس المشكلات. مع تزايد عدد المشاركين في نقطة تبادل حركة المرور ، يزداد عدد جلسات BGP ، وهو ما يحتاج كل مشارك إلى دعمه ، أي يشبه طوبولوجيا شبكة كاملة الكلاسيكية في iBGP. يحل RS المشكلة كما يلي: يُنشئ جلسة عمل BGP مع كل مشارك IXP مهتم ، ويصبح عميلًا لـ RS. بقبول تحديث BGP من أحد عملائها ، ترسل RS هذا التحديث إلى جميع عملائها الآخرين ، بالطبع ، باستثناء الذي تم استلام هذا التحديث منه. وبالتالي ، RS يلغي الحاجة إلى تثبيت شبكة كاملة بين جميع المشاركين IXP ويحل بأناقة مشكلة قابلية التوسع. تجدر الإشارة إلى أن خادم المسار ينقل بشفافية الطرق من AS إلى آخر ، دون إجراء تغييرات على سمات BGP المنقولة ، على سبيل المثال ، لا يضيف رقمًا في AS إلى المسار AS. كما يحدث التصفية الأساسية للطرق على RS: على سبيل المثال ، لا تقبل RS شبكات المريخ وبادئات IXP.

    غالبًا ما يتم استخدام جهاز توجيه مفتوح المصدر ، BIRD (البرنامج الخفي لتوجيه الطيور على الإنترنت) كحل خادم للمسارات. إنه جيد لأنه مجاني ، ويتم نشره بسرعة في معظم توزيعات نظام التشغيل linux ، وله آلية مرنة لتكوين سياسات التوجيه / التصفية ، ولا يتطلب موارد حسابية. أيضًا ، يمكن تحديد جهاز التوجيه / الأجهزة الافتراضية لـ Cisco و Juniper وما إلى ذلك كـ RS.
  • الأمن. نظرًا لأن شبكة IXP عبارة عن تركيز لعدد كبير من ASS ، يجب تحديد السياسة الأمنية التي يجب على جميع المشاركين اتباعها بشكل جيد. كقاعدة عامة ، يتم تطبيق جميع الآليات نفسها المستخدمة لإنشاء حي BGP بين اثنين من أقران BGP منفصلين خارج IXP ، بالإضافة إلى بعض ميزات الأمان الإضافية.

    على سبيل المثال ، من الممارسات الجيدة السماح فقط بحركة المرور من عنوان IXP mac محدد ، والذي يتم التفاوض عليه مسبقًا. رفض حركة المرور مع حقول ethertype بخلاف 0x0800 (IPv4) ، 0x08dd (IPv6) ، 0x0806 (ARP) ؛ يتم ذلك من أجل تصفية حركة المرور التي لا تحتوي على مساحة لاستعراض BGP. يمكن أيضًا استخدام آليات مثل GTSM و RPKI وما إلى ذلك.

ربما ما سبق هو المكونات الرئيسية لأي IXP ، بغض النظر عن الحجم. بالطبع ، قد تستخدم نقاط تبادل الإنترنت الكبيرة تقنيات وحلول إضافية.
يحدث أن توفر IXP أيضًا لأعضائها خدمات إضافية:

  • مستضاف على خادم IXP TLD DNS ،
  • قم بتثبيت خوادم NTP للأجهزة ، مما يسمح للمشاركين بمزامنة الوقت بدقة ،
  • توفير الحماية ضد هجمات DDoS ، إلخ.

مبدأ العمل


سنقوم بتحليل مبدأ التشغيل لنقطة تبادل الحركة باستخدام أبسط IXP محاكاة من قبل EVE-NG كمثال ، ومن ثم النظر في التكوين الأساسي لجهاز التوجيه BIRD. لتبسيط المخطط ، نتجاهل أشياء مهمة مثل التكرار والتسامح مع الخطأ.

يظهر طوبولوجيا الشبكة في الشكل أدناه.



لنفترض أننا ندير نقطة تبادل حركة مرور صغيرة ونوفر خيارات النظير التالية:

  • النظرة العامة
  • النظير الخاص
  • النظرة عبر خادم الطريق.

رقم AS الخاص بنا هو 555 ، نحن نملك كتلة عناوين IPv4 - 50.50.50.0/24 ، نصدر منها عناوين IP ، لأولئك الذين يرغبون في الاتصال بشبكتنا.

50.50.50.254 - عنوان IP الذي تم تكوينه على واجهة خادم المسار ، مع عملاء IP هذا سوف ينشئ جلسة BGP في حالة النظرة عبر RS.

أيضًا من أجل النظرة عبر RS ، قمنا بتطوير أبسط سياسة توجيه استنادًا إلى مجتمع BGP ، والذي يسمح للمشاركين في IXP بالتنظيم لمن والطرق لإرسال:
المجتمع BGPوصف
LOCAL_AS: PEER_ASتمرير البادئات فقط PEER_AS
LOCAL_AS: IXP_ASتمرير البادئات لجميع أعضاء IXP

3 عملاء يرغبون في الاتصال وتبادل الحركة مع IXP ؛ دعنا نقول هؤلاء هم مزودي الانترنت. انهم جميعا يريدون تنظيم نظير من خلال خادم الطريق. يوجد أدناه مخطط مع معلمات اتصال العميل:
زبونرقم العميلالبادئات المعلن عنها من قبل العميلعنوان IP الصادر للعميل للاتصال بـ IXP
مزود خدمة الإنترنت رقم 11001.1.0.0/1650.50.50.10/24
مزود خدمة الإنترنت رقم 22002.2.0.0/1650.50.50.20/24
مزود خدمة الإنترنت رقم 3ك 3003.3.0.0/1650.50.50.30/24

إعداد BGP الأساسي على جهاز توجيه العميل:


router bgp 100 no bgp enforce-first-as bgp log-neighbor-changes neighbor 50.50.50.254 remote-as 555 address-family ipv4 network 1.1.0.0 mask 255.255.0.0 neighbor 50.50.50.254 activate neighbor 50.50.50.254 send-community both neighbor 50.50.50.254 soft-reconfiguration inbound neighbor 50.50.50.254 route-map ixp-out out exit-address-family ip prefix-list as100-prefixes seq 5 permit 1.1.0.0/16 route-map bgp-out permit 10 match ip address prefix-list as100-prefixes set community 555:555 

الإعداد هنا ليس bgp enforce-first-as. افتراضيًا ، تتطلب BGP أن يكون رقم bgp للنظير الذي تم استلام هذا التحديث من خلاله في مسار تحديث BGP المستلم. ولكن نظرًا لأن خادم المسار لا يُجري تغييرات على المسار ، فسيكون رقمه غائبًا عن المسار كما سيتم تجاهل التحديث. يستخدم هذا الإعداد لتسبب أن الموجه يتجاهل هذه القاعدة.

نرى أيضًا أن العميل قام بتثبيت مجتمع bgp 555: 555 على هذه البادئة ، مما يعني وفقًا لسياستنا أن العميل يريد الإعلان عن هذه البادئة لجميع المشاركين الآخرين.

بالنسبة لأجهزة التوجيه الخاصة بالعملاء الآخرين ، سيكون الإعداد مماثلاً ، باستثناء المعلمات الفريدة الخاصة بهم.

مثال لتكوين الطيور:


 define ixp_as = 555; define ixp_prefixes = [ 50.50.50.0/24+ ]; template bgp RS_CLIENT { local as ixp_as; rs client; } 

فيما يلي وصف عامل تصفية لا يقبل بادئات المريخ ، وكذلك بادئات IXP نفسها:

 function catch_martians_and_ixp() prefix set martians; prefix set ixp_prefixes; { martians = [ 0.0.0.0/8+, 10.0.0.0/8+, 100.64.0.0/10+, 127.0.0.0/8+, 169.254.0.0/16+, 172.16.0.0/12+, 192.0.0.0/24+, 192.0.2.0/24+, 192.168.0.0/16+, 198.18.0.0/15+, 198.51.100.0/24+, 203.0.113.0/24+, 224.0.0.0/4+, 240.0.0.0/4+ ]; if net ~ martians || net ~ ixp_prefixes then return false; return true; } 

تطبق هذه الوظيفة سياسة التوجيه التي وصفناها سابقًا.

 function bgp_ixp_policy(int peer_as) { if (ixp_as, ixp_as) ~ bgp_community then return true; if (ixp_as, peer_as) ~ bgp_community then return true; return false; } filter reject_martians_and_ixp { if catch_martians_and_ixp() then reject; if ( net ~ [0.0.0.0/0{25,32} ] ) then { reject; } accept; } 

قمنا بإعداد النظراء ، وتطبيق المرشحات والسياسات المناسبة.

 protocol as_100 from RS_CLIENT { neighbor 50.50.50.10 as 100; ipv4 { export where bgp_ixp_policy(100); import filter reject_martians_and_ixp; } } protocol as_200 from RS_CLIENT { neighbor 50.50.50.20 as 200; ipv4 { export where bgp_ixp_policy(200); import filter reject_martians_and_ixp; } } protocol as_300 from RS_CLIENT { neighbor 50.50.50.30 as 300; ipv4 { export where bgp_ixp_policy(300); import filter reject_martians_and_ixp; } } 

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

لذلك ، دعونا نتحقق مما حصلنا عليه.

على خادم المسار ، نرى أنه مع العملاء الثلاثة ، يتم تثبيت جلسة BGP:



نرى أننا نتلقى بادئات من جميع العملاء:



على 100 جهاز توجيه ، نرى أنه إذا كانت هناك جلسة واحدة فقط لـ BGP مع خادم المسار ، فسوف نحصل على بادئات من 200 إلى 300 ، بينما لم تتغير سمات BGP ، كما لو أن النظراء بين العملاء تم تنفيذه مباشرةً:



وبالتالي ، نرى أن وجود خادم توجيه يبسط تنظيم النظرة إلى حد كبير على IXP.

آمل أن يكون هذا العرض التوضيحي قد ساعدك على فهم كيفية ترتيب نقاط تبادل حركة المرور وكيفية تنفيذ خادم المسار على IXP.

Linxdatacenter التاسع


في Linxdatacenter ، قمنا ببناء IXP الخاص بنا استنادًا إلى بنية تحتية متسامحة مع وجود خطأ في المحولين وخادمي طريق. الآن تم إطلاق IXP في وضع الاختبار ، ونحن ندعو الجميع للاتصال بـ Linxdatacenter IX والمشاركة في الاختبار. عند الاتصال ، سيتم تزويدك بمنفذ به عرض نطاق ترددي قدره 1 جيجابت / ثانية ، وإمكانية النظر من خلال خوادم المسارات الخاصة بنا ، بالإضافة إلى الوصول إلى الحساب الشخصي الخاص بـ IX-portal ، المتاح على الموقع ix.linxdatacenter.com .

اكتب تعليقات أو رسائل خاصة للوصول إلى الاختبار.

استنتاج


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

روابط مفيدة


Source: https://habr.com/ru/post/ar478832/


All Articles