الشبكات الظاهرية لمراكز البيانات المُعرفة بالبرامج

مكتمل

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

لسوء الحظ، يُعد توفير VLAN لإنشاء مقطع شبكة مهمة يدوية للغاية، والتي تتضمن تكوين vSwitch (تبديل ظاهري) لبرنامج مراقب الأجهزة الافتراضية بالإضافة إلى المنافذ المادية لجميع المحولات في قطاع الشبكة. بسبب هذا التكوين اليدوي، فإن قابلية التوسع لـ VLAN ضعيفة. (تقدم معظم مفاتيح الشبكة التجارية فقط 4K VLANs كحد أقصى.) أدت المحاكاة الظاهرية للخادم إلى حدوث انفجار في عدد الأجهزة الظاهرية، مما أدى بدوره إلى زيادة تعقيد البنية الأساسية للشبكة وخدماتها. يكاد يكون التزويد اليدوي مستحيلاً بسبب الحجم والتعقيد الذي ينشأ نتيجة لميزات الجهاز الظاهري مثل التزويد الديناميكي وتحديد الموضع والترحيل.

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

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

الشبكات المُعرفة بالبرمجيات

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

مستويات مكوّن SDN.

الشكل 2: مستويات مكوّن SDN

يوفر الفيديو التالي مزيدًا من التفاصيل حول الشبكات المُعرفة بالبرمجيات.

بنية SDN

إن SDN مرنة بشكل ملحوظ؛ حيث يمكنها العمل مع أنواع مختلفة من التبديلات وفي طبقات بروتوكول مختلفة. يمكن تنفيذ وحدات تحكم وتبديلات SDN لتبديلات Ethernet (الطبقة 2) ومسارات الإنترنت (الطبقة 3) وتبديل النقل (الطبقة 4) وحتى في طبقة التطبيق (الطبقة 7). تعتمد SDN على الوظائف الشائعة الموجودة في أجهزة الشبكات، والتي تتضمن بشكل أساسي إعادة توجيه حزم البيانات بناءً على نموذج من نماذج تعريف التدفق.

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

في بنية SDN، يقوم التبديل الظاهري أو المادي بأداء الوظائف التالية:

  • يغلف التبديل ويُعيد توجيه حزمة البيانات الأولى من التدفق إلى وحدة تحكم SDN، ما يمكّن وحدة التحكم من تحديد ما إذا كان يجب إضافة التدفق إلى جدول تدفق التبديل.
  • يُعيد التبديل توجيه حزم البيانات الواردة خارج المنفذ المناسب بناءً على جدول التدفق. قد يتضمن جدول التدفق معلومات الأولوية التي تمليها وحدة التحكم.
  • يمكن لرمز التبديل قطع حزم البيانات عند تدفق معين، بشكل مؤقت أو دائم، وفقًا لما تمليه وحدة التحكم، لأغراض أمنية. تعمل هذه الوظيفة على الحد من هجمات لقطع الخدمة (DoS) أو متطلبات إدارة نسبة استخدام الشبكة (التحكم في الازدحام).

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

من خلال فصل مستويات التحكم والبيانات، تُمكّن SDN التطبيقات من التعامل مع جهاز شبكة واحد مجردة دون القلق بشأن تفاصيل كيفية عمل الجهاز. ترى تطبيقات الشبكة واجهة برمجة تطبيقات واحدة لوحدة التحكم. ومن ثمّ، من الممكن إنشاء تطبيقات جديدة ونشرها بسرعة لتنظيم تدفق نسبة استخدام الشبكة لتلبية متطلبات المؤسسة المُحددة للأداء أو الأمان.

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

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

العزل باستخدام SDN

