0

معرفی SDN (شبکه مبتنی بر نرم افزار)

674 بازدید

معرفی SDN

شبکه مبتنی بر نرم افزار(SDN -(Software Defined Network یک الگوی شبکه ای جدیدی است که وظیفه مدیریت شبکه را بسیار آسان کرده است. علاوه بر این، این تکنولوژی دری را برای نوآوری شبکه از طریق یک رابط کنترلی منعطف و قابل برنامه ریزی که کل رفتار شبکه کنترل می کند، باز می کند. از طرفی، برای چندین دهه است که در شبکه های سنتی، مدیریت، خطایابی و اضافه کردن ویژگی های جدید بسیار دشوار است؛ از این رو در این مقاله قصد داریم به معرفی SDN بپردازیم.

دلیل انتخاب SDN

 در شبکه سنتی  ارسال بسته ها، مدیریت و  نظارت بر جریان داده ها توسط یک دستگاه سخت افزاری مدیریت می گردد. معمولاً، هنگامی که یک بسته توسط روتر دریافت می شود، مجموعه ای از قوانین بر روی بسته برای رسیدن به مقصد مورد نظر با کوتاهترین مسیر، اعمال می شود. به طور کلی بسته هایی که برای آن ها همان مقصد در نظر گرفته شده است رویه مشابه ای را دنبال می کنند.

برخی از دستگاه های گران قیمت می توانند برای برخی از بسته ها با توجه به سطح اولویت بسته، قوانینی متفاوتی را برای آن ها اعمال کنند. همچنین تعدادی از تولید کنندگان روتر، انعطاف پذیری را برای مدیریت اندازه صف جهت کنترل ازدحام و ترافیک ارائه می دهند.

اما دستگاه های عنوان شده در تقاضای غیزقابل پیش بینی ترافیک از کارایی بسیار پایینی برخوردار هستند!

یکی دیگر از مهمترین ها محدودیت شبکه سنتی مبتنی بر IP این است که سخت افزار مذکور در صورت وجود بروزرسانی و اضافه کردن ویژگی جدید، هزینه های هنگفتی را می طلبد. به عبارت دیگر برنامه ریزی مجدد برای آن سخت افزار بسیار دشوار است. این محدودیت با اجرای همه قوانین مسیریابی در یک ماژول نرم افزار متمرکز به جای تعبیه کردن قوانین در یک دستگاه سخت افزاری برطرف می شود. که این همان شبکه مبتنی بر نرم افزار (SDN) است.

 هدف SDN جداسازی لایه کنترل و داده است. همه تصمیم گیری مسیریابی و مکانیسم کنترل درون دستگاهی به نام کنترل کننده وجود دارد. کنترلر فرمان را به صفحه داده (شامل سوئیچ ها و روترها) برای مدیریت بسته های داده ارسال می کند.

مکانیسم مسیریابی در شبکه های سنتی و SDN

شبکه سنتی

در سناریوی شبکه سنتی، روترها یک الگوریتم مشخصی را برای ارسال بسته های ورودی به هاپ بعدی اجرا می کنند. در واقع در یک شبکه معمولی روتر می تواند دو کار را انجام دهد. کار اول، روتر جداول مسیریابی را برای به دست آوردن وضعیت شبکه، مرتباً به روز می کند که معمولاً به عنوان عملیات کنترل شناخته شده است. کار دوم، ارسال بسته های داده ورودی به مقصد صحیح مبتنی بر جداول مسیریابی محلی ذخیره شده می باشد که این به عنوان عملکرد ارسال و بخش داده، شناخته می شود.

یک الگوریتم مسیریابی موثر بر اساس جدول مسیریابی دستگاه های محلی جهت تعیین کوتاهترین مسیر بین منبع و مقصد با حداقل تأخیر و حداکثر توان عملیاتی تصمیماتی را می گیرد. اما اگر اندازه توپولوژی شبکه رشد کند بالطبع اندازه جدول مسیریابی نیز نسبتاً افزایش می یابد، که این خود موجب افزایش تأخیر می گردد. همچنین در صورت شکست یکی از گره ها بار محاسباتی روی روتر بطور قابل توجهی افزایش می یابد (پیدا کردن مسیر جایگزین، روتر دیگر همان پردازش را انجام خواهد داد)

شبکه SDN

از آنجا که دستگاه های مسیریابی سنتی با چالش های زیادی روبرو هستند، SDN با جدا کردن لایه کنترل و داده، بر آن ها غلبه می کند. SDN لایه کنترل را به یک دستگاه خارجی به نام کنترلر اختصاص می دهد. بنابراین روترها نیازی به انجام محاسبات گران ندارند و کنترلر همیشه کل شبکه را نظارت می کند.

در واقع  در این تکنولوژی به جای داشتن یک معماری کنترل توزیع شده، تمام كنترل ها را در يك گره منفرد بنام  کنترلر شبکه “تثبيت” کرده که به سادگی یک نرم افزار در حال اجرا بر روی بستر سرور است. دستگاه های انتقال شبکه در کنترل شبکه نقشی نداشته و تنها بسته ها را بر اساس مجموعه قوانین ارسال شده از کنترلر شبکه هدایت می کنند. کنترل کننده شبکه قوانین انتقال دستگاه های ارسال بسته ها را از طریق پروتکل Openflow برنامه ریزی می کند. بنابراین به دستگاه های هدایت کننده داده، سوئیچ های Openflow  نیز می گویند.

پروتکل Openflow یک پروتکل استاندارد است که اطلاعات را بین کنترلر و دستگاه های Openflow در محیط SDN به صورت امن مبادله  می کند. این پروتکل  توسط Open Networking Foundation) ONF)  ارائه شده است.به منظور پیاده سازی یک شبکه جدید تنها لازم است که یک برنامه جدید بر روی کنترلر شبکه نصب شود و در سوئیچ ها  نیازی به هیچ گونه تغییر نیست. شکل 1 تفاوت معماری بین شبکه سنتی و یک شبکه تعریف شده از نرم افزار نشان می دهد.

تفاوت معماری بین شبکه سنتی و SDN

شکل 1 تفاوت معماری بین شبکه سنتی و یک شبکه مبتنی بر نرم افزار

ایجاد برنامه و سرویس در SDN

SDN یک رابط بسیار انعطاف پذیر برای ایجاد سرویس جدید فراهم کرده است. برنامه نویسان شبکه باید خودشان سیاست ها و سرویس های شبکه را (یک نمونه از خط مشی های شبکه، توازن بار است) از طریق یک زبان برنامه نویسی سطح بالا بنویسند. کنترلر شبکه باید قادر به ترجمه این برنامه های سطح بالا به قوانین ارسال سطح پایین برای دستگاه هدایت کننده باشد. با وجود امکان استفاده از برنامه های سطح بالا متمرکز برای کنترل رفتار شبکه، مدیران شبکه قادر به خودکار سازی  وظایف شبکه توسط نوشتن برنامه و سرویس مورد نظر با زبان های برنامه نویسی  مانند C ++ ، java و python هستند.

 

آیا این مطلب را می پسندید؟
https://hivanetwork.ir/?p=20447
اشتراک گذاری:
آیلا افشاری
مطالب بیشتر
برچسب ها:

نظرات

0 نظر در مورد معرفی SDN (شبکه مبتنی بر نرم افزار)

دیدگاهتان را بنویسید

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

هیچ دیدگاهی نوشته نشده است.