O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Load Balancing in SDN

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
SDN  و NFV معرفی
SDN و NFV معرفی
Carregando em…3
×

Confira estes a seguir

1 de 36 Anúncio

Mais Conteúdo rRelacionado

Semelhante a Load Balancing in SDN (20)

Anúncio

Load Balancing in SDN

  1. 1. In The Name Of AllaH Implementation of Server Load Balancing in Software Defined Networking Milad Mahdavi 1
  2. 2. Contents • What is SDN? – Background • What is OpenFlow? – How it helps SDN • Load Balancing Architecture • Evaluation • Conclusions 2
  3. 3. Abstract ‫شبکه‬‫های‬‫ی‬‫کامپیوتر‬‫تمامی‬‫جهان‬‫ا‬‫ر‬‫در‬‫بر‬‫گرفته‬‫است‬‫و‬‫سال‬‫ها‬‫است‬‫که‬‫ل‬‫تحو‬‫جدی‬‫و‬‫جدیدی‬‫در‬‫این‬‫ص‬‫نعت‬ ‫شکل‬‫نگرفته‬‫است‬.‫از‬‫طرفی‬‫مدیریت‬‫شبکه‬‫ی‬‫کار‬‫ماللت‬‫بار‬‫و‬‫نج‬‫ر‬‫ر‬‫آو‬‫است‬.‫شرکت‬‫ها‬‫و‬‫مان‬‫ز‬‫سا‬‫های‬‫مصر‬‫ف‬‫کننده‬‫به‬ ‫عدم‬‫دن‬‫و‬‫افز‬‫ویژگی‬‫های‬‫جدید‬‫به‬‫شبکه‬‫های‬‫خود‬‫گالیه‬‫می‬‫کنند‬‫و‬‫دوست‬‫ند‬‫ر‬‫دا‬‫با‬‫توجه‬‫به‬‫نیاز‬‫های‬‫خود‬‫ب‬‫ی‬‫سیار‬‫از‬ ‫ها‬‫ر‬‫کا‬‫به‬‫ت‬‫ر‬‫صو‬‫خودکار‬‫انجام‬‫شود‬‫و‬‫همچنین‬‫دوست‬‫ند‬‫ر‬‫دا‬‫شبکه‬‫ها‬‫ا‬‫ر‬‫به‬‫ت‬‫ر‬‫صو‬‫نرم‬‫ی‬‫ار‬‫ز‬‫اف‬‫توسعه‬‫و‬‫گس‬‫ترش‬ ‫بدهند‬‫و‬‫ی‬‫نیاز‬‫نداشته‬‫باشند‬‫ای‬‫ر‬‫ب‬‫خیلی‬‫از‬‫فعالیت‬‫ها‬‫و‬‫نیاز‬‫های‬‫شبکه‬‫خود‬‫به‬‫سخت‬‫های‬‫ر‬‫ا‬‫ز‬‫اف‬‫ان‬‫ر‬‫گ‬‫ق‬‫یمت‬‫جدید‬ ‫و‬‫ر‬‫ند‬‫ر‬‫بیاو‬. ‫ی‬‫معمار‬SDN‫و‬‫تکل‬‫و‬‫پر‬OpenFlow‫باعث‬‫می‬‫شود‬‫سطوح‬‫داده‬‫و‬‫ل‬‫کنتر‬‫از‬‫یکدیگر‬‫جدا‬‫شده‬‫و‬‫شبکه‬ ‫هوشمندتر‬‫و‬‫ل‬‫کنتر‬‫پذیرتر‬‫می‬‫گردند‬‫و‬‫یر‬‫ز‬‫ساخت‬‫اصلی‬‫شبکه‬‫از‬‫برنامه‬‫های‬‫بردی‬‫ر‬‫کا‬‫جدا‬‫شده‬‫است‬.‫شرکت‬‫ها‬ ‫قادر‬‫به‬‫نامه‬‫ر‬‫ب‬‫ی‬‫ساز‬‫ر‬‫ی،خودکا‬ ‫نویس‬‫و‬‫ل‬‫کنتر‬‫بیشتر‬‫شبکه‬‫خواهند‬‫بود‬. ‫کلمات‬‫کلیدی‬:, SDN‫و‬‫پر‬‫تکل‬,OpenFlow‫شبکه‬‫های‬‫نرم‬‫ار‬‫ز‬‫اف‬‫ن‬‫،تواز‬‫ر‬‫محو‬‫بار‬ 3
  4. 4. ‫تکل‬‫و‬‫پر‬OpenFlow‫یک‬‫واسط‬‫ای‬‫ر‬‫ب‬‫تباط‬‫ر‬‫ا‬‫های‬‫سوئیچ‬SDN‫و‬‫کننده‬‫ل‬‫کنتر‬SDN‫باشد‬‫می‬. ‫ای‬‫کننده‬‫ل‬‫کنتر‬‫که‬‫از‬‫تکل‬‫و‬‫پر‬OpenFlow‫پشتیبانی‬‫کند‬‫می‬‫ه‬‫ر‬‫هموا‬‫بر‬‫ی‬‫و‬‫ر‬‫ت‬‫ر‬‫پو‬‫پیشفرض‬۶۶۳۳(‫در‬ ‫های‬‫نسخه‬‫باالتر‬‫بر‬‫ی‬‫و‬‫ر‬‫ت‬‫ر‬‫پو‬۶۶۵۳)‫گوش‬‫دهد‬‫می‬‫و‬‫منتظر‬‫اتصال‬‫های‬‫سوئیچ‬OpenFlow‫از‬‫یق‬‫ر‬‫ط‬‫این‬ ‫ت‬‫ر‬‫پو‬‫ماند‬‫می‬. ‫سوئیچ‬OpenFlow‫با‬‫یک‬‫اتصال‬TCP‫که‬‫ممکن‬‫از‬‫نوع‬SSL‫نیز‬‫باشد‬‫به‬‫کننده‬‫ل‬‫کنتر‬‫متصل‬‫شود‬‫می‬.‫از‬ ‫این‬‫پس‬‫تمامی‬‫ات‬‫ر‬‫اختیا‬‫این‬‫سوئیچ‬‫در‬‫دست‬‫کننده‬‫ل‬‫کنتر‬SDN‫ار‬‫ر‬‫ق‬‫گیرد‬‫می‬. 4
  5. 5. ‫در‬‫این‬‫مقاله‬‫ما‬‫با‬‫استفاده‬‫از‬SDN‫عملیات‬load balancing‫بر‬‫ی‬‫و‬‫ر‬‫یک‬‫ر‬‫و‬‫سر‬‫ا‬‫ر‬‫پیاده‬‫ی‬‫ساز‬‫می‬‫کنیم‬. ‫مشکل‬‫اصلی‬‫در‬‫این‬‫مینه‬‫ز‬‫سنت‬‫ایی‬‫ر‬‫گ‬‫و‬‫استفاده‬‫از‬‫سخت‬‫ار‬‫ز‬‫اف‬‫های‬load balancer‫ی‬ ‫اختصاص‬‫است‬. ‫این‬‫سخت‬‫افزارها‬‫خیلی‬‫گران‬‫و‬‫غیر‬‫قابل‬‫انعاف‬‫پذیر‬‫هستند‬. ‫مدیران‬‫شبکه‬‫نمی‬‫توانند‬‫الگوریتم‬‫دلخواهی‬‫بنویسند‬‫و‬‫روی‬‫این‬‫دستگاها‬‫پیاده‬‫سازی‬‫کنند‬. ‫برای‬‫حل‬‫این‬‫مسئله‬‫در‬‫اینجا‬‫ما‬‫با‬‫استفاده‬‫از‬SDN‫و‬‫پروتکل‬Open Flow‫اپلیکیشنی‬‫برای‬load balancer‫ایجاد‬‫می‬‫کنیم‬. ‫در‬‫حال‬‫حاضر‬‫برخی‬‫از‬‫الگوریتم‬‫های‬‫توازن‬‫بار‬‫در‬SDN‫وجود‬‫دارد‬.‫اما‬‫مشکل‬‫اصلی‬‫تمام‬‫این‬ ‫الگوریتم‬‫ها‬‫این‬‫است‬‫که‬‫هر‬request‫و‬‫بازگشت‬‫پیام‬‫باید‬‫از‬‫طریق‬load balancer‫عبور‬‫کند‬. ‫همین‬‫کار‬‫باعث‬‫یک‬‫تاخیر‬‫غیر‬‫ضرروری‬‫می‬‫شود‬. ‫برای‬‫حل‬‫این‬‫مشکالت‬‫ما‬‫از‬‫مسیریابی‬‫مستقیم‬‫در‬‫الگورتیم‬‫های‬‫توازن‬‫بار‬‫استفاده‬‫کردیم‬. ‫در‬‫مسیریابی‬،‫مستقیم‬load balancer‫در‬‫پیام‬‫های‬‫بازگشت‬‫از‬‫وب‬‫سرور‬‫به‬client‫درگیر‬‫نیست‬. ‫این‬‫بدان‬‫معنی‬‫است‬‫که‬‫سرور‬‫به‬‫طور‬‫مستقیم‬‫به‬client‫پاسخ‬‫می‬‫دهد‬‫و‬load balancer‫را‬ bypass‫می‬،‫کند‬‫در‬‫نتیجه‬‫عملکرد‬‫بهتری‬‫دارد‬. 5
  6. 6. Introduction ‫در‬‫حال‬‫حاضر‬‫شبکه‬‫بسیار‬‫سریع‬‫در‬‫حال‬‫شد‬‫ر‬‫است‬‫و‬‫بار‬‫افیک‬‫ر‬‫ت‬‫بسیار‬‫سنگین‬‫بر‬‫ی‬‫و‬‫ر‬‫ان‬‫است‬.‫بار‬‫اض‬‫افی‬‫بر‬ ‫ر‬‫و‬‫سر‬‫و‬‫اکم‬‫ر‬‫ت‬‫شبکه‬‫از‬‫مشکالت‬‫عمده‬‫ای‬‫شبکه‬‫است‬. ‫خدمات‬‫آنالین‬‫مانند‬‫وب‬‫سایت‬،‫ها‬‫های‬‫ر‬‫موتو‬‫جستجو‬‫و‬‫سایت‬‫های‬‫شبکه‬‫های‬‫اجتماعی‬‫نیاز‬‫به‬‫چندین‬‫و‬‫سر‬‫ر‬‫ای‬‫ر‬‫ب‬ ‫ایش‬‫ز‬‫اف‬‫ظرفیت‬‫و‬‫قابلیت‬‫اطمینان‬‫باال‬‫نیاز‬‫ند‬‫ر‬‫دا‬. ‫ای‬‫ر‬‫ب‬‫همین‬‫از‬Load balancer‫ها‬‫ای‬‫ر‬‫ب‬‫یع‬‫ز‬‫تو‬‫خواست‬‫ر‬‫د‬‫ها‬‫به‬‫های‬‫ر‬‫و‬‫سر‬‫متعدد‬‫استفاده‬‫می‬‫شود‬. Cardellini et al: ‫ن‬‫اعتقادشو‬‫بر‬‫این‬‫بود‬‫که‬‫از‬‫دیوایس‬‫های‬‫سخت‬‫اف‬‫ی‬‫ار‬‫ز‬ Load balancer‫استفاده‬‫کنند‬. ‫این‬‫در‬‫حالی‬‫بود‬‫که‬‫این‬‫دستگاها‬‫بسیار‬‫ان‬‫ر‬‫گ‬‫قی‬‫مت‬‫و‬ ‫دشوار‬‫به‬‫انعطاف‬‫ی‬‫پذیر‬‫بودند‬. 6
  7. 7. Ghaffarinejad et al: ‫مدلی‬‫رو‬‫پیشنهاد‬‫کردند‬‫که‬‫عملیات‬‫ن‬‫تواز‬‫باز‬‫نیاز‬‫به‬‫دیوایس‬‫جداگانه‬load balancer‫د‬‫ر‬‫ندا‬‫تا‬‫بتواند‬‫در‬‫توپولوژی‬ ‫شبکه‬‫انعاف‬‫ی‬‫پیذر‬‫ایجاد‬‫شود‬. ‫اه‬‫ر‬‫حلی‬‫که‬‫ائه‬‫ر‬‫ا‬‫کردند‬‫این‬‫بود‬‫که‬‫تعدادی‬‫از‬‫سوییچ‬‫ها‬‫و‬‫های‬‫ر‬‫سرو‬‫کوچک‬‫ا‬‫ر‬‫ایش‬‫ز‬‫اف‬‫دهند‬‫در‬‫حالی‬‫که‬‫مان‬‫ز‬‫خواست‬‫ر‬‫د‬‫های‬ ‫کالینت‬‫ا‬‫ر‬‫هندل‬‫می‬‫کنند‬. Ghaffarinejad, Ashkan, and Violet R. Syrotiuk. “Load Balancing in a Campus Network Using Software Defined Networking.” 2014 Third GENI, pp. 75–76. IEEE, 2014. Teo et al: ‫توضیح‬‫داد‬‫که‬‫تعادل‬‫بار‬‫یک‬‫روش‬‫مورد‬‫استفاده‬‫ای‬‫ر‬‫ب‬‫توزیع‬‫کردن‬‫خواست‬‫ر‬‫د‬‫ها‬‫به‬‫های‬‫ر‬‫سرو‬‫متعدد‬‫است‬. ‫این‬‫کار‬‫با‬‫استفاده‬‫از‬‫دستگاه‬‫های‬‫سخت‬‫ار‬‫ز‬‫اف‬‫خاص‬‫و‬‫بسیار‬‫ان‬‫ر‬‫گ‬‫قیمت‬‫انجام‬‫می‬‫شود‬. Load balancer‫ها‬‫در‬‫بهبود‬‫عملکرد‬‫شبکه‬‫ها‬‫با‬‫استفاده‬‫از‬‫منابع‬‫موجود‬‫کمک‬‫می‬‫کند‬. ‫هدف‬‫این‬‫است‬‫که‬‫مان‬‫ز‬‫پاسخ‬‫و‬‫مان‬‫ز‬‫تاخیر‬‫ا‬‫ر‬‫به‬‫حداقل‬‫و‬‫ایش‬‫ز‬‫اف‬‫توان‬‫ا‬‫ر‬‫بیشتر‬‫کنیم‬. ‫توزیع‬‫افیک‬‫ر‬‫ت‬‫ا‬‫ر‬‫می‬‫توان‬‫بر‬4‫نوع‬‫بیان‬‫کرد‬: 1-Random3-Current server loads 2-Round-Robin4-Location based request 7
  8. 8. ‫برای‬‫حل‬‫مسئله‬‫سنتی‬load balancing‫ما‬‫برنامه‬‫ای‬‫بر‬‫پایه‬SDN‫ایجاد‬‫کردیم‬‫که‬‫بر‬‫اساس‬‫پروتکل‬ OpenFlow‫به‬‫یک‬load balancer‫قدرتمند‬‫تبدیل‬‫شود‬. ‫برنامه‬‫حفظ‬‫تعادل‬‫بار‬‫بر‬‫روی‬‫کنترل‬‫کندده‬‫های‬SDN‫قابل‬‫اجرا‬‫است‬. ‫برای‬‫اینکار‬‫ما‬‫از‬‫کنترل‬‫کننده‬POX‫که‬‫با‬‫پایتون‬‫نوشته‬‫شده‬‫استفاده‬‫کردیم‬. 8
  9. 9. POX ‫یکی‬‫از‬‫‌های‬‫ه‬‫‌کنند‬‫ل‬‫کنتر‬‫محبوب‬SDN‫که‬‫به‬‫زبان‬‫پایتون‬‫نوشته‬‫شده‬‫است‬POX‫نام‬‫دارد‬‫که‬ ‫توسط‬‫دانشگاه‬‫استنفورد‬‫توسعه‬‫‌یابد‬‫ی‬‫م‬. ‫اولین‬‫کنترل‬‫کننده‬SDN‫یعنی‬NOX‫می‬‫باشد‬. ‫برای‬‫آغاز‬‫به‬‫کار‬‫با‬‫این‬‫‌کننده‬‫ل‬‫کنتر‬‫‌بایست‬‫ی‬‫م‬‫با‬‫استفاده‬‫از‬‫دستور‬‫زیر‬‫آن‬‫را‬‫از‬‫سایت‬github ‫دانلود‬‫نمایید‬: ~$ git clone http://github.com/noxrepo/pox 9
  10. 10. Background and Related Work Feamster et al: ‫در‬‫مورد‬SDN‫بحث‬‫کردند‬‫که‬‫بخش‬Control Plane‫از‬Data Plane‫جدا‬‫شود‬. ‫این‬‫کار‬‫منجر‬‫به‬‫مدیریت‬‫آسان‬‫شبکه‬‫ها‬‫شده‬‫و‬‫در‬‫نتیجه‬‫هزینه‬‫پیاده‬‫سازی‬‫شبکه‬‫ها‬‫و‬‫زمان‬‫اجرای‬‫آنه‬‫ا‬‫به‬‫شتد‬ ‫کاهش‬‫می‬‫یابد‬. ‫از‬‫دیگر‬‫مزایای‬‫آن‬‫میتوان‬‫به‬‫نوآوری‬‫و‬‫انعطاف‬‫پذیری‬‫وهمچنین‬‫تطبیق‬‫پذیری‬‫شبکه‬‫در‬‫برابر‬‫انو‬‫اع‬‫ترافیک‬ ‫ها‬‫اشاره‬‫کرد‬. Data Plane‫و‬Control Plane‌‫و‬ ‌‫برنامه‌های‬SDN3‫موئلفه‌اصلی‌معماری‬ SDN‫هستند‬. 10
  11. 11. Mendonca et al: ‫بخش‬Data Plane‫شامل‬‫پروتکل‬Open Flow‫یا‬‫سوییچ‬‫های‬‫مجازی‬‫است‬. ‫پروتکل‬OpenFlow‫واسطی‬‫برای‬‫ارتباط‬‫بین‬‫سطح‬‫کنترل‬)‫کنترلرها‬(‫و‬‫سطح‬‫داده‬)‫تجهیزات‬ ‫شبکه‬‫از‬‫جمله‬‫سوئیچها‬(‫می‬‫باشد‬. ‫پروتکل‬OpenFlow‫واسطی‬‫برای‬‫ارتباط‬‫بین‬‫سطح‬‫کنترل‬)‫کنترلرها‬(‫و‬‫سطح‬‫داده‬)‫تجهیزات‬ ‫شبکه‬‫از‬‫جمله‬‫سوئیچ‬‫ها‬(‫می‬‫باشد‬. ‫برای‬‫پیاده‬‫سازی‬‫چنین‬‫شبکه‬‫هایی‬‫شما‬‫می‬‫بایست‬‫حداقل‬‫با‬‫یک‬‫کنترلر‬‫و‬‫یک‬‫سوئیچ‬‫کار‬‫کنید‬‫و‬ ‫برای‬‫بخش‬‫کنترلی‬‫نیز‬‫شما‬‫انتخاب‬‫های‬‫متفاوتی‬‫خواهید‬‫داشت‬. ‫از‬‫جمله‬‫کنترلرهای‬‫مطرح‬SDN‫میتوان‬‫به‬Floodlight،OpenDaylight،RYU، ONOS،POX‫اشاره‬‫کرد‬‫که‬‫شما‬‫میتوانید‬‫با‬‫توجه‬‫به‬‫زبان‬‫برنامه‬،‫نویسی‬‫توزیع‬‫شدگ‬،‫ی‬‫ورژن‬ OpenFlow‫و‬‫همچنین‬‫مقیاس‬‫شبکه‬‫مدنظرتان‬‫به‬‫انتخاب‬‫کنترلر‬‫بپردازید‬. ‫پروتکل‬Open Flow‫شامل‬‫یک‬‫جدول‬‫جریان‬‫و‬‫یک‬‫کانال‬‫امن‬‫است‬‫که‬‫برای‬‫ارتباط‬‫بین‬ OpenFlow switch‫و‬control plane‫استفاده‬‫می‬‫شود‬. ‫هر‬‫جدول‬‫جریان‬‫شامل‬‫چندین‬rule‫است‬.‫هر‬rule‫تصمیم‬‫می‬‫گیره‬‫که‬‫چگونه‬‫پکت‬‫ها‬‫به‬‫وسیله‬ OpenFlow switch‫هندل‬‫شوند‬. 11
  12. 12. Floodlight GUI 12
  13. 13. OpenDaylight 13
  14. 14. ‫هر‬flow rule‫شامل‬3‫جز‬‫است‬: 1-‫یک‬‫قاعده‬‫انطباق‬(Matching Rule)‫با‬‫بسته‬‫های‬‫ودی‬‫ر‬‫و‬ port dst MAC address dst IP 2-‫یک‬‫اقدام‬(Action)‫که‬‫ای‬‫ر‬‫ب‬‫بسته‬‫های‬‫انطباق‬‫یافته‬‫ت‬‫ر‬‫صو‬‫می‬‫پذیرد‬. Drop forward 3-‫و‬‫نده‬‫ر‬‫شما‬‫هایی‬‫که‬‫آمار‬‫بسته‬‫های‬‫انطباق‬‫یافته‬‫ا‬‫ر‬‫ی‬‫نگهدار‬‫می‬‫کنند‬. 14
  15. 15. ‌‫ساختار‌مدخل‌جریان‬(Flow Entry)‌‫در‌سوئیچ‬SDN 15
  16. 16. Actions ‫وقتی‬‫یک‬‫تطبیق‬‫ی‬‫و‬‫ر‬‫داد‬‫اقداماتی‬‫ای‬‫ر‬‫ب‬‫آن‬‫جریان‬‫ت‬‫ر‬‫صو‬‫می‬‫پذیرد‬. Actions‫ها‬‫شامل‬‫د‬‫ر‬‫موا‬‫یر‬‫ز‬‫می‬‫باشند‬: •‫هدایت‬‫بسته‬‫به‬‫سمت‬‫ت‬‫ر‬‫پو‬‫های‬‫جی‬‫و‬‫خر‬‫تعیین‬‫شده‬ •‫کپسوله‬(Encapsulate)‫و‬‫سپس‬‫هدایت‬‫کردن‬‫بسته‬‫به‬‫سمت‬‫ل‬‫کنتر‬‫کننده‬ •‫ر‬‫دو‬‫یختن‬‫ر‬‫بسته‬(Drop) •‫سال‬‫ر‬‫ا‬‫آن‬‫به‬‫سمت‬‫خط‬‫های‬‫نرمال‬ •‫سال‬‫ر‬‫ا‬‫آن‬‫به‬‫ل‬‫جدو‬‫جریان‬‫بعدی‬‫و‬‫یا‬‫به‬‫ل‬‫جداو‬‫خاص،مانند‬‫ل‬‫جداو‬‫ه‬‫و‬‫گر‬(Group Tables)‫و‬‫یا‬‫ل‬‫جداو‬ ‫ه‬‫ز‬‫اندا‬‫ی‬‫گیر‬(Metering Tables) ‫تسهیل‬ ‫ا‬‫ر‬ ‫شبکه‬‫خودکار‬ ‫مدیریت‬‫همچنین‬‫و‬ ‫گرفته‬ ‫برعهده‬ ‫ا‬‫ر‬ ‫ار‬‫ز‬‫اف‬ ‫سخت‬ ‫ل‬‫کنتر‬‫که‬‫باشد‬ ‫می‬ ‫شبکه‬‫عامل‬ ‫سیستم‬‫یک‬ ‫همانند‬ ‫کننده‬ ‫ل‬‫کنتر‬‫میکند‬. ‫د‬‫ز‬‫سا‬ ‫می‬ ‫اهم‬‫ر‬‫ف‬ ‫شبکه‬ ‫تمام‬ ‫ای‬‫ر‬‫ب‬ ‫ا‬‫ر‬‫چه‬‫ر‬‫یکپا‬ ‫و‬ ‫متمرکز‬ ‫ی‬‫یز‬‫ر‬ ‫برنامه‬ ‫قابل‬ ‫واسط‬‫یک‬ ،‫عامل‬ ‫سیستم‬‫این‬. 16
  17. 17. Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Rule Action Stats Packet + byte counters 1.Forward packet to port(s) 2.Encapsulate and forward to controller 3.Drop packet 4.Send to normal processing pipeline 5.… OpenFlow Table Entry 17
  18. 18. Load Balancing ‫به‬‫توزیع‬‫افیک‬‫ر‬‫ت‬‫بر‬‫مبنای‬‫الگوریتم‬‫های‬‫توزیع‬،‫متناسب‬‫عملیات‬‫متعادل‬‫ی‬‫ساز‬‫یا‬Load Balancing‫می‬‫گویند‬.‫مشکل‬ ‫اصلی‬‫تمام‬‫این‬Load Balancing‫ها‬‫این‬‫است‬‫که‬‫هر‬‫خواست‬‫ر‬‫د‬‫و‬‫بازگشت‬‫پیام‬‫ا‬‫ر‬‫از‬‫یق‬‫ر‬‫ط‬‫متعادل‬‫کننده‬‫بار‬‫منتقل‬‫م‬‫ی‬ ‫کند‬. ‫این‬‫به‬‫این‬‫معنی‬‫است‬‫که‬‫یک‬‫زمان‬‫تاخیر‬ ‫غیر‬‫ضروری‬‫را‬‫اضافه‬‫می‬‫کند‬. 18
  19. 19. ‫بنابراین‬‫برای‬‫حل‬‫این‬‫مشکالت‬‫ما‬‫مسیریابی‬،‫مستقیم‬‫مبتنی‬‫بر‬‫الگوریتم‬‫های‬load balancer‫ها‬‫پیاده‬‫سازی‬ ‫می‬‫کنیم‬. ‫که‬‫دو‬‫مدل‬‫است‬: 1-Direct Routing Based on Server Load(‫مسیریابی‬‫مستقیم‬‫بر‬‫اساس‬‫بار‬‫سرور‬) 2-Direct Routing Based on Server Connections(‫مسیریابی‬‫مستقیم‬‫بر‬‫اساس‬‫اتصال‬‫به‬ ‫سرور‬) ‫در‬‫مسیریابی‬،‫مستقیم‬load balancer‫در‬‫پیام‬‫بازگشت‬‫از‬‫وب‬‫سرور‬‫به‬‫کالینت‬‫درگیر‬‫نیست‬. ‫این‬‫بدان‬‫معنی‬‫است‬‫سرور‬‫به‬‫طور‬‫مستقیم‬‫پاسخ‬‫کالینت‬‫را‬‫می‬‫دهد‬‫و‬load balancer‫را‬bypass‫می‬ ‫کند‬. ‫مسیر‬‫یابی‬‫مستقیم‬‫باعث‬‫بهبود‬‫عملکرد‬‫می‬‫شود‬.‫زیرا‬‫در‬‫این‬‫صورت‬load balancer‫فقط‬‫پکت‬‫های‬ ‫مربوط‬‫به‬inbound‫رو‬‫هندل‬‫می‬‫کند‬.(‫ترافیک‬‫های‬oubound‫خیلی‬‫بیشتر‬‫از‬‫ترافیک‬‫های‬inbound ‫هستند‬). 19
  20. 20. Load Balancing Architecture ‫مع‬‫ی‬‫مار‬load balancing‫ما‬‫در‬‫اینجا‬‫شامل‬POX controller‫و‬OpenFlow switch‫و‬‫چندین‬ ‫ر‬‫و‬‫سر‬‫و‬‫کالینت‬‫است‬‫که‬‫به‬‫وسیله‬‫ت‬‫ر‬‫پو‬‫به‬OpenFlow switch‫وصل‬‫شدند‬. ‫س‬‫ر‬‫آد‬IP‫استاتیک‬‫ی‬‫و‬‫ر‬‫هر‬‫ر‬‫و‬‫سر‬‫ست‬‫شده‬.‫های‬‫ر‬‫و‬‫سر‬‫وصل‬‫شده‬‫به‬‫وسلیه‬‫لر‬‫ر‬‫کنت‬POX‫ل‬‫کنتر‬‫می‬‫شوند‬. ‫وقتی‬‫سوییچ‬‫پکتی‬‫از‬‫کالینت‬‫یافت‬‫ر‬‫د‬‫م‬‫ی‬‫کند‬ POX‫بر‬‫اساس‬‫یتم‬‫ر‬‫الگو‬‫های‬‫ن‬‫تواز‬‫بار‬ ‫تصمیم‬‫می‬‫گیرد‬‫که‬‫چگونه‬‫بسته‬‫ا‬‫ر‬‫هند‬‫ل‬‫کند‬. ‫سپس‬‫لر‬‫ر‬‫کنت‬POX‫یک‬‫جریان‬‫جدید‬‫ا‬‫ر‬‫در‬ flow table‫سوییچ‬‫اضافه‬‫می‬‫کند‬. 20
  21. 21. Round-Robin ‫در‬‫این‬‫یتم‬‫ر‬‫الگو‬‫هر‬‫خواستی‬‫ر‬‫د‬‫که‬‫می‬‫آید‬‫به‬‫هر‬‫ر‬‫و‬‫سر‬‫در‬‫یک‬‫های‬‫برش‬‫مانی‬‫ز‬‫و‬‫ی‬ ‫چرخش‬‫سال‬‫ر‬‫ا‬‫می‬‫شود‬. ‫با‬‫توجه‬‫به‬‫سادگی،این‬‫یتم‬‫ر‬‫الگو‬‫ین‬‫ر‬‫کمت‬‫مقدار‬‫مصرف‬CPU‫ا‬‫ر‬‫د‬‫ر‬‫دا‬. ‫هنگامی‬‫که‬‫یک‬‫یداد‬‫و‬‫ر‬‫اتفاق‬‫می‬‫افتد‬‫با‬‫توجه‬‫به‬‫اولین‬‫پکتی‬‫که‬client‫سال‬‫ر‬‫ا‬‫کرده‬‫ر‬‫و‬‫سر‬‫انتخاب‬‫شده‬‫همیشه‬‫در‬ ‫یک‬‫لیست‬‫از‬‫تمام‬‫های‬‫ر‬‫و‬‫سر‬‫موجود‬‫در‬‫شبکه‬‫است‬. ‫لیست‬‫یس‬‫و‬‫سر‬‫دهنده‬‫ها‬‫همیشه‬‫یکسان‬‫است‬.‫این‬‫تضمین‬‫می‬‫کند‬‫که‬‫تمام‬‫ها‬‫ر‬‫و‬‫سر‬‫سیدگی‬‫ر‬‫خواست‬‫ر‬‫د‬‫ر‬‫ا‬،‫ند‬‫ر‬‫دا‬ ‫صرف‬‫نظر‬‫از‬‫اینکه‬‫بار‬‫بر‬‫ی‬‫و‬‫ر‬‫هر‬‫یک‬‫ایجاد‬‫شود‬. 21
  22. 22. 22
  23. 23. Direct Routing Based on Server Load ‫ر‬‫و‬‫سر‬‫انتخاب‬‫شده‬‫در‬‫این‬‫یتم‬‫ر‬‫الگو‬‫ر‬‫و‬‫سر‬‫با‬‫حداقل‬‫بار‬‫است‬.‫ای‬‫ر‬‫ب‬،‫سادگی‬‫ما‬‫تنها‬‫بار‬CPU‫فعلی‬‫بر‬‫ی‬‫و‬‫ر‬‫ر‬‫و‬‫سر‬ ‫ا‬‫ر‬‫مقایسه‬‫کردیم‬. ‫ر‬‫و‬‫سر‬‫بار‬‫فعلی‬‫خود‬‫بر‬‫ی‬‫و‬‫ر‬CPU‫ا‬‫ر‬‫سال‬‫ر‬‫ا‬‫می‬‫کند‬‫و‬load balancer‫ی‬‫ر‬‫و‬‫سر‬‫ا‬‫ر‬‫انتخاب‬‫می‬‫کند‬‫که‬‫ین‬‫ر‬‫کمت‬ ‫بار‬‫بر‬‫ی‬‫و‬‫ر‬‫آن‬‫است‬. ‫ر‬‫و‬‫سر‬‫با‬‫استفاده‬‫از‬‫ر‬‫دستو‬mpstat‫ان‬‫ز‬‫می‬‫تعیین‬‫بار‬‫خود‬‫بر‬‫ی‬‫و‬‫ر‬CPU‫ا‬‫ر‬‫انجام‬‫میدهد‬. ‫یک‬‫بسته‬UDP‫ی‬‫حاو‬‫این‬‫اطالعات‬‫بوسیله‬‫یک‬‫ی‬‫سر‬IP‫شناخته‬‫شده‬‫توسط‬‫یک‬‫نامه‬‫ر‬‫ب‬‫در‬‫حال‬‫ا‬‫ر‬‫اج‬‫بر‬‫ی‬‫و‬‫ر‬ ‫ر‬‫و‬‫سر‬‫در‬‫فاصله‬‫مانی‬‫ز‬‫منظم‬‫فرستاده‬‫می‬‫شود‬. load balancer‫هم‬‫بعد‬‫از‬‫یابی‬‫ز‬‫با‬‫بسته‬‫مقادیر‬‫بار‬CPU‫ای‬‫ر‬‫ب‬‫هر‬‫ر‬‫و‬‫سر‬‫ی‬‫انگهدار‬‫ر‬‫می‬‫کند‬. ‫هنگامی‬‫که‬‫یک‬‫ر‬‫و‬‫سر‬‫ا‬‫ر‬‫خواست‬‫ر‬‫د‬‫کرد‬‫آن‬‫ی‬‫ر‬‫و‬‫سر‬‫ا‬‫ر‬‫انتخاب‬‫می‬‫کند‬‫که‬‫کمترین‬‫مقدار‬‫بار‬CPU‫بر‬‫ی‬‫و‬‫ر‬‫آن‬‫است‬. 23
  24. 24. Direct Routing Based on Server Connection ‫این‬‫یتم‬‫ر‬‫الگو‬‫بر‬‫اساس‬‫حداقل‬‫تباطات‬‫ر‬‫ا‬‫فعال‬‫بر‬‫ی‬‫و‬‫ر‬‫ر‬‫و‬‫سر‬‫انتخاب‬‫می‬‫کند‬. ‫در‬‫ت‬‫ر‬‫صو‬‫ی‬‫تساو‬‫بین‬،‫ها‬‫ر‬‫و‬‫سر‬‫ر‬‫و‬‫سر‬‫با‬‫ین‬‫ر‬‫کمت‬‫شناسه‬‫انتخاب‬‫می‬‫شود‬. ‫ر‬‫و‬‫سر‬‫هم‬‫با‬‫استفاده‬‫از‬‫ر‬‫دستو‬netstat‫مشخص‬‫می‬‫کند‬‫چه‬‫مقدار‬‫کانکشن‬‫فعال‬‫د‬‫ر‬‫دا‬. ‫جی‬‫و‬‫خر‬‫این‬‫ر‬‫دستو‬‫لیست‬‫تباطات‬‫ر‬‫ا‬TCP‫ا‬‫ر‬‫نشان‬‫می‬‫دهد‬. 24
  25. 25. ‫این‬‫برنامه‬‫پس‬‫از‬‫ش‬‫ر‬‫شما‬‫خطوط‬‫جی‬‫و‬‫خر‬‫این‬،‫ر‬‫دستو‬‫یک‬‫بسته‬UDP‫ی‬‫حاو‬‫اطالعات‬‫به‬IP‫مقصد‬‫می‬‫فرستد‬. ‫در‬‫این‬‫مدت‬‫تاکید‬‫می‬‫کند‬‫که‬‫هیچ‬‫دستگاهی‬‫در‬‫شبکه‬‫این‬‫س‬‫ر‬‫آد‬‫به‬‫آن‬‫اختصاص‬‫داده‬‫نشده‬. ‫سوئیچ‬‫این‬‫بسته‬‫ا‬‫ر‬‫یافت‬‫ر‬‫د‬‫می‬،‫کند‬‫و‬‫یک‬‫ودی‬‫ر‬‫و‬‫جریان‬‫مطابق‬‫با‬‫آن‬‫ا‬‫ر‬‫که‬‫نداشته‬‫یک‬‫واحد‬‫ایش‬‫ز‬‫اف‬‫می‬‫دهد‬. ‫از‬‫آنجایی‬‫که‬‫ی‬ ‫س‬‫ر‬‫آد‬‫که‬‫به‬IP‫داده‬‫شده‬‫خاص‬،‫است‬load balancer‫می‬‫داند‬‫که‬‫آن‬‫بسته‬‫چه‬‫ی‬‫کار‬‫انجام‬‫می‬‫دهد‬‫و‬ ‫سپس‬‫این‬‫بار‬‫بسته‬‫خوانده‬‫شده‬‫ای‬‫ر‬‫ب‬‫یابی‬‫ز‬‫با‬‫تعداد‬‫اتصاالت‬‫فعال‬‫آنها‬‫ا‬‫ر‬‫به‬‫ر‬‫و‬‫سر‬‫بوطه‬‫ر‬‫م‬‫می‬‫فرستد‬. ‫ر‬‫و‬‫سر‬‫یک‬‫بسته‬UDP‫ا‬‫ر‬‫در‬‫فاصله‬‫مانی‬‫ز‬‫منظم‬‫سال‬‫ر‬‫ا‬‫می‬‫کند‬.‫به‬‫این‬‫خاطر‬‫که‬load balancer‫این‬‫اطالعات‬‫به‬ ‫ز‬‫و‬‫ر‬‫شده‬‫ا‬‫ر‬‫در‬‫فاصله‬‫مانی‬‫ز‬‫منظم‬‫داشته‬‫باشد‬. 25
  26. 26. Experimental Evaluation ‫یابی‬‫ز‬‫ار‬‫تجربی‬: ‫ای‬‫ر‬‫ب‬‫یابی‬‫ز‬‫ار‬‫بی‬‫ر‬‫تج‬‫ما‬‫یک‬‫ی‬‫ژ‬‫توپولو‬‫واقعی‬‫ا‬‫ر‬‫ایجاد‬‫کردیم‬.‫که‬‫از‬4‫کامپیوتر‬‫تشکیل‬‫شده‬‫است‬. ‫ما‬‫بر‬‫ی‬‫و‬‫ر‬‫یک‬‫کامپیوتر‬OpenFlow virtual switch‫و‬POX controller‫ا‬‫ر‬‫ا‬‫ر‬‫اج‬‫کردیم‬. ‫وب‬‫ر‬‫و‬‫سر‬Apache‫ا‬‫ر‬‫هم‬‫بر‬‫ی‬‫و‬‫ر‬2‫کامیپوتر‬‫ان‬‫ر‬‫کردیم‬:(172.16.0.10,172.16.0.31) ‫ی‬‫و‬‫ر‬‫یک‬‫کامپیوتر‬‫به‬IP(172.16.0.51)‫دیگر‬‫ار‬‫ز‬‫اب‬Siege‫ا‬‫ر‬‫ان‬‫ر‬‫کردیم‬. ‫ما‬‫با‬‫استفاده‬‫از‬OpenFlow switch‫اه‬‫ر‬‫هم‬‫با‬‫لر‬‫ر‬‫کنت‬POX‫هر‬‫دو‬‫ر‬‫و‬‫سر‬‫و‬‫کالینت‬‫ا‬‫ر‬‫به‬‫هم‬‫وصل‬‫کردیم‬. ‫ل‬‫کنتر‬POX‫آغاز‬‫به‬‫کار‬‫شده‬‫است‬‫و‬‫اتصال‬‫بین‬‫شبکه‬‫و‬OpenFlow‫لر‬‫ر‬‫کنت‬‫تأیید‬‫شده‬‫است‬. ‫سوییچ‬‫و‬‫ل‬‫کنتر‬‫یک‬‫ی‬‫سر‬‫پیام‬‫به‬‫ر‬‫منظو‬‫ی‬‫ار‬‫ر‬‫برق‬‫تباط‬‫ر‬‫ا‬‫به‬‫همدیگر‬‫می‬‫فرستند‬. Load Balancer‫ما‬‫در‬‫اینجا‬‫شامل‬‫یک‬virtual IP‫است‬. Client‫خواست‬‫ر‬‫د‬‫خودش‬‫ا‬‫ر‬‫به‬virtual IP‫می‬‫فرستد‬. 26
  27. 27. Network topology ‫مولفه‬‫های‬‫کلیدی‬‫درگیر‬‫ای‬‫ر‬‫ب‬‫اه‬‫ر‬‫ی‬‫انداز‬‫ی‬ ‫مایش‬‫ز‬‫آ‬‫تند‬‫ر‬‫عبا‬‫از‬: POX OpenFlow Controller, OpenFlow virtual switch, Siege load testing tool 27
  28. 28. OpenFlow Virtual Switch Open vSwitch‫یا‬‫به‬‫اختصار‬OVS‫یک‬‫سوئیچ‬‫ی‬‫مجاز‬‫چندالیه‬‫ای‬‫است‬‫که‬‫ی‬‫بسیار‬‫از‬‫تکل‬‫و‬‫پر‬‫ها‬‫و‬‫واس‬‫ط‬ ‫های‬‫شبکه‬‫در‬‫آن‬‫پیاده‬‫ی‬‫ساز‬‫شده‬‫است‬).‫در‬packet forwarding‫از‬‫آن‬‫استفاده‬‫می‬‫شود‬.) ‫این‬‫سوئیچ‬‫که‬‫به‬‫ر‬‫طو‬‫نرم‬‫ی‬‫ار‬‫ز‬‫اف‬‫پیاده‬‫شده‬‫است‬‫و‬‫حتی‬‫می‬‫تواند‬‫با‬‫یک‬‫سوییچ‬‫فیزیکی‬‫هم‬‫ترکیب‬‫ی‬‫کار‬‫کند‬. ‫یک‬‫سوئیچ‬‫متن‬‫باز‬‫تحت‬‫حمایت‬Apache‫بوده‬‫و‬‫عالوه‬‫بر‬‫پشتیبانی‬‫از‬‫تکلهایی‬‫و‬‫پر‬‫از‬‫جمله‬sFlow ‫و‬NetFlow‫و‬‫از‬‫تمامی‬‫نسخه‬‫های‬‫تکل‬‫و‬‫پر‬OpenFlow‫نیز‬‫پشتیبانی‬‫میکند‬. ‌‫ساختار‌توزیع‌شده‌سوئیچ‌مجازی‬Open vSwitch‫میان‌چندین‌ماشین‌مجازی،‌ناظر‌و‌ماشین‌فیزیکی‬ 28
  29. 29. Net Flow & SFlow NetFlow‫يک‬‫تکل‬‫و‬‫پر‬‫شبکه‬‫است‬‫که‬‫بوسيله‬Cisco‫جهت‬‫جمع‬‫ي‬‫ر‬‫آو‬‫اطالعات‬‫افيک‬‫ر‬‫ت‬IP‫توسعه‬‫داده‬ ‫شد‬.‫اين‬‫تکل‬‫و‬‫پر‬‫در‬‫حال‬‫حاضر‬‫تبديل‬‫به‬‫يک‬‫د‬‫ر‬‫استاندا‬‫صنعتي‬‫اي‬‫ر‬‫ب‬‫ينگ‬‫ر‬‫مانيتو‬‫افيک‬‫ر‬‫ت‬‫شده‬‫است‬‫که‬‫بوسيله‬ ‫پلتفرم‬‫هاي‬‫مختلف‬‫پشتيباني‬‫مي‬‫شود‬. ‫بيشتر‬‫سوييچ‬‫ها‬‫و‬‫ترهاي‬‫و‬‫ر‬‫شرکت‬‫سيسکو‬(‫و‬‫برندهاي‬‫ديگر‬)‫از‬netflow‫پشتيباني‬‫مي‬‫کنند‬.‫اين‬‫ديوايس‬‫ها‬ ‫تمام‬‫افيکي‬‫ر‬‫ت‬‫ا‬‫ر‬‫که‬‫از‬‫لينک‬‫ها‬‫و‬‫اينترفيس‬‫هاي‬‫شبکه‬‫ر‬‫عبو‬‫مي‬‫کنند‬‫ا‬‫ر‬‫د‬‫ر‬‫رکو‬‫و‬‫اطالعات‬‫دقيق‬‫اف‬‫ر‬‫ت‬‫يک‬‫ا‬‫ر‬‫به‬‫يک‬ netflow collector‫سال‬‫ر‬‫ا‬‫مي‬‫کنند‬. Sflow‫مشابه‬‫همین‬‫داستان‬‫هست‬‫اما‬‫اي‬‫ر‬‫ب‬‫شبکه‬‫هاي‬‫ظرفيت‬‫باال‬(‫پهناي‬‫باند‬)‫به‬‫د‬‫ر‬‫د‬‫مي‬‫ه‬‫ر‬‫خو‬‫و‬‫از‬‫ت‬‫افيک‬‫ر‬ ‫نمونه‬‫ي‬‫بردار‬‫مي‬‫کنه‬‫و‬‫همه‬flow‫ها‬‫ا‬‫ر‬‫تو‬‫شش‬‫ر‬‫ا‬‫ز‬‫گ‬‫نمي‬‫د‬‫ر‬‫آو‬ 29
  30. 30. Siege Load Testing Tool Siege: ‫جزو‬(Apache HTTP server benchmarking tool)‫هستند‬. ‫یک‬‫ار‬‫ز‬‫اب‬‫تست‬‫بار‬‫و‬‫بنچ‬‫مارک‬HTTP‫است‬.‫و‬‫ه‬‫ز‬‫اجا‬‫می‬‫دهد‬‫که‬‫اشخاص‬‫سایت‬‫ها‬‫و‬‫کدهایشان‬‫ا‬‫ر‬‫یر‬‫ز‬‫فشار‬‫ه‬‫ز‬‫انا‬‫ی‬‫گیر‬‫کنند‬. ‫این‬‫ابط‬‫ر‬‫ی‬‫بر‬‫ر‬‫کا‬‫مشابه‬‫آپاچی‬‫است‬‫و‬‫این‬‫ه‬‫ز‬‫اجا‬‫ا‬‫ر‬‫می‬‫دهد‬‫تا‬‫ای‬‫ر‬‫ب‬‫یک‬‫شبیه‬‫ی‬‫ساز‬‫در‬‫دنیای‬،‫واقعی‬‫چگونه‬‫یک‬‫ب‬‫ر‬‫کا‬‫ر‬‫از‬‫سیستم‬ ‫خود‬‫استفاده‬‫کند‬. 30
  31. 31. Apache Web Server ‫آپاچی‬‫یک‬‫برنامه‬‫اجرایی‬HTTP SERVER‫در‬‫محیط‬‫کامپیوتری‬‫است‬. ‫متداولترین‬‫استفاده‬‫از‬‫ویژگی‬‫های‬‫این‬‫برنامه‬htaccess.‫است‬. ‫بر‬‫طبق‬‫آمار‬Netcraft،76‫درصد‬‫وب‬‫سایت‬‫های‬‫جهان‬‫از‬‫این‬‫وب‬‫سرور‬‫استفاده‬‫می‬‫کنند‬. 31
  32. 32. ‫ما‬‫در‬‫اینجا‬Direct Routing Based on Server Load‫و‬Direct Routing Based on Server Connection‫ا‬‫ر‬‫بر‬‫اساس‬‫الگوریتم‬round robin‫و‬‫بر‬‫اساس‬‫یک‬‫ی‬‫سر‬ transactions‫مقایسه‬‫کردیم‬.‫در‬‫هر‬،‫ثانیه‬‫توان‬‫و‬‫مان‬‫ز‬‫پاسخ‬‫وب‬‫سرور‬‫با‬‫استفاده‬‫از‬‫ار‬‫ز‬‫اب‬Siege‫صورت‬‫گرفته‬‫است‬. ‫توان‬‫عملیاتی‬‫و‬‫مان‬‫ز‬‫پاسخ‬‫در‬‫الگوریتم‬‫پیشنهادی‬‫است‬‫ر‬‫بهت‬. Response time in direct routing based on server load, direct routing based on server connections and round-robin strategy 32
  33. 33. Throughput in direct routing based on server load, direct routing based on server connections and round-robin strategy 33
  34. 34. Transaction rate in direct routing based on server load, direct routing based on server connection and round-robin strategy 34
  35. 35. Conclusion and Future Work SDN load balancer‫ها‬‫ی‬‫بسیار‬‫از‬‫مشکالت‬load balancer‫های‬‫سنتی‬‫ا‬‫ر‬‫به‬‫دلیل‬‫استفاده‬‫از‬‫سخت‬ ‫های‬‫ر‬‫ا‬‫ز‬‫اف‬،‫ی‬ ‫اختصاص‬‫حل‬‫کردند‬.‫یر‬‫ز‬‫این‬‫سخت‬‫ها‬‫ر‬‫ا‬‫ز‬‫اف‬‫ان‬‫ر‬‫گ‬‫قیمت‬‫و‬‫انعطاف‬‫ناپذیر‬‫بودند‬. ‫هدف‬‫اصلی‬‫ما‬‫ساخت‬‫یک‬‫نامه‬‫ر‬‫ب‬‫ل‬‫کنتر‬‫است‬‫که‬‫تعادل‬‫بار‬‫در‬‫ر‬‫و‬‫سر‬‫ا،در‬‫ر‬‫ی‬‫معمار‬SDN‫انجام‬‫دهد‬. ‫ما‬‫همچنین‬‫قادر‬‫ساختیم‬‫که‬‫چگونه‬‫برنا‬‫مه‬‫ها‬‫در‬‫ی‬‫معمار‬SDN‫ساده‬‫پیاده‬‫ی‬‫ساز‬‫می‬‫شوند‬. ‫ما‬‫عملیات‬‫ن‬‫تواز‬‫بار‬‫ا‬‫ر‬‫با‬‫استفاده‬‫از‬‫دو‬‫یتم‬‫ر‬‫الگو‬Direct Routing Based on Server Load‫و‬ Direct Routing Based on Server Connections‫و‬‫با‬‫یتم‬‫ر‬‫الگو‬Round Robin ‫مقایسه‬‫کردیم‬. ‫نتیجه‬‫بدست‬‫آمده‬‫نشان‬‫داد‬‫که‬‫این‬‫دو‬‫یتم‬‫ر‬‫الگو‬‫بهتر‬‫عمل‬‫می‬‫کنند‬. ‫همچنین‬load balancer‫ها‬‫می‬‫توانند‬‫یک‬‫نقطه‬‫شکست‬‫داشته‬‫باشند‬.‫ای‬‫ر‬‫ب‬‫از‬‫بین‬‫بردن‬‫این‬‫مشکل‬‫در‬‫آینده‬ ‫ما‬‫می‬‫تواینم‬‫به‬‫جای‬single controller‫از‬multiple controllers‫ها‬‫استفاده‬‫کنیم‬‫تا‬‫در‬‫تی‬‫ر‬‫صو‬‫که‬ ‫یک‬‫لر‬‫ر‬‫کنت‬‫از‬‫کار‬‫افتاد،ماشین‬‫ی‬‫دیگر‬‫به‬‫جای‬‫آن‬‫ادامه‬‫مسیر‬‫یابی‬‫ا‬‫ر‬‫انجام‬‫دهد‬. 35
  36. 36. END Thanks! ♣ ☻☻☻ ♣ 36

×