يسمح وجود وحدة تحكم مركزية لمستوى التحكم بالحصول على رؤية عمومية. هذا يقلل من الحاجة إلى بروتوكولات معقدة مثل Spanning Tree Protocol لحساب المسارات. بدلاً من ذلك، يمكن استخدام خوارزمية بسيطة التي تتكون من أقصر مسار (على سبيل المثال، Dijkstra) لحساب تخطيط الشبكة. يؤدي ذلك إلى إزالة التعقيد من المستوى المركزي، ويسمح بإعادة التكوين السريع لبنى الشبكة، ويضيف قواعد الأمان ويحدّثها، كل ذلك باستخدام واجهة برمجة تطبيقات بسيطة.

يُعد العزل بين المستأجرين أحد تطبيقات SDN المهمة على السحابة. عند تحديد تدفقات الشبكة المنفصلة اعتمادًا على المستأجر، يمكن أن تتراكب عدة شبكات ظاهرية على شبكة فعلية واحدة. يمكن أن تحتوي هذه الشبكات الظاهرية على مساحة عنوان IP متداخلة. يجب الوضع في الاعتبار حالة اثنين من مستأجري السحابة، Yellow وRedتم وضعهما معًا على الرف نفسه في مركز البيانات (الشكل 3). يمكنهما المشاركة في البنية الأساسية الأصلية، بينما يتم عزلهما باستخدام مستوى أعلى من التجريد.

عرض منطقي لتراكب الشبكة.

الشكل 3: عرض منطقي لتراكب الشبكة

تتمثل إحدى طرق تحقيق العزل بين Red وYellowشبكات المستأجرين في استخدام توجيه الشبكة للأسفل. عادةً ما يتم تنفيذ الخطوات التالية من أجل توحيه الشبكة للأسفل:

  1. يعتبر التطبيق الذي يعمل على الجهاز الظاهري أنه متصل بمقطع LAN ويرسل إطار Ethernet على واجهة الشبكة الظاهرية (VNI).

  2. يستقبل vSwitch حزمة البيانات من الجهاز الظاهري ويغلفها. قد يكون أسلوب التغليف (الشكل 4) أيًا مما يلي:

    • VXLAN (شبكة محلية ظاهرية قابلة للتوسيع)
    • NVGRE (ظاهرية الشبكة باستخدام تغليف التوجيه العام)

    أساليب التغليف.

    شكل 4: أساليب التغليف

  3. يُضيف مكدس kernel IP الوجهة MAC وعنوان IP الخاص ببرنامج مراقب الأجهزة الافتراضية الهدف ويرسله إلى نسيج IP المادي.

  4. في الوجهة، يقوم مكدس kernel IP بتجزئة عنوان MAC الخارجي وعنوان IP، ويقرأ عناوين التغليف لتحديد وجهة الجهاز الظاهري، ويسلم حزمة البيانات إلى VNI الخاص بوجهة الجهاز الظاهري.

يوضح الشكل 5 التدفق الإجمالي لحزمة البيانات من التطبيق المصدر إلى التطبيق الوجهة.

مراحل حزمة البيانات في إحدى الشبكات الظاهرية.

الشكل 5: مراحل حزمة البيانات في إحدى الشبكات الظاهرية

تظهر الشبكات المُعرفة بالبرمجيات في الصورة في الخطوتين 2 و3 من عملية التوجيه لأسفل المذكورة أعلاه. يفحص البرنامج الذي يعمل على vSwitch لبرنامج مراقب الأجهزة الافتراضية الحزم ويطلب من وحدة تحكم SDN المركزية إضافة مواصفات التدفق. تُستخدم مواصفات التدفق لمطابقة مجموعة {الجهاز الظاهري، عنوان المصدر، عنوان الوجهة} مع إجراء التدفق الذي يضيف عنوان التغليف وعنوان MAC الخارجي وعنوان IP، كما هو موضح في الشكل 5. تعرف وحدة تحكم SDN ما العنوان الخارجي الذي يجب إضافته لأنه يحتوي على عرض عمومي لجميع الموارد، ويوّجه البرنامج الموجود على وحدة التحكم في التدفقات وفقًا لذلك.