تقنية SDN هي تقنية يحاول من خلالها المصممون إعادة ترتيب أجزاء و أدوار كل مكونات البنية التحتية للشبكات Infrastructure ، والتي لم تعدل منذ 1980 حيث أن آخر تعديل كان هو الإنتقال من NCP إلى TCP / IP الغني عن التعريف ، ومنذ ذلك الحين لم يطرأ أي تغيير على مستوى البنية التحتية للشبكات لتتلائم والتطور الكبير الحاصل في مجال تقنية المعلومات ، وخصوصا تقنية Virtualization التي قامت بمحاكاة إفتراضية لجميع طبقات تصميم الشبكات ، ولكن ظلت طبقة البنية التحتية للشبكات مستعصية على هذه التقنية ، إذن تقنية SDN هي محاولة ناجحة لفصل Data Plane أو Forwarding Plane عن Control Plane ، ليصبح دور أجهزة الشبكات Switches / Routers منحصر فقط في تمرير البيانات Forwarding ، أما الإدارة والتحكم والخدمات Control و Services ستصبح في طبقات جديدة وهي Control Layer and Application Layer !
منظمة ال ONF عرفت البنية المعمارية لتقنية SDN على شكل نموذج Model مكون من ثلاث طبقات ( أو بمعنى آخر SDN يقسم البنية التحتية للشبكات Infrastructure إلى ثلاث طبقات ) كما هو موضح في الصورة بالاسفل :
- Application Layer – طبقة التطبيقات .
- Control Layer – طبقة التحكم .
- Infrastructure Layer – طبقة البنية التحتية .
Application Layer طبقة التطبيقات و APIs
الطبقة الأولى في نموذج البنية المعمارية لتقنية SDN هي طبقة التطبيقات Application Layer ، وهي تتكون من الخدمات والتطبيقات التي تقدمها الشبكة للمستخدم Implementation of Services مثال : Routing Filter ACL and QoS ، وتتواصل هذه الطبقة مع التي تليها طبقة التحكم ( Control Layer ) عن طريق API واجهات برمجة التطبيقات Application Programming Interfaces APIs .
واجهات برمجة التطبيقات APIs هي واجهات يستخدمها مهندسين الشبكات لكي يساعدوا الشبكة على تقديم خدماتها وتطبيقاتها ، وذلك عن طريق البرمجة ولهذا يقال أن تقنية SDN مبنية على البرمجة ، حيث يستخدم مهندس الشبكات أي من لغات البرمجة لصياغة تلك الخدمات و التطبيقات .
Control Layer طبقة التحكم
الطبقة الثانية في نموذج البنية المعمارية لتقنية SDN هي طبقة التحكم Control Layer ، وهي تمثل نقطة التحكم المركزية بأجهزة الشبكات ، كإعطاء الأوامر لأجهزة Switches / Routers ، لتأخذ بذلك وظيفة التحكم والإدارة من جميع أجهزة البنية التحتية ، وتترك لها تمرير وتوجيه البيانات كما سبق ووضحنا ، إذن التحكم في الشبكة وإدارتها يتم عن طريق الجهاز الرئيسي Controller الممثل لهذه الطبقة .
هناك العديد من أجهزة Controllers فبعضها Open Source وبعضها الآخر Vendor Dependence ، كما أنها تختلف بإختلاف لغات البرمجة التي يتم من خلالها التحكم في الشبكة ، ومن أشهرها :
- .Cisco ACI
- VMware NSX
- NOX مفتوح المصدر ، والذي تم تصميمه في مختبرات Stanford مستخدماً لغة C ++ / Python .
يعتبر جهاز Controller عقل تقنية SDN ، وهذا لأننا جمعنا به وظيقة Control Plane المسئولة عن الخدمات والتطبيقات المطلوبة ، والتي تم برمجتها من قبل مهندس الشبكات باستخدام APIs ، لتنتقل على شكل إعدادات لأجهزة الشبكة الأخرى Data Plane أو Forwarding Plane ، ولكن كيف يتم ذلك ؟!
يتواصل جهاز Controller مع باقي أجهزة الشبكة التي تم نزع وظيفة التحكم منها ، لينقل لها الخدمات والتطبيقات المراد تفعيلها ، بإستخدام لغة مشتركة بينهما تسمى البروتوكول OpenFlow .
نظرة سريعة حول بروتوكول OpenFlow
Infrastructure Layer طبقة البنية التحتية
الطبقة الثالثة في نموذج البنية المعمارية لتقنية SDN هي طبقة البنية التحتية Infrastructure Layer وهي تتكون من أجهزة الشبكة الأخرى Forwarding Plan ، فكل ما سوى المتحكم Controller من أجهزة سواء كانت Physical أو Virtual ( كما إتضح ذلك عند التفرقة بين التقنيتين SDN و NFV ) ستكون مسئولة عن وظيفة تمرير وتوجيه البيانات ، مثال : All Switches Support OpenFlow .
نقلا عن مهندس / عادل الحميدي