شبکه مبتنی بر نرم افزار (SDN) چیست؟
نویسنده: نیکو
تاریخ انتشار:1401/04/20 15:12
SDN تفکیک سازی صفحه کنترل شبکه از صفحه انتقال است بطوریکه یک صفحه کنترلی چندین دستگاه را کنترل می کند. شبکه های مبتنی بر نرمافزار (SDN) یک معماری جدید، پویا، مدیریت آسان، مقرون به صرفه و سازگار است. این معماری ساختار کنترل و انتقالات شبکه را از هم جدا می کند و امکان برنامه ریزی مستقیم کنترل شبکه را فراهم می آورد.
SDN تفکیک سازی صفحه کنترل شبکه از صفحه انتقال است بطوریکه یک صفحه کنترلی چندین دستگاه را کنترل می کند. شبکه های مبتنی بر نرمافزار (SDN) یک معماری جدید، پویا، مدیریت آسان، مقرون به صرفه و سازگار است. این معماری ساختار کنترل و انتقالات شبکه را از هم جدا می کند و امکان برنامه ریزی مستقیم کنترل شبکه را فراهم می آورد. در SDN (مانند هر چیزی که مجازی شده است) نرم افزار از سخت افزار جدا می شود. SDN صفحه کنترلی را به سمتی حرکت می دهد که باید ترافیک به نرمافزار ارسال شود و از صفحه دادهای که در واقع ترافیک را در سختافزار هدایت میکند، خارج می شود. این عملکرد را در اختیار مدیران قرار می دهد تا کل شبکه را بجای دستگاه به دستگاه تنها از طریق یک صفحه شیشه ای برنامهریزی و کنترل نمایند. در این مقاله به بررسی شبکه های مبتنی بر نرم افزار پرداخته و مزایای این شبکه بیان خواهیم نمود.
شبکه مبتنی بر نرم افزار(SDN) چیست؟
شبکه (SDN) رویکردی برای شبکه سازی است که از کنترلکننده های مبتنی بر نرمافزار یا رابط های برنامه نویسی کاربردی (API) برای برقراری ارتباط با زیرساخت های سختافزاری و ترافیک مستقیم در شبکه استفاده میکند.
این مدل متفاوت از شبکه های سنتی دارای دستگاه های سخت افزاری اختصاصی (یعنی روترها و سوئیچ ها) برای کنترل ترافیک شبکه است زیرا SDN می تواند یک شبکه مجازی ایجاد و کنترل نماید. همچنین می تواند یک سخت افزار سنتی را از طریق نرم افزار کنترل کند.
مجازی سازی شبکه به سازمان ها اجازه میدهد تا شبکه های مجازی مختلف را در یک شبکه فیزیکی واحد تقسیم کنند و یا دستگاهها را در شبکههای فیزیکی مختلف برای ایجاد یک شبکه مجازی واحد به هم متصل کنند درحالیکه شبکههای مبتنی بر نرمافزار روش جدیدی را برای کنترل مسیریابی بسته های داده از طریق یک سرور متمرکز امکانپذیر میسازد.
سه بخش برای یک معماری SDN معمولی وجود دارد که شامل:
- برنامههایی که درخواستهای منابع یا اطلاعات مربوط به شبکه را به عنوان یک کل مرتبط می سازند.
- کنترلرهایی که از اطلاعات برنامه ها برای تصمیم گیری در مورد مسیریابی بسته داده استفاده می کنند.
- دستگاه های شبکه که اطلاعاتی را از کنترل کننده در مورد مکان انتقال داده ها دریافت می نمایند.
معماری SDN دارای ویژگی های زیر است:
قابلیت برنامه ریزی مستقیم: کنترل شبکه بطور مستقیم قابل برنامه ریزی است زیرا از توابع ارسال جدا شده است.
انعطاف: کنترل انتزاعی انتقال ها به ادمین ها این اجازه را می دهد تا به صورت پویا جریان ترافیک در سراسر شبکه را در جهت رفع نیازهای متغییر، تنظیم کنند.
مدیریت مرکزی: هوشمندی شبکه (به طور منطقی) در کنترلکنندههای SDN مبتنی بر نرمافزار مورد توجه است تا یک نمای کلی از شبکه شده و برای برنامه ها و موتورهای سیاستی(policy engines) بهعنوان یک سوئیچ واحد و منطقی به نظر برسند.
پیکربندی برنامه ای: SDN به مدیران شبکه امکان پیکربندی، مدیریت، ایمن سازی و بهینه سازی منابع شبکه در سریع ترین زمان ممکن و از طریق برنامه های پویا و خودکار SDN را فراهم می سازد.
مبتنی بر استانداردهای باز و VENDOR-NEUTRAL(عدم وابستگی به نوع سیستم عامل): هنگامی که SDN از طریق استانداردهای باز پیاده سازی می شود، طراحی و عملکرد شبکه ساده می شود زیرا دستورالعمل ها به جای چندین دستگاه و پروتکل های خاص VENDOR ، توسط کنترل کننده های SDN ارائه می شود.
چرا شبکه های SDN از اهمیت بالایی برخوردارند؟
افزایش کنترل با سرعت و انعطافپذیری بیشتر
توسعهدهندگان به جای برنامه نویسی دستی چندین دستگاه سختافزاری خاص، میتوانند با برنامهنویسی یک کنترلکننده استاندارد مبتنی بر نرمافزار، جریان ترافیک روی شبکه را کنترل کنند. مدیران شبکه همچنین انعطاف بیشتری در انتخاب تجهیزات شبکه دارند زیرا می توانند یک پروتکل واحد را برای ارتباط با هر تعداد دستگاه سخت افزاری از طریق یک کنترل کننده مرکزی انتخاب کنند.
قابل تنظیم بودن زیرساخت شبکه
از طریق SDN مدیران می توانند خدمات شبکه را پیکربندی کرده و منابع مجازی را برای تغییر زیرساخت شبکه بصورت بلادرنگ از طریق یک مکان متمرکز اختصاص دهند. همچنین به آن ها اجازه بهینه کردن جریان داده ها از طریق شبکه بهینه می دهد و الویت بندی برنامههایی را که نیاز به دسترسی بیشتری دارند را انجام می دهد.
امنیت قوی
شبکه مبتنی بر نرم افزار قابلیت دید (مانیتورینگ) جامعتری از تهدیدات امنیتی ارائه میدهد. با گسترش اپراتورها می توانند مناطق جداگانه ای برای دستگاه هایی با سطوح مختلف امنیتی ایجاد کنند و فورا دستگاه در معرض خطر را قرنطینه کرده تا نتواند بقیه شبکه را آلوده نماید.
تفاوت اصلی بین SDN و شبکه های سنتی در چیست؟
تفاوت اصلی آن ها در ساختار است. SDN مبتنی بر نرم افزار است در حالی که شبکه سنتی مبتنی بر سخت افزار است. از آنجایی که صفحه کنترل مبتنی بر نرم افزار است بنابراین SDN بسیار انعطاف پذیرتر از شبکه های سنتی است. این امر سبب می شود تا مدیران براحتی شبکه را کنترل، تنظیمات پیکربندی را تغییر داده و بتوانند منابع تهیه نموده و ظرفیت شبکه را افزایش دهند یعنی همه از طریق یک رابط کاربری متمرکز و بدون نیاز به سخت افزار بیشتر باشند.
همچنین تفاوت های امنیتی بین SDN و شبکه های سنتی وجود دارد. بخاطر ویژگی مانیتورینگ بیشتر و توانایی تعریف مسیرهای امن، SDN از بسیاری جهات امنیت بهتری را فراهم می آورد. در نظر داشته باشید از آنجایی که شبکه های مبتنی بر نرم افزار از یک کنترل کننده متمرکز استفاده می کنند بنابراین ایمن سازی کنترل کننده برای حفظ شبکه ایمن بسیار مهم است.
دستگاه های فیزیکی یا مجازی شبکه داده ها را از طریق شبکه جابجا می کنند. گاهی سوئیچ مجازی که ممکن است در نرم افزار یا سختافزار تعبیه شده باشد مسئولیت سوئیچ فیزیکی را بر عهده میگیرد و عملکرد آن را در یک سوئیچ هوشمند واحد تجمیع میکند. سوئیچ یکپارچگی بسته های داده و مقصد ماشین مجازی آن ها را بررسی می کند و بسته ها را در امتداد حرکت می دهد.
مزایای شبکه های SDN
بسیاری از سرویسها و برنامههای کاربردی امروزی مخصوصا آن هایی که از فضای ابری استفاده می کنند بدون SDN نمیتوانند کار کنند زیرا از این طریق داده ها به راحتی بین مکان های توزیع شده حرکت کرده که برای برنامه های ابری بسیار مهم است. علاوه بر این SDN از جابجایی سریع بارهای کاری در یک شبکه پشتیبانی می کند.
برای مثال تقسیم یک شبکه مجازی به بخش های مختلف با استفاده از تکنیکی به نام مجازیسازی توابع شبکه (NFV) به ارائهدهندگان مخابراتی اجازه میدهد تا خدمات مشتری را به سرورهای ارزانتر یا حتی به سرورهای خود مشتری منتقل کنند. ارائه دهندگان خدمات می توانند در صورت لزوم از یک زیرساخت شبکه مجازی برای تغییر بار کاری از زیرساخت خصوصی به زیرساخت ابری عمومی انتقال دهند و خدمات مشتریان جدید بلافاصله در دسترس قرار گیرد. همچنین انعطافپذیری و مقیاسپذیری هر شبکه را آسانتر میکند، مدیران شبکه ماشینهای مجازی را اضافه یا حذف کنند خواه ماشینها در محل یا در فضای ابری باشند.
در نهایت به دلیل سرعت و انعطافپذیری ارائه شده توسط SDN، میتواند از روندها و فناوریهای نوظهور مانند محاسبات لبه و اینترنت اشیا پشتیبانی کند که نیازمند انتقال سریع و آسان داده بین سایت ها از راه دور است.
تفاوت مدل های مختلف SDN در چیست؟
با وجود اینکه فرض SDN بر نرم افزار متمرکز کنترل کننده جریان داده در سوئیچ ها و روترها است اما مدل های مختلفی از SDN وجود دارد.
-
Open SDN
مدیران شبکه از پروتکلی مانند OpenFlow برای کنترل رفتار سوئیچ های مجازی و فیزیکی در سطح صفحه داده استفاده می کنند.
-
SDN بوسیله API ها
به جای استفاده از یک پروتکل باز، رابط های برنامه نویسی برنامه، نحوه حرکت داده ها را در شبکه کنترل می کند.
-
مدل پوششی SDN
نوع دیگری از شبکه های نرم افزاری تعریف شده است که یک شبکه مجازی را بالاتر از یک زیرساخت سخت افزاری موجود اجرا کرده و تونل های پویا را برای مراکز داده مختلف داخلی و از راه دور ایجاد نماید. شبکه مجازی پهنای باند را بر روی کانال های مختلف اختصاص می دهد و دستگاه هایی را به هر کانال اختصاص می دهد و شبکه فیزیکی را دست نخورده باقی می گذارد.
-
Hybrid SDN
در این مدل شبکه مبتنی بر نرم افزار با پروتکل های شبکه سنتی در یک محیط ترکیب می کند تا از عملکردهای مختلف در یک شبکه پشتیبانی کند. پروتکلهای شبکه استاندارد به هدایت بخشی از ترافیک ادامه میدهند در حالی که SDN مسئولیت سایر ترافیک را بر عهده میگیرد و به مدیران شبکه اجازه میدهد تا SDN را در مراحلی به یک محیط قدیمی معرفی کنند.
دیدیم که معماری SDN ساختار کنترل و انتقالات شبکه را از هم جدا می کند و امکان برنامه ریزی مستقیم کنترل شبکه را فراهم می آورد. به عبارتی دیگر نرم افزار را از سخت افزار جدا می کند. SDN صفحه کنترلی را به سمتی حرکت می دهد که باید ترافیک به نرمافزار ارسال شود و از صفحه دادهای که در واقع ترافیک را در سختافزار هدایت میکند، خارج می شود. پیشگام رایان نیز خدمات مبتنی بر شبکه از جمله راه اندازی و نگهداری زیرساخت، امنیت شبکه، سیستم های بکاپ گیری بصورت محلی و ابری، راه اندازی رایانش ابری درون سازمانی و عمومی، راه اندازی سیستم های اتوماسیون شبکه و شبکه های مبتنی بر SDN را ارائه می نماید.