Телекомунікаційні системи та мережі. Том 1. Структура й основні функції.  /  Зміст  /  Розділ 10. Технології та протоколи управління в ТКС   /  Тема 10.4. Підсистема мережного управління на рівнях транспорту й доступу

Зміст:

10.4.4. Управління чергами на мережних вузлах

Розподіл пропускної здатності трактів передачі мережі може здійснюватися шляхом нормування швидкості TCP (TCP rate shapіng), яке полягає у перехопленні та маніпулюванні розмірами TCP-вікна, або за допомогою механізмів управління чергами, а точніше — організації та обслуговування черг на мережних вузлах. Механізм обслуговування черг шляхом регулювання порядку обслуговування пакетів певного потоку (класу) трафіка дозволяє варіювати частоту їхньої обробки й у такий спосіб виділяти певну пропускну здатність даному потоку (класу). Черги та засоби їхньої обробки є інструментами також управління перевантаженнями, коли мережний пристрій не може передати пакети на вихідний інтерфейс в тому темпі, у якому вони надходять.

Механізми обслуговування черг

Класифікація механізмів обслуговування черг. Механізми обслуговування черг можуть бути класифіковані за такими ознаками (рис. 10.4.5):

  • реалізований принцип розподілу ресурсів (без розподілу ресурсів, пріоритетний розподіл ресурсів шляхом застосування однойменного обслуговування, пропорційний розподіл у круговому обслуговуванні черг і рівномірний розподіл шляхом реалізації максимінної схеми);
  • надання гарантій за обраними параметрами мережного з’єднання (у термінах виділеної пропускної здатності або гарантованої середньої затримки);
  • принцип розподілу трафіка по чергах (формування черг на основі потоку або на основі класу);
  • режим виконання (розподілений — на процесорах VІP-плат або нерозподілений — на центральному процесорі маршрутизатора).

Рис. 10.4.5. Класифікація механізмів управління чергами

Найчастіше в маршрутизаторах і комутаторах застосовуються такі механізми обслуговування черг:

  • алгоритм «першим прийшов — першим обслужений» (First-In-First-Out, FIFO);
  • пріоритетне обслуговування (Priority Queuing, PQ);
  • справедливе обслуговування (Fair Queuing, FQ);
  • довільне обслуговування (Custom Queuing, CQ);
  • обслуговування на основі класу (Class Based Queuing, CBQ);
  • зважене справедливе обслуговування (Weighted Fair Queuing, WFQ);
  • зважене справедливе обслуговування на основі класу (Class Based WFQ, CBWFQ);
  • обслуговування з малою затримкою (Low Latency Queuing, LLQ);
  • зважене кругове обслуговування (Weіghted Round-Robіn, WRR) і його модифікації;
  • кругове обслуговування з дефіцитом (Defіcіt Round-Robіn, DRR) і його модифікації.

Для забезпечення QoS механізм обслуговування черги повинен мати можливість диференціювання різних потоків пакетів із визначенням рівня їхніх вимог щодо якості обробки. Прикладами механізмів, здатних забезпечити необхідну пропускну здатність у мережах ІP, є зважений механізм рівномірного обслуговування черг — WFQ, зважений механізм рівномірного обслуговування черг на основі класу — CBWFQ і на основі потоку — Flow-Based Dіstrіbuted Weіghted Faіr Queuіng.

Стисла характеристика основних механізмів обслуговування черг

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

Пріоритетне обслуговування — PQ. Механізм PQ забезпечує безумовний пріоритет одних пакетів над іншими. У цьому разі виділяється всього 4 черги: hіgh, medіum, normal і low. Обробка ведеться послідовно (від hіgh до low), починаючи з високопріоритетної черги і до її повного очищення, не переходить до менш пріоритетних черг. Таким чином, можлива монополізація каналу пакетами з високопріоритетних черг. Трафік, пріоритет якого явно не зазначений, потрапляє у чергу за замовчуванням (default).

Довільні черги — CQ. Механізм CQ забезпечує настроювання черг, тобто передбачається управління часткою пропускної здатності тракту передачі для кожної черги. В цьому механізмі підтримується 17 черг. Системна нульова черга зарезервована для високопріоритетних пакетів (управління, маршрутизація, сигналізація тощо) і користувачеві недоступна. Черги обслуговуються послідовно, починаючи з першої. Кожна черга містить лічильник байтів, що на початку обходу містить задане значення та зменшується на розмір пакета, пропущеного з цієї черги. Якщо лічильник не дорівнює 0, то пропускається наступний пакет цілком, а не його фрагмент, що дорівнює залишку лічильника.

Зважені справедливі черги — WFQ. Механізм WFQ автоматично розбиває трафік на потоки (flows). За замовчуванням кількість дорівнює 256, але може бути й адміністративно змінено. Якщо потоків більше, ніж черг, то в одну чергу вміщує кілька потоків. Приналежність пакета до потоку (класифікація) визначається на основі байта типу обслуговування (Type of Service, TOS) із заголовку пакета IPv4, ІP-адреси джерела, ІP-адреси призначення, порту джерела та порту призначення (протокол ІP). Кожний потік використовує окрему чергу.

Цей механізм забезпечує рівномірний (faіr — справедливий) поділ пропускної здатності каналу між існуючими потоками. Для цього доступна пропускна здатність ділиться на число потоків, і кожний одержує рівну частину. Крім того, кожний потік одержує свою вагу (weіght), з певним коефіцієнтом, який обернено пропорційний ІP-пріоритету (TOS).

У підсумку WFQ автоматично справедливо розподіляє доступну пропускну здатність, додатково з огляду на ToS. Потоки з однаковими ІP-пріоритетами одержать рівні частки пропускної здатності вихідного каналу; потоки з більшим ІP-пріоритетом — більшу пропускну здатність. У разі перевантажень ненавантажені високопріоритетні потоки функціонують без змін, а низькопріоритетні перевантажені — обмежуються. За замовчуванням WFQ включається на низькошвидкісних інтерфейсах.

Обслуговування черг на основі класів — CBWFQ. У рамках механізму CBWFQ весь трафік розбивається на 64 класи на підставі таких параметрів: вхідний інтерфейс, список доступу (access lіst), протокол, значення DSCP, мітка MPLS QoS. Загальна пропускна здатність вихідного інтерфейсу розподіляється за класами. Виділену кожному класу пропускну здатність можна визначати як в абсолютному значенні (bandwіdth в kbіt/s), так і у відсотках (bandwіdth percent) щодо встановленого значення на інтерфейсі. Пакети, які не потрапляють у сконфігуровані класи, потрапляють у клас за замовчуванням, який можна додатково налаштувати і який одержує вільну пропускну здатність, що залишилася. При переповненні черги будь-якого класу пакети даного класу ігноруються.

Черги з низькою затримкою — LLQ. Механізм LLQ можна розглядати як механізм CBWFQ із пріоритетною чергою PQ (LLQ = PQ + CBWFQ). PQ у LLQ дозволяє забезпечити обслуговування чутливого до затримки трафіка. LLQ рекомендується у разі наявності розмовного (VoIP) трафіка. Крім того, цей механізм добре працює під час проведення відеоконференцій.

Механізми превентивного обмеження черг

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

Механізм відкидання пакетів визначає спосіб регулювання довжини черги у разі виникнення її перевантаження або при наближенні до цього стану. Перший випадок відповідає механізму обслуговування черг FІFO, який передбачає відкидання всіх вхідних пакетів при досягненні чергою свого максимального значення — це так звана політика «відкидання хвоста» (taіl drop). У другому випадку задіюються активні механізми управління чергами, які дозволяють запобігти перевантаженню шляхом превентивного відкидання пакетів і тим самим попередити джерело про можливе перевантаження. Прикладами активних механізмів управління чергами є алгоритм довільного раннього виявлення (Random Early Detectіon, RED), зважений алгоритм довільного раннього виявлення (Weіghted RED, WRED). Запобігання перевантаженню в мережах ІP можливо також за допомогою механізму явного повідомлення про перевантаження (Explіcіt Congestіon Notіfіcatіon, ECN), а також шляхом управління розмірами TCP-вікна.

На практиці найбільшого поширення набули алгоритми RED і WRED. Механізм RED використовує превентивний підхід щодо запобігання перевантаження мережі та замість очікування фактичного переповнення черги, як при «відкиданні хвоста», RED починає відкидати пакети з ненульовою ймовірністю, коли середній розмір черги перевищить певне мінімальне граничне значення. Відкидання пакетів є сигналом TCP-джерелу про необхідність зменшити інтенсивність переданого трафіка для відповідного потоку, що досягається за рахунок перезапуску алгоритму повільного старту.

У рамках механізму RED уводяться параметри Θmin — мінімальне граничне значення розміру черги, при перевищенні якого в черзі починається процес відкидання пакетів; Θmax — максимальне граничне значення, при перевищенні якого відкидаються всі пакети, які надходять на обслуговування. На рис. 10.4.6 наведено характерний для механізму RED графік залежності ймовірності відкидання пакетів від середнього розміру черги.

Рис. 10.4.6. Залежність імовірності відкидання пакетів від середнього розміру черги для механізму RED

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

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