با گسترش شبکههای کامپیوتری، آنها به بخش مهمی از زیرساخت کسب و کارهای امروزی تبدیل شدهاند. گسترش شبکهها امکان ارتباطات از راه دور را تقویت میکند. امّا از طرفی دیگر هزینههای خرید، نصب و راهاندازی تجهیزات مورد استفاده در زیرساختهای شبکه بار مالی زیادی را برای سازمانها و دولتها ایجاد میکند. شبکه های نرم افزاری تعریف شده (SDN) با استفاده از مجازیسازی یک راهحل مناسب برای حل مشکل فوق میباشند.
شبکه نرم افزاری تعریف شده چیست؟
شبکه نرم افزاری تعریف شده (Software-Defined Networks) یا همان SDNها نسل جدیدی از شبکههای میباشند که با استفاده از لایههای مجازی، سوئیچهای مجازی و استانداردهای ارتباطی مختص به خودشان سعی میکنند بسیاری از فعالیتهای موجود در سطح شبکه را به صورت نرمافزاری و مجازی انجام دهند.
شبکههای نرم افزاری تعریف شده به دنبال کاهش وابستگی به سختافزارهای پیچیده شبکه و همچنین کاهش هزینههای راهاندازی زیرساختها میباشند. با کمک SDN میتوان هوشمندی شبکه را افزایش داد و نوآوریهای مختلف(پروژههای تحقیقاتی و آکادمیک) را با کمترین نگرانی پیادهسازی و اجرا نمود.
دلایل حرکت به سمت SDN
هزینههای راهاندازی شبکههای کامپیوتری بسیار زیاد است. از دیگرسو، نگهداری و مدیریت این شبکهها کار پیچیده و مشکلی است. این درحالی است که ذخیرهسازی ابری، اینترنت اشیا و دیتاسنترهای امروزی نیاز به سرعت بالا در راهاندازی دارند. همچنین با توجه به گستردگی فناوریهای جدید در سطح جامعه، باید مدیریت آنها آسان باشد.
تجهیزات شبکههای سنتی به صورت دستی پیکربندی میشوند و فروشندگان مختلف از رابطهای کاربری مختلفی برای مدیریت تجهیزات خود استفاده میکنند. همین موضوع باعث شده است تا مدیریت شبکه کاری مشکل بنظر برسد. مهمترین دلایلی که موجب شده تا از شبکههای معمولی به سراغ SDN برویم عبارتند از:
- تمایل به عملکرد بالا در شبکهها و هزینه پیادهسازی کم
- نیاز به مدیریت و کنترل ساده شبکه
- تمایل به پیادهسازی پروژههای تحقیقاتی بر روی شبکههایی با عملکرد واقعی
- نیاز به تضمین جداسازی ترافیک آزمایشی از ترافیک واقعی
- سازگاری با نیاز فروشندگان برای ارائه پلتفرمهای جدید برای شبکهها
چگونگی عملکرد SDN
ایده اصلی در شبکههای SDN جداسازی لایه کنترل از لایه داده میباشد. ایجاد یک کنترلر مرکزی در شبکه موجب ایجاد یک دید جامعتری نسبت به کل شبکه میشود. جداسازی کنترل شبکه و مدیریت دادهها، قابلیت برنامهریزی شبکه را ساده میسازد و کاهش نرخ خرابی و رفع خطا را به دنبال خواهد داشت.
Open Flow اساس کار شبکههای نرمافزاری تعریفشده میباشد. ایده اصلی در Open Flow این است که ما شاهد تعداد زیادی سوئیچ و روتری هستیم که توسط سازندگان مختلف به بازار ارائه شدهاند. هر کدام از این سوئیچ یا روترها دارای یک جدول جریان هستند.
با کمک Open Flow با استفاده از توابعی مشترک که در همه تجهیزات شبکه وجود دارند، شبکه راهاندازی میشود. اُپنفلو یک پروتکل منبع باز است که همه توسعهدهندگان به کدهای آن دسترسی دارند و به راحتی میتوانند با کمک آن نیازهای مدیریتی خود را در شبکه اجرا کنند.
مزایای استفاده از SDN در شبکهها
- سادهسازی مدیریت شبکهها از یک نقطه متمرکز(پیکربندی، عملیات و عیبیابی)
- پیکربندی سریع با استفاده از مدیریت مرکزی
- امکان اعمال امنیت براساس پارامترهای مختلف
- اعمال سیستم سلسله مراتبی در مدیریت شبکه
- امکان تحول و نوآوری در شبکه
- کاهش هزینههای عملیاتی و سرمایهای
- افزایش کیفیت سرویس و ضمانت در تحویل محتوا به کاربرنهایی
- ایجاد شبکههای چابک و سریع متناسب با کاربردهای جدید(نظیر اینترنت اشیا)
اجزا شبکههای نرمافزاری تعریفشده
- Control Plane: مغز شبکه است که به صورت متمرکز مسئول مدیرت ترافیک با عملیات منطقی میباشد. با کنترلر مرکزی امکان کنترل شبکه و سرویسهای کاربران به سادگی امکانپذیر است.
- Data Plane: سخت افزارهای قابل برنامهریزی که بوسیله لایه کنترل مدیریت میشوند.
کاربردهای SDN
شبکههای نرمافزاری میتوانند در کاربردهای گوناگونی به کار گرفته شوند
- دیتاسنترها و ذخیرهسازی ابری
- Back Bone شبکههای گسترده
- شبکههای تجاری
- شبکههای خانگی
ماهیت پویای شبکههای امروزی ما را نیازمند به مدیریت سریع و چابک نموده است. SDN بسادگی میتواند با ارائه پهنای باند بالاتر، سرعت بیشتر و پردازش قدرتمند نیازهای ما را در فناوریهای سطح بالا فراهم نماید. سادگی مدیریت شبکه باعث میشود تا بتوان شبکهها را بدون نیاز به اپراتورهای حرفهراهاندازی کرد.