مدیران شبکه همیشه دغدغه های خاص خود را جهت مقیاس پذیری، امنیت، مدیریت اتوماتیک و… داشته اند. چای هوشمند (SmartTEA) در این مقاله جهت آشنایی با راه حل دغدغه های فوق، شبکه مبتنی بر نرم افزار (SDN) را مختصرا معرفی می نماید.
Sdn چیست؟
شبکه مبتنی بر نرم افزار (SDN) رویکردی برای شبکه سازی است که از کنترل کننده های مبتنی بر نرم افزار یا رابط های برنامه نویسی برنامه (API) برای ارتباط با زیرساخت های سخت افزاری اساسی و ترافیک مستقیم در شبکه استفاده می کند.
هدف اصلی sdn چیست؟
این مدل با شبکه های سنتی که از دستگاه های سخت افزاری اختصاصی (مانند روترها و سوئیچ ها) برای کنترل ترافیک شبکه استفاده می کنند، متفاوت است. SDN می تواند یک شبکه مجازی – یا سخت افزار سنتی را – از طریق نرم افزار ایجاد و کنترل کند. در حالی که مجازی سازی شبکه به سازمان ها اجازه می دهد تا شبکه های مجازی مختلف را در یک شبکه فیزیکی واحد تقسیم بندی کنند، یا دستگاه هایی را در شبکه های فیزیکی مختلف به یکدیگر متصل کنند تا یک شبکه مجازی واحد ایجاد شود، شبکه های مبتنی بر نرم افزار روش جدیدی را برای کنترل مسیریابی بسته های داده از طریق یک سرور متمرکز امکان پذیر می کند مسیریابی در SDN در مقاله جداگانه توسط تیم زیرساخت چای هوشمند تدوین شده است.
چرا شبکه های مبتنی بر نرم افزار مهم هستند؟
SDN یک گام مهم رو به جلو از شبکه های سنتی است، زیرا موارد زیر را قادر می سازد:
افزایش کنترل با سرعت و انعطاف پذیری بیشتر: به جای برنامه نویسی دستی چندین دستگاه سخت افزاری برندهای مختلف، توسعه دهندگان می توانند جریان ترافیک را بر روی شبکه به سادگی با برنامه نویسی یک کنترلر استاندارد نرم افزاری باز، کنترل کنند. مدیران شبکه نیز در انتخاب تجهیزات شبکه انعطاف پذیری بیشتری دارند، زیرا می توانند یک پروتکل واحد برای ارتباط با هر تعداد دستگاه سخت افزاری از طریق کنترل کننده مرکزی را انتخاب کنند.
زیرساخت شبکه قابل تنظیم: با یک شبکه مبتنی بر نرم افزار، مدیران می توانند سرویس های شبکه را پیکربندی کرده و منابع مجازی را برای تغییر زیرساخت شبکه در زمان واقعی از طریق یک محل متمرکز اختصاص دهند. این به مدیران شبکه اجازه می دهد تا جریان داده ها را در شبکه بهینه کرده و برنامه هایی را که نیاز به منابع بیشتری دارند، در اولویت قرار دهند.
امنیت قوی: یک شبکه تعریف شده توسط نرم افزار، قابلیت مشاهده را در کل شبکه ارائه می دهد و دید جامع تری از تهدیدات امنیتی ارائه می دهد. با گسترش دستگاه های هوشمند متصل به اینترنت ، SDN مزایای آشکاری نسبت به شبکه های سنتی ارائه می دهد. اپراتورها می توانند برای دستگاه هایی که به سطوح مختلف امنیت نیاز دارند، مناطق جداگانه ای ایجاد کنند یا دستگاه های آسیب دیده را بلافاصله قرنطینه کنند تا نتوانند بقیه شبکه را آلوده کنند.
تفاوت اصلی بین SDN و شبکه سنتی در زیرساخت ها است: SDN مبتنی بر نرم افزار است، در حالی که شبکه سنتی مبتنی بر سخت افزار است. از آنجا که واحد کنترل مبتنی بر نرم افزار است، SDN بسیار انعطاف پذیرتر از شبکه های سنتی است. این به مدیران اجازه می دهد تا شبکه را کنترل کرده تنظیمات پیکربندی، منابع و ظرفیت شبکه را افزایش دهند. همه از طریق رابط کاربری متمرکز و بدون نیاز به سخت افزار بیشتر محقق می شوند.
همچنین تفاوت های امنیتی بین SDN و شبکه های سنتی وجود دارد. به لطف دید بیشتر و توانایی تعریف مسیرهای ایمن ، SDN از جهات مختلف امنیت بهتری را ارائه می دهد. با این حال از آنجا که شبکه های مبتنی بر نرم افزار از کنترل کننده متمرکز استفاده می کنند، ایمن سازی کنترل کننده برای حفظ یک شبکه امن بسیار مهم است.
معماری شبکه های SDN چگونه است؟
در اینجا اصول اولیه SDN آمده است: در SDN (مانند هر سیستم مجازی)، نرم افزار از سخت افزار جدا می شود. SDN واحد کنترل را که محل ارسال ترافیک به نرم افزار را تعیین می کند، حرکت می دهد و صفحه داده ای را که در واقع ترافیک را در سخت افزار ارسال می کند، ترک می کند. این به مدیران شبکه که از شبکه های مبتنی بر نرم افزار استفاده می کنند، اجازه می دهد تا کل شبکه را از طریق یک پنجره شیشه ای بر اساس دستگاه برنامه ریزی و کنترل کنند.
سه قسمت معماری SDN معمولی وجود دارد که ممکن است در مکان های فیزیکی مختلف قرار بگیرند:
برنامه های کاربردی، که درخواست منابع یا اطلاعات مربوط به شبکه را به طور کلی انتقال می دهند.
کنترلرها، که از اطلاعات برنامه های کاربردی برای تصمیم گیری نحوه مسیریابی یک بسته داده استفاده می کنند.
دستگاه های شبکه که اطلاعاتی را از کنترل کننده در مورد محل انتقال داده ها دریافت می کنند.
دستگاه های شبکه فیزیکی یا مجازی در واقع داده ها را از طریق شبکه منتقل می کنند. در برخی موارد، سوئیچ های مجازی، که ممکن است در نرم افزار یا سخت افزار تعبیه شده باشند، مسئولیت سوئیچ های فیزیکی را بر عهده می گیرند و عملکردهای خود را در یک سوئیچ واحد و هوشمند جمع می کنند. سوئیچ، یکپارچگی بسته های داده و مقاصد ماشین مجازی آنها را بررسی می کند و بسته ها را همراه خود حرکت می دهد.
مزایای شبکه مبتنی بر نرم افزار SDN
بسیاری از سرویس ها و برنامه های امروزی، به ویژه هنگامی که شامل ابر می شوند، بدون SDN نمی توانند کار کنند. SDN اجازه می دهد تا داده ها به راحتی بین محل های توزیع شده حرکت کنند، که برای برنامه های ابری بسیار مهم است.
علاوه بر این SDN از جابجایی سریع حجم کار در شبکه پشتیبانی می کند. به عنوان مثال، تقسیم یک شبکه مجازی به بخشها، با استفاده از تکنیکی به نام مجازی سازی توابع شبکهNFV ، به ارائه دهندگان ارتباطات مخابراتی اجازه می دهد خدمات مشتریان را به سرورهای ارزان تر یا حتی به سرورهای خود مشتری منتقل کنند. ارائه دهندگان خدمات می توانند از زیرساخت شبکه مجازی برای جابجایی حجم کار از زیرساخت های خصوصی به ابر عمومی در صورت لزوم و در دسترس قرار دادن سرویس های جدید مشتریان به صورت فوری استفاده کنند. SDN همچنین انعطاف پذیری و مقیاس پذیری را برای هر شبکه ای آسان می کند زیرا مدیران شبکه ماشین های مجازی را اضافه یا حذف می کنند، خواه این ماشین ها در محیط داخلی باشند یا در ابر.
سرانجام به دلیل سرعت و انعطاف پذیری ارائه شده توسط SDN ، می تواند از روندها و فناوری های در حال ظهور مانند رایانش پیشرفته و اینترنت اشیا پشتیبانی کند، که نیاز به انتقال سریع و آسان داده ها بین سایت های دورافتاده دارد.
مدل های مختلف SDN چیست؟
در حالی که نرم افزار متمرکز که جریان داده ها را در سوئیچ ها و روترها کنترل می کند، برای همه شبکه های مبتنی بر نرم افزار کاربرد دارد، مدل های مختلفی از SDN وجود دارد.
SDN باز: مدیران شبکه از پروتکلی مانند OpenFlow برای کنترل رفتار سوئیچ های مجازی و فیزیکی در سطح داده استفاده می کنند.
SDN توسط API ها: رابط های برنامه نویسی برنامه به جای استفاده از یک پروتکل باز، نحوه حرکت داده ها در شبکه بر روی هر دستگاه را کنترل می کنند.
مدل همپوشانی SDN: نوع دیگری از شبکه های مبتنی بر نرم افزار، یک شبکه مجازی را بر روی زیرساخت سخت افزاری موجود اجرا می کند و تونل های پویایی را در مراکز داده مختلف از پیش فرض و راه دور ایجاد می کند. شبکه مجازی پهنای باند را بر روی انواع کانال ها اختصاص می دهد و دستگاه هایی را به هر کانال اختصاص می دهد و شبکه فیزیکی را دست نخورده می گذارد.
Hybrid SDN : این مدل، شبکه های مبتنی بر نرم افزار را با پروتکل های شبکه سنتی در یک محیط ترکیب می کند تا از عملکردهای مختلف در شبکه پشتیبانی کند. پروتکل های استاندارد شبکه همچنان برخی از ترافیک را هدایت می کنند ، در حالی که SDN مسئولیت سایر ترافیک را بر عهده می گیرد و به مدیران شبکه اجازه می دهد SDN را به صورت مرحله ای به یک محیط قدیمی معرفی کنند.