در سالهای اخیر، توسعه سریع اینترنت و فناوریهای ارتباطی موجب ناهمگونی و پیچیدگی بیشتر در سیستم شبکههای کامپیوتری شده است. به منظور سازماندهی، مدیریت و بهینه سازی سیستمهای شبکهای، نیازمند ایجاد هوشمند سازی بیشتر در شبکههای فعلی هستیم. شبکههای نرم افزار محور SDN، فرصت جدیدی را جهت هوشمندی در شبکههای امروزی فراهم میکند. در این پژوهش ابتدا به بررسی شبکههای نرم افزار محور و معماری آنها پرداخته و تکنیکهای یادگیری ماشین را مرور کرده که میتوانند در شبکه¬های نرم افزار محور بکار گرفته شوند. تحقیقات انجام شده در مورد اتخاذ تکنیکهای یادگیری ماشین جهت بهبود عملکرد، هوشمندی و امنیت SDN مورد بحث قرار گرفت. تکنیکهای یادگیری ماشین با آنالیز دادهها و بهینه سازی شبکه باعث هوشمندی کنترلر SDN میشود و کنترلر SDN مدیریت و کنترل شبکه را آسان میکند. در ادامه پژوهش بهینه سازی مسیریابی با رویکرد کاهش مصرف منابع مورد بررسی قرار گرفت و از بین الگوریتمهای یادگیری ماشین از الگوریتم یادگیری تقویتی جهت بهینه سازی استفاده شد و دادههای خروجی این الگوریتم به منظور بررسی میزان پیچیدگی با دادههای خروجی الگوریتم فرا ابتکاری در نرم افزار شبیه ساز مقایسه و نتایج دسته بندی و ارائه شد. می توانید این پژوهش رشته مهندسی کامپیوتر را به صورت فایل word دانلود نمایید.
مقدمه
شبکه نرمافزار محور( SDN ) به عنوان یک تغییر بزرگ جهت سهولت و بهبود مدیریت شبکه ایجادشده است. با توجه به باز بودن و استاندارد SDN محققان توابع شبکه، ابتکار جدید و پروتکلهایی را جهت سادهسازی و انعطافپذیری شبکه طراحی کردهاند پروتکل طراحیشده Open Flow مفهوم SDN را برای کنترلکنندهها و سوئیچها فراهم میسازد. شبکههای نرمافزار محور SDN میتوانند هوشمندی و امنیت شبکه را افزایش دهند. بخش کنترل داده از سختافزار (سوئیچها و مسیریابها) به لایه نرمافزار مجازی شبکه انتقال دادهشده است که باعث کنترل دقیق شبکه میگردد، همچنین محققان در این فکرند که در آینده نزدیک این شبکه جایگزین لایه TCP/IP گردد. و لذا هر بسته از شبکه SDN طبق دستور مدیر شبکه جابهجا میگردد. مهمترین نتایج حاصل از شبکه نرمافزار محور، استفاده از مجازیسازی و کاهش هزینه شبکه خواهد بود.
بیان مسأله
در پی گسترش روزافزون شبکههای کامپیوتری، ارتباط سازمانها و مشتریان مختلف با اینترنت و افزایش استفاده از تجهیزات کامپیوتری مانند تلفن همراه و تبلت، محققان و متخصصان به فکر طراحی و ایجاد راهکارهایی نوین برای بهینهسازی این ارتباطات افتادند. مدیریت تجهیز سیار، الگوی جدید آدرسدهی و نامگذاری در اینترنت، مدیریت دسترسی کاربران، امن سازی ابرهای کامپیوتری و کاربردهای مختلف مجازیسازی را میتوان ازجمله مهمترین ایدههایی دانست که امروزه در حال تکامل هستند. یکی از این ایدههای نوظهور در این عرصه پیدایش شبکههای نرمافزار محور بود. SDN راهکاری است که بهوسیله پروتکلی به نام OF امکان انجام آزمایشها روی اینترنت را به نحوی فراهم میکند که در استفاده کاربران اینترنت اخلالی ایجاد نشود.
علیرغم مزیتهای بسیار مطرح شده در شبکههای نرمافزار محور، مبحث مسیریابی بهینه همواره یکی از چالشهای مطرح در این شبکهها میباشد. در SDN، مسیریابی در سطح کنترل SDN محاسبه میشود. با این وجود یک روش تعریف و استاندارد مسیریابی در SDN وجود ندارد و مسیریابی بر اساس وجود پروتکلهای رایج و معمولی محاسبه میگردد، که اطلاعات در سطح داده جمعآوری میشود و برای سطح کنترل فرستاده میشود که قوانین و سیاستهای مبتنی بر این اطلاعات را تعریف میکند. نحوه تبادل اطلاعات در یک محیط متمرکز و در یک روش بهینهسازی شده که میتواند برای شبکه سودمند باشد، یکی ازموضوعات و چالشهای اصلی در SDN است. از دیگر چالشهای مطرح در مبحث SDN ها استفاده مطلوب از منابع میباشد. لذا در این کار پژوهشی، پس از مرور الگوریتمهای پیشنهادی در زمینه مسیریابی شبکههای نرمافزار محور، به ارائه راهکاری با استفاده از قابلیتهای الگوریتمهای یادگیری ماشین در SDN به منظور بهینهسازی مسیریابی، و مدیریت منابع میپردازیم. لذا در ابتدا بررسی میگردد که چگونه یک openflow با یک شبکه Legacy از طریق پروتکل مسیریابی ارتباط برقرار میکند و اینکه چگونه اندازه شبکههای OF برروی منابع تأثیر میگذارد. در این پژوهش، بطور ویژه ارزیابی میگردد که چگونه کنترلرهای OF، شبکههای مشتریان را به شبکههای Legacy متصل میکند و هم چنین به بررسی تأثیر اندازه شبکه OF بر روی منابع شبکههای Legacy خصوصاً مسیریابها پرداخته میشود در نتیجه انتظار میرود تعداد زیاد مسیریاب بیان کننده این مطلب باشد که یک شبکه OF بزرگ بار قابل توجهی را برای مسیریابهای Legacy دارد. در ادامه راهحلهایی ارائه میشود که میتوانند در شبکههای Open Flow با تراکم شبکه مشتری به منظور کاهش مقادیر جداول مسیریابی با مسیریابهای Legacy به کار گرفته شوند. لذا در این پژوهش، ما چگونگی عملکرد کنترلر OF را بررسی میکنیم که با شبکه Legacy از طریق پروتکل مسیریابی OSPF ارتباط برقرار میکند، هم چنین به بررسی چگونگی تحت تأثیر قرار گرفتن منابع (حافظه و CPU) مسیریاب Legacy توسط اندازه شبکه OF خواهیم پرداخت. در ادامه ما استفاده از پهنای باند لینکها (بین شبکه OF و مسیریاب Legacy) را مورد بررسی قرار میدهیم.
در نهایت همانطور که مطرح شد چندین الگوریتم و مدل طراحی شده برای پیاده سازی مسیریابی در شبکههای نرمافزار محور را در نظر گرفته و به ارائه راهکاری با استفاده از قابلیتهای الگوریتمهای یادگیری ماشین در SDN به منظور بهینهسازی مسیریابی، و مدیریت منابع میپردازیم.
روش کار
در این پژوهش پس از مرور الگوریتمهای پیشنهادی در زمینه مسیریابی شبکههای نرمافزار محور، به ارائه راهکاری با استفاده از قابلیتهای الگوریتمهای یادگیری ماشین در SDN به منظور بهینهسازی مسیریابی و مدیریت منابع میپردازیم. لذا الگوریتمی در نظر گرفته و مدلهایی طراحی گردیده تا بتوانند برای تراکم مسیر در شبکههای نرمافزار محور (SDN) قابل اجرا باشند. انتظار میرود پس از استفاده از الگوریتمهای یادگیری ماشین جهت بهینهسازی مسیریابی، ارسال اطلاعات تراکم از کنترلر Open Flow به Legacy router سبب کاهش میزان مصرف CPU، حافظه گردد.
ساختار
در این پایاننامه ابتدا به بررسی شبکههای نرمافزار محور (SDN) و معماری آنها پرداخته و تکنیکهای یادگیری ماشین را مرور میکنیم که میتوانند در شبکههای نرمافزار محور توسعه پیدا کرده به کار گرفته شود. تحقیقات انجام شده در مورد اتخاذ تکنیکهای یادگیری ماشین جهت بهبود عملکرد، هوشمندی بازده و عمل امنیت SDN مورد بحث قرار خواهد گرفت کنترلر SDN یک چشمانداز کلی شبکهای دارد که باعث میشود مدیریت و کنترل شبکه آسان گردد. تکنیکهای یادگیری ماشین باعث هوشمندی کنترل کننده SDN، با آنالیز دادهها، بهینهسازی شبکه و ارائه خودکار خدمات شبکه میگردد. به عبارت دیگر، قابلیتهای یادگیری کنترلر SDN را جهت یادگیری خودکار به منظور گرفتن تصمیمات بهینه برای تطابق با محیطهای شبکه آماده میسازد. در ادامه، تلاشهای صورت گرفته در ارتباط با الگوریتمهای یادگیری ماشین در SDN، بهینهسازی مسیریابی با رویکرد کاهش مصرف منابع مورد بررسی قرار میگیرد و از بین الگوریتمهای یادگیری ماشین از الگوریتم یادگیری تقویتی جهت بهینهسازی استفاده میشود و دادههای خروجی این الگوریتم به منظور بررسی میزان پیچیدگی با دادههای خروجی الگوریتمهای فرا ابتکاری در نرمافزار شبیه ساز متناسب مقایسه گردیده و نتایج دسته بندی و ارائه میگردد.
فهرست مطالب
فصل اول کلیات تحقیق 2
1-1- مقدمه 3
1-2- بیان مسأله 3
1-3- فرضیات تحقیق 6
1-4- اهداف تحقیق 6
1-5- جنبه نوآوری و جدید بودن تحقیق 6
1-6- روش کار 7
1-6-1- روش گردآوری اطلاعات 7
1-6-2- ابزار گردآوری اطلاعات 7
1-6-3. روش تجزیه و تحلیل اطلاعات 7
1-7- ساختار پایان نامه 7
فصل دوم پیشینه تحقیق 9
2-1- مقدمه 10
2-2- تعریف شبکههای نرمافزار محور SDN)) 11
2-3- معماری SDN)) 12
2-3-1. سطح داده 12
2-3-2- سطح کنترل 13
2-3-3. سطح برنامههای کاربردی 15
2-4- چالشها و مسائل مطرح در SDN 17
2-5- مزایای استفاده از SDN 19
2-5-1. برنامهریزی انتقال جریان 19
2-5-2. عملکرد پویا و در لحظه 19
2-5-3. پایداری بالا 20
2-5-4. تعیین مسیر هوشمند 20
2-5-5. فراگیر نشدن شبکه نرم افزاری 20
2-6- قابلیتهای SDN 20
2-6-1. کنترل و هماهنگی متمرکز 21
2-6-2. قابلیت برنامهریزی 21
2-6-3. مجازی سازی 21
2-6-4. متن باز بودن منابع 21
2-7- سرویس مسیریاب در محیط شبکه مبتنی بر نرمافزار SDN 22
2-7-1. کاشف لینک 23
2-7-1-1. لینکهای بین نودهای OF 23
2-7-1-2. لینکهای نودهای مرزی) لبهای(و میزبان 23
2-7-2. مدیر توپولوژی 23
2-7-3. موتور مسیریابی مجازی 23
2-8- مسیریابی در محیط OF/SDN 24
2-8-1. عملیات کشف لینک 24
2-8-2. فرآیند محاسبه مسیر 25
2-8-3. جریان داده نمونه 28
2-8-3-1. شبکه همگن صرفاً OF 29
2-8-3-2. شبکه ناهمگن با ترکیب OF و غیر OF 29
2-8-4. نتیجه گیری مسیریابی در SDN 30
2-9- جریان کاری SDN 30
2-10- مرور اجمالی برالگوریتم های یادگیری ماشین 32
2-10-1. یادگیری تحت نظارت 34
2-10-1-1. نزدیکترین همسایه 34
2-10-1-2. درخت تصمیم 35
2-10-1-3. جنگل تصادفی 36
2-10-1-4. شبکه عصبی 36
2-10-1-4-1. NN تصادفی 37
2-10-1-4-2. NN عمیق 38
2-10-1-3-4. شبکه عصبی پیچشی یا NN Convolutional 38
2-10-1-4-4. شبکه عصبی مکرر 39
2-10-5-1. ماشین بردار تصمیم (SVM) 40
2-10-1-6. تئوری Baye’s 41
2-10-1-7. مدلهای Markov مخفی (HMM) 42
2-10-2. یادگیری غیرقابل نظارت 42
2-10-2-1. K-Means 43
2-10-2-2. نقشه خودسازمان دهی شده (SOM) 44
2-10-3. یادگیری نیمه تحت نظارت 45
2-10-4. یادگیری تقویت (RL) 46
2-10-4-1 مراحل علت و معلول برای عامل RL 46
2-10-4-2 یادگیری تقویتی و چگونگی ارتباط آن با روشهای یادگیری 47
2-10-4-3 مسئله اکتشاف درالگوریتم های RL 47
4-4-10-2. سه رویکرد به یادگیری تقویتی 48
2-10-4-4-1 رویکرد ارزش محور 48
۲-۱۰-۴-۴-۲. رویکرد سیاست محور 49
۲-۱۰-۴-۴-۳. رویکرد مدل محور 49
2-10-1-1. تئوری بازی بر پایه RL 50
2-11- شبکه های نرم افزار محور (SDN) بر پایه ML 51
2-12- پیشینه پژوهش 51
2-13- بهینه سازی مسیریابی بر پایه یادگیری تحت نظارت 59
2-14- بهینه سازی مسیریابی بر پایه RL 60
3-2-2- تصمیمات مسیریابی برپایه نتایج پیش بینی ترافیک 62
2-16- الگوریتم یادگیری تقویت (RL) 63
3-2-2. فرموله سازی مسأله پایهای یادگیری تقویتی 63
2-17. پراستفادهترین الگوریتمهای یادگیری تقویتی 64
2-17-1SARSA,Q-Learning 64
2-18- کاربردهای عملی یادگیری تقویتی 65
2-19 عللی که باعث برتری روش RL میشود 66
2-20- مزایای عملیاتی RL عبارتاند از: 66
2-21- مزایای RL نسبت به الگوریتمهای بهینه سازی سنتی عبارتند از: 67
2-23- الگوریتمهای فرا ابتکاری 67
2-24- دستهبندی الگوریتمهای فرا ابتکاری 68
2-25- الگوریتمهای فراابتکاری بر پایه جمعیت 68
2-26- الگوریتمهای متداول فراابتکاری مبتنی بر یک جواب 69
2-26- پیادهسازی الگوریتمهای فراابتکاری 69
2-28- شبکههای عصبی مصنوعی 69
2-29- زمینه شبکههای عصبی 70
2-30- تعریف شبکههای عصبی 70
2-31- کارکرد شبکههای عصبی 71
2-32- کاربردهای شبکههای عصبی مصنوعی 71
2-33- جمع بندی 71
فصل سوم ارائه روش پیشنهادی 75
3-1- مقدمه 76
3-2 بهینه سازی مسیریابی بر پایه RL 77
3-2- الگوریتم یادگیری تقویت(RL) 78
3-3. فرموله سازی مسأله پایه ای یادگیری تقویتی 79
3-4. روش پیشنهادی این تحقیق 80
فصل چهارم پیاده سازی و تحلیل نتایج شبیه سازی 84
4-1- مقدمه 85
4-2- توضیح شبیه سازی با توجه به الگوریتم تقویتی در یادگیری ماشین 85
4-3 ابزارهای شبیه سازی 86
4-4 سناریو شبیه سازی 87
5-4 نتایج اولیه شبیه سازی الگوریتم پیشنهادی 89
4-6 محیط شبیه سازی جهت مقایسه با الگوریتمهای مطرح در حوزه SDN 91
4-7 ابزارهای شبیه سازی جهت مقایسه با الگوریتمهای مطرح در حوزه SDN 92
4-8 آماده سازی سناریو شبیه سازی 94
4-9 نتایج اولیه مستخرج از محیط شبیه سازی در مقایسه روشها 94
4-10. مقایسه روش پیشنهادی این تحقیق با سایر الگوریتمهای مطرح 96
4-7- بحث و نتیجه گیری 99
فصل پنجم نتیجه گیری و پیشنهادها و کارهای آینده 100
5-1- مقدمه 101
5-2- چالشها و کارهای آینده 101
5-2-1. مجموعه دادههای آموزشی با کیفیت بالا 101
5-2-2. پلت فرم کنترل کننده چندگانه توزیع شده 101
5-2-3. بهبود امنیت شبکه 103
5-2-4. بهینه سازی شبکههای با لایههای متقاطع (Cross-layer) 103
5-3- برخی دیدگاههای گستردهتر 104
5-3-1. مجازی سازی توابع شبکههای نرم افزار محور 104
5-3-6. شبکههای موبایل نرم افزار محور 105
5-3-7. شبکههای سنسوری بی سیم (وایرلس) نرم افزار محور 106
5-4- نتیجه گیری 107
منابع و مأخذ 108
فهرست جدول
جدول (2-1) درخت مسیریابی مقصد 26
جدول (2-3) خلاصه مقایسه پژوهش حاضر با مقالههای دیگر 55
جدول (2-4) مزایا و کمبودهای الگوریتمهای ML 56
جدول (2-4) مزایا و معایب راه حلها بر پایه ML در بهینه سازی مسیریابی 72
جدول (2-5) راه حلهای بهینه سازی بر پایه ML در SDN 74
جدول (4-1) مراحل همگرایی الگوریتم یادگیری تقویتی 89
جدول (4-2) میزان دقت الگوریتم پیشنهادی 90
جدول (۴-۳) مقایسه روش RL پیشنهادی تحقیق با الگوریتم فراابتکاری از منظر کاهش استفاده از منابع 97
فهرست شکل
شکل (2-1) معماری کلی شبکه SDN 16
شکل (2-2) ساختار سرویس مسیریاب در یک شبکه مبتنی بر OF (SDN) 22
شکل (2-3) فرآیند کشف لینک 25
شکل (2-4) جریان داده نمونه در سرویس مسیریاب 28
شکل (2-5) شبکه همگن، مبتنی بر OPENFLOW 29
شکل (2-6) شبکه ناهمگن، ترکیبی از OPENFLOW و غیر OPENFLOW 30
شکل (2-7) OF بر پایه شبکه SDN 31
شکل (2-8) پروسه پردازش کلی روش یادگیری ماشین 32
شکل (2-9) الگوریتم های رایج یادگیری ماشین بکارگرفته شده در SDN 33
شکل (2-10) مثالی از الگوریتم K-NN 35
شکل (2-11) یک شبکه عصبی اساسی با سه لایه 37
شکل (2-12) NN مکرر معمولی 40
شکل (2-13) یک مثالی از طبقه بندی SVM با یک HYPER PLANE خطی بهینه 41
شکل (2-14) مثالی از الگوریتم K-MEAN 44
شکل (2-16) یادگیری تقویتی 47
شکل (2-17) رویکرد ارزش محور 48
شکل (۲-۱۸) رویکرد سیاست محور 49
شکل (2-15) یک دیاگرام اساسی سیستم RL 50
شکل (2-16) یک معماری مسیریابی دینامیک. 59
شکل (3-2) شبکه کلی توانمند شده SDN با CRE 61
شکل (3-1) شبکه کلی توانمند شده SDN با . CRE 78
شکل( 3-2) فرآیند تکراری مبتنی بر الگوریتم مسیریابی پیشنهادی در این تحقیق 83
شکل (4-1) نمودار مدل محیط آزمایش شبیه سازی الگوریتم پیشنهادی تحقیق 87
شکل (4-2) فلوچارت استراتژی حل حلقه مسیریابی 88
شکل (4-3) نتایج مسیریابی جزئی از الگوریتم مسیریابی پیشنهادی این تحقیق 89
شکل (4-4) تغییر میانگین تعداد مراحل رسیدن به نقطه پایان با دوره آموزشی 90
شکل (4-5) میزان دقت به عنوان تابعی از چرخه آموزش 91
شکل (4-6) نرخ آموزش در فرآیند شبیه سازی 95
شکل (4-7) مقایسه عملکرد روش پیشنهادی و الگوریتم تبرید شبیهسازیشده 96
شکل (4-8) مقایسه روش پیشنهادی تحقیق با الگوریتمهای فراابتکاری از منظر تأخیر 97
شکل (4-10) مقایسه روش پیشنهادی تحقیق با الگوریتمهای فراابتکاری از منظر از دست رفتن بسته 98