Encapsulator Etherblade.net واستبدال استبدال مكونات الشبكة (الجزء الثاني)

صورة

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

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

هذا النص هو بعض التبصر في تقنيات الشبكات ولكي نلائم هذا الموضوع الشامل في إطار مقال واحد ، قررت أن أكتبه في سياق بعض خطة العمل أو ، إذا أردت ، الإجابة على السؤال التالي - "كيفية استبدال المعدات باستخدام FPGA وفتح المصدر بأكبر قدر ممكن من الكفاءة من سيسكو وجونيبر ".
لذلك دعونا نبدأ.

مفهوم SDN (الشبكات المعرفة بالبرمجيات) ضد البائعين الكبار


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

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

يجب أن يكون مفهوما أن الشركات الكبرى لديها قدر كبير من الموارد الهندسية وتعتمد على نموذج تطوير متكامل رأسيا. وماذا عن الشركات الصغيرة نسبيا؟

يمكن تعويض نقص الموارد عن طريق المصادر المفتوحة. ونقص التكامل الرأسي مع التوزيع الصحيح للمهام الفرعية بين أصغر اللاعبين.

إن بنية أجهزة الشبكات التي يتم إنتاجها تقليديًا بواسطة كبار البائعين مجزأة بسهولة. لموازنة العملية وتسليط الضوء على المهام الفرعية الفردية ، يقترح مفهوم SDN (الشبكات المعرفة بالبرمجيات) تقسيم بنية أجهزة الشبكة إلى مستويات ، على وجه الخصوص ، فصل مستوى إدارة الشبكة (مستوى التحكم) عن مستوى أجهزة نقل البيانات (مستوى البيانات).

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

لذا تقدم SDN نموذجًا للهندسة المعمارية لجهاز توجيه الشبكة في شكل مفكك. مهمتنا هي تحديد عنصر الاهتمام بالنسبة لنا في هذا النموذج والبدء في تطويره.

"هيا نبدأ صغيرًا" - التغليف على أجهزة التوجيه وتراكب SDN


من الطبيعي حل جميع احتياجات العالم دفعة واحدة. وبالتالي ، عند إنشاء أنظمة كبيرة ، من المنطقي أن تبدأ صغيرة وجعل النظام قابلاً للتوسعة ، بحيث يمكن تقديم وظائف إضافية عن طريق دمج كتل إضافية أو تعديل تلك الموجودة. بعبارة "start small" ، أقصد اختيار وظيفة شبكة كاملة تكفي لبناء نظام يعمل.

في مشروع Etherblade.net ، على هذا النحو ، تقرر تطبيق آلية لتغليف حركة مرور الشبكة.

التغليف في الشبكات هو شيء عادي. لنقم بإلغاء تحديد جهاز التوجيه ونفكر في كيفية توافق مكوناته مع مكونات نموذج SDN وتحديد المكان الذي يستغرقه التغليف في كلا النموذجين.

على سبيل المثال ، خذ أحد أجهزة التوجيه الموضحة في الشكل في بداية المقال ووصفه في الشكل أدناه - ولكن بالفعل في شكل "معد".
في نفس الشكل ، نقارن جهاز التوجيه مع "نموذج تراكب SDN" بديل يوفر وظائف مماثلة.

صورة

المستوى العلوي (الأخضر) هو مستوى التحكم / تزامن SDN. هذا هو عقل النظام ، في الواقع المعالج الدقيق الذي يتم تنفيذ برنامج الشبكة المسيطر عليه. في أجهزة التوجيه التقليدية ، هذا المكون مدمج. في SDN ، يتم نقل هذه الوظيفة عادة إلى "وحدة تحكم تزامن" خارجية - جهاز كمبيوتر يخدم العديد من أجهزة الشبكة.

متوسطة (الأزرق) المستوى - مسار إعادة توجيه. الدور الرئيسي لهذا المستوى هو توفير شبكة النقل (التبديل / توجيه حركة المرور). في أجهزة التوجيه التقليدية - يتم تنفيذ هذه الوظيفة كوحدة تحويل داخلية. في نموذج "تراكب SDN" الخاص بنا ، يمكن تقليل دور مكوّن "التبديل" تمامًا عن طريق توصيل أجهزة الحافة مباشرة (صندوق أبيض) بشبكة النقل.

انخفاض (برتقالي) - مستوى الحافة / الوصول. على هذه المكونات ، تحدث كل المعالجات مع حركة مرور الشبكة مثل التغليف وتحويلات البروتوكول الأخرى. يتميز هذا المستوى بسرعة معالجة عالية ووظيفة حتمية - مكان رائع لـ ASIC / FPGA. في أجهزة التوجيه التقليدية ، يتم تنفيذ هذه الوظيفة على الوحدات الخطية (بطاقات الخط) ، في SDN هذه ما يسمى "أجهزة whitebox".

وبالتالي ، بإيجاز ما ذكر أعلاه ، يمكننا القول أن Etherblade.net هو مشروع لتطوير أجهزة "whitebox" من أجل "SDN-overlay".

"إلى الأمام إلى مراكز البيانات!" - encapsulator كدالة NFV (ظاهرية وظيفة الشبكة)


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

صورة

على اليسار يوجد مغلف Etherblade كجهاز CPE منفصل (إصدار الحرم الجامعي). على اليمين يوجد مغلف Etherblade مطبق داخل الخادم (خيار لمراكز البيانات).

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

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

لذلك ، NFV هو المألوف ومريحة. تكمن الصعوبة في أنه فيما يتعلق بتصميم الأجهزة ، فإن الحد من PCIe ليس سهلاً مثل إيثرنت. إذا كانت الإيثرنت عبارة عن بروتوكول تسلسلي ، فإن PCIe هو بروتوكول معقد للمعاملات مع العديد من حالات النهاية (بشكل أساسي مكدس شبكة يتم تنفيذه في الأجهزة). لا تنس أن نظام التشغيل يتطلب برامج التشغيل المناسبة للعمل مع جهاز PCIe.

أحد أكثر الحلول أناقة للمشكلة هو استخدام لوحات FPGA ، على غرار الحلول الموضحة في بداية المقال. يوضح الشكل التالي بنية اللوحة وكلا الخيارين لتطبيق encapsulator عليه.

صورة

كما ترون ، تحتوي لوحة FPGA هذه على محولات شبكة "خارجية" على الشبكة ، والتي تعد محولات بين الإيثرنت و PCIe. وبالتالي ، فإن تنفيذ encapsulator على هذه الأجهزة يجعل من الممكن الحصول على NFV "مباشرة من خارج الصندوق" - دون مشاكل لا لزوم لها مع PCIe وكتابة السائقين.

من "القطاع الخاص إلى العام" - إنشاء مستودع مفتوح لشبكات IP الأساسية


لا يمكن للمرء أن يختلف مع حقيقة أن هناك اليوم العديد من شبكات ASIC المتخصصة (على سبيل المثال ، من Broadcom) التي يمكن أن تترجم أي مشروع من هذا القبيل إلى قصة أخرى من سلسلة "الاستمتاع بالعمل مع FPGA". الشك مناسب في هذه الحالة ، ومع ذلك ، أود أن أذكركم بأن مشروع Etherblade.net لا يقتصر على إنشاء جهاز شبكة منفصل. الهدف الرئيسي من Etherblade.net هو إنشاء مستودع مفتوح لنوى IP ذات المعلمات والموثقة.

يمكن أن يصبح هذا المستودع أساسًا فعالًا لإنشاء مجموعة كاملة من أجهزة الشبكة (بما في ذلك الأكثر غرابة) ، والتي بدورها يمكن تنفيذها على FPGA وفي شكل ASIC.

على هذا - لقد انتهيت. في المقالة التالية ، سننتقل مباشرةً إلى تصميم الأجهزة ، لكن الآن أدعوك للتعرف على المشروع الأقرب إلى etherblade.net .

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


All Articles