Русский   English
ДонНТУ   Портал магістрів

Реферат за темою випускної роботи

Зміст

Вступ

Постійне збільшення обсягу переданого трафіку при обмежених ресурсах існуючої інфокомунікаційної мережі стало передумовою появи ряду науково-дослідницьких завдань щодо ефективного використання останніх [1].

Ефективність використання ресурсів є одним із критеріїв прийняття рішення в процесі управління мережею. Цей критерій є основним для оператора зв'язку. Для кінцевого користувача основний критерій використання того чи іншого виду додатків - виконання параметрів якості обслуговування (QoS, quality of Service). У загальному випадку, можливість управління мережею, на основі перерахованих вище критеріїв можливо в мережах MPLS (Multiprotocol Label Switching) або в IP-мережах, але з можливістю організації схем DiffSerf (Differentiated Service).

1. Актуальність теми

Незважаючи на те, що існує велика кількість алгоритмів перерозподілу, однак, вони мають ряд недоліків, серед яких нерівномірність розподілу трафіку між серверами, відсутність обліку динамічного характеру трафіку, неефективне використання ресурсів, значний час відгуку. Так як прикордонне мережевий пристрій IP / MPLS-мережі є «вузьким» місцем, то завдання дослідження методів балансування навантаження і розробки методу, що враховує параметри якості обслуговування і дозволяє підвищити ефективність використання мережевих ресурсів є актуальною.

2. Мета і задачі дослідження та заплановані результати

Метою науково-дослідної роботи є підвищення ефективності використання ресурсів IP / MPLS-мережі із забезпеченням заданого рівня якості обслуговування за рахунок розробки методу балансування навантаження.

Для досягнення поставленої мети необхідно вирішити такі завдання:



Об'єкт дослідження: процес управління трафіком в IP / MPLS-мережах.

Предмет дослідження: моделі і алгоритми перерозподілу навантаження в IP / MPLS-мережах.

3. Загальний опис механізмів балансування навантаження із забезпеченням якості обслуговування

При дослідженні алгоритмів і методів балансування навантаження в телекомунікаційних системах та комп'ютерних мережах слід зазначити наступні параметри якості обслуговування [2]:



Вибір методу балансування залежить від конкретних умов, в яких дана балансування повинна здійснюватися. Наприклад, для досягнення таких цілей:



Для реалізації ефективного розподілу навантаження між вузлами в мережі з високою пропускною здатністю алгоритм повинен мати такими показниками:



Останнім часом для вирішення завдання балансування навантаження все частіше використовується прикладний рівень [6]. При цьому в процесі прийняття рішення враховується тип клієнта, запитуваний URL, інформація з cookie, можливості конкретного сервера і тип прикладної програми, що дозволяє оптимізувати використання ресурсів системи.

Досить істотні переваги може надати система GSLB, яка здатна вирішувати завдання балансування для довільно розташованих ферм серверів з урахуванням їх віддаленості від клієнта. Ця система може підтримувати кілька різних алгоритмів розподілу навантаження і забезпечувати оптимальне обслуговування клієнтів, розкиданих по всьому світу. Для адміністраторів система дає можливість формування гнучкої політики управління ресурсами.

Одним із способів прискорення обслуговування є кешування. У разі добре сконфигурированного кеша частка запитів, що задовольняються кешем, може досягати 40%. При цьому прискорення обслуговування може бути покращено в 30 разів.

Ще одним методом прискорення обслуговування може служити архівація даних, так як в цьому варіанті знижується рівень перевантаження каналів мережі.

Управління балансуванням навантаження можна поєднати з функцією прикладного мережевого доступу (70% успішних вторгнень використовує уразливості додатків) і з використанням SSL по VPN-тунелю. SSL - криптографічний протокол, який забезпечує встановлення безпечного з'єднання між клієнтом і сервером.

Для досягнення максимальної пропускної спроможності і відмовостійкості міжмережеві екрани дозволяють розподілити або збалансувати навантаження, використовуючи всі наявні канали Інтернету (серверів) одночасно. Наприклад, можна уникнути такої ситуації, коли передаються по мережі пакети йдуть через одного провайдера, в той час як вихід в Інтернет через іншого провайдера простоює без діла.

