بخشی از مقاله

چکیده:

شبکهای کامپیوتری اصولاً از تعداد زیادی سختافزارهای شبکه مانند مسیریابها، سوئیچها و انواع بیشماری جعبههای میانی با پروتکلهای پیچیده ساخته شدهاند. شبکه نرمافزاری تعریفشده، معماری نوینی در شبکههای کامپیوتری است که در آن هوش شبکه به صورت منطقی در کنترلرهای نرمافزاری متمرکز شده است و سختافزار شبکه تبدیل به تجهیزی ساده برای هدایت بسته شده که از طریق یک واسط باز قابل برنامهریزی است. در مقاله پیش رو، به منظور ایجاد شرایطی برای پیادهسازی متوازنکنندهای پویا با هزینه مناسب و مدیریتپذیری بالا و همچنین قابلیت نوآوری و شخصیسازی بیشتر استفاده از روش SDN پیشنهاد شده است. این متوازنکننده همواره درخواستها را میان مخزنی از سرورها توزیع میکند. این مخزن سرورها دارای یک IP مجازی و هر کدام از سرورها دارای یک IP اختصاصی است. در این مقاله از توپولوژی Fat-Tree جهت بررسی توزیع پذیری روش پیشنهادی استفاده شده است و همچنین با استفاده از دید کلی که کنترلر نسبت به شبکه دارد و همچنین پایگاه دادهای که از نگاشت اشیاء درخواستی و سروری که شیء در آن موجود است - که این پایگاه داده به صورت از پیش تعیین شده آماده است - سیستمی برای توازن بار شبکههای توزیع محتوا در بستر SDN و با استفاده از پروتکل OpenFlow ارائه شده که نتایج روش پیشنهادی با الگوریتم R.R مقایسه شده و بهبودی زمان پاسخ نسبت به الگوریتم R.R ارائه شده است.

واژه های کلیدی: توازن بار، SDN، پروتکلOpenFlow، Round-Robin، شبکه نرمافزاری تعریف شده.

مقدمه

شبکههای کامپیوتری، محور بسیاری از تجارتهای امروزی است. این شبکهها با هزاران تجهیز که نیازمند پیکربندی و مدیریت هستند، روز به روز در حال گسترش میباشند. امروزه، پیکربندی و مدیریت چنین شبکههایی بسیار پیچیده، طاقتفرسا و مستعد خطا است. برایجلوگیری از ایجاد چنین حالت نامطلوبی، مفهوم جدیدی تحت عنوان شبکه نرمافزاری تعریف شدهٌ - SDN - پیشنهاد شده است. شبکههای کامپیوتری اصولاً از تعداد زیادی سختافزارهای شبکه مانند مسیریابها، سوئیچها و انواع بیشماری جعبههای میانیٍ با پروتکلهای پیچیده ساخته شدهاند. اعمال سیاستهای پیکربندی برای پاسخ به دامنهی وسیعی از رخدادها و کاربردهای شبکه بر عهده مدیران شبکه است. - Akyildiz et al,2014 -

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

امروزه متوازنکنندههای بارَ، متشکل از سختافزار اختصاصی گرانقیمتی تحت عنوان توزیعکنندهُ هستند، که در ورودی شبکهها قرار میگیرند . - Singh and Kumar,2012 - این توزیعکننده، مولفهی ویژهای است که فقط به منظور توازن بار، مورد استفاده قرار میگیرد به گونهای که توانایی مدیریت تعداد زیادی درخواست را با کارایی مناسب داشته باشد. ممکن است که توزیعکننده تبدیل به گلوگاهِ سیستم شود و بنابراین لازم است متوازنکننده بار را تکثیرّ کنیم، که این عمل موجب افزایش هزینهها خواهد شد. محدودیتهای متوازنکنندههای بار سنتی این است که آنها فقط به انتخاب سرور میپردازند و بار ترافیکی و محتوای درخواستی را در نظر نمیگیرند. این محدودیت در این مقاله مورد بررسی قرار خواهد گرفت و الگوریتمی طراحی خواهد شد که علاوه بر انتخاب بهترین سرور، وضعیت لینکها و نیز محتوای درخواستی کاربران را مدنظر قرار دهد.به طور کل میتوان متوازنکنندهها را به دو دسته تقسیمبندی نمود:

نوع اول: توازن بار ناآگاه از محتواْ؛

نوع دوم: توازن بار آگاه از محتواَ.

این طبقهبندی بیانگر نحوه کارکرد متوازنکنندهها براساس در نظر گرفتن محتوای بستهها است. در نوع اول، متوازنکننده هیچ اطلاعاتی از سرآیند بستهها در لایه کاربرد - لایه 7 در مدل OSIُ - نداشته و تنها بر اساس اطلاعات لایه 2، 3 و یا 4 اقدام به انتخاب سرور مناسب مینماید؛ ولی در نوع دوم، متوازنکنندهها با روشهایی از جمله TCP Splicing - Delayed Binding - یا TCP Connection Migration، قبل از تخصیص سرور، اطلاعات لایه کاربرد را بدست آورده و براساس این اطلاعات، درخواست را به سرور مناسب منتقل میکنند.فرضیه های این مقاله به شرح زیر می باشند.

چه الگوریتمی برای توازن بار روی سرور در شبکه های SDN مناسب است؟

چگونه میتوان با استفاده از کنترلر، توزیع بار را بر روی سرورهای متفاوت انجام داد؟

 چگونه میتوان در شبکههای SDN، بار را با توجه به سرویسهای مختلف توزیع کرد؟

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

استفاده از کنترلر SDN برای دستیابی به دید کلی؛

استفاده از نگاشت بین سرور و محتوا؛

استخراج اطلاعات لینکهای سوئیچهای شبکه به منظور انتخاب سرور با کمترین بار ترافیکی؛

ارائه الگوریتم توازن بار

پیشینه تحقیق

یکی از مقالههای اصلی در این زمینه - Handigol et al,2015 - Plug-n-Serve است که انگیزه آن سپردن توازن بار به دست شبکه است. به عنوان یک متوازنکننده بار SDN، از مزیت کنترلر متمرکز منطقیًٌ برای مدیریت صفحهکنترل استفاده میکند. برنامه کاربردی توازن بار بر اساس تصمیماتی که اتخاذ نموده و با استفاده از این کنترلر، صفحهداده را پیکربندی میکند. الگوریتمی که در این متوازنکننده مورد استفاده قرار گرفته LOBUSٌٌ نامیده شده است. LOBUS موظف است وضعیت بار موجود بر روی سرورها، زمان پاسخ سرورها و ازدحام لینکها را پایش کند. این الگوریتم، وضعیت فعلی شبکه و سرورها را بدست آورده و سپس براساس این اطلاعات، درخواست را به بهترین سرور محول میکند و بهترین مسیر ممکن را به منظور کمینهسازی زمانهای پاسخ برمیگزیند. شکل - 1 - ، دیاگرام طراحی Plug-n-Serve را نشان میدهد. کنترلر دارای سه ماژول میباشد که وظیفه هر یک در زیر توضیح داده شده است:

 :Flow Manager جریانها را مطابق با برنامه کاربردی توازن بار مسیریابی میکند. همچنین موظف است ورود یک جریان جدید به سوئیچ را به برنامه کاربردی اطلاع دهد.
 :Net Manager وظیفه دارد به طور مکرر رفتار شبکه، توپولوژی و سطوح بهرهوری را پایش کند. کاربرد این ماژول آنجایی مشخص میشود که برای انتخاب بهترین مسیر ممکن، نیاز به جمعآوری اطلاعات مفید باشد.

:Host Manager وضعیت و بار سرورهای شبکه را مانیتور میکند این مولفه اطلاعاتی از قبیل کارکرد CPU سرور و یا تعداد اتصالات TCP را جمعآوری نموده که در انتخاب سروری که قرار است درخواست به آن محول شود کمک خواهد کرد.

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