بخشی از مقاله

چکیده

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

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

.1 مقدمه

تحمل پذیری خطا1 توانایی یک سیستم ارتباطی در مواجهه با خطاهای حاصل از رخداد ها است. به گونه ای که سایر سرویس های استفاده کننده از سیستم دچار خطا نشوند و افزایش تحمل پذیری خطا در دو مرحله انجام گیرد:

·    تشخیص2 خطا : شامل مجموعه اقداماتی که از دست رفتن یا خرابی3 لینک، سوئیچ یا کنترلر را مشخص می کند.

·    ترمیم4 خطا : مجموعه اقداماتی که برای تضمین در دسترس بودن5، کاهش بسته های از دست رفته6 و افزایش توان عملیاتی7 شبکه در صورت بروز خطا را تضمین می کند. و دو الگو برای ترمیم خطا وجود دارد :

·    محافظت : در این روش کنترلر ابتدا دو مسیر کاری و پشتیبان را محاسبه می کند و در اختیار سوئیچها می گذارد. سوئیچ درصورت تشخیص خطا بدون نیاز به اعلام به کنترلر خودکار از مسیر پشتیبان برای ارسال بسته ها استفاده می کند.

·    بازیابی : در این روش سوئیچ پس از تشخیص خطا به کنترلر خطا را اعلام می کند. کنترلر سپس مسیرهایی که این خطا بر آنها اثرگذار بوده است را شناسایی و مسیر جایگزین را محاسبه میکند. پس از این مرحله کنترلر سوئیچ های شبکه را به روز رسانی می کند.

.2 شبکه های مبتنی بر نرم افزار

معماری جدیدی است که چهار ویژگی اساسی دارد : - Kreutz et al, 2015 -

-1 لایه های کنترل8 و داده9 از یکدیگر جدا شده اند. با جدا شدن بخش کنترلی از سخت افزار، دستگاهها تنها به یک هدایتگر10 ساده بسته ها تبدیل شده اند.

-2 تصمیم گیری انتقال بستهها برخلاف شبکه های سنتی که بر اساس مقصد بسته است، بر اساس جریانها11 تعریف می شود. جریانها به وسیله مجموعه ای از پارامترهای بسته و اقدامات12 تعریف می شوند.

-3 بخش کنترلی به یک موجودیت خارجی به نام کنترلر یا سیستم عامل شبکه13 منتقل شده است. کنترلر یک پلتفرم نرم افزاری است که منابع و انتزاع مورد نیاز برای برنامه نویسی سخت افزار های انتقال دهنده را فراهم می کند.

-4 شبکه به کمک برنامه های کاربردی در لایه ای بالاتر از NOS، قابل برنامه نویسی است.

1,2.    پروتکل OpenFlow

پروتکل OpenFlow برای ارتباط بین سوئیچ های OpenFlow و کنترلر SDN استفاده می شود. سوئیچهای SDN هدایت بستهها را بر اساس قواعدی که کنترلر برایشان ارسال و بروز رسانی می کند، انجام می دهند.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید