SDN از نگاهی دیگر

SDN از نگاهی دیگر

مروری بر SDN

SDN مخفف “Software Defined Network” به معنای “شبکه نرم افزار محور”  می‌باشد. زمانی که ما از “Software Defined Everything” صحبت می‌کنیم معمولا به معنای یک سیستم یا یک کامپوننتی که در نرم افزار پیاده‌سازی شده است که در گذشته همان سیستم یا کامپوننت در سخت افزار پیاده سازی شده بود و توسط اشخاص (به صورت دستی) پیکربندی می‌شد. اگر این مفهوم را به SDN تعمیم دهیم، اصطلاح SDN بدین معناست که ما می‌خواهیم یک شبکه (یا یک کامپوننت شبکه) را توسط نرم‌افزار پیاده‌سازی کنیم؛ شبکه‌ای که در گذشته به صورت سخت‌افزاری پیاده‌سازی می‌شد و توسط اشخاص بایستی پیکربندی و کافیگ آن صورت می‌کرفت.

ممکن است این سوال را بپرسید که “در SDN‌ چه بخشی از شبکه توسط نرم‌افزار جایگزین خواهد شد؟” چگونه؟ و چرا؟

پاسخ سوالاتتان را در بخش‌های بعدی خواهید یافت.

 

ساختار شبکه‌های فعلی چگونه است؟

پیش از آنکه ما در مورد سیستم جدید (SDN) صحبت کنیم، بیایید به طور خلاصه در مورد چگونگی پیاده‌سازی و کانفیگ شبکه به روش فعلی فکر کنیم.

به طور ساده، یک شبکه می‌تواند از تعدادی سوئیچ (و/یا روتر) که به هم متصل می‌باشند تشکیل شده است (مانند شکل زیر).

هر کامپوننت (مثلا سوئیچ در این شکل زیر) از دو بخش اصلی تشکیل می‌شود. بخشی برای فورواردینگ یک بسته از یک پورت به پورت دیگیر و بخشی برای تنظیم اطلاعات/کانفیگ در مورد چگونگی هدایت بسته.

 

این یک توصیح ساده از شبکه فعلی (non-SDN) می‌باشد. بیایید کمی وارد جزییات شویم. برخی از ویژگی‌های شبکه‌های فعلی که قرار است در شبکه جدید تحت عنوان SDN بهبود یابد را بررسی می‌کنیم.

  • نبود دید انتزاعی در Control Plane: بدین معنا که کانفیگ/الگوریتم‌ها در control plane به صورت محلی و مختص یک سوئیچ/روتر است و ساختار عمومی و کلی نمی‌توان به همه سوئیچ‌ها/روترها اعمال کرد.
  • Control Plane فاقد ماژولاریتی است و ویژگی‌های محدودی پشتیبانی می‌کند: بدین معنا که اگر بخواهیم یک پروتکل روتینگ جدید بنویسیم، باید از صفر شروع کنیم. چراکه یک کتابخانه برنامه نویسی ماژولار وجود ندارد که بتواند بر اساس آن پروتکل جدیدی نوشت.

 

و اما در شبکه‌های فعلی (non-SDN) چگونه کانفیگ انجام می‌شود؟

فرض کنید برای اختصاصی و بهینه‌سازی شبک شبکه، نیاز به تغییر کانفیگ داشته باشیم. روش معمول این است که شخصی در محل تجهیزات حاضر می‌شود و همه سوئیچ‌ها (در این مثال) را بطور دستی کانفیگ می‌کند.


در روش فعلی (non-SDN) مشکل چیست؟

زمانی که تعداد کمی سوئیچ یا روتر نیاز به کانفیگ مجدد داشته باشند، مشکل خاصی پیش نمی‌آید. یا حتی اگر بخواهیم تعداد زیادی از آن‌ها را سالی یکی دو بار کانفیگ مجدد کنیم باز هم مسئله چندانی پیش نمی‌آید؛ اما در موارد زیادی کانفیگ مجدد دستی (به صورت حضور در محل) ممکن است نشدنی باشد. برخی از این موارد در ادامه ذکر شده است:

  • اگر بخواهیم چندین هزار و یا حتی بیشتر کامپوننت شبکه را کانفیگ کنیم چطور؟
  • اگر نیاز به تغییرات کانفیگ در بازه‌های زمانی کوتاهتری باشیم؟ مثلا چندین بار در طور روز؟
  • اگر بخواهیم از تجهیزات وندورهای مختلف استفاده کنیم چطور؟ (هر وندور روش کانفیگ مختص به خودش را دارد، پارامترهای متفاوتی باید تنظیم شود، ابزارهای مختلفی برای کانفیگ تجهیزات ممکن است وجود داشته باشد. پس ما نیاز به گروه‌های مختلفی از افراد متخصص برای تجهیزات هر وندور خواهیم داشت)

 

تغییرات در شبکه‌های SDN چگونه اعمال می‌شود؟

طبیعی است که یک سوال در ذهن شما ایجاد شده باشد که چگونه مشکلات بالا را حل می‌کنیم؟ تکنولوژی جدیدی تحت عنوان SDN برای رفع مشکلات بالا وجود دارد. ایده اصلی SDN در شکل زیر آورده شده است. یک مرکز کنترل متمرکز که به همه کامپوننت‌های شبکه دید کلی دارد. و سپس می‌تواند به صورت ریموت (غیردستی) تک تک تجهیزات را کانفیگ کند.

 

چگونه SDN را درک کنیم؟

آن طور که به نظر می‌رسد همه چی خوب و آسان است. اما آسان بدین معنا نیست که به راحتی شدنی و قابل اجرا باشد. مواردی هست که باید قبل از تحقق SDN بررسی کنیم. در ادامه برخی از این پیش‌نیازها مطرح شده است:

  • چه نوع توپولوژی قرار است داشته باشیم؟
  • چه ویژگی‌ها و توابع و کانفیگی قرار است در Control Plane داشته باشیم. همه مواردی که مدنظرمان است را لیست کنیم.
  • هر کامپوننت شبکه (سوئیچ، روتر و غیره) دارای واسطی برای ارتباط با کنترلر مرکزی است و دستورات را از کنترلر دریافت می‌کند.
  • این واسط باید مستقل از وندور باشد. در این حالت دیگر نگرانی از بابت استفاده از تجهیزات وندورهای مختلف در شبکه نخواهیم داشت.
  • برای چنین ارتباطی می‌بایست واسطی وجود داشته باشد.

یکی از بهترین و شناخته شده ترین پروتکل‌های کنترل برای حل مشکلات شبکه‌های فعلی OpenFlow می‌باشد.

 

منبع:

sharetechnote.com

(2) دیدگاه

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *