جایگذاری کنترلکنندهها در شبکههای نرمافزار محور با استفاده از یک الگوریتم فراابتکاری گسسته بر پایهی ژنتیک
الموضوعات : مجله فناوری اطلاعات در طراحی مهندسیمهناز خجند 1 , کامبیز مجیدزاده 2 , محمد مصدری 3 , یوسف فرهنگ 4
1 - دانشگاه آزاد اسلامی واحد ارومیه
2 - دانشکده فنی مهندسی، دانشگاه آزاد اسلامی واحد ارومیه، ارومیه، ایران
3 - Computer Engineering Department, Islamic Azad University
4 - دانشکده فنی مهندسی، دانشگاه آزاد اسلامی واحد خوی، خوی، ایران
الکلمات المفتاحية: شبکه های نرم افزار محور, مسئله قرارگیری کنترلکننده, الگوریتم های فراابتکاری, الگوریتم بهینهسازی مبتنی بر تضاد نخبگان , الگوریتم ژنتیک.,
ملخص المقالة :
شبکههای نرمافزارمحور (SDN) شامل جداسازی صفحه کنترل از صفحه داده است. در SDN کنترل شبکه توسط موجودیتی به نام کنترلکننده که در صفحه کنترل قرار دارد تعیین میشود. تعیین تعداد و مکان بهینه کنترلکنندهها در صفحه کنترل به عنوان مسألهی جایگذاری کنترلکنندهها (CPP) شناخته میشود. در این مقاله CPP با استفاده از Kmean نظارت نشده (U-kmeans ) و الگوریتم بهینهساز گله اسب (HOA) حل شده است. الگوریتم U-kmeans سوییچها را خوشهبندی میکند و تعداد کنترلگرها را تعیین میکند. از آنجا که مسأله CPP گسسته است، الگوریتم HOA از اپراتورهای ژنتیکی استفاده میکند که HOA بهبود یافته (MHOA) نام دارد. مرحلهی بعدی این مقاله، شامل یافتن مکان بهینهی هر کنترلکننده در داخل خوشه خود با استفاده از MHOA است. برای بهبود نرخ همگرایی، MHOA از استراتژی یادگیری مبتنی بر مخالفت نخبگان (EOBL) استفاده میکند. نتایج نشان میدهد که روش پیشنهادی در مقایسه با سایر الگوریتمهای مطرح شده از نظر تأخیر انتها به انتها، عدم توازن بار و مصرف انرژی عملکرد بهتری دارد. روش پیشنهادی با کاهش عدم توازن بار 9.66٪، تأخیر انتها به انتها 19.65٪ و میانگین مصرف انرژی 8.43٪ بهبود یافته است.
[1] G. Ramya and R. Manoharan, "Enhanced optimal placements of multi-controllers in SDN," Journal of Ambient Intelligence and Humanized Computing, vol. 12, pp. 8187-8204, 2021.#
[2] A. Shirmarz and A. Ghaffari, "Performance issues and solutions in SDN-based data center: a survey," The Journal of Supercomputing, vol. 76, no. 10, pp. 7545-7593, 2020. #
[3] W. Xia, Y. Wen, C. H. Foh, D. Niyato, and H. Xie, "A survey on software-defined networking," IEEE Communications Surveys & Tutorials, vol. 17, no. 1, pp. 27-51, 2014. #
[4] D. Kreutz, F. M. Ramos, P. E. Verissimo, C. E. Rothenberg, S. Azodolmolky, and S. Uhlig, "Software-defined networking: A comprehensive survey," Proceedings of the IEEE, vol. 103, no. 1, pp. 14-76, 2014. #
[5] T. Jafarian, M. Masdari, A. Ghaffari, and K. Majidzadeh, "SADM-SDNC: security anomaly detection and mitigation in software-defined networking using C-support vector classification," Computing, vol. 103, pp. 641-673, 2021. #
[6] T. Jafarian, M. Masdari, A. Ghaffari, and K. Majidzadeh, "A survey and classification of the security anomaly detection mechanisms in software defined networks," Cluster Computing, vol. 24, pp. 1235-1253, 2021. #
[7] G. D’Angelo and F. Palmieri, "A co-evolutionary genetic algorithm for robust and balanced controller placement in software-defined networks," Journal of Network and Computer Applications, vol. 212, p. 103583, 2023. #
[8] A. Shirmarz and A. Ghaffari, "An adaptive greedy flow routing algorithm for performance improvement in software‐defined network," International Journal of Numerical Modelling: Electronic Networks, Devices and Fields, vol. 33, no. 1, p. e2676, 2020. #
[9] K. Benzekki, A. El Fergougui, and A. Elbelrhiti Elalaoui, "Software‐defined networking (SDN): a survey," Security and communication networks, vol. 9, no. 18, pp. 5803-5833, 2016. #
[10] A. A. Ateya et al., "Chaotic salp swarm algorithm for SDN multi-controller networks," Engineering Science and Technology, an International Journal, vol. 22, no. 4, pp. 1001-1012, 2019. #
[11] A. Shirmarz and A. Ghaffari, "Automatic software defined network (SDN) performance management using TOPSIS decision-making algorithm," Journal of Grid Computing, vol. 19, pp. 1-21, 2021. #
[12] A. Shirmarz and A. Ghaffari, "An autonomic software defined network (SDN) architecture with performance improvement considering," Journal of Information Systems and Telecommunication (JIST), vol. 8, no. 30, pp. 121-129, 2020. #
[13] K. P. Sinaga and M.-S. Yang, "Unsupervised K-means clustering algorithm," IEEE access, vol. 8, pp. 80716-80727, 2020. #
[14] N. Firouz, M. Masdari, A. B. Sangar, and K. Majidzadeh, "A hybrid multi-objective algorithm for imbalanced controller placement in software-defined networks," Journal of Network and Systems Management, vol. 30, no. 3, p. 51, 2022. #
[15] A. Mohammadi-Balani, M. D. Nayeri, A. Azar, and M. Taghizadeh-Yazdi, "Golden eagle optimizer: A nature-inspired metaheuristic algorithm," Computers & Industrial Engineering, vol. 152, p. 107050, 2021. #
[16] K. S. Sahoo, D. Puthal, M. S. Obaidat, A. Sarkar, S. K. Mishra, and B. Sahoo, "On the placement of controllers in software-defined-WAN using meta-heuristic approach," Journal of Systems and Software, vol. 145, pp. 180-194, 2018. #
[17] A. Ghaffari, "Designing a wireless sensor network for ocean status notification system," Indian Journal of Science and Technology, vol. 7, no. 6, p. 809, 2014. #
[18] N. McKeown et al., "OpenFlow: enabling innovation in campus networks," ACM SIGCOMM computer communication review, vol. 38, no. 2, pp. 69-74, 2008. #
[19] S. Torkamani-Azar and M. Jahanshahi, "A new GSO based method for SDN controller placement," Computer Communications, vol. 163, pp. 91-108, 2020. #
[20] B. R. Killi and S. V. Rao, "Poly-stable matching based scalable controller placement with balancing constraints in SDN," Computer Communications, vol. 154, pp. 82-91, 2020. #
[21] A. Jalili, M. Keshtgari, and R. Akbari, "Optimal controller placement in large scale software defined networks based on modified NSGA-II," Applied Intelligence, vol. 48, pp. 2809-2823, 2018. #
[22] C. Gao, H. Wang, F. Zhu, L. Zhai, and S. Yi, "A particle swarm optimization algorithm for controller placement problem in software defined network," in Algorithms and Architectures for Parallel Processing: 15th International Conference, ICA3PP 2015, Zhangjiajie, China, November 18-20, 2015, Proceedings, Part III 15, 2015: Springer, pp. 44-54. #
[23] K. Kanodia, S. Mohanty, K. Kurroliya, and B. Sahoo, "CCPGWO: A meta-heuristic strategy for link failure aware placement of controller in SDN," in 2020 International Conference on Inventive Computation Technologies (ICICT), 2020: IEEE, pp. 859-863. #
[24] S. Rahman et al., "Virtualized controller placement for multi-domain optical transport networks using machine learning," Photonic Network Communications, vol. 40, pp. 126-136, 2020. #
[25] A. Ksentini, M. Bagaa, T. Taleb, and I. Balasingham, "On using bargaining game for optimal placement of SDN controllers," in 2016 IEEE International Conference on Communications (ICC), 2016: IEEE, pp. 1-6. #
[26] P. Yi, T. Hu, Y. Hu, J. Lan, Z. Zhang, and Z. Li, "SQHCP: secure-aware and QoS-guaranteed heterogeneous controller placement for software-defined networking," Computer Networks, vol. 185, p. 107740, 2021. #
[27] N. Firouz, M. Masdari, A. B. Sangar, and K. Majidzadeh, "A novel controller placement algorithm based on network portioning concept and a hybrid discrete optimization algorithm for multi-controller software-defined networks," Cluster Computing, vol. 24, pp. 2511-2544, 2021. #
[28] Y. Hu, T. Luo, N. C. Beaulieu, and C. Deng, "The energy-aware controller placement problem in software defined networks," IEEE Communications Letters, vol. 21, no. 4, pp. 741-744, 2016. #
[29] L. Wei, C. Chang, Y. Liu, and Y. Wang, "Energy-Efficient Controller Placement in Software-Defined Satellite-Terrestrial Integrated Network," Remote Sensing, vol. 14, no. 21, p. 5561, 2022. #
[30] C. Li, K. Jiang, and Y. Luo, "Dynamic placement of multiple controllers based on SDN and allocation of computational resources based on heuristic ant colony algorithm," Knowledge-Based Systems, vol. 241, p. 108330, 2022. #
[31] R. R. Mostafa, M. A. Gaheen, M. Abd ElAziz, M. A. Al-Betar, and A. A. Ewees, "An improved gorilla troops optimizer for global optimization problems and feature selection," Knowledge-Based Systems, vol. 269, p. 110462, 2023. #
[32] F. MiarNaeimi, G. Azizyan, and M. Rashki, "Horse herd optimization algorithm: A nature-inspired algorithm for high-dimensional optimization problems," Knowledge-Based Systems, vol. 213, p. 106711, 2021. #
[33] B. Heller, R. Sherwood, and N. McKeown, "The controller placement problem," ACM SIGCOMM Computer Communication Review, vol. 42, no. 4, pp. 473-478, 2012. #
[34] D. Hock, M. Hartmann, S. Gebert, M. Jarschel, T. Zinner, and P. Tran-Gia, "Pareto-optimal resilient controller placement in SDN-based core networks," in Proceedings of the 2013 25th international teletraffic congress (ITC), 2013: IEEE, pp. 1-9. #
[35] M. Khojand, K. Majidzadeh, M. Masdari, and Y. Farhang, "Controller placement in SDN using game theory and a discrete hybrid metaheuristic algorithm," The Journal of Supercomputing, pp. 1-49, 2023. #
[36] Z. C. Dagdia and M. Mirchev, "When Evolutionary Computing Meets Astro-and Geoinformatics," in Knowledge Discovery in Big Data from Astronomy and Earth Observation: Elsevier, 2020, pp. 283-306. #
[37] S. Knight, H. X. Nguyen, N. Falkner, R. Bowden, and M. Roughan, "The internet topology zoo," IEEE Journal on Selected Areas in Communications, vol. 29, no. 9, pp. 1765-1775, 2011. #
[38] M. A. Bagha, K. Majidzadeh, M. Masdari, and Y. Farhang, "Improving delay in SDNs by metaheuristic controller placement," International Journal of Industrial Electronics Control & Optimization, vol. 5, no. 3, 2022. #
1- مقدمه
در حال حاضر، با توجه به افزایش تعداد کاربران، حجم بالای دادهها، پیچیدگی و ترافیک دادهها، شبکههای سنتی قادر به پاسخگویی نبوده و با چالشهای بسیاری از لحاظ مدیریت و پاسخدهی روبهرو هستند[1-4] . در راستای پاسخ به چالشهای مطرحشده، معماری شبکههای نرمافزارمحور1 به عنوان یک راهحل پیشنهاد شده است. شبکههای نرمافزارمحور یک معماری شبکه است که مدیریت (صفحه کنترل) را از پردازش داده (صفحه داده) جدا میکند و در نتیجه بهبود مدیریت شبکههای گسترده را فراهم میسازد. شکل ۱ نشاندهنده معماری شبکههای نرمافزارمحور است که شامل سه لایهی داده، کنترل و برنامه میباشد. ارتباط بین این لایهها از طریق رابطهای جنوبی و شمالی صورت میگیرد. همچنین، رابطهای شرقی و غربی نیز پروتکل ارتباطی بین کنترلکنندههای مختلف در شبکه را تعریف میکنند[5,6] . صفحه داده میتواند با اختصاص وظایف مسیریابی و سیگنالدهی به یک موجودیت جداگانه به نام کنترلکننده که در صفحه کنترل قرار دارد، امکان ارسال سریع دادهها را داشته باشد. استفاده از فقط یک کنترلکننده ممکن است منجر به ایجاد محدودیتهایی در شبکه شود، زیرا آن کنترلکننده به عنوان یک گلوگاه عمل کرده و بار کاری کل شبکه بر روی آن تمرکز مییابد؛ بنابراین، اگر کنترلکننده از کار افتد، کل شبکه با شکست مواجه خواهد شد. از اینرو، داشتن چندین کنترلکننده در صفحهی کنترل بسیار حیاتی است. این کنترلکنندهها در سراسر شبکه توزیع میشوند و باعث کاهش تاخیر در شبکه، افزایش قابلیت اطمینان، بهبود زمان پاسخ و تعادل بار میشوند. هر سوئیچ به حداقل یک کنترلکننده اختصاص مییابد و هر کنترلکننده مسئول مدیریت یک مجموعه از سوئیچها[7,8] است.
تعیین تعداد و موقعیت بهینه کنترلکنندهها و اختصاص سوئیچها به آنها مسئلهی جایگذاری کنترلکنندهها2 نامیده میشود. حل بهینهی مسئلهی جایگذاری کنترلکنندهها برای عملکرد شبکه بسیار حیاتی است زیرا تعداد و موقعیت کنترلکنندهها باید قابل تطبیق با تغییرات اندازه و بار شبکه باشد، بهطوریکه بتواند باعث بهبود کارآیی شبکه از لحاظ تاخیر، مصرف انرژی، توزیع یکنواخت ترافیک شبکه و قابلیت اعتماد شود. با این حال، مسئلهی جایگذاری کنترلکنندهها مسئلهای پیچیده است و حل آن آسان نمیباشد و به عنوان یک مسئلهی ان-پی سخت3 شناخته میشود [9,10].
شکل 1: معماری پیشنهاد شده برای SDN
در فاز اولیهی این مقاله، ورژنی از K-means برای حل مسئلهی جایگذاری کنترلکنندهها استفاده شده است. K-means به دلیل سرعت، پیچیدگی کم و کارایی آنها یکی از روشهای پرطرفدار در خوشهبندی است. یکی از محدودیتهای اساسی K-means نیاز به مشخص کردن تعداد خوشهها به عنوان ورودی الگوریتم است. روش استفاده شده در این مقاله ورژنی از K-means است که نیاز به تعیین تعداد خوشهها از قبل ندارد و با تعیین خودکار تعداد بهینهی خوشهها، K-means را گسترش میدهد [11,12]. این الگوریتم میتواند به عنوان یک گزینه ایدهآل برای خوشهبندی و یافتن تعداد کنترلکنندهها در مسئله جایگذاری کنترلکنندهها استفاده شود. در این مرحله، گرهها با در نظر گرفتن مکان گرهها و ترافیک شبکه خوشهبندی میشوند. تعداد کنترلکنندهها برابر با تعداد خوشههای تعیینشده میباشد و به عنوان ورودی فاز بعدی مقاله است. در فاز دوم، یک الگوریتم فراابتکاری به نام الگوریتم بهینهسازی اسب بهبودیافته (MHOA) برای یافتن مکان کنترلکننده در داخل هر خوشه معرفی میشود. تکنیکهای فراابتکاری روشهایی هستند که برای جستوجو، از یک زیرمجموعهی خاص از فضای جستوجو به صورت کارآمد استفاده میکنند تا به راهحلهای نزدیک به بهینه برسند. این روشها در حل مسائل پیچیده و ان-پی سخت مانند مسئله جایگذاری کنترلکنندهها بسیار کارآمد هستند [13,14]. الگوریتم MHOA ورژن بهبود یافتهی الگوریتم بهینهساز گله اسب4 است [15]. الگوریتم گله اسب در حل بسیاری از مسائل دنیای واقعی به خوبی عمل میکند. با این حال، در برخی مسائل پیچیده ممکن است که در بهینهی محلی گیر کند و دچار پایان زودهنگام شود. MHOA برای افزایش قدرت اکتشاف5 و بهرهوری6 و بهبود همگرایی، از استراتژی تضاد نخبگان7 و عملگرهای ژنتیک استفاده میکند. در ادامه از MHOA برای حل مسئله جایگذاری کنترلکنندهها استفاده میشود. برای ارزیابی الگوریتم پیشنهادی، از مجموعه دادهی اینترنتی توپولوژی زو8 استفاده شده است. این مطالعه نشان میدهد که الگوریتم MHOA در مقایسه با دیگر روشهای فراابتکاری بهطور موثری باعث بهبود تأخیر انتها به انتها، مصرف انرژی و تعادل بار میگردد.
خلاصهی کارهای انجام شده در این مقاله به شرح زیر است:
· پیدا کردن تعداد کنترلکنندهها.
· بهبود الگوریتم گله اسب با استفاده از استراتژی تضاد نخبگان و استفاده از عملگرهای ژنتیک(MHOA).
· استفاده از MHOA برای حل مسئلهی جایگذاری کنترلکنندهها.
· ارزیابی قابلیت مقیاسپذیری MHOA برای قرار دادن کنترلکنندهها در دو شبکه با اندازهی متفاوت از مجموعه دادهی توپولوژی زو.
· مقایسهی نتایج الگوریتم پیشنهادی با نتایج الگوریتمهای فراابتکاری دیگر از لحاظ تاخیر انتها به انتها، مصرف انرژی و تعادل بار.
بخش 2 این مقاله، خلاصهای از مطالعات قبلی انجامشده در این حوزه را ارائه داده و فصل 3 الگوریتمهای استفادهشده در این مقاله، بهعنوان مثال HOAو K-means بهبودیافته توضیح داده شده و با معرفی MHOA به چگونگی حل CPP میپردازد. بخش 4 نحوهی ارزیابی کار را نشان میدهد و درنهایت، در بخش 6 خلاصهای از نتایج بهدست آمده از مقاله ارائه میشود.
2- کارهای گذشته
در این بخش، ما برخی از کارهای انجام شده در حوزه CPP با استفاده از روشهای فراابتکاری را معرفی میکنیم. مسئلهی جایگذاری کنترلکننده بهصورت پویا برای نخستین بار توسط [16] مورد مطالعه قرار گرفت. نویسندگان مسئلهی "جایگذاری کنترلکننده بهصورت پویا" را به عنوان یک برنامهی خطی عدد صحیح تعریف کردند و دو الگوریتم ترکیبی برای حل آن در موارد بزرگتر پیشنهاد دادند. با این حال، آنها اعتبارپذیری را در نظر نگرفتند و تنها بر کاهش زمان راهاندازی جریان و هزینه ارتباطات تمرکز کردند. نویسندگان در [17] یک استراتژی جدید برای قرار دادن کنترلکنندههای SDN در شبکه با استفاده از مسئلهی کولهپشتی 0-1 و الگوریتم بهینهسازی مار گارتنر معرفی کردند. آزمایشات آنها نشان داد که این روش بهطور مؤثری تأخیرها را هم در WAN و هم در SDN کاهش میدهد. این رویکرد گرچه توانست استفاده از منابع شبکه و خدماترسانی به مشتریان را بهبود بخشد، ولی باید توجه کرد که اجرای آن ممکن است نیازمند منابع محاسباتی قابل توجهی باشد که ممکن است محدودیتهایی در محیطهای شبکه داشته باشد. علاوه بر این، در این مقاله به مسئله مقیاسپذیری پرداخته نشده است.
کیلی و همکاران در [18]، یک الگوریتم قرارگیری کنترلکننده ارائه کردند که با استفاده از تطبیق پلی-پایدار، توانایی مدیریت شبکههای بزرگ را داشت و سوئیچها را بین کنترلکنندهها توزیع میکرد. این الگوریتم عواملی مانند تاخیر و بار را در نظر گرفته بود تا سوئیچهای باقیمانده را تخصیص دهد. این الگوریتم در مقایسه با الگوریتمهای موجود، از نظر توازن بار و کاهش تاخیر، عملکرد بهتری داشت. قابلیت مقیاسپذیری و کارآمدی این الگوریتم در شبکههای WAN بر روی سه شبکه ISP واقعی با مقیاس متوسط و بزرگ آزمایش شد. در این مقاله، تأثیر قرارگیری کنترلکننده بر محدودیتهای در دسترسی و زمان همگرایی شبکههای SD-WAN مشخص نشده است.
نویسندگان در [19]، یک تکنیک به نام MHNSGA-II پیشنهاد دادند که عوامل مختلفی مانند تاخیر، قابلیت اطمینان و زمان محاسبه را در نظر میگرفت. آنها روشی جدید برای ایجاد راهحلهای اولیه پیشنهاد دادند که امکان بررسی مناطق مختلف در فضای راهحل را فراهم کرده و کیفیت راهحل را افزایش میدهد. با این حال، در این کار فرض شد که توپولوژی شبکه و ترافیک ثابت و شناخته شده است، که ممکن است در شرایط واقعی صحت نداشته باشد. در [20]، یک الگوریتم جدید برای حل مسئلهی CPP معرفی شده است. آنها از رویکرد فراابتکاری بهینهسازی گروه ذرات (PSO) استفاده کردند و تاخیر سرتاسری را به عنوان یک معیار برای حل مسئله مورد بررسی قرار دادند. این الگوریتم با وجود اینکه بهطور موثری تاخیر انتشار را کاهش داد، اثر بار ترافیک پایدار بر روی کنترلکنندهها را نادیده گرفت.
در مقاله [21]، نویسندگان از الگوریتم بهینهسازی گرگ خاکستری (GWO) برای حل CPP استفاده کردند (CCPGWO). در این کار ظرفیت کنترلکنندهها نیز در نظرگرفته شد. هدف این پژوهش یافتن بهترین مکان و عملکرد برای کنترلکنندهها در یک شبکه بود. نتایج نشان دادند که CCPGWO در کمینه کردن تاخیر بدترین حالت، اجتناب از نقاط بهینه محلی و دستیابی به نتایجی که نزدیک به بهینه جهانی هستند، موفق بوده است. در این مقاله فرض شده است که هر گره در شبکه قابلیت OpenFlow را دارد، ولی این شرایط همیشه در واقعیت صدق نمیکند. در مقالهی [22]، نویسندگان با در نظر گرفتن عواملی مانند انواع مختلف کنترلکننده، منابع محدود در موقعیتهای لبه و ضرورت کاهش تاخیر، یک روش جدید برای قرارگیری کنترلکنندهها در شبکههای انتقال نوری ارائه کردند. آنها همچنین یک روش بر پایهی روشهای یادگیری ماشین، برای کمک به پیشبینی مکانهای بهینه معرفی کردند. این رویکرد دارای چندین مزیت مانند کاهش تاخیر، بهبود عملکرد و صرفهجویی در هزینه بود. با این حال، قابلیت اعمال این مطالعه محدود به شبکههای انتقال چند دامنه است، که باعث کاهش قابلیت استفاده گستردهی آن میشود. علاوه بر این، پیادهسازی و مدیریت این چارچوب ممکن است نیاز به منابع قابل توجه و دانش تخصصی داشته باشد. در مقاله[23] ، کاسنتین و همکاران با استفاده از تئوری بازی توانستند بین تعادل بار در شبکه و تاخیر توازن برقرار کنند. آنها فرض کردند که توپولوژی شبکه پیشتعیین شده است، که این ممکن است همیشه در سناریوهای واقعی صحیح نباشد.
نویسندگان در [24]، پروژه SQHCP را برای حل مسئلهی CPP ارائه دادند، که هدف قرار دادن کنترلرهای نامتجانس به صورت امن و با اطمینان از کیفیت بود. آنها نیازهای امنیت و کیفیت سرویس و در عین حال خطاهای لایه کنترل و تضمین استفاده متعادل از کنترلرها را در نظر گرفتند. با این حال ، پیادهسازی این رویکرد ممکن است نسبت به روشهای موجود منابع و پیچیدگی بیشتری را مورد نیاز داشته باشد. در [1]، رامایا و همکاران یک تکنیک نوآورانه بر اساس نظریه گراف ارائه دادند تا تعداد لازم کنترلرها را تعیین کنند. آنها از الگوریتم جستوجوی تابو یکپارچه پارتو برای شناسایی بهترین مکان برای این کنترلرها استفاده کردند. آنها همچنین یک روش فراابتکاری برای مدیریت سناریوهای پویا مانند خرابیهای پیوند و عدم تعادل بار بر روی کنترلکنندهها ارائه دادند. در [25]، نویسندگان الگوریتم بهینهسازی نوآورانهای به نام PHCPA معرفی کردند که از الگوریتمهای بهینهسازی الهامگرفته از طبیعت و تقسیمبندی شبکه برای بهبود عملکرد شبکه استفاده میکرد. هدف آنها بهینهسازی موقعیت چندین کنترلر در SDN بود؛ بهطوری که، حداقل تاخیر بین سوئیچها و کنترلرها را کاهش دهد. با این حال، این الگوریتم نیاز به زمان CPU و فضای ذخیرهسازی بیشتری نسبت به الگوریتمهای جایگزین داشت. در [8]، پژوهشگران یک الگوریتم ژنتیک تکاملی را برای حل مسئلهی CPP معرفی کردند. آنها در این تحقیق، تخصیص بهینه سوئیچها ، توازن بار و جلوگیری از خرابیها را در نظر گرفته و در عین حال از اعمال تغییرات در نصب کنترلکنندهها و جریان ترافیک خودداری کردند. با این حال، پیادهسازی این راهحل ممکن است برای شبکههایی با مقیاس بزرگ، منابع محاسباتی قابل توجهی را مطالبه کند.
در [26]، نویسندگان برای بهبود عملکرد و کارآیی انرژی در شبکههای ماهوارهای (STIN)، قرار دادن استراتژیک کنترلکنندههای SDN را ارائه دادند و مزایای استفاده از SDN در STIN را مانند پوشش جهانی و اتصال پایدار برجسته ساختند. آنها الگوریتم MSAP را معرفی کردند که در مقایسه با الگوریتمهای دیگر در مورد تأخیر متوسط هنگام استقرار چندین کنترلکننده در STIN عملکرد بهتری داشت. در [27]، نویسندگان الگوریتم ژنتیک جدیدی به نام IGCPA را برای حل مسئلهی CPP معرفی کردند. آنها بر اهمیت در نظر گرفتن مصرف انرژی در هنگام انتخاب مکان کنترلکننده تأکید کردند و مزایای این کار را توضیح دادند. با این حال، پیچیدگی محاسباتی مدل BIP ممکن است آن را برای شبکههای بسیار بزرگ مناسب نکند. در [28]، نویسندگان بررسیهایی در مورد قرار دادن پویای چندین کنترلکننده و توزیع منابع محاسباتی از طریق الگوریتمهای فرابتکاری مورچه انجام دادند. این رویکرد به سیستم امکان تطبیق با شرایط متغیر را میدهد و عملکرد شبکه را با تسهیل انتقال داده سریعتر کرده و موجب کاهش تأخیر و بهبود کارایی کلی شبکه میشود. با این حال، پیاده سازی این سیستم ممکن است نیاز به منابع محاسباتی قابل توجه، افزایش هزینه و پیچیدگی داشته باشد و خطر شکست در کنترلکنندههای متمرکز را به همراه داشته باشد.
منافع | کمبودها | الگوریتم | مراجع |
مدیریت شرایط پویای شبکه، کاهش تاخیر | نادیده گرفتن تعادل بار، نادیده گرفتن هزینه | جستوجوی ممنوعه پترو(PITS) | [1] |
نگاشت سوئیچ به کنترل کننده ها، افزایش تغادل بار، کاهش تاخیر | نیاز به منابع محاسباتی بیشتر | جستوجوی تکاملی، الگوریتم ژنتیک | [8] |
کاهش پیچیدگی زمانی، کاهش تاخیر | نادیده گرفتن مقیاس پذیری، نیاز به منابع محاسباتی بیشتر | کوله پشتی 0-1، مار گارتنر | [17] |
بهبود تعادل بار، کاهش تاخیر | نادیده گرفتن دسترس پذیری | الگوریتم شبیهساز حرارت | [18] |
بهبود قابلیت اطمینان و تاخیر در شبکه | در نظر گرفتن شبکه به صورت استاتیک | الگوریتم ژنتیک رتبه بندی نامغلوب | [19] |
افزایش تعادل بار و کاهش تاخیر در شبکه | عدم مطرح نحوه گسسته سازی الگوریتم | ازدحام ذرات | [20] |
افزایش قابلیت اطمینان | عدم در نظر گرفتن تعادل بار و هزینه | گرگ خاکستری | [21] |
افزایش تعادل بار و کاهش تاخیر | در نظر گرفتن شبکه به صورت استاتیک | تئوری بازی | [23] |
افزایش تعادل بار و کاهش تاخیر
| پیچیدگی بالا | الگوریتم ژنتیک | [24] |
|
|
|
|
کاهش تاخیر | نیاز به زمان محاسباتی بالا | الگوریتم سفره ماهی، بهینه ساز عنکبوت
| [25] |
کاهش مصرف انرژی | مناسب نبودن برای شبکههای بسیار بزرگ. | الگوریتم ژنتیک | [27] |
کاهش مصرف انرژی | عدم در نظر گرفتن تعادل بار و هزینه | شبیه ساز حرارت بهبود یافته | [26] |
افزایش کارایی شبکه و افزایش تعادل بار | نیاز به زمان محاسباتی بالا | شبیه ساز حرارت | [28] |
جدول1: مروری بر کارهای انجام شده در حوزه SDN
3- شرح مسئله
در این قسمت توضیح مختصری از روشهای استفاده شده در این مقاله آورده شده است.
3-1- روش K-means بهبودیافته
الگوریتم K-means یک روش خوشهبندی محبوب است که هدف آن بیشینهسازی شباهت درون خوشهها و افزایش اختلاف میان آنها میباشد. این روش با اینکه در زیرمجموعهی روشهای یادگیری بدون نظارت قرار دارد، اما لازم است که تعداد خوشهها از قبل مشخص شوند. الگوریتم K-means بهبودیافته، نسخهای اصلاحشده از الگوریتم K-means، است که نیاز به پیشفرضها و انتخاب پارامتر ندارد و میتواند به طور خودکار تعداد بهینهی خوشهها را نیز تعیین کند [11]. این الگوریتم از مفهوم آنتروپی استفاده میکند. در این هنگام مجموعه دادههایی است که باید خوشهبندی شوند و مراکز خوشه میباشند. فرض کنید که در آن یک متغیر دودویی، ، است. همانطور که در رابطه (1) نشان داده شده است اگر باشد، تعیین میکند که آیا دادهی به خوشه k ام تعلق دارد یا نه.
(1) |
|
(2) |
|
(3) |
|
(4) |
|
(5) |
|
(6) |
3-3- استراتژی تضاد نخبگان استراتژی تضاد نخبگان9، یک رویکرد نوآورانه در یادگیری ماشین است که الهام خود را از استراتژی مبتنی بر مخالف10 میگیرد [29]. این مفهوم روشی مبتنی بر نخبهگرایی و جهت مخالف آن در همان زمان است. در این روش به منظور افزایش احتمال کشف مناطقی که پتانسیل بیشتری برای بهینه بودن دارند، ابتدا مناطق و حدسهای بهینه از بین جمعیت اولیه شناختهشده و سپس برای اکتشاف بیشتر و عبور از بهینههای محلی نقاط کاملا مخالف آنها نیز انتخاب میشوند. در این روش میتوانیم به سمت جهت مخالف هدایت شویم که ما را به سمت نزدیکتر شدن به راهحل بهینه ناشناخته هدایت میکند. لازم به ذکر است که نقطه مخالف از طریق انعکاس نقطه محاسبهشده از طریق نقطه مرکزی بهدست میآید. پس اگر x یک عدد حقیقی باشد که در بازهی قرار دارد، عکس آن، توسط رابطه (7) تعریف میشود.
|