ارائه يك الگوریتم تعادل بار مبتنی بر پیشبینی در شبکههای نرمافزارمحور
محورهای موضوعی : مهندسی برق و کامپیوترحسین محمدی 1 , سیداکبر مصطفوی 2
1 - دانشگاه یزد،دانشکده مهندسی کامپیوتر
2 - دانشگاه یزد،دانشکده مهندسی کامپیوتر
کلید واژه: شبکههای نرمافزارمحور, توازن بار, الگوریتمهای پیشبینی, ماشین یادگیری افراطی,
چکیده مقاله :
شبکههای نرمافزارمحور یک معماری جدید در شبکه است که لایه کنترل را از لایه داده جدا میسازد. در این رویکرد مسئولیت لایه کنترل به نرمافزار کنترلر واگذار میشود تا رفتار کل شبکه را به طور پویا تعیین نماید. نتیجه این امر، ایجاد یک شبکه بسیار منعطف با مدیریت متمرکز است که در آن میتوان پارامترهای شبکه را به خوبی کنترل کرد. با توجه به افزایش روزافزون کاربران، ظهور فناوریهای جدید، رشد انفجاری ترافیک در شبکه، برآوردهسازی الزامات کیفیت خدمات و جلوگیری از کمباری یا پرباری منابع، تعادل بار در شبکههای نرمافزارمحور ضروری میباشد. عدم تعادل بار باعث بالارفتن هزینه، کاهش مقیاسپذیری، انعطافپذیری، بهرهوری و تأخیر در سرویسدهی شبکه میشود. تا کنون الگوریتمهای مختلفی برای بهبود عملکرد و تعادل بار در شبکه ارائه شدهاند که معیارهای متفاوتی مانند انرژی مصرفی و زمان پاسخ سرور را مد نظر قرار دادهاند، اما اغلب آنها از ورود سیستم به حالت عدم تعادل بار جلوگیری نمیکنند و خطرات ناشی از عدم تعادل بار را کاهش نمیدهند. در این مقاله، یک روش تعادل بار مبتنی بر پیشبینی برای جلوگیری از ورود سیستم به حالت عدم تعادل بار با بهرهگیری از الگوریتم ماشین یادگیری افراطی پیشنهاد میشود. نتایج ارزیابی روش پیشنهادی نشان میدهد که از نظر تأخیر پردازش کنترلکننده، میزان تعادل بار و زمان پاسخگویی به علت تعادل بار بهینه نسبت به روشهای CDAA و PSOAP عملکرد بهتری دارد.
Software-defined networking is a new network architecture which separates the control layer from the data layer. In this approach, the responsibility of the control layer is delegated to the controller software to dynamically determine the behavior of the entire network. It results in a flexible network with centralized management in which network parameters can be well controlled. Due to the increasing number of users, the emergence of new technologies, the explosive growth of network traffic, meeting the requirements of quality of service and preventing underload or overload of resources, load balancing in software-based networks is of substantial importance. Load imbalance increases costs, reduces scalability, flexibility, efficiency, and delay in network service. So far, a number of solutions have been proposed to improve the performance and load balancing in the network, which take into account different criteria such as power consumption and server response time, but most of them do not prevent the system from entering the load imbalance mode and the risks of load imbalance. In this paper, a predictive load balancing method is proposed to prevent the system from entering the load imbalance mode using the Extreme Learning Machine (ELM) algorithm. The evaluation results of the proposed method show that in terms of controller processing delay, load balance and response time, it performs better than CDAA and PSOAP methods.
[1] G. Li, X. Wang, and Z. Zhang, "SDN-based load balancing scheme for multi-controller deployment," IEEE Access, vol. 7, pp. 39612-39622, Mar. 2019.
[2] Y. Wu, G. Min, and L. T. Yang, "Performance analysis of hybrid wireless networks under bursty and correlated traffic," IEEE Trans. Veh. Technol., vol. 62, no. 1, pp. 449-454, Jan. 2013.
[3] D. Zhang, H. Huang, J. Zhou, F. Xia, and Z. Chen, "Detecting hot road mobility of vehicular Ad Hoc networks," Mob. Networks Appl., vol. 18, no. 6, pp. 803-813, Dec. 2013.
[4] M. Dong, T. Kimata, K. Sugiura, and K. Zettsu, "Quality-of-Experience (QoE) in emerging mobile social networks," IEICE Trans. Inf. Syst., vol. E97D, no. 10, pp. 2606-2612, Oct. 2014.
[5] H. Kim and N. Feamster, "Improving network management with software defined networking," IEEE Commun. Mag., vol. 51, no. 2, pp. 114-119, Feb. 2013.
[6] S. Sezer, S. Scott-Hayward, P. Kaur, B. Fraser, D. Lake, J. Finnegan, and N. Viljoen, "Are we ready for SDN? implementation challenges for software-defined networks," IEEE Commun. Mag., vol. 51, no. 7, pp. 36-43, Jul. 2013.
[7] H. Zhong, Q. Lin, J. Cui, R. Shi, and L. Liu, "An efficient SDN load balancing scheme based on variance analysis for massive mobile users," Mob. Inf. Syst., vol. 2015, Article ID: 241732, 2015.
[8] D. Wetherall and D. Tennenhouse, "Retrospective on 'towards an active network architecture'," Comput. Commun. Rev., vol. 49, no. 5, pp. 86-89, Nov. 2019.
[9] H. Xu, H. Huang, S. Chen, G. Zhao, and L. Huang, "Achieving high scalability through hybrid switching in software-defined networking," IEEE/ACM Trans. Netw., vol. 26, no. 1, pp. 618-632, Jan. 2018.
[10] C. Decusatis, M. Haley, T. Bundy, and R. Cunnistra, "Dynamic, software-defined service provider network infrastructure and cloud drivers for SDN adoption," in Proc. IEEE Int. Conf. Commun. Work, pp. 235-239, Budapest, Hungary, 9-13 Jun. 2013.
[11] Sandhya, Y. Sinha, and K. Haribabu, "A survey: hybrid SDN," J. Netw. Comput. Appl., vol. 100, pp. 35-55, 15 Dec. 2017.
[12] D. Namiot and M. Sneps-sneppe, Metadata in SDN API, arXive, abs/1503.06630, 2015.
[13] A. Shalimov, D. Zimarina, and V. Pashkov, "Advanced study of SDN/OpenFlow controllers," in Proc. of the 9th Central & Eastern European Software Engineering Conf. in Russia, 6 pp., Moscow, Russia, 24-25 Oct. 2013.
[14] G. Bin Huang, Q. Y. Zhu, and C. K. Siew, "Extreme learning machine: theory and applications," Neurocomputing, vol. 70, no. 1-3, pp. 489-501, May 2006.
[15] G. Huang, G. Bin Huang, S. Song, and K. You, "Trends in extreme learning machines: a review," Neural Networks, vol. 61, , pp. 32-48, Oct. 2015.
[16] F. K. Inaba, E. O. Teatini Salles, S. Perron, and G. Caporossi, "DGR-ELM-distributed generalized regularized ELM for classification," Neurocomputing, vol. 275, pp. 1522-1530, Dec. 2018.
[17] S. Liao and C. Feng, "Meta-ELM: ELM with ELM hidden nodes," Neurocomputing, vol. 128, pp. 81-87, Oct. 2014.
[18] H. Zhong, Y. Fang, and J. Cui, "LBBSRT: an efficient SDN load balancing scheme based on server response time," Futur. Gener. Comput. Syst., vol. 68, pp. 183-190, Oct. 2017.
[19] W. C. Chien, C. F. Lai, H. H. Cho, and H. C. Chao, "A SDN-SFC-based service-oriented load balancing for the IoT applications," J. Netw. Comput. Appl., vol. 114, pp. 88-97, Jul. 2018.
[20] L. Boero, M. Cello, C. Garibotto, M. Marchese, and M. Mongelli, "BeaQoS: load balancing and deadline management of queues in an OpenFlow SDN switch," Comput. Networks, vol. 106, pp. 161-170, Sept. 2016.
[21] S. Shahryari, S. A. Hosseini-Seno, and F. Tashtarian, "An SDN based framework for maximizing throughput and balanced load distribution in a cloudlet network," Futur. Gener. Comput. Syst., vol. 110, pp. 18-32, Sept. 2020.
[22] A. A. Ateya, A. Muthanna, A. Vybornova, and A. D. Algarni, "Chaotic salp swarm algorithm for SDN multi-controller networks," Eng. Sci. Technol. an Int. J., vol. 22, no. 4, pp. 1001-1012, Aug. 2019.
[23] M. Chen, K. Ding, J. Hao, C. Hu, G. Xie, C. Xing, and B. Chen, "LCMSC: a lightweight collaborative mechanism for SDN controllers," Comput. Networks, vol. 121, pp. 65-75, Jul. 2017.
[24] T. Zhang, P. Giaccone, A. Bianco, and S. De Domenico, "The role of the inter-controller consensus in the placement of distributed SDN controllers," Comput. Commun., vol. 113, no. C, pp. 1-13, Nov. 2017.
[25] P. Song, Y. Liu, C. Liu, and D. Qian, "ParaFlow: fine-grained parallel SDN controller for large-scale networks," J. Netw. Comput. Appl., vol. 87, pp. 46-59, Jun. 2017.
[26] J. Cui, Q. Lu, H. Zhong, M. Tian, and L. Liu, "A load-balancing mechanism for distributed SDN control plane using response time," IEEE Trans. Netw. Serv. Manag., vol. 15, no. 4, pp. 1197-1206, Oct. 2018.
[27] V. R. Dasari and T. S. Humble, "OpenFlow arbitrated programmable network channels for managing quantum metadata," J. Def. Model. Simul., vol. 16, no. 1, pp. 67-77, Jan. 2019.
[28] Y. Wu, S. Zhou, Y. Wei, and S. Leng, "Deep reinforcement learning for controller placement in software defined network," in Proc. IEEE Conf. on Computer Communications Workshops pp. 1254-1259, Toronto, Canada, 6-9 Jul. 2020.
[29] X. Tian, H. Shen, X. Chen, and C. Li, "Analysis of SDN multi-controller placement," in Proc. Int. Conf. on Data Processing Techniques and Applications for Cyber-Physical Systems, Advances in Intelligent Systems and Computing, vol. 1379, pp. 677-683, Jun. 2021.
[30] S. Yeo, Y. Naing, T. Kim, and S. Oh, "Achieving balanced load distribution with reinforcement learning-based switch migration in distributed SDN controllers," Electronics, vol. 10, no. 2, pp. 1-16, Jan. 2021.
[31] H. Mostafaei, M. Menth, and M. S. Obaidat, "A learning automaton-based controller placement algorithm for software-defined networks," in Proc. IEEE Global Communications Conf., 6 pp., Abu Dhabi, United Arab Emirates, 9-13 Dec. 2018.
نشریه مهندسی برق و مهندسی كامپیوتر ایران، ب- مهندسی کامپیوتر، سال 19، شماره 4، زمستان 1400 289
مقاله پژوهشی
ارائه يك الگوریتم تعادل بار مبتنی بر پیشبینی
در شبکههای نرمافزارمحور
حسین محمدی و سيد اكبر مصطفوي
چكیده: شبکههای نرمافزارمحور یک معماری جدید در شبکه است که لایه کنترل را از لایه داده جدا میسازد. در این رویکرد مسئولیت لایه کنترل به نرمافزار کنترلر واگذار میشود تا رفتار کل شبکه را به طور پویا تعیین نماید. نتیجه این امر، ایجاد یک شبکه بسیار منعطف با مدیریت متمرکز است که در آن میتوان پارامترهای شبکه را به خوبی کنترل کرد. با توجه به افزایش روزافزون کاربران، ظهور فناوریهای جدید، رشد انفجاری ترافیک در شبکه، برآوردهسازی الزامات کیفیت خدمات و جلوگیری از کمباری یا پرباری منابع، تعادل بار در شبکههای نرمافزارمحور ضروری میباشد. عدم تعادل بار باعث بالارفتن هزینه، کاهش مقیاسپذیری، انعطافپذیری، بهرهوری و تأخیر در سرویسدهی شبکه میشود. تا کنون الگوریتمهای مختلفی برای بهبود عملکرد و تعادل بار در شبکه ارائه شدهاند که معیارهای متفاوتی مانند انرژی مصرفی و زمان پاسخ سرور را
مد نظر قرار دادهاند، اما اغلب آنها از ورود سیستم به حالت عدم تعادل بار جلوگیری نمیکنند و خطرات ناشی از عدم تعادل بار را کاهش نمیدهند. در این مقاله، یک روش تعادل بار مبتنی بر پیشبینی برای جلوگیری از ورود سیستم به حالت عدم تعادل بار با بهرهگیری از الگوریتم ماشین یادگیری افراطی پیشنهاد میشود. نتایج ارزیابی روش پیشنهادی نشان میدهد که از نظر تأخیر پردازش کنترلکننده، میزان تعادل بار و زمان پاسخگویی به علت تعادل بار بهینه نسبت به روشهای CDAA و PSOAP عملکرد بهتری دارد.
کلیدواژه: شبکههای نرمافزارمحور، توازن بار، الگوریتمهای پیشبینی، ماشین یادگیری افراطی.
1- مقدمه
شبکههای نرمافزارمحور یک معماری جدید در شبکه است که لایه کنترل را از لایه داده جدا میسازد و مدیریت شبکه را به صورت متمرکز و انعطافپذیر تحقق میبخشد. گسترش شبکههای کامپیوتری و افزایش روزافزون کاربران و همچنین ظهور فناوریهای جدید مانند رایانش ابری و دادههای حجیم، مدیریت شبکههای سنتی را دشوار ساخته و بنابراین لازم است که معماری شبکههای سنتی تغییر یابد. اخیراً برای پرداختن به حل مسئله موجود، رویکرد شبکههای نرمافزارمحور ارائه شده است که باعث سهولت در مدیریت شبکه و انعطافپذیری و سازگاری بیشتر شبکه میشود [1].
1-1 بیان مسئله
با در نظر گرفتن سربار شبکه، تکنیکهای تعادلسازی بار2 از اهمیت قابل توجهی برخوردار هستند. تعادل بار مستقیماً بر برنامه و دسترسی به سرویس برای کاربران تلفن همراه تأثیر میگذارد [2] و با هدف بهینهسازی استفاده از منبع با به حداکثر رساندن توان عملیاتی، به حداقل رساندن زمان پاسخ و جلوگیری از بارگذاری بیش از حد هر منبع است. برای کاهش بار ترافیکی شبکه و کاهش خطر تبدیلشدن یک سرور به عامل اصلی سربار، بسیاری از مراکز داده از روشهای سختافزاری اختصاصی استفاده میکنند تا تعادل بار را برای پشتیبانی از تعداد زیادی از کاربران امکانپذیر سازند [3]. با وجود این، تهیه سیستمهای سختافزاری معمولاً گران هستند و استقرار آنها از نظر فنی چالشبرانگیز است و برای کار مداوم نیاز به مداخله انسان دارد [4]. متعادلکنندههای بار سنتی، پرهزینه هستند و مجموعه سیاستهای متعادلکننده بار باید از قبل در آنها برنامهدهی شوند و این عدم انعطافپذیری منجر به ناتوانی در مقابله با شرایط اضطراری میشود. رویکرد تعادل بار سنتی نیاز به نگهداری توسط مدیران اختصاصی دارد و به کاربران اجازه نمیدهد استراتژیهای انعطافپذیر را بر اساس شرایط شبکه واقعی خود طراحی کنند. از آنجا که همه درخواستها از طریق یک سختافزار هدایت میشوند، هر گونه خرابی در تعادل بار باعث از دست رفتن کل سرویس میگردد [5].
تعادل بار، روشی مطمئن برای افزایش پهنای باند سرورها و سایر دستگاههای شبکه و افزایش ظرفیت پردازش بسته دادهها و توان شبکه فراهم میکند تا قابلیت استفاده و انعطافپذیری شبکه بهبود یابد. سرعت رشد پردازنده سرور و دسترسی به حافظه در مقایسه با توسعه سریع فناوری شبکه نسبتاً کند است. در حال حاضر، پرباری سرورها گلوگاه اصلی توسعه شبکههای کامپیوتری است. با توسعه شبکههای پرسرعت و افزایش تقاضا برای خدمات، بسیاری از مراکز داده سازمانی و سرورهای پورتال تحت تأثیر رشد انفجاری ترافیک شبکه قرار میگیرند. در این حالت، تعادل بار راهکار کلیدی است که برای توزیع تقاضای دادهها در بین مجموعهای از سیستمهای سرور مورد استفاده قرار میگیرد [6] و [7].
در معماری شبکه سنتی، از تعادل بار بین سرورهای فیزیکی برای برآوردن تقاضای حجم بالای داده استفاده میشود. این روش ضمن ارائه مقیاسپذیری و انعطافپذیری، به سرمایهگذاری بزرگ نیاز دارد و به سختی قادر است از تقاضای بار کاری بسیار پویا از کاربران عظیم موبایل پشتیبانی کند. برای حل این مشکلات، این مقاله به ارائه یک معماری
شکل 1: معماری SDN [10].
مبتنی بر شبکه 3SDN و به کارگیری یک روش احتمالاتی جدید برای تعادل بار بر اساس تحلیل واریانس مبتنی بر ماشین یادگیری افراطی میپردازد. از این روش میتوان برای مدیریت پویای جریانهای ترافیک جهت پشتیبانی از کاربران عظیم سیار در شبکههای SDN استفاده کرد. در این تحقیق به جای استفاده از رویکرد سنتی تعویض سختافزار،
راه حلی مبتنی بر سوئیچینگ مجازی OpenFlow پیشنهاد میگردد. یک کنترلکننده SDN با استفاده از تحلیل واریانس مبتنی بر الگوریتم 4ELM، ترافیک دادههای هر پورت سوئیچ را رصد میکند و یک الگوریتم انتخاب مبتنی بر احتمال برای هدایت ترافیک به صورت پویا با فناوری OpenFlow فراهم مینماید. این راه حل در مقایسه با روشهای موجود متعادلسازی بار که برای پشتیبانی از شبکههای سنتی طراحی شدهاند دارای هزینه کمتر، قابلیت اطمینان بالاتر و مقیاسپذیری بیشتری است که نیازهای کاربران سیار را برآورده میکند.
1-2 ضرورت و اهمیت تحقیق
صفحه کنترلی نقش بسزایی در شبکه نرمافزارمحور دارد. یک SDN بزرگ معمولاً صفحه کنترلی خود را با چندین کنترلکننده توزیعشده پیادهسازی میکند، هر کدام زیرمجموعهای از سوئیچها را کنترل میکنند و با دیگر کنترلکنندهها همگامسازی میشوند تا یک دید یکپارچه از شبکه را فراهم کنند. در شرایط نوسان ترافیک شبکه، رابطه نگاشت استاتیک کنترلکننده و سوئیچ میتواند منجر به عدم تعادل بار کاری شود. کنترلکنندهها ممکن است دچار پرباری شده و درخواستهای جدید را رد کنند و در نتیجه توانایی آنها برای پردازش درخواستهای کنترلی کاهش یابد. اکثر طرحهای موجود برای مدیریت نگاشت بین کنترلکنندهها و سوئیچها متکی به الگوریتمهای بهینهسازی تکرارشونده هستند که از نظر عملکرد، زمانبر میباشند یا نتیجه رضایتبخشی به همراه ندارند. در
این مقاله، با به کارگیری الگوریتم ELM، یک طرح پویای تعادل بار کنترلکننده بهینه پیشنهاد میشود. این مدل در دو مرحله عمل میکند: آموزش و تصمیمگیری. در مرحله آموزش، هر عامل یاد میگیرد که چگونه سوئیچها را از طریق تعامل با شبکه منتقل کند. در مرحله تصمیمگیری، رویکرد پیشنهادی برای تصمیمگیری در مورد سوئیچهای مهاجر مستقر میشود.
1-3 نوآوری در تحقیق
نوآوری محوری این تحقیق، استفاده از الگوریتم ELM بهینه برای تعادل بار جهت کاهش استفاده از منابع در شبکههای SDN است. روش پیشنهادی، یک مکانیسم تعادل بار سرویسگرا جهت مشکل استقرار هماهنگ چند کنترلکننده با هدف بهبود تعادل بار است.
1-4 ساختار مقاله
ساختار مقاله به صورت زیر سازماندهی شده است: در بخش 2 مبانی نظری تحقیق به همراه مروری بر مقالات مرتبط ارائه میگردد که شامل رویکردهای پیشین در این حوزه میشود. در بخش 3، به حل چالش تعادل بار در کنترلرهای SDN با روش پیشنهادی پیشبینی مبتنی بر ELM پرداخته میشود. در بخش 4 شبیهسازی رویکرد پیشنهادی و نتایج به دست آمده مورد بحث قرار میگیرد و نهایتاً در بخش پنجم، نتیجهگیری و کارهای آینده بیان میگردد.
2- مبانی نظری و پیشینه تحقیق
در این بخش به بررسی مبانی نظری در زمینه شبکههای نرمافزارمحور و الگوریتم ماشین یادگیری افراطی پرداخته میشود و سپس کارهای مرتبط در زمینه تعادل بار در SDN مورد بررسی قرار خواهند گرفت.
2-1 شبکههای نرمافزارمحور
SDN یک فناوری متحولکننده در حوزه شبکههای رایانهای است که در سالهای اخیر توجه زیادی را به خود جلب کرده است. ایده اولیه این طرح به یک پروژه در سال 2008 در دانشگاههای برکلی و استنفورد بازمیگردد [5]. SDN به محققان شبکه امکان میدهد تا خدمات شبکه را از طریق انتزاع عملکردهای سطح پایین شبکه به شکل سادهتری مدیریت کنند. این رویکرد، کنترل شبکه را که در مورد نحوه ارسال ترافیک تصمیمگیری میکند (صفحه کنترل) از سیستمهای انتقال داده که ترافیک را به مقصد انتخابشده هدایت میکنند (صفحه داده)، جدا مینماید. در نتیجه، شبکه به طور مستقیم توسط مدیر شبکه قابل برنامهریزی است و زیرساخت شبکه از برنامهها و خدمات شبکه تفکیک میشود [6] و [8]. معماری شبکههای موجود، به گونهای طراحی نشدهاند که نیازهای کنونی شرکتها و کاربران را برطرف کنند. برای رفع نياز اين صنايع، معماري SDN به تدريج به عنوان يك استاندارد در طراحي مسيريابهاي شبكه مورد استفاده قرار ميگيرد [9].
2-1-1 معماری شبکههای نرمافزارمحور
در معماري SDN، کنترل شبکه از هدايت ترافیک مجزا بوده و به طور مستقیم برنامهریزی میشود. مجزاسازي کنترل شبکه که قبلاً محدود به سختافزار شبکه بود، ماشینهای مجازی و زیرساختهای شبکه را قادر میسازد تا انواع سرویسهای جدید را تعریف کنند و با طیف جدیدي از برنامههای کاربردی ارتباط برقرار نماید. شکل 1، نمایی از معماری SDN را ارائه کرده است. هوشمندی شبکه به طور منطقی در کنترلکنندههای نرمافزاری SDN قرار دارد که ساختار کلی شبکه را كنترل ميكند و شبکه از دید برنامههای کاربردی به صورت یک سوئیچ منطقی و واحد به نظر خواهد رسید [10].
2-1-2 اجزای تشکیلدهنده SDN
ايده اصلي SDN این است که يك واحد منطقي به نام کنترلکننده با همه دستگاههای موجود در یک دامنه شبکه در ارتباط مستقیم باشد، از
شکل 2: کنترلکنندهها در SDN [12].
همبندی شبکه آگاه باشد و شبکه را از یک نقطه مرکزی، هدایت، کنترل و برنامهریزی کند. کنترلکننده SDN، مدل برنامهریزی شبکه را از حالت توزیعشده به حالت متمرکز تبدیل میکند. در شکل 2، کنترلکننده SDN به عنوان یک میانابزار جهت برقراري ارتباط به کار گرفته شده است [11] و [12].
2-1-3 پروتکل OpenFlow
پروتکل OpenFlow یک عنصر اساسی برای ساخت راه حلهای SDN است. این اولین پروتکل ارتباطی استاندارد است که بین لایه کنترل و لایه زیرساخت در معماری SDN تعریف شده است. OpenFlow از مفهوم جریان برای شناسایی ترافیک شبکه بر اساس قوانین تطبیقی استفاده میکند که میتواند به صورت ايستا یا پویا توسط نرمافزار کنترلي SDN برنامهریزی شود و به عنوان پرکاربردترین واسط برنامهنویسی برای شبکههای SDN، منابع اطلاعاتي برای سیستم عاملهای شبکه را فراهم میکند [13].
2-1-4 تعادل بار در SDN
با در نظر گرفتن سربار شبکه، تکنیکهای متعادلسازی بار از اهمیت قابل توجهی برخوردار هستند. تعادل بار مستقیماً بر برنامه و دسترسی به سرویس برای کاربران تأثیر میگذارد. هدف از تعادل بار، بهینهسازی استفاده از منبع با به حداکثر رساندن توان عملیاتی، به حداقل رساندن زمان پاسخ و جلوگیری از بارگذاری بیش از حد روي هر منبع واحد است. برای کاهش بار ترافیک و کاهش خطر تبدیل سرور به نقطه حساس به خطا، بسیاری از مراکز داده روشهای سختافزاری اختصاصی را برای فعالکردن تعادل بار برای پشتیبانی از تعداد زیادی از کاربران در نظر میگیرند. با وجود این، تهیه سیستمهای سختافزاری معمولاً گران هستند، استقرار آنها از نظر فنی چالشبرانگیز است و برای کار مداوم نیاز به مداخله انسان دارند.
شبکه SDN یک روش جايگزين سادهتر، آسانتر و قابل کنترل برای کنترل جریان شبکه با صرف سرمایهگذاری كمتر است. در SDN هنگامی که یک جریان داده به یک سوئیچ میرسد، یک جستجوی جدول جریان باید انجام شود. در صورت نیاز به تغییرات جریان یا اعمال اقدامات، سرایندها و شمارندهها برای هر جریان شبکه بهروز میشوند. با ثبت اطلاعات سرایندها در یک پایگاه داده، یک سوئیچ OpenFlow میتواند جریان داده را با توجه به سوابق سرآيند پردازش کند. در مدل SDN با یک کنترلکننده متمرکز، یک سوئیچ OpenFlow برای قوانین مختلف برای کنترل ترافیک شبکه با استفاده از سوابق سرایندها طراحی شده است. سیستم کنترل جریان، امکان تعریف الگوریتم و برنامهنويسي برای تعادل بار شبکه را فراهم میکند [7].
2-2 ماشین یادگیری افراطی (ELM)
از جمله مسایل مهم در روشهاي یادگیری، سرعت آموزش و آزمون است. در [14] يك الگوریتم یادگیری به نام ماشین یادگیری افراطي یا ELM ارائه شده که سرعت یادگیری آن بسيار بيشتر از الگوریتمهای یادگیری مانند مارکارد 5(LM) و پسانتشار خطا6 است. از ELM برای پردازشهای متنوعی شامل طبقهبندی، رگرسیون7، خوشهبندی، انتخاب ویژگی، کاهش ابعاد و استخراج ویژگیها استفاده میشود. سرعت یادگیری ELM در مقابل شبکههای عصبی پسخور مبتنی بر گرادیان کاهشی به طور قابل توجهی بهتر است و این الگوریتم عملکرد بسیار بهتری نسبت به بردار ماشین پشتیبان (SVM) در زمینه ردهبندی و رگرسیون از خود نشان میدهد [15]. با توجه به سرعت اجرا و بازدهی بالای الگوریتم ELM، این الگوریتم قادر است تا عملیات یادگیری کمباری و پرباری کنترلرهای سوئیچهای SDN را بسیار سریع به انجام برساند و پیش از بروز تأخیر قابل توجه، شرایط شبکه را اصلاح نماید.
الگوریتم ELM را میتوان بر روی دادههای مصنوعی که دو دسته یا بیشتر باشند و با هم، همپوشانی نداشته باشند، اجرا نمود و به صحت کامل آن رسید. اما این شرایط ایدهآل برای دادههای واقعی عموماً برقرار نیست. الگوریتم ELM برای آموزش شبکههای عصبی پیشخور8 تکلایه پنهان با اجتناب از یک روش آموزش تکراری زمانبر با هدف کاهش زمان آموزش و بهبود عملکرد تعمیمپذیری دادهها ارائه و پیشنهاد شده است. در ELM فقط وزنهای خروجی بین لایههای پنهان و لایه خروجی با روش حداقل مربعات منظم، قابل تنظیم است و پارامترهای لایه پنهان که همان وزنهای ورودی بین لایه ورودی، لایه پنهان و بایاسها است، همزمان به طور تصادفی تولید میشوند و در طول فاز آموزش، ثابت میمانند [16] و [17].
2-3 مطالعات پیشین
مقالات متعددي بحث تعادل بار در SDN را مورد بررسي قرار دادهاند. هونگ ژونگ و همکاران به ارائه یک طرح تعادل بار SDN کارامد
بر اساس زمان پاسخ سرور پرداختهاند که زمان پاسخ مهمترین عامل تعیینکننده تجارب کاربر در مدل ارائه خدمات شامل خوشههای سرور است. با این حال، طرح تعادل بار خوشه سرور سنتی تحت شرایط سختافزاری محدود است و نمیتواند به طور کامل از زمان پاسخ سرور برای تعادل بار استفاده کند. به منظور حل مؤثر طرحهای متعادلسازی بار سنتی، این مقاله با استفاده از مزیت انعطافپذیری SDN به نام LBBSRT یک طرح متعادلسازی بار را بر اساس زمان پاسخ سرور پیشنهاد میکند. با استفاده از زمان پاسخ به موقع هر سرور که توسط کنترلکننده برای تعادل بار اندازهگیری میشود، با به دست آوردن بارهای سرور به طور مساوی، درخواستهای کاربر پردازش میگردد. آزمایشهای شبیهسازی نشان میدهد که طرح این تحقیق با حداقل میانگین زمان پاسخ سرور، اثر متعادلکننده بار و درخواستهای پردازش بهتری را نشان میدهد. علاوه بر این، اجرای طرح پیشنهادی این تحقیق آسان است و دارای مقیاسپذیری خوب و ویژگیهای کمهزینه میباشد [18].
وی چی چین و همکاران یک ساختار تعادل بار در SDN را مبتنی
بر اینترنت اشیا ارائه دادهاند. در این تحقیق، یک مکانیسم تعادل بار SDN-SFC سرویسگرا پیشنهاد شده است. این روش، نوع و اولویت خدمات مورد نیاز هر دستگاه ترمینال را در نظر گرفته و طبقهبندی میکند. سپس، الگوریتم ابتکاری برای برنامهریزی مسیرهای انتقال بین SFC برای کاهش بار هر SF و بهبود عملکرد کلی شبکه، تصویب و اعمال شده است. نتایج شبیهسازی نشان میدهد که روش پیشنهادی این مطالعه میتواند زمان انتقال داده را کوتاه کرده و به تعادل بار برسد [19].
ال بوئرو و همکاران تعادل بار و مدیریت مهلت صفها را در یک سوئیچ OpenFlow ارائه دادند که BreQoS نام دارد. ويژگيهاي فعلی OpenFlow قادر به تنظیم نرخ خدمات صف در دستگاههای OpenFlow نیست. این کمبود اجازه نمیدهد كه بتوان الگوریتمهايي را جهت حفظ الزامات کیفیت خدمات در جریانهای جدید و موجود پيادهسازي نمود. در این مقاله یک راه حل جایگزین ارائه شده که از طریق برخی تغییرات Beacon، یک کنترلکننده SDN اجرا گردیده است. این روش به صورت زير عمل ميكند: با استفاده از آمار تقریباً آني OpenFlow Beaconها مسیرهای مختلف را در صفهای مختلف مسیریابی میکند تا رعایت الزامات ضربالاجل را تضمین کند. اين كار، یک روش تعادل صف کارامد در یک سوئیچ OpenFlow است که هیچ نوع تغییر ابتکاری یا استاندارد جدیدی نسبت به سوئيچ استاندارد OpenFlow ندارد. سازوكار پيشنهادي این تحقیق که در کنترلکننده اجرا میشود، با دستگاههای OpenFlow معمولی کار میکند. تغییرات ايجادشده در کنترلکننده SDN، مبنايي برای طراحی دستهای از الگوریتمهای مسیریابی جدید است که قادر به تضمین محدودیتهای مهلت و تعادل صف بدون تغییر در مشخصات OpenFlow و همچنین دستگاههای OpenFlow هستند [20].
شیرزاد شهریاری و همکاران چارچوبی مبتنی بر SDN برای به حداکثر رساندن توان توزیع و توزیع بار در شبکه ابری ارائه دادهاند. اگرچه دستگاههای سیار در دهه اخیر گسترش قابل ملاحظهاي را تجربه کردهاند، اما منابع آنها به دليل اندازه قابل حمل آنها محدود هستند. چنین محدودیتهایی را میتوان با اجرای از راه دور وظایف محاسباتی روي ابر کاهش داد. با ایجاد یک خوشه سرور ابر در لبه شبکه و نزدیک به دستگاههای سیار، واگذاري وظیفه با تأخیر قابل قبولتری در مقایسه با یک راه حل مبتنی بر ابر انجام میشود. به محض این که کاربر، درخواستي را ارسال کند، محدودیت منابع در لبه منجر به کمبود منابع خواهد شد. در اين شرايط میتوان با به كارگيري شبکه ابری جهت به اشتراکگذاری منابع، از این چالش جلوگیری کرد. در این مقاله چارچوبي برای مدیریت بهینه منابع و ایجاد تعادل بار عادلانه در شبکه ابری از طریق تکنیکهای شبکه SDN ارائه شده است. برای دستیابی به این هدف، ابتدا مسئله
به عنوان یک مدل بهینهسازی برنامهریزی خطی 9(MILP) مختلط مدلسازي شده است تا توزیع وظایف مستقلی را که از دستگاههای تلفن همراه واگذار شدهاند همراه با استفاده بهینه از منابع، متعادل سازد. مدل MILP رعایت ضربالاجل وظایف را تضمین میکند و گذردهي سیستم را به حداکثر میرساند. در مرحله دوم، با نشاندادن این که این مسئله NP- سخت است، یک مدل هموارسازي برنامهريزي خطي برای فعالسازي کنترلکننده SDN در یک شبکه در مقیاس بزرگ ارائه شده است. جهت ارزيابي، آزمایشهایی با الگوبرداری از چارچوب پیشنهادی در Mininet-WiFi، با استفاده از Floodlight به عنوان کنترلکننده SDN انجام شده است. نتایج شبیهسازی نشان میدهد که معماری اين روش میتواند به طور رضایتبخشی تعادل بار را انجام دهد و اثبات کافی را نیز ارائه میدهد [21].
در زمینه جایگذاری و ارائه کنترلکننده در شبکههای SDN، مطالعات مختلفی صورت گرفته است. عبدالحمید آتیا و همکاران یک الگوریتم ازدحامی زنجیرهوار به صورت آشوبناک برای ارائه چندین کنترلکننده در SDN ارائه نمودهاند. این الگوریتم که اصطلاحاً SSOA یا الگوریتم ازدحامی زنجیرهای آشوبناک10 نام دارد، به ارائه یک نگاشت آشوبناک برای بهینهسازی کارایی شبکه SDN پرداخته است. این الگوریتم به ارزیابی پویای تعداد بهینه کنترلکنندهها و بهبود ارتباطات بین سوئیچها و کنترلکنندهها در ابعاد بزرگ SDN میپردازد. نتایج حاصل نشان از بهبود رویکرد پیشنهادی نسبت به سایر الگوریتمهای تکاملی و هوش ازدحامی و همین طور نظریه بازیها از لحاظ زمان اجرا و پایایی دارد [22].
در تحقیق دیگری، مینگ چن و همکاران یک پروتکل با مکانیزم سبکوزن همکارانه تحت عنوان LCMSC برای جایگذاری و بهبود کنترلکنندهها در SDN ارائه نمودهاند. کاهش پیچیدگی محاسباتی، بهبود زمان اجرا، مدیریت و نظارت بر منابع و بهبود پایداری به عنوان مهمترین مشخصهها و اهداف این تحقیق میباشند. اتصال کنترلکننده LCMSC به اینترنت و پشتیبانی از خدمات در ساختار شبکه آنلاین به صورت فیزیکی، یکی از دستاوردهای مهم این تحقیق به شمار میرود [23].
تیانژو ژانگ و همکاران به نقش اجماع کنترلکنندههای درونی برای استقرار و جایگذاری توزیعی کنترلکنندههای SDN پرداختهاند. این عملیات در یک شرکت ارائهدهنده خدمات اینترنتی به صورت فیزیکی ارائه و انجام شده که با بهبود کیفیت خدمات به خصوص پهنای باند همراه بوده است. همین طور تخمین زمان واکنش که سوئیچها تشخیص میدهند، با استفاده از الگوریتمهای تکاملی و هوش ازدحامی برای اعتبارسنجی عملیات 11SDWAN انجام گرفته است. استفاده از کنترلکنندههای OpenDaylight و ONOS برای استقرار و جایگذاری در شبکه SDN مورد بحث این تحقیق بوده است [24].
پینک سانگ و همکاران یک پروتکل ذرهای به صورت موازی برای ارائه کنترلکننده در SDN برای ابعاد بزرگ مطرح کردند. بهبود کیفیت خدمات و مسئله مسیریابی به همراه کاهش پیچیدگی محاسباتی و قابلیت مقیاسپذیری، از مهمترین اهداف این تحقیق به شمار میرود. نام کنترلکننده پروتکلی این تحقیق، ParaFlow میباشد که دارای قابلیت اجرا در هستههای مختلف نرمافزاری و همین طور حداکثر بهرهوری در استفاده از منابع میباشد. ایجاد یک محیط رابط کاربری در مقایسه با اکثر پروتکلهای کنترلی که به صورت رخدادپذیر هستند، یک مسئله مهم میباشد که ParaFlow آن را در نظر گرفته است [25].
جی کوی و همکاران به حل مسایل مربوط به مقیاسپذیری و قابلیت اطمینان میپردازند که کنترلکننده متمرکز فاقد آنها است. این امر باعث میشود تا ساختار کنترلکنندههای توزیعشده پدیدار شوند. یکی از محدودیتهای اصلی کنترلکنندههای توزیعشده، نگاشت سوئیچ و کنترلکننده با تنظیمات ثابت است که به راحتی باعث توزیع ناهموار بار در میان کنترلکنندهها میشود. برای رفع این مشکلات، یک طرح تعادل بار برای چندین کنترلکننده شبکههای نرمافزارمحور مبتنی بر زمان پاسخ
[1] این مقاله در تاریخ 7 اسفند ماه 1399 دریافت و در تاریخ 19 مهر ماه 1400 بازنگری شد.
حسین محمدی، دانشکده مهندسی کامپیوتر، دانشگاه یزد، یزد، ایران،
(email: mohammadi.qezel@gmail.com).
سید اکبر مصطفوی (نویسنده مسئول)، دانشکده مهندسی کامپیوتر، دانشگاه یزد، یزد، ایران، (email: a.mostafavi@yazd.ac.ir).
[2] . Load Balancing
[3] . Software Defined Network
[4] . Extreme Learning Machine
[5] . Levenberg-Marquardt
[6] . Backpropagation
[7] . Regression
[8] . Feed-Forward
[9] . Mixed-Integer Linear Programming
[10] . Salp Swarm Optimization Algorithm
[11] . Operational Software Defined WAN
جدول 1: مقایسه برخی روشهای پیشین.
معایب | مزایا | رویکرد پیشنهادی |
در نظر نگرفتن صرفهجویی انرژی در تعادل بار | کاهش زمان پاسخ سرور و تعادل بار مؤثر | ارائه یک طرح تعادل بار بر اساس زمان پاسخ سرور |
اگر همه بستهها، بستههای ثابت یا غیر ثابت باشند، منابع کاهش مییابد. | بهبود عملکرد کلی شبکه و کاهش زمان انتقال داده | ارائه یک مکانیسم تعادل بار SDN-SFC سرویسگرا |
عدم مقیاسپذیری، عملکرد پایین و تراکم زیاد شبکه | تعادل صف بدون تغییر در مشخصات | تعادل بار و مدیریت مهلت صفها |
پیچیدگی محاسباتی بالا و | بهبود زمان اجرا و پایایی | ارائه یک الگوریتم ازدحامی زنجیرهوار |
عدم مقیاسپذیری و نامناسببودن نتایج تعادل بار | کاهش پیچیدگی محاسباتی و بهبود زمان اجرا، مدیریت و نظارت بر منابع | یک پروتکل LCMSC برای جایگذاری |
پیچیدگی محاسباتی بالا، عدم مقیاسپذیری، عدم بهرهوری از منابع و نامناسببودن نتایج تعادل بار | بهبود کیفیت خدمات به خصوص پهنای باند | اجماع کنترلکنندههای درونی برای استقرار و جایگذاری توزیعی واپایشگرهای SDN مبتنی بر الگوریتمهای تکاملی |
عدم بهبود مصرف انرژی و عدم تخمین زمان واکنش | بهبود کیفیت خدمات، بهبود مسئله مسیریابی، قابلیت مقیاسپذیری و حداکثر بهرهوری در استفاده از منابع | پروتکل ذرهای به صورت موازی برای ارائه کنترلکننده |
این شبیهسازی در بیشتر الگوهای توزیع بار اعمال نمیشود و هزینه مهاجرت را در نظر نگرفتند. | مقیاسپذیری، قابلیت اطمینان و تعادل بار مناسب | یک طرح تعادل بار برای چندین کنترلکننده مبتنی |
پیچیدگی محاسباتی بالایی دارد. | ترکیب یادگیری از دادههای پیشین شبکه | رویکرد یادگیری تقویتی عمیق مبتنی بر شبکه Q |
عدم ارائه یک راهکار یادگیرنده و سریع | ارزیابی کمی تمامی روشهای موجود | چارچوبی برای تحلیل رویکردهای |
دقت پایینتر نسبت به سایر روشهای موجود | استفاده از نسبت بهرهوری منابع | ترکیب شبکه عصبی و یادگیری تقویتی |
صرفاً تأخیر انتشار بین کنترلر و سوئیچها | الگوریتم ساده و سریع | الگوریتم مکاشفهای مبتنی بر یادگیری اتوماتا |
با در نظر گرفتن تغییر در ویژگیهای زمان حقیقی در مقابل بارهای کنترلکننده پیشنهاد کردند. این روش با انتخاب حد آستانه زمان پاسخ مناسب و توزیع آنی بار روی کنترلکنندههای پربار کار میکند تا
مشکل تعادل بار را در سطح کنترل شبکههای نرمافزارمحور با چندین کنترلکننده با بار اضافی حل کند [26]. داساري و همكاران از رويكرد مبتني بر SDN براي مديريت شبكه كوانتومي جهت تضمين مبادله اطلاعات بين دستگاهها استفاده نمودهاند [27]. وو و همکاران [28] یک رویکرد یادگیری تقویتی عمیق مبتنی بر شبکه Q برای مسئله جایگذاری کنترلر را پیشنهاد کردهاند. در این روش از دادههای پیشین شبکه و دادههای آنی به صورت ترکیبی برای جایگذاری پویای کنترلرهای SDN در شرایط نوسان جریان ترافیکی استفاده میشود. تیان و همکاران [29] چارچوبی را برای تحلیل رویکردهای مختلف جایگذاری کنترلر چندگانه در شبکه SDN ارائه و سپس الگوریتمهای جایگذاری مختلف را به طور گسترده ارزیابی کردهاند. یئو و همکاران [30] بر خلاف رویکردهای خطی موجود برای بهینهسازی جایگذاری کنترلر، از ترکیب شبکه عصبی و یادگیری تقویتی جهت یافتن پاسخ بهینه استفاده میکنند. در این روش، نسبت بهرهوری منابع مختلف سوئیچ و کنترلر به عنوان ورودی شبکه عصبی مورد استفاده قرار میگیرند. مصطفایی و همکاران در [31]، یک الگوریتم مکاشفهای ساده را مبتنی بر اتوماتای یادگیر پیشنهاد میکنند که کنترلرها را بر اساس تأخیر انتشار از پیش تعیین شده بین سوئیچ و کنترلر جایگذاری میکند تا تأخیر انتشار کلی را کاهش دهد.
در جدول 1 روشهای مطرح موجود مورد مقایسه قرار گرفته و مزایا و معایب هر روش قید شده است.
3- روش پیشنهادی
در این بخش مدل کاملی از مسئله تعادل بار در SDN ارائه میشود. این مقاله به ارائه یک ساختار جدید از تعادل بار در SDN مبتنی بر الگوریتم ماشین یادگیری افراطی (ELM) میپردازد که مدلسازی و فرمولهسازی آن در این بخش به صورت کامل انجام میشود. مسئله مهاجرت سوئیچها در SDN به عنوان یک پروژه مهم در بخش تعادل بار مطرح است.
به صورت کلی، ساختار کنترلکننده SDN به صورت شکل 3 است. همان طور که مشاهده میشود، بخش پایینی به پشتیبانی از پروتکلهای چندگانه و توزیعشده همراه با تعدادی پلاگین میپردازد که شامل OpenFlow در نسخههای مختلف و BGP-LS است. این ماژولها به صورت پویا در لایه انتزاعی خدمات 1(SAL) نصب شدهاند که میتوانند پس از کپسولهسازی در یک پروتکل مناسب برای دستگاههای زیرین شبکه، مورد استفاده قرار گیرند.
کنترلکننده نیاز به جمعآوری اطلاعات درباره توابع دستگاههای زیرین شبکه و نحوه هدايت آنها دارد و این اطلاعات در سیستم مدیریت همبندی، مورد استفاده قرار میگیرند. کنترلکننده به ارائه یک API سطح بالا برای برنامههای کاربردی در SDN میپردازد که جهت پشتیبانی برای چارچوب OSGI و رابط کاربری دوطرفه REST مورد استفاده واقع میگردد. این چارچوب به ارائه برنامههای اجرایی در فضای آدرس کنترلکننده عمل میکند که REST API به این بخش مهم اشاره
شکل 3: کنترلکننده SDN [27].
مستقیم دارد و میتواند در فضاهای آدرسهای گوناگون، تنظیم و مورد استفاده واقع گردد. تمامی منطقها و الگوریتمها در این سطح از برنامههای کاربردی، اجرا میشوند. کنترلکننده همراه با یک محیط رابط گرافیکی به استفاده از همان APIها به عنوان برنامههای کاربردی میپردازد و این APIها میتوانند توسط سایر برنامههای کاربردی، فراخوانی شده و مورد استفاده قرار گیرند.
زمانی که پروتکل کلاسیک OpenFlow برای تطبیق عملیات منطقی طراحی نشده بود، پلاگینهای OpenFlow در نسخه 3/1 به امور مسیریابی، مباحث امنیتی، خوشهبندی، اعتمادپذیری، زمانبندی، تعادل بار، تحمل خطا و سایر عملیاتها میپرداختند. پلاگین در یک کنترلکننده مجتمع با سایر پلاگینهای OpenFlow کلاسیک، طراحی شدند که به صورت OpenFlowj شناخته میشود. OpenFlowj یک کتابخانه ایستا از نوع جاوا یا OpenFlowJava برای پیغامهای پروتکل میباشد که وابسته به پلاگین است. OpenFlowJava در پلاگینهای فاقد کتابخانه برای ارسال دادهها بود و بنابراین از یک بسته پلاگین دیگر به نام YANG استفاده میکرد که جداگانه بر روی آن نصب میشد. همین طور دارای استقرار ارتباطی و کدهای پروتکل بود. OpenFlowPlugins بر اساس OpenFlowJava برای پیادهسازی فرایندهای ارسال و دریافت دادهها در سطح شبکه به کار گرفته شد.
این تحقیق بر اساس کنترلکنندههای مبتنی بر OpenFlow، OpenFlowJava و OpenFlowPlugins است و به بحث کنترلپذیری صفحه کنترل میپردازد که تعادل بار بر اساس آن ارائه شده و ساختار کنترلکننده تعادل بار SDN از چارچوب OSGI برای پیادهسازی الگوریتم ELM استفاده میکند.
رویکرد ارائهشده در این مقاله، به کارگیری روش ELM در SDN جهت تعادل بار بین کنترلکنندهها است. بار ترافیکی شامل بستههای دادهای است که به صورت گروهی در محیط تولید میشوند و راه حل ارائهشده میتواند منجر به توزیع ترافیک و افزایش کنترلپذیری گردد. به دلیل تنوع کاربران استفادهکننده از SDN، سرایندهای IP دربستههای داده در هر جریان داده بر اساس توزیعهای مختلف پروتکل TCP کار میکنند که مسئله زمانبندی و تعادل بار به این قضیه توجهی ندارند و میتوان بر اساس صفحه کنترل SDN مبتنی بر OpenFlow آنها را شناسایی نمود. قابل ذکر است که نوع صف بستهها از نوع 1M/M/ میباشد. البته میتوان نوع صف را M/M/C و یا M/M/M در نظر گرفت، اما با توجه به این که دو معیار زمانبندی به نام زمان پاسخ و زمان انتظار در سیستم مد نظر میباشد، لذا مدل صف به صورت 1MM در نظر گرفته شده است.
برای به کارگیری الگوریتم ELM، ابتدا ویژگیهای مختلف جریانهای ترافیکی شناسایی میشوند که این ویژگیها به صورت گروهی از دادهها مدلسازی میگردند. فرض میشود که سیستم تحت شرایط نرمال است. اولویت کاربران برای ارسال و دریافت دادهها، بر کارایی شبکه تأثیر میگذارد که امری عادی است، اما وجود جریانهای داده نامتعادل و ارسال آنها به صفحه کنترلی، یک مسئله دردسرساز است که علاوه بر کندکردن ارسال و دریافتها، میتواند پهنای باند شبکه را اشغال نموده و عملکرد کنترلکننده را مختل نماید. اگر مقادیر ویژگیها در مجموعه دادهها برابر با فرکانس بالای مقادیر ویژگیها (یعنی بروز دادههای نامتوازن در سطح شبکه) شود، عملکرد شبکه مختل میشود و بالعکس. سپس ترکیب ویژگیها روی جریان داده نرمال سیستم محاسبه میگردد. باید توزیع مقادیر این ویژگیها در ویژگیهای مجموعه داده دارای فرکانس بالا و کارایی کلی شبکه برای ارسال دادهها، کاهش یابد که برای این کار باید از روش آموزش محوری مانند ELM استفاده نمود تا بتوان بر اساس اولویت صف در ارسال دادهها و استفاده از آزمودن فرضیات، هر گونه داده بار نامتوازن را تشخیص داد.
مدل مسئله مهاجرت سوئیچها به منظور بهبود تعادل بار به انتخاب شش ویژگی در کل حجم داده ورودی در سطح شبکه میپردازد که شامل TTL، نوع پروتکل، آدرس IP، آدرس IP مبدأ و مقصد و همین طور سرایند پرچمگذاری در بستههای TCP است که مجموعاً دو زوج از کل 15 ویژگی زوج را در این بخش در ساختار SDN شامل میشود. منظور از مجموعه دو زوج، یعنی این که هر کدام از این ویژگیها به صورت دوبهدو با هم مد نظر قرار میگیرند. قابل ذکر است که این 15 ویژگی زوج به عنوان ساختارهای پروتکلی هستند، اما 4 ویژگی دیگر نیز وجود دارند که برای تجزیه و تحلیل آماری روش استفاده میشوند که شامل نرخ جریانهای معکوسپذیر، نرخ بستههای TCP، UDP و ICMP که در سرایند پرچمگذاری بستههای TCP نیز قرار دارد، درصد ارسال جریان دادهها در کوتاهمدت و همبستگی عناصر سرآمد بستهها است. به صورت کلی، 15 ویژگی شامل موارد زیر میباشد:
- نرخ جریانهای معکوسپذیر TCP
- نرخ جریانهای معکوسپذیر UDP
- نرخ جریانهای معکوسپذیر ICMP
- نرخ بستههای TCP
- نرخ بستههای UDP
- نرخ بستههای ICMP
- سرایند پرچمگذاری بستههای TCP
- سرایند پرچمگذاری بستههای UDP
- سرایند پرچمگذاری بستههای ICMP
- درصد ارسال جریان دادهها در مدت زمان کوتاه
- درصد ارسال جریان دادهها در مدت زمان کوتاه همراه با هر گونه همبستگی عناصر سرآمد بستهها
- همبستگی عناصر سرآمد بستههای TCP
- همبستگی عناصر سرآمد بستههای UDP
- همبستگی عناصر سرآمد بستههای ICMP
- تعیین TTL، نوع پروتکل، آدرس IP، آدرس IP مبدأ و مقصد و همین طور سرایند پرچمگذاری در بستههای TCP (فقط TCP)
در ساختار SDN بدون حالت تعادل بار و عدم مهاجرت سوئیچها، نیاز به محاسبه فرکانس وقوع مهاجرت سوئیچها بر اساس بستههای داده نرمال و دادههای جریانی و به روز رسانی جدول برای تشخیص عملیات تعادل بار میباشد. تابعی که به نمایش فرکانس وقوع مقادیر ویژگیها از مجموعه دادههای در سطح SDN میپردازد به فرم (1) محاسبه میشود
(1)
که در آن یک تابع برای نمایش فرکانس وقوع مقادیر ویژگیها از مجموعه دادهها در سطح SDN میباشد. در واقع به صورت است. طبق (1)، نشاندهنده امین ویژگی در بسته دادهها است که و تعداد ویژگیهای جدول را شامل میشود. نشاندهنده ویژگیهای از مقادیر است و به نمایش مجموع بستههای داده در دادههای جریانی و به نمایش مقادیر ویژگیهای در داده جریانی میپردازد. همین طور تعداد گروههای دادهای است. معادله ویژگیها در مقابل مقادیر به صورت (2) محاسبه میشود
(2)
طبق (2)، ، ، ، و یعنی مقادیر ویژگیها ارزش یک صفت جفت دارند. این بدان معنا است که یا که همان یا تابع اصلی هستند، دارای سرایندهای دوگانه میباشند که برای شامل اندیسهای و و همین طور و است. که جزو و مقادیر ویژگیهای است ارزش یک صفت جفت را دارد. گروهی از ویژگیها در دادههای جریانی با مقادیر و است.
جدول پروفایل در SDN، یک جدول اطلاعاتی برای جمعآوری 15 ویژگی از دادههای سیستمی و جریانی است که دارای مقادیر جفت از ویژگیها است که اشاره به مقادیر Conf دارد. دلیل استفاده از پروفایل این است که اگر ترافیک جدیدی وارد شبکه شد که باید اطلاعات بر آن اساس به روز رسانی شوند، یک پروفایل برای هر ترافیک جدید واردشده ایجاد میشود و در این جدول قرار میگیرد. آن 15 ویژگی نامبرده میتوانند در شرایط مختلف از این پروفایل نیز استفاده کنند و اطلاعات خود را بر اساس همین پروفایل به روز رسانی نمایند. جهت ذخیرهسازی مقدار حداقل که به صورت minConf است، مجموعه بر اساس توزیع مقادیر ویژگیها در جدول پروفایل SDN میباشد. بنابراین عملیات پویش در دادههای جریان در SDN برای دو مرتبه، امری ضروری است که بار اول به انتخاب مقادیر ویژگیها از مقادیر ویژگیهای منفرد بزرگتر از minConf در دادههای جریانی برای تولید مقادیر ویژگیهای کاندیدا میپردازد. برای بار دوم، به انتخاب مقادیر ویژگی کاندیدا از نرخ minConf بزرگ میپردازد و سپس به روز رسانی جدول پروفایل SDN در تعادل بار، به روز رسانی میشود. قرار است minConf یک کمینهسازی را برای تابع که در (1) ارائه شده بود انجام بدهد. این کمینهسازی میتواند ویژگیهای مستقل در را مشخص کند و آن پروفایل را بر اساس 15 ویژگی بهروزرسانی نماید. در فاز تعادل بار برای هر بسته داده عبوری از سوئیچ، ابتدا به جدول پروفایل SDN برای گرفتن Conf از مقادیر ویژگیها در گروهی از دادهها اشارهای میکند و آنها را میخواند. اگر هیچ مقدار اطلاعاتی از ویژگیها در جدول نباشد، از minConf به جای محاسبات بیشتر استفاده مینماید. در ادامه، یک تابع مبتنی بر محتوا 2(CBF) وارد کار میشود. این تابع وظیفه دارد که بستههای داده با استفاده از میانگین وزندار و آزمون فرضیه را محاسبه نماید. CBF جهت میانگین وزندار و آزمون فرضیه به صورت (3) محاسبه میگردد
(3)
که در (3)، تعداد کل ویژگیهای در نظر گرفته شده، وزن ویژگیهای ، مقدار ویژگیهای در بستههای داده و مقدار ویژگیهای و است.
در زمانی که بستههای داده موجود در شبکه SDN از رویکرد ELM استفاده میکنند که قابلیت آموزش و آزمون دادهها را دارد، میتوان برای آموزش کنترلکننده از آن و سپس آزمون این روش جهت اجرای شبکه به صورت کامل استفاده نمود. اما از آنجا که تفاوت بزرگی بین مقادیر آدرس IP منبع و شماره درگاه مقصد و همین طور TTL بین بستههای داده دارد، یک امر سخت برای مهاجرت سوئیچها برای شبیهسازی این مقادیر ویژگیها در دادههای بسته نرمال در بستههای تعادل بار نشده، ایجاد میشود. ویژگیهای پرچمگذاری در دادهها در TCP، نوع پروتکل و اندازه کل بسته داده، اندازهای کوچکتر از بسته داده ارسالی در سطح شبکه است. با این رویکرد میتوان نرخ بستههای TCP، UDP و ICMP را به دست آورد. بنابراین اگر زوج ویژگیها به دو مورد از سه ویژگی اول، ارسال داده نماید، وزن به صورت بزرگترین حالت ممکن پیش میآید و زوج ویژگیها شامل فقط یکی از سه ویژگی خواهد بود. منظور از این بخش این است که نرخ جریانهای معکوسپذیر، نرخ بستههای TCP، UDP و ICMP که در سرایند پرچمگذاری بستههای TCP نیز قرار دارد، درصد ارسال جریان دادهها در مدت زمان کوتاه و همبستگی عناصر سرآمد بستهها ترکیب میشوند تا بتوان کارایی را به دست آورد. ویژگی نرخ بستههای TCP، UDP و ICMP را نمیتوان به صورت منفرد یک نمودار کارایی نشان داد، اما سه مورد دیگر را میتوان به صورت تکبهتک در نمودار کارایی نشان داد و یک حالت ترکیبی نیز از آنها انجام خواهد شد. اگر زوج ویژگیها به دو مورد از آخرین سه ویژگی، ارسال داده را انجام بدهد، وزن به صورت کمترین حالت خواهد بود. این مورد، اصل قضیه آزمون فرضیه را اثبات مینماید. مبتنی بر این کار، وزنهای ویژگیهای خاص میتوانند به عنوان مجموعهای مبنی بر شرایط عادی شبکه، تلقی شوند و نهایتاً بسته دادههای جمعآوری شده با رویکرد ELM با یک آستانه مقایسه میگردد. اگر این مورد کوچکتر از آستانه باشد، تعیین تعادل بار و مهاجرت سوئیچها در سطح شبکه انجام میشود. اگر بزرگتر از سطح آستانه باشد، به عنوان یک مسئله زمانبندی در سطح شبکه شناخته میشود. در روش ELM که دارای آزمون فرضیه است، جهت ذخیرهسازی اطلاعات پروفایل جدول SDN، دادههای جریانی نیاز
شکل 4: مدل سیستم مبتنی بر SDN.
شکل 5: ساختار کنترلر و سوئیچ.
به پویش در دو مرحله خواهند داشت که یک بار برای تعیین حالت تعادل بار و مهاجرت سوئیچها و یک بار بدون این دو است که بر اساس صفحه کنترل SDN این کار انجام میشود. نیاز است تا نرخ ورود بستهها با ترافیک نرمال نیز محاسبه شود که به صورت (4) خواهد بود
(4)
بر اساس (4)، نرخ ورود بستهها با ترافیک نرمال در شبکه SDN، تعداد بستههای تعادل بار نشده و ترافیک بستههای نرمال است. این رابطه جهت شناسایی پایگاه داده کل بارها از ترافیک نرمال مورد استفاده واقع میگردد. در تنظیمات ELM، واریانس مشاهدهشده از یک متغیر خاص به اجزای قابل انتساب به منابع مختلف تغییر، تقسیم میگردد. این تحقیق با استفاده از یک روش تحلیل واریانس برای تعیین این که آیا میانگین چندین مجموعه داده با تجزیه و تحلیل آماری دادهها برابر است یا خیر، کار اصلی در تعادل بار در SDN را بررسی میکند. برای تجزیه و تحلیل ویژگیهای آماری پورت، این تحقیق روش آزمایش را برای تشخیص این که آیا اختلاف قابل توجهی بین پورتها وجود دارد، تعیین میکند تا مشخص شود آیا این عمل برای وضعیت فعلی معتبر است یا خیر. علاوه بر این، از آنجا که جریان داده در شبکه به طور تصادفی انتخاب میشود، میتوان ترافیک از هر پورت را با توزیع نرمال به صورت مستقل مشاهده کرد. اختلافات کلی به 2 کلاس اساسی تغییر درونگروهی
شکل 6: روندنمای رویکرد پیشنهادی.
و تنوع بین گروهی تقسیم میشود. تفاوت در کلاس بین گروه برای محاسبه پراکندگی معنیدار بین مقادیر متوسط ترافیک درونگروهی و میانگین جمعیت محاسبه میشود. تفاوت در کلاس درونگروهی برای ارزیابی پراکندگی بین یک نمونه بیطرف در همان گروه و میانگین جمعیت محاسبه میشود. تجزیه و تحلیل آزمون، یک روش آماری است که برای شناسایی مجموعهای از گروهها بر اساس تفاوتها استفاده میشود. میانگین مربع از طریق محاسبه اختلافات بین دو قسمت تقسیم بر درجه آزادی آنها به دست میآید. با توجه به تجزیه و تحلیل مقایسهای آستانه سطح بازرسی و سطح معناداری، مقدار بازرسی به عنوان نسبت تفاوتهای "درون" و "بین" تعریف میشود. این مشخص خواهد کرد که آیا تفاوت قابل توجهی بین پورتها وجود دارد یا خیر. بر اساس نتایج بالا، فرمول آزمون در ELM در تعادل بار در SDN به شرح (5) است
(5)
در این رابطه، تفاوت بین گروه و تفاوت درونگروهی است. مقدار باری است که باید در زمان آموزش و آزمون با ELM تعادل یابد و و نسبت تفاوتهای "درون" و "بین" در عملیات ارسال و دریافت داده در سطح کنترلکننده SDN میباشند.
3-1 مدل سیستم
شکل 4 نمودار مدل سیستم مبتنی بر SDN، شکل 5 ساختار کنترلر
و سوئیچ و شکل 6، روندنمای رویکرد پیشنهادی را نشان میدهد.
همان گونه که در شکل 4 دیده میشود، دستگاههای مختلف بیسیم از طریق سوئیچهای OpenFlow به سرورها متصل میشوند. کنترلکننده OpenFlow روی یک سرور مجزا وظیفه مدیریت شبکه و ایجاد قواعد در سوئیچها را بر عهده دارد.
بر اساس شکل 5 قرار است رویکرد پیشنهادی، یک معماری با مسیرهای مختلف بسازد. هر سرور یک ماشین فیزیکی را نشان میداد و آدرس IP واقعی خود را دارد. در ادامه یک آدرس IP مجازی ایجاد میگردد که از طریق NAT انتشار داده میشود و ترافیک ورودی به این آدرس IP مجازی توسط کنترلکننده به آدرسهای IP واقعی مختلف هدایت میشود. در مرحله بعد، تجزیه و تحلیل آماری جریان ترافیک به صورت لحظهای از طریق تحلیل واریانس و ماژولهای الگوریتم زمانبندی ترافیک که در کنترلکننده ادغام شدهاند، انجام میشود و بر اساس نتیجه تجزیه و تحلیل، مسیر مناسب انتخاب میگردد.
به منظور اندازهگیری رویکرد پیشنهادی، یک پلتفرم آزمایشی OpenFlow ساخته میشود که در بخش بالایی شکل 4 نشان داده شده است. مدل شبکه SDN شامل چهار گره سرور مستقل، سه سوئیچ OpenFlow و یک کنترلکننده است. این سوئیچها سرعت انتقال را محدود نمیکنند و با حداکثر سرعت لینک کار مینمایند. برای اجرای تحلیل واریانس و الگوریتم زمانبندی الگوریتم ترافیک که در کنترلکننده یکپارچهشده است، کد نوشته شده و استفاده میگردد. کنترلکننده میتواند اطلاعات صفحه داده و ارتباط متقابل بین کنترلکننده و سوئیچ OpenFlow را در یک فایل لاگ محلی ذخیره کند. سرور اندازهگیری (آزمون سرور) عملیات همگامسازی را در کنترلکننده و سرورها انجام میدهد و دادههای ترافیک را به دست میآورد.
3-2 معیارهای ارزیابی
در این مقاله از چند معیار ارزیابی استفاده شده که شامل میانگین مربعات خطا 3(MSE) و معیارهای دقت است. در ابتدا هر یک از این معیارها بررسی گردیده و نهایتاً نتایج به دست آمده از پژوهش انجامشده با هر معیار ارزیابی ارائه میشود.
3-2-1 میانگین مربعات خطا
در این پروژه از میانگین مربعات خطا برای ارزیابی سیستم استفاده شده است. قابل ذکر است که میانگین مربعات خطا، دارای یک مرحله آموزشی هم میباشد که در این تحقیق، مد نظر نیست و زمانی از بخش آموزشی آن استفاده میشود که از ساختارهای شبکههای عصبی استفاده گردد و بعد از آن میانگین مربعات خطا به عنوان یک روش ارزیابی، مورد استفاده واقع گردد. در هر تکرار با روش بازخورد به جلو عمل میشود تا وقتی که ماتريس و خروجیها به روش حداقل مربعات خطا به دست آيند. لازم به ذکر است که همه دادههای آموزشی بايد اعمال گردند و همچنين پارامترهای اوليه ثابت نگه داشته میشوند. سپس پارامترهای خالی، ثابت نگه داشته میشوند و پارامترهای اوليه توسط گراديان نزولی تنظيم میگردند. زمانی که مقدار کمینه، نشاندهنده واریانس فرسایشی کمتری باشد، معمولاً مقدار به صورت درصدی بیان میشود. منظور از مقدار به صورت درصد، برای بخشی است که میخواهیم دقت، حساسیت و نرخ ویژگیها را برای دادهها مورد سنجش قرار بدهیم. زیرا مقدار میانگین مربعات خطا ممکن است به صورت یک عدد واریانسی و یا یک عدد صحیح زیر عدد 5 باشد که بهترین نرخ آن بین بازه 1/0 الی 9/0 میباشد. بر اساس تغییری که در میانگین مربعات خطا به عنوان ارزیابی انجام میشود، ممکن است نتایج روشهای دیگر ارزیابی، تغییر کند و بر روی آنها تأثیر بالایی بگذارد. در واقع همین میانگین مربعات خطا، بر روی سایر روشهای ارزیابی، تأثیر میگذارد که بر اساس این نرخ حاصل، درصدی برای روشهای ارزیابی دقت، حساسیت و نرخ ویژگی و یک عدد بر حسب واحد دسیبل (dB) برای اوج نسبت سیگنال به نویز و نسبت سیگنال به نویز حاصل میشود.
3-2-2 معیارهای دقت
نرخ دقت، معیاری است که بر حسب درصد بیان میشود که مهمترین نتیجه کلی از بخش معیارهای ارزیابی، همین دقت است و رابطه آن به صورت (6) است
(6)
که در (6)، مثبت صحیح4، منفی کاذب5، مثبت کاذب6 و منفی کاذب7 است. رابطه (7) حساسیت8 را نشان میدهد که بر حسب درصد بیان میشود
(7)
رابطه (8) ویژگیهای داده9 را نشان میدهد که بر حسب درصد بیان میشود. ویژگیهای داده همان 15 ویژگی مورد نظر در این تحقیق است که با این معیار میتوان عملکرد کلی آنها را مورد سنجش قرار داد
(8)
4- ارزیابی روش پیشنهادی
برای ارزیابی و شبیهسازی روش پیشنهادی از پلتفرم شبیهسازی OMNET++، سختافزار سیستم پردازنده 7Core i با حافظه اصلی 16 گیگابایت در محیط سیستم عامل ویندوز 10 استفاده شده است.
برای ارزیابی، یک دیتاست شامل 10،000 جریان ترافیکی HTTP، ایمیل و ویدئوی جریانی از شبکه طبق توپولوژی ارائهشده با استفاده از Wireshark (کتابخانه pcap) جمعآوری گردیده است.
4-1 بخشها و اجرای شبیهسازی
فرایند شبیهسازی به بخشهای اصلی زیر تقسیم میشود:
- طراحی معماری و توپولوژی شبکه
- طراحی سناریوهای روش پیشنهادی جهت محاسبه نتایج
4-1-1 طراحی توپولوژی شبکه
توپولوژی شبکه از سه بخش زیر تشکیل میشود:
1) ساختار گره موبایل
2) ساختار گره سرویسدهنده
3) ساختار نهایی شبکه
در جدول 2 فیلدهای گره موبایل و همچنین در جدول 3 فیلدهای گره کنترلر نمایش داده شده است.
شکل 7: بار بیش از حد در شبکه با اتصال تک ماشین شبکه تحت عنوان 1RUN.
شکل 8: اجرای بار بهینه با اتصال تک ماشین شبکه تحت عنوان 2RUN.
[1] . Service Abstraction Layer
[2] . Content Based Function
[3] . Mean Square Error
[4] . True Positive
[5] . True Negative
[6] . False Positive
[7] . False Negative
[8] . Sensitivity
[9] . Specificity
جدول 2: فیلدهای گره سوئیچ.
نام فیلد | توضیحات |
txRate | نرخ انتقال سوئیچ |
pkLenBits | طول بسته به بیت گره سوئیچ |
iaTime | زمان تعامل بسته گره سوئیچ |
slotTime | زمان اسلات گره سوئیچ |
x,y | طول و عرض جغرافیایی گره سوئیچ |
idleAnimationSpeed | هنگامی که هیچ بستهای ارسال نمیشود، استفاده میشود. |
transmissionEdgeAnimationSpeed | هنگامی که انتشار اولین بیت یا آخرین بیت قابل مشاهده است، استفاده میشود. |
midTransmissionAnimationSpeed | هنگام انتقال استفاده میشود. |
جدول 3: فیلدهای گره کنترلر.
نام فیلد | توضیحات |
signal [receiveBegin] | سیگنال شروع دریافت: با ورود هر فریم جدید به سرور افزایش مییابد و اگر کانال در نهایت بیکار شود به 0 میرسد. |
signal [receive] | پذیرشهای موفق (عدم برخورد): 1 در ابتدای پذیرش و 0 در پایان پذیرش |
@signal [collision] | تعداد فریمهای برخوردشده در ابتدای دوره برخورد |
@signal [collisionLength] | طول آخرین دوره برخورد در پایان دوره برخورد |
@signal [channelState] | وضعیت کانال |
x,y | طول و عرض گره کنترلر |
animationHoldTimeOnCollision | زمان شبیهسازی |
4-1-2 طراحی سناریوهای روش پیشنهادی
همچنین در زمان اجرا 5 توپولوژی با عناوین 1RUN تا 5RUN به شرح زیر طراحی شده است:
- بار بیش از حد در شبکه با اتصال تک ماشین شبکه تحت عنوان 1RUN
- بار بهینه با اتصال تک ماشین شبکه تحت عنوان 2RUN
- ترافیک سبک با اتصال تک ماشین شبکه تحت عنوان 3RUN
- بار بیش از حد در شبکه با اتصال چند ماشین تحت عنوان 4RUN
- بار بهینه با اتصال چند ماشین تحت عنوان 5RUN
این توپولوژیها با این هدف طراحی شدهاند که نحوه عملکرد الگوریتم توزیع بار کنترلر در شرایط مختلف بار کاری (بهینه، کمباری و بار بیش از حد) و تعداد اتصالات متغیر شبکه ارزیابی شود.
شکل 7 بار بیش از حد در شبکه با اتصال تک ماشین شبکه تحت عنوان 1RUN را نمایش میدهد. همان گونه که مشخص است در هر مرحله تنها یک ماشین میتواند با گره کنترلر ارتباط برقرار نماید. شکل 8 نیز بار بهینه با اتصال تک ماشین شبکه تحت عنوان 2RUN را نمایش میدهد. شکل 9 نیز ترافیک سبک با اتصال تک ماشین شبکه تحت عنوان 3RUN را نمایش میدهد. شکل 10 بار بیش از حد در شبکه با اتصال چند ماشین تحت عنوان 4RUN را نمایش میدهد. شکل 11 اجرای توپولوژی بار بهینه در شبکه با اتصال چند ماشین تحت عنوان 5RUN را نمایش میدهد.
شکل 9: اجرای ترافیک سبک با اتصال تک ماشین شبکه تحت عنوان 3RUN.
شکل 10: اجرای توپولوژی بار بیش از حد در شبکه با اتصال چند ماشین تحت عنوان 4RUN.
در ترافیک سبک، اتصال چند ماشین به شکل همزمان رخ نمیدهد و تنها در هر مرحله یک ماشین اجرا میشود. به همین دلیل انتخاب توپولوژی ترافیک سبک با اتصال چندین ماشین پیادهسازی نشده است.
4-2 الگوریتمها و پارامترهای مورد سنجش
در این تحقیق الگوریتم پیشنهادی با الگوریتمهای زیر مقایسه میشود:
- ژنتیک
- انتشار وابسته
- ترکیب انتشار وابسته و PSO
- الگوریتم تنظیم دامنه کنترل
همچنین روش پیشنهادی از نظر پارامترهای زیر با [1] مقایسه میشود:
- تأخیر پردازش کنترلکننده
- ترافیک کنترلر
شکل 11: اجرای توپولوژی بار بهینه در شبکه با اتصال چند ماشین تحت عنوان 5RUN.
شکل 12: تأخیر پردازش کنترلکننده.
- میزان تعادل بار
- زمان پاسخگویی
برای مقایسه عادلانه، الگوریتمهای فوق با پارامترهایی مشابه الگوریتم پیشنهادی و در محیط شبیهسازی OMNET++ پیادهسازی شدهاند.
4-3 نتایج شبیهسازی
در این بخش نتایج شبیهسازی محاسبه و با [1] مقایسه میشود.
4-3-1 تأخیر پردازش کنترلکننده
شکل 12 تأخیر پردازش کنترلکننده را در روش پیشنهادی و [1] مقایسه میکند. در 2RUN و 5RUN به علت تعادل، بار بهینه نسبت به روش PSOAP و سایر روشهای [1] شرایط بهینهتری دارد. در واقع 2RUN نسبت به روش PSOAP 33 درصد و روش 5RUN نیز نسبت به روش PSOAP 40 درصد تأخیر پردازش کنترلکننده را به علت تعادل بار بهینه بهبود بخشیده است.
4-3-2 ترافیک کنترلر
شکل 13 ترافیک کنترلر روش پیشنهادی را با سایر روشهای [1] مقایسه میکند. در 2RUN و 5RUN به علت تعادل، بار بهینه نسبت به روش PSOAP و سایر روشهای [1] شرایط بهینهتری دارد. در واقع 2RUN نسبت به روش PSOAP 33 درصد و روش 5RUN نیز نسبت به روش PSOAP 15 درصد تأخیر پردازش کنترلکننده را به علت تعادل بار بهینه بهبود بخشیده است (واحد ترافیک kb بر ثانیه میباشد).
شکل 13: ترافیک کنترلکننده.
شکل 14: میزان تعادل بار.
4-3-3 میزان تعادل بار
شکل 14 میزان تعادل بار روش پیشنهادی را با سایر روشهای [1] مقایسه میکند. در 2RUN و 5RUN به علت تعادل، بار بهینه نسبت به روش CDAA و سایر روشهای [1] شرایط بهینهتری دارد. در واقع 2RUN نسبت به روش CDAA 5 درصد و روش 5RUN نیز نسبت به روش CDAA میزان تعادل بار بهتری را دارا میباشد.
4-3-4 زمان پاسخگویی
شکل 15 زمان پاسخگویی روش پیشنهادی را با سایر روشهای [1] مقایسه میکند. در روش 2RUN نسبت به CDAA 21 درصد بهبود و در روش 5RUN نیز 27 درصد بهبود حاصل شده که دلیل آن طراحی الگوریتم تعادل بار بهینه میباشد.
5- نتیجهگیری
در این تحقیق، در راستای بهبود چالشهای پیشین در تعادل بار، رویکرد تعادل بار مبتنی بر پیشبینی با استفاده از الگوریتم یادگیری ماشین افراطی پیشنهاد شد. ارزیابی روش پیشنهادی در شبیهساز OMNET++ انجام گردید و نیز به شکل مفصلی به بیان جزئیات روش پیشنهادی، توپولوژی شبکه و شبیهسازی پرداخته شد. نتایج حاصل نشان میدهد که عملکرد الگوریتم و راه حل ارائهشده در تعادل بار نسبت به الگوریتمهای PSOAP، CDAA و سایر الگوریتمهای مورد بحث در مقاله پایه برای کاهش ازدحام و جلوگیری از سربار اطلاعاتی، عملکرد بهتری داشته و ضمن بهبود بهرهوری منابع، توانسته توان عملیاتی سیستم
شکل 15: زمان پاسخگویي.
را بهبود دهد. همچنین این رویکرد تعادل بار توانسته که یک ساختار زمانبندی دقیق را برای تعادل بار در SDN ایجاد نماید. برای ادامه روش کار در آینده میتوان از الگوریتمهای ترکیبی مثل الگوریتم مارگارتر با رویکرد چندهدفه مبتنی بر منطق فازی، الگوریتم کلونی مورچگان با رویکرد چندهدفه مبتنی بر چند کانال و الگوریتم کرم شبتاب چندهدفه فازی استفاده نمود.
مراجع
[1] G. Li, X. Wang, and Z. Zhang, "SDN-based load balancing scheme for multi-controller deployment," IEEE Access, vol. 7, pp. 39612-39622, Mar. 2019.
[2] Y. Wu, G. Min, and L. T. Yang, "Performance analysis of hybrid wireless networks under bursty and correlated traffic," IEEE Trans. Veh. Technol., vol. 62, no. 1, pp. 449-454, Jan. 2013.
[3] D. Zhang, H. Huang, J. Zhou, F. Xia, and Z. Chen, "Detecting hot road mobility of vehicular Ad Hoc networks," Mob. Networks Appl., vol. 18, no. 6, pp. 803-813, Dec. 2013.
[4] M. Dong, T. Kimata, K. Sugiura, and K. Zettsu, "Quality-of-Experience (QoE) in emerging mobile social networks," IEICE Trans. Inf. Syst., vol. E97D, no. 10, pp. 2606-2612, Oct. 2014.
[5] H. Kim and N. Feamster, "Improving network management with software defined networking," IEEE Commun. Mag., vol. 51, no. 2, pp. 114-119, Feb. 2013.
[6] S. Sezer, S. Scott-Hayward, P. Kaur, B. Fraser, D. Lake, J. Finnegan, and N. Viljoen, "Are we ready for SDN? implementation challenges for software-defined networks," IEEE Commun. Mag., vol. 51, no. 7, pp. 36-43, Jul. 2013.
[7] H. Zhong, Q. Lin, J. Cui, R. Shi, and L. Liu, "An efficient SDN load balancing scheme based on variance analysis for massive mobile users," Mob. Inf. Syst., vol. 2015, Article ID: 241732, 2015.
[8] D. Wetherall and D. Tennenhouse, "Retrospective on 'towards an active network architecture'," Comput. Commun. Rev., vol. 49, no. 5, pp. 86-89, Nov. 2019.
[9] H. Xu, H. Huang, S. Chen, G. Zhao, and L. Huang, "Achieving
high scalability through hybrid switching in software-defined networking," IEEE/ACM Trans. Netw., vol. 26, no. 1, pp. 618-632, Jan. 2018.
[10] C. Decusatis, M. Haley, T. Bundy, and R. Cunnistra, "Dynamic, software-defined service provider network infrastructure and cloud drivers for SDN adoption," in Proc. IEEE Int. Conf. Commun. Work, pp. 235-239, Budapest, Hungary, 9-13 Jun. 2013.
[11] Sandhya, Y. Sinha, and K. Haribabu, "A survey: hybrid SDN," J. Netw. Comput. Appl., vol. 100, pp. 35-55, 15 Dec. 2017.
[12] D. Namiot and M. Sneps-sneppe, Metadata in SDN API, arXive, abs/1503.06630, 2015.
[13] A. Shalimov, D. Zimarina, and V. Pashkov, "Advanced study of SDN/OpenFlow controllers," in Proc. of the 9th Central & Eastern European Software Engineering Conf. in Russia, 6 pp., Moscow, Russia, 24-25 Oct. 2013.
[14] G. Bin Huang, Q. Y. Zhu, and C. K. Siew, "Extreme learning machine: theory and applications," Neurocomputing, vol. 70, no. 1-3, pp. 489-501, May 2006.
[15] G. Huang, G. Bin Huang, S. Song, and K. You, "Trends in extreme learning machines: a review," Neural Networks, vol. 61, , pp. 32-48, Oct. 2015.
[16] F. K. Inaba, E. O. Teatini Salles, S. Perron, and G. Caporossi, "DGR-ELM-distributed generalized regularized ELM for classification," Neurocomputing, vol. 275, pp. 1522-1530, Dec. 2018.
[17] S. Liao and C. Feng, "Meta-ELM: ELM with ELM hidden nodes," Neurocomputing, vol. 128, pp. 81-87, Oct. 2014.
[18] H. Zhong, Y. Fang, and J. Cui, "LBBSRT: an efficient SDN load balancing scheme based on server response time," Futur. Gener. Comput. Syst., vol. 68, pp. 183-190, Oct. 2017.
[19] W. C. Chien, C. F. Lai, H. H. Cho, and H. C. Chao, "A SDN-SFC-based service-oriented load balancing for the IoT applications," J. Netw. Comput. Appl., vol. 114, pp. 88-97, Jul. 2018.
[20] L. Boero, M. Cello, C. Garibotto, M. Marchese, and M. Mongelli, "BeaQoS: load balancing and deadline management of queues in an OpenFlow SDN switch," Comput. Networks, vol. 106, pp. 161-170, Sept. 2016.
[21] S. Shahryari, S. A. Hosseini-Seno, and F. Tashtarian, "An SDN based framework for maximizing throughput and balanced load distribution in a cloudlet network," Futur. Gener. Comput. Syst., vol. 110, pp. 18-32, Sept. 2020.
[22] A. A. Ateya, A. Muthanna, A. Vybornova, and A. D. Algarni, "Chaotic salp swarm algorithm for SDN multi-controller networks," Eng. Sci. Technol. an Int. J., vol. 22, no. 4, pp. 1001-1012, Aug. 2019.
[23] M. Chen, K. Ding, J. Hao, C. Hu, G. Xie, C. Xing, and B. Chen, "LCMSC: a lightweight collaborative mechanism for SDN controllers," Comput. Networks, vol. 121, pp. 65-75, Jul. 2017.
[24] T. Zhang, P. Giaccone, A. Bianco, and S. De Domenico, "The role of the inter-controller consensus in the placement of distributed SDN controllers," Comput. Commun., vol. 113, no. C, pp. 1-13, Nov. 2017.
[25] P. Song, Y. Liu, C. Liu, and D. Qian, "ParaFlow: fine-grained parallel SDN controller for large-scale networks," J. Netw. Comput. Appl., vol. 87, pp. 46-59, Jun. 2017.
[26] J. Cui, Q. Lu, H. Zhong, M. Tian, and L. Liu, "A load-balancing mechanism for distributed SDN control plane using response time," IEEE Trans. Netw. Serv. Manag., vol. 15, no. 4, pp. 1197-1206, Oct. 2018.
[27] V. R. Dasari and T. S. Humble, "OpenFlow arbitrated programmable network channels for managing quantum metadata," J. Def. Model. Simul., vol. 16, no. 1, pp. 67-77, Jan. 2019.
[28] Y. Wu, S. Zhou, Y. Wei, and S. Leng, "Deep reinforcement learning for controller placement in software defined network," in Proc. IEEE Conf. on Computer Communications Workshops pp. 1254-1259, Toronto, Canada, 6-9 Jul. 2020.
[29] X. Tian, H. Shen, X. Chen, and C. Li, "Analysis of SDN multi-controller placement," in Proc. Int. Conf. on Data Processing Techniques and Applications for Cyber-Physical Systems, Advances in Intelligent Systems and Computing, vol. 1379, pp. 677-683, Jun. 2021.
[30] S. Yeo, Y. Naing, T. Kim, and S. Oh, "Achieving balanced load distribution with reinforcement learning-based switch migration in distributed SDN controllers," Electronics, vol. 10, no. 2, pp. 1-16, Jan. 2021.
[31] H. Mostafaei, M. Menth, and M. S. Obaidat, "A learning automaton-based controller placement algorithm for software-defined networks," in Proc. IEEE Global Communications Conf., 6 pp., Abu Dhabi, United Arab Emirates, 9-13 Dec. 2018.
حسین محمدی مدرک کارشناسی خود را در رشته مهندسی تکنولوژی اطلاعات و ارتباطات را در سال 1394 از دانشگاه کابل و مدرک کارشناسی ارشد خود را در رشته مهندسی کامپیوتر شبکه های کامپیوتری و ارتباطی در سال 1400 از دانشگاه یزد دریافت کرد. زمینههای تحقیقاتی مورد علاقه وی شامل اینترنت اشیا و شبکههای
نرمافزارمحور است..
سید اکبر مصطفوی مدرک کارشناسی مهندسی فناوری اطلاعات را در سال 1386 از دانشگاه صنعتی شریف و کارشناسی ارشد و دکتری مهندسی کامپیوتر شبکههای کامپیوتری را بهترتیب در سالهای 1389 و 1394 از دانشگاه صنعتی امیرکبیر دریافت نمود. دکتر مصطفوی از سال 1394 در دانشکده مهندسی کامپیوتر دانشگاه یزد مشغول به فعالیت گردید و اینک نیز عضو هیآت علمی این دانشکده می_باشد. زمینه_های تحقیقاتی مورد علاقه نامبرده شامل مباحث نوین در شبکههای کامپیوتری و سیستمهای توزیع شده شامل رایانش ابری و مه، شبکههای نرم افزارمحور، اینترنت اشیا، زنجیره بلوکی و شبکههای بیسیم و سیار است.