
أريد أن أبدي تحفظًا على الفور بأن هذه المقالة لا تعني القراءة السلبية فحسب ، بل تدعو أيضًا الجميع للانضمام إلى التطوير. نرحب بمبرمجي النظام ومطوري الأجهزة ومهندسي الشبكات و DevOps.
نظرًا لأن المشروع يقع عند تقاطع تقنيات الشبكات وتصميم الأجهزة ، فلنقسم حديثنا إلى ثلاثة أجزاء - سيكون من الأسهل تكييف المعلومات مع جمهور معين من القراء.
حدد الجزء الأول على أنه تمهيدي. هنا سنتحدث عن جهاز تغليف حركة مرور شبكة إيثرنت الذي تم إنشاؤه على FPGA ، ومناقشة وظائفه الرئيسية وميزاته المعمارية ومزاياه مقارنةً بحلول البرمجيات.
الجزء الثاني ، دعنا نسميها "شبكة" ، سيكون أكثر إثارة للاهتمام لمطوري الأجهزة الذين يرغبون في التعرف على تقنيات الشبكة بشكل أفضل. سيتم تخصيص الدور الذي يمكن أن يلعبه "Etherblade.net" في شبكات مشغلي الاتصالات. سنتحدث أيضًا عن مفهوم SDN
(الشبكات المعرفة بالبرمجيات) وكيف يمكن لأجهزة الشبكة المفتوحة أن تكمل بل وتنافس مع حلول البائعين الكبار ، مثل Cisco و Juniper.
والجزء الثالث هو "الأجهزة" ، والتي من المرجح أن تهم مهندسي الشبكات الذين يرغبون في المشاركة في تصميم الأجهزة والبدء في تطوير أجهزة الشبكات بأنفسهم. في ذلك ، سوف نلقي نظرة فاحصة على سير عمل FPGA و "اتحاد البرمجيات والأجهزة" ولوحات FPGA وبيئات التطوير وغيرها من المشكلات التي تخبرك بكيفية الاتصال للمشاركة في مشروع EtherBlade.net.
لذلك دعونا نذهب!
تغليف الإيثرنت
الهدف من مشروع Etherblade.net هو تصميم وبناء جهاز يمكنه ، على مستوى الأجهزة ، محاكاة قناة L2-ethernet عبر بيئة L3. تتمثل حالة الاستخدام البسيطة في توصيل الخوادم ومحطات العمل المختلفة بعضها ببعض بنفس الطريقة كما لو كان هناك كابل إيثرنت فعلي منتظم بينهما.
على الإنترنت ، يمكنك العثور على مصطلحات مختلفة لهذه التكنولوجيا. وأكثرها شيوعًا هي
pseudowire و evpn و L2VPN و e-line / e-tree / e-lan ، إلخ. حسنًا ، هناك عدد كبير من المصطلحات المشتقة تختلف بالنسبة لأنواع مختلفة من شبكات النقل التي يتم من خلالها وضع قناة إيثرنت افتراضية.
لذلك ، على سبيل المثال ، يتم توفير مضاهاة الإيثرنت عبر شبكة IP بواسطة التقنيات التالية -
EoIP ، VxLAN ، OTV ؛
مضاهاة الإيثرنت عبر شبكة MPLS -
تقنيات VPLS و EoMPLS ؛
تعد محاكاة الإيثرنت عبر الإيثرنت مهمة
لتقنيات MetroEthernet و PBB-802.1ah وغيرها.
إنها مهمة المسوقين للتوصل إلى شروط ، ولكن إذا اخترع مصممو الحديد جهازًا منفصلًا لكل مصطلح أو اختصار ، فسيصبحون مجنونة. لذلك ، فإن هدف مطوري الأجهزة وهدفنا هو تطوير جهاز عالمي - مغلف يمكنه تغليف إطارات إيثرنت في أي بروتوكول لشبكة النقل ، سواء كان
IP / IPv6 أو MPLS أو Ethernet ، إلخ.
وقد تم بالفعل تنفيذ مثل هذا encapsulator وهو قيد التطوير في مشروع يسمى "Etherblade-Version1 - encapsulator core".
لفهم أفضل ، أقترح النظر في رقم يشرح مبدأ التغليف هذا:

نرى أن العبوات موجودة حول محيط شبكة النقل الخاصة بالناقل. كل مغلف يحتوي على
واجهتين (L2 - منفذ صندوق ، "النظر" نحو العملاء ، وواجهة L3 ، والتي "تتطلع" نحو شبكة النقل) .
دعونا نلقي نظرة فاحصة على أقصى اليمين encapsulator. يتم توصيل العملاء به ، حيث "يذهب" حركة كل عميل في شبكة محلية ظاهرية منفصلة. يجب أن يكون الجهاز قادرًا على إنشاء قنوات افتراضية للعملاء الفرديين أو ، من الناحية العلمية ، أن يكون قادرًا على تغليف حركة مرور الإيثرنت لشبكات محلية ظاهرية مختلفة برؤوس L3 مختلفة. يوضح الشكل كيف يحاكي أحد العبوات أربع قنوات افتراضية لأربعة عملاء:
- vlan-11 (الأخضر) - إيثرنت عبر IP (IPv4 + GRE) ؛
- vlan-12 (أرجواني) - إيثرنت عبر بروتوكول الإنترنت (IPv4 + UDP) ؛
- vlan-13 (أزرق) - إيثرنت عبر MPLS ؛
- vlan-14 (أحمر) - إيثرنت عبر بروتوكول الإنترنت (IPv6 + UDP) ؛
لذلك ، مع فرز وظيفة ، والآن دعونا نتحدث عن خيارات لتطبيق encapsulator.
لماذا FPGA؟
في الواقع ، FPGA عبارة عن شريحة تستبدل مكواة لحام ومربع من الرقائق
(عناصر منطقية ، رقائق ذاكرة ، إلخ) . وهذا هو ، بعد FPGA ، ونحن قادرون على إنشاء الأجهزة لتلبية احتياجاتنا والمهام.

ولكن بالإضافة إلى "مجموعة من العناصر والحديد لحام" من الضروري أيضا أن يكون لها مخططات الدوائر. لذا فإن مستودع هذه المخططات التي يمكنك من خلالها "لحام" جهاز التغليف داخل FPGA والحصول على جهاز يعمل هو مشروع "Etherblade.net". يمكن تسمية ميزة هامة أخرى لـ FPGA بحقيقة أن عناصرها يمكن "إعادة لحامها" إلى دوائر جديدة ، لكن الدوائر نفسها ، بفضل المستودع ، لا تحتاج إلى إنشاء والتحقق منها "من نقطة الصفر" لتنفيذ وظيفة جديدة.
وحتى الآن ، لماذا FPGA ، وليس حل البرمجيات؟
بالطبع ، إذا تم طرح سؤال حول تطوير النظام من نقطة الصفر ، فإن أخذ الكمبيوتر النهائي وكتابة برنامج له سيكون أسهل وأسرع من تطوير جهاز متخصص.
من أجل بساطة وسرعة التطوير ، ومع ذلك ، عليك أن تدفع أداء أسوأ ، وهذا هو العيب الرئيسي في حل البرنامج. الحقيقة هي أن البرنامج هو برنامج كمبيوتر له وقت تنفيذ متغير بسبب الفروع والحلقات. نضيف هنا الانقطاعات المستمرة للمعالج الدقيق بواسطة نظام التشغيل وإعادة تدوير حركة المرور في النظام الفرعي DMA.
في تطبيق الأجهزة ، فإن جهاز التغليف لدينا هو في الحقيقة مخزن مؤقت "للتخزين وإعادة التوجيه" مجهز بذاكرة إضافية يتم تخزين الرؤوس فيها. نظرًا لبساطتها وخطيها ، يعالج حل الجهاز حركة المرور بسرعة مساوية لعرض النطاق الترددي لقناة الإيثرنت مع الحد الأدنى من التأخير والارتعاش المستقر. على سبيل المكافأة ، نضيف هنا استهلاكًا أقل للطاقة وحلول FPGA منخفضة التكلفة مقارنة بأنظمة المعالجات الدقيقة.
قبل الانتقال إلى الموضوع التالي ، اسمحوا لي أن أشاطرك
هذا الرابط إلى مقطع فيديو يوضح وجود مغلف قيد التنفيذ.
يرافق الفيديو ترجمات بالإنجليزية ، وإذا لزم الأمر ، فإن "Youtube" لديه خيار تمكين الترجمة التلقائية إلى اللغة الروسية.في الجزء الأخير من المقال ، أود أن أتحدث عن اثنين من القطع التي يتم تطويرها أيضًا كجزء من مشروع Etherblade.net.
تطوير جهاز الاستقبال "Etherblade-Version2 - decapsulator core"
ربما لاحظت أنه في الرسم البياني السابق للشبكة
(والذي يعرض العبوات المتصلة بشبكة الموفر) هناك ملاحظة واحدة صغيرة تشير إلى أن وحدة الإرسال الكبرى في الشبكة يجب أن يكون أكثر من 1560. بالنسبة لمشغلي الاتصالات الكبيرة ، هذه ليست مشكلة ، لأنها العمل على قنوات الألياف البصرية "المظلمة" مع إطارات ضخمة على الأجهزة الممكنة. في هذه الحالة ، يمكن لرزم الإيثرنت المغلفة التي يبلغ حجمها الأقصى 1500 بايت ورأس L3 الإضافي "السير" بحرية عبر هذه الشبكات.
ولكن ماذا لو كنا نرغب في استخدام الإنترنت العادي مع أجهزة تغليف متصلة ، على سبيل المثال ، بأجهزة DSL أو أجهزة مودم 4G كشبكة نقل؟ في هذه الحالة ، يجب أن يكون جزء الاستقبال من العبوات قادرًا على تجميع إطارات إيثرنت مجزأة.
لا تقدم Cisco و Juniper ، في الوقت الحالي ، هذه الوظائف في أجهزتها وهذا أمر مفهوم ، لأن معداتها تركز على مشغلي الاتصالات الكبار. كان مشروع EtherBlade.net موجهًا في البداية للعملاء من مختلف الكوادر وأصبح بالفعل في ترسانته طريقة متطورة لتجميع الأجزاء "للأجهزة" ، مما يسمح بمحاكاة قنوات إيثرنت في أي مكان بجودة خدمة من الدرجة الهاتفية. للحصول على وثائق مفصلة ورموز المصدر ، مرحبا بكم في
https://etherblade.net .
10 غيغا بايت
حاليًا ، يجري العمل النشط أيضًا على إصدار من 10 غيغا بايت من العبوة ونقله إلى الأجهزة ، على وجه الخصوص ، إلى اللوحة من فريق General R&D من سان بطرسبرغ ، والذي يظهر في بداية المقال Intel Cyclone 10GX.
بالإضافة إلى الوظيفة الموضحة في هذه المقالة ، يمكن استخدام مغلفات 10 جيجابت في شبكات مشغلي الاتصالات لإعادة توجيه حركة المرور "المثيرة للاهتمام" إلى مراكز إزالة DDoS ، خادم Yarovoy ، إلخ. اقرأ المزيد حول هذا الموضوع في المقالة التالية حول مفهوم SDN
(الشبكات المعرفة بالبرمجيات) واستخدام Etherblade.net في الشبكات الكبيرة - ترقبوا.