МЕТОДИ БАЛАНСУВАННЯ МЕРЕЖЕВОГО ТРАФІКУ
06.11.2021 10:29
[1. Інформаційні системи і технології]
Автор: Лаба А.Б., магістрант, кафедра програмного забезпечення, Національний університет «Львівська політехніка»
За останню декаду суттєво зросли потреби та вимоги користувачів мережі Інтернет у надійному каналі з’єднання, що дозволило б балансувати мережевий трафік між декількома каналами та підтримувати Інтернет з’єднання у випадку відмови одного чи декількох каналів. Такі вимоги пояснюються потребою розгортання різноманітних сервісів чи віддаленої роботи у місцях, де немає професійної інфраструктури.
Оптимальним способом задоволення потреб користувачів є розробка пакету для балансування мережевого трафіку для операційної системи OpenWrt, що підтримується багатьма сучасними мережевими маршрутизаторами.
Для оцінювання поточної якості каналу зв’язку пропонуються наступні метрики: пропускна здатність, час відгуку, час виконання, час прийому-передачі, статистика отриманих пакетів, втрати, швидкість завантаження, швидкість відвантаження, доступність та паралелізм.
Аварійне перемикання – це механізм, який забезпечує автоматичний перехід на одне із резервних з’єднань у випадку, якщо виявлено відсутність з’єднання на основному каналі зв’язку.
Зазвичай, у комп’ютерних мережах є чотири завдання, пов’язані із механізмом аварійного перемикання: моніторинг системи, діагностика відмови, відновлення після аварійної ситуації та відмовостійкість.
Цілями балансування трафіку є: покращення QoS сервісу в мережі, оптимізація використання ресурсів, зменшення затримок передачі даних, зменшення часу відгуку, уникнення вузьких ділянок та збільшення пропускної здатності.
У традиційних мережах типові методи балансування характеризуються статичністю [1]: вони розроблені завчасно та не мають достатньої гнучкості, що призводить до низької продуктивності у критичних ситуаціях. Прикладами таких методів є:
• MPLS та ECMP – механізми, що розповсюджують трафік по шляхах із однаковими мінімальними затратами;
• Балансування на основі циклічного планування (Round Robin);
• Методи, що базуються на хешуванні.
За балансування трафіку у програмно конфігурованих мережах (SDN) мережі відповідає виділений програмний або апаратний модуль, що статично або динамічно приймає рішення про маршрутизацію трафіку у розподіленій мережі.
У SDN застосовується велика кількість різноманітних алгоритмів балансування, кожен із яких призначений для вирішування певних проблем і має свої переваги та недоліки [2]:
• У мережах із інтенсивним трафіком застосовують алгоритм «Middlebox», що допомагає зменшувати затримки передачі даних та оптимізує використання смуги пропускання;
• Алгоритм розгортання мультиконтролерів балансує навантаження між декількома розподіленими контролерами;
• Алгоритм «Flow Stealer» - простий алгоритм балансування, що прослуховує події, що передаються між різними контролерами, і дозволяє тимчасово забирати частини потоків даних від більш завантажених контролерів до менш завантажених;
• Алгоритм «Novel load balancing algorithm» застосовує ідею активної зміни маршрутів трафіку при зміні у мережі, збільшуючи при цьому смугу пропускання та зменшуючи кількість втрачених пакетів;
• Алгоритм динамічного балансування використовує QoS метрики, що дозволяє здійснювати динамічне балансування, оптимізувати ресурси та шукати найкоротші маршрути.
Техніки на основі штучного інтелекту використовують метаевристичний підхід до вирішення проблем із реального світу.
Прикладами методів штучного інтелекту, що застосовуються при балансуванні трафіку є [3]:
• Метод на основі генетичного алгоритму використовується для мінімізації дизбалансу трафіку в еластичних оптичних мережах та зменшення вартості затримок;
• Алгоритм евристичного підходу обирає мережеве обладнання для міграції та контролери, які можуть прийняти чи віддати обладнання;
• Генетичний алгоритм та алгоритм колонії мурах використовуються для генерації найкращих рішень при вирішенні дизбалансу та затримок;
• Теорія ігор була застосована для балансування трафіку в межах кластеру SDN контролерів, в результаті чого вдалось знизити затримки та покращити пропускну здатність.
Огляд сучасних наукових джерел демонструє, що тема балансування Інтернет-трафіку є достатньо актуальною в сучасних комп’ютерних мережах, а особливо у програмно-конфігурованій парадигмі мереж, а відмовостійкість є вимогою багатьох користувачів.
Література:
1. Chahlaoui F. A Taxonomy of Load Balancing Mechanisms in Centralized and Distributed SDN Architectures / Farah Chahlaoui, Hamza Dahmouni // SN Computer Science. – 2020. – Vol. 5.
2. Belgaum M. R. A Systematic Review of Load Balancing Techniques in Software-Defined Networking / Mohammad Riyaz Belgaum, Shahrulniza Musa // IEEE Access. – 2020. – Vol. 8.
3. Jamali S. On the use of the genetic programming for balanced load distribution in software-defined networks / Shahram Jamali, Amin Badirzadeh, Mina Soltani Siapoush // Digital Communications and Networks. – 2019. – Vol. 5.
________________
Науковий керівник: Марусенкова Т.А., к.т.н., доцент, Національний університет «Львівська політехніка»