Або розподілити сервіси і направити трафік через всі наявні Інтернет-канали. Можливе налаштування балансування навантаження, якщо з'єднання з провайдерами здійснюються з різними типами підключення (Static IP, PPPoE, PPTP / L2TP), а також - для балансування трафіку, що проходить через VPN-тунелі, встановлені на різних фізичних інтерфейсах (Рисунок 1).


Приклад використання балансування навантаження в сегменті мережі
Рисунок 1 – Приклад використання балансування навантаження в сегменті мережі

Процедура балансування здійснюється за допомогою цілого комплексу алгоритмів і методів, відповідним такими рівнями моделі OSI:



Балансування на мережевому рівні передбачає вирішення наступного завдання: потрібно зробити так, щоб за один конкретний IP-адреса сервера відповідали різні фізичні машини.

При DNS-балансуванню на одне доменне ім'я виділяється кілька IP-адрес. Сервер, на який буде спрямований клієнтський запит, зазвичай визначається за допомогою алгоритму Round Robin (про методи і алгоритми балансування буде детально розказано нижче).

При використанні NLB-кластера сервери об'єднуються в кластер, що складається з вхідних і обчислювальних вузлів. Розподіл навантаження здійснюється за допомогою спеціального алгоритму.

Балансування за територіальною ознакою здійснюється шляхом розміщення однакових сервісів з однаковими адресами в територіально різних регіонах Інтернету (так працює технологія Anyсast DNS, про яку ми вже писали).

Балансування на транспортному рівні є найпростішим: клієнт звертається до балансувальник, той перенаправляє запит одного з серверів, який і буде його обробляти. Вибір сервера, на якому буде оброблятися запит, може здійснюватися відповідно до самими різними алгоритмами:



На транспортному рівні спілкування з клієнтом замикається на балансувальник, який працює як проксі. При балансуванні на прикладному рівні балансувальник працює в режимі «розумного проксі». Він аналізує клієнтські запити і перенаправляє їх на різні сервери в залежності від характеру запитуваної контенту.

4. Аналіз існуючих алгоритмів їм методів балансування навантаження із забезпеченням якості обслуговування

Як допущення для дослідження алгоритмів балансування приймемо за основу потоки трафіку на виході з пристрою, що розподіляються по чергам з обслуговуванням WFQ [7], яке повинно задовольняти сучасним вимогам QoS [5]. У такому випадку прийнято ще одне припущення: критерієм для балансування потоків виступатимуть протоколи транспортного рівня моделі OSI; як максимально пріоритетного трафіку будуть виступати потоки з використанням транспортних протоколів RTP / UDP (використовуються для передачі голосу і відео при спілкуванні в реальному часі), які будуть віднесені до найбільш вимогливому класу з встановленням необхідних для класифікації ідентифікаторів поля TOS в IP пакеті.

Алгоритми розподілу навантаження можна розділити на статичні, динамічні і адаптивні. Динамічні алгоритми розподілу навантаження використовують інформацію про стан системи, наприклад, про завантаженість вузлів, для прийняття рішень про розподіл навантаження в процесі роботи системи.


Балансировка нагрузки между узлами сети
Рисунок 2 – Використання балансування навантаження між вузлами мережі [6]
(Анімація: 10 кадрів, 51 кілобайт)

Статичні алгоритми подібної інформації не використовують. У статичних алгоритмах рішення про розподіл навантаження реалізовані заздалегідь, до початку роботи системи, і не змінюються в процесі роботи.

Алгоритм балансування Round Robin є перебір запитів по круговому циклу: перший запит - першому вузлу, другий запит - другого вузла і так до досягнення останнього. Даний алгоритм балансує навантаження незалежно від використовуваного в пакетах протоколу. Головним критерієм є звернення до вузла по доменному імені. До переваг алгоритму можна віднести наступне: низьку вартість; простоту реалізації; відсутність зв'язності між вузлами-учасниками алгоритму; алгоритм працює не залежно від навантаження на сервер. Незважаючи на гідності, у алгоритму також існують такі недоліки: забезпечення рівного набору ресурсів кожного вузла; відсутність алгоритму перевірки зайнятості сервера; відсутність алгоритму перевірки необхідної пропускної спроможності до лінії; відсутність можливості управління потоками на підставі використовуваного транспортного протоколу.

На підставі опису алгоритму Round Robin неможливо зробити остаточний висновок про те, що даний алгоритм виконає балансування з критеріями, необхідними для забезпечення необхідного рівня якості обслуговування, при великих обсягах трафіку. Також даний алгоритм не дозволяє оптимально використовувати ресурси інфраструктури в силу своїх недоліків.

Вдосконалений алгоритм Round Robin, згідно з яким кожному вузлу-учаснику алгоритму присвоюється ваговий коефіцієнт на основі його продуктивності: більший коефіцієнт більш продуктивної вузлу. Даний алгоритм дозволяє використовувати ресурси системи більш гнучко, але так само не вирішує всіх проблем з отказоустойчивостью вузлів.

Динамічні алгоритми завдяки використанню інформації про стан системи мають можливість обігнати по ефективності статичні алгоритми, наприклад, простий динамічний алгоритм може бути ідентичний за паливною ефективністю складного статичному. В наслідок того, що динамічно алгоритми повинні збирати, зберігати і аналізувати інформацію про стан системи, їм властиві великі накладні витрати на балансування в порівнянні зі статичними алгоритмами.

Адаптивні алгоритми є окремим випадком динамічних алгоритмів і в залежності від умов і апріорного знання про властивості алгоритмів балансування вибирають найбільш підходящий з них. Інформація про стан системи є важливим елементом роботи динамічного алгоритму. Існують різні методи збору даних про завантаженість системи і побудови характеристик завантаженості. Завантаженість вузла може визначатися, наприклад, як частка процесорного часу, витрачена на вирішення завдання, як кількість завдань в черзі вузла, або як ймовірність виявити вузол зайнятим вирішенням завдання в будь-який момент часу.

Також існує вдосконалений варіант даного алгоритму - Weighted Least Connections, який при передачі запиту враховує не тільки кількість активних підключень, а й ваговий коефіцієнт вузла кластера, що дозволяє вибудувати кластерний сервіс з різним набором ресурсів.

До числа вдосконалених алгоритмів балансування Least Connections також відносяться Locality-Based Least Connection Sheduling і Locality-Based Least Connection Sheduling with Replication Sheduling [8]. Перший алгоритм створений спеціально для кешуючих проксі-серверів, який працює за принципом: більше запитів передається вузлів з найменшою кількістю активних підключень. За кожним вузлом закріплений свій блок клієнтських IP адрес, запити з них перенаправляються вузлу, обслуговуючому дану групу. У разі, якщо «батьківський» вузол завантажений, запити передаються іншому вузлу, менш завантаженому. Другий алгоритм вдосконалений для використання в умовах групи вузлів. Тобто, блок клієнтських IP адрес обслуговує не один вузол, а група.

Виходячи з опису алгоритму Least Connections присутній видима можливість балансування навантаження таким чином, щоб ресурси всієї системи використовувалися максимально із забезпеченням необхідного рівня якості обслуговування.

Алгоритм Sticky Sessions характеризується розподілом вхідних запитів таким чином, щоб один і той же вузол обслуговував одну групу клієнтів. Такий алгоритм використовується, наприклад, в веб-серверах. У зазначеному алгоритмі запити розподіляються між вузлами на основі IP-адреси клієнта, що реалізується шляхом IP hash.

На сьогоднішній день існує безліч алгоритмів балансування навантаження, які здатні забезпечити необхідний рівень якості обслуговування і відповідають основним вимогам розподілу: ефективність; рівномірний використання ресурсів системи; передбачуваність; зменшення часу відгуку; зменшення часу відповіді на запит.

При використанні алгоритму Round Robin навантаження на вузли мережі буде розподілитися рівномірно, але даний алгоритм працює без урахування стану вузлів, що може привести до «відмови в обслуговуванні» подальших потоків.

Використання Least Connections дозволяє розподілити навантаження таким чином, щоб всі вузли мережі були зайняті на підставі обліку стану зайнятості, що дозволяє здійснити передачу запиту «вільному» вузлу. Даний алгоритм має істотний недолік — відсутністю аналізу пріоритету передачі.

Sticky Sessions розподіляє навантаження так, щоб при повторному зверненні клієнт потрапляв на той же вузол. Це дозволяє заощадити ресурси всієї системи за рахунок групового обслуговування і планування інфраструктури під необхідну кількість клієнтів. Даний алгоритм також володіє недоліком відсутність аналізу стану зайнятості та обслуговуванні за пріоритетами.

Висновки

Балансування навантаження необхідна для оптимізації використання ресурсів і скорочення часу обслуговування. Місцями застосування алгоритмів балансування навантаження можуть бути як серверні кластери, міжмережеві екрани так і будь-який «груповий» вид доступу до однотипного ресурсу. Метою балансування навантаження є як забезпечення певної якості обслуговування користувача, так і ефективність використання відповідного ресурсу.

Незважаючи на те, що існує велика кількість алгоритмів перерозподілу, однак, вони мають ряд недоліків, серед яких нерівномірність розподілу трафіку між серверами, відсутність обліку динамічного характеру трафіку, неефективне використання ресурсів, значний час відгуку. Так як прикордонне мережевий пристрій IP / MPLS-мережі є «вузьким» місцем, то завдання дослідження методів балансування навантаження і розробки методу, що враховує параметри якості обслуговування і дозволяє підвищити ефективність використання мережевих ресурсів є актуальною [7].


При написанні даного автореферату магістерська робота ще не завершена. Остаточне завершення: червень 2021 р Повний текст роботи та матеріали по темі можуть бути отримані у автора після зазначеної дати.

Перелік посилань

  1. Костюк Д.Е. Анализ методов и алгоритмов балансировки нагрузки / Д.Е. Костюк, В.Н. Лозинская // Информационное пространство Донбасса: проблемы и перспективы : материалы III Респ. с междунар. участием науч.-практ. конф., посв. 100-летию осн-ия ДонНУЭТ. – Донецк:ГО ВПО «ДонНУЭТ» – 2020. – С. 154-157.
  2. Кучерявый Е.А. Управление трафиком и качество обслуживания в сети Интернет / Е.А. Кучерявый. – СПб.: Наука и Техника, 2004. – 336 с.: ил.
  3. Елагин, В.С. Аспекты реализации системы законного перехвата трафика в сетях SDN / В.С. Елагин, А.А. Зобнин // Вестник связи. – 2016. – № 12. С. 6 – 9.
  4. Klampfer Sasa, Influences of Classical and Hybrid Queuing Mechanisms on VoIP’s QoS Properties [Электронный ресурс] / Sasa Klampfer, Amor Chowdhury, Joze Mohorko, Zarko Cucej. [Источник]
  5. Braden R., RFC 2309. Recommendations on queue management and congestion avoidance in the Internet [Электронный ресурс] / D. Clark, J. Crowcroft, B. Davie, S. Deering, D. Estrin, S. Floyd, V. Jacobson, G. Minshall, C.Partridge, L.Peterson, K. Ramakrishnan, S.Shenker, J. Wroclawski, and L. Zhang. [Источник]
  6. Van Nieuwpoort Rob V. Adaptive Load Balancing for Divide-and-Conquer Grid Applications [Электронный ресурс] / Rob V. van Nieuwpoort Jason Maassen, Gosia Wrzesinsk ? a, Thilo Kielmann, Henri E. Bal.[Источник]
  7. Jamaloddin Golestani S. A self-clocked fair queuing scheme for broadband applications [Электронный ресурс] / Golestani S. Jamaloddin. [Источник]
  8. Bahaweres, R. B. Comparative analysis of LLQ traffic scheduler to FIFO and CBWFQ on IP phone-based applications (VoIP) using Opnet (Riverbed) / A. R. B. Bahaweres, Fauzi and M. Alaydrus // 2015 1st International Conference on Wireless and Telematics (ICWT). – Manado. – 2015. – pp. 1-5