
5. Дослідження алгоритму управління чергами wred
5.1 Мета роботи:
1. Практична реалізація телекомунікаційної системи, що використовує алгоритм превентивного обмеження черги WRED.
2. Дослідження принципів роботи алгоритму WRED.
3. Оцінка якості обслуговування потоків трафіку за показниками середньої затримки та кількості відкинутих пакетів при реалізації механізму управління чергами WRED.
5.2 RED – алгоритм превентивного управління чергою з метою запобігання перевантаження мережі.
З поведінкою TCP-джерел в моменти роботи алгоритму "відкидання хвоста" пов'язана необхідність проведення превентивного управління чергою з метою сигналізації про перевантаження мережі до фактичного переповнення черги і контролю за розміром черги з метою зниження затримки обробки пакетів. Random Early Detect (Випадкове Раннє Виявлення) або Random Early Drop (Випадкове Раннє Відкидання) дозволяє більш "справедливо" розподілити канал між TCP-з'єднаннями.
RED починає відкидати пакети з ненульовою ймовірністю, коли середній розмір черги перевищить певне мінімальне порогове значення. Імовірнісний підхід до відкидання пакетів дозволяє бути впевненим у тому, що механізм RED відкине пакети всього лише декількох довільно обраних потоків, тим самим допомагаючи уникнути ефекту глобальної синхронізації.
Крім того, вибіркова "втрата" пакетів допомагає TCP швидше знайти підходящу швидкість передачі даних, а також утримувати розмір черги і затримку пакетів на заданому рівні. Імовірність "втрати" пакета конкретного з'єднання прямо пропорційна пропускній здатності, що використовується цим з'єднанням, а не кількості пакетів, тобто великі пакети відкидаються частіше маленьких, що дає досить справедливий розподіл смуги пропускання.
Метою механізму RED є:
• Мінімізація тремтіння затримки пакетів шляхом контролю за середнім розміром черги.
• Запобігання ефекту глобальної синхронізації ТСР-трафіку.
• Забезпечення неупередженого обслуговування трафіку, що характеризується короткочасними сплесками.
• Суворе обмеження максимального середнього розміру черги.
Фактично, механізм довільного раннього виявлення базується на двох наступних алгоритмах:
• Алгоритм обчислення середнього розміру черги, який визначає допустимий рівень сплеску трафіку в черзі. Середній розмір черги визначається за формулою:
Середній_розмір_черги = (Попередній_середній_розмір х (1 - 1/2n) + (Поточний_розмір_черги х 1/2n),
де n – експоненційний ваговий коефіцієнт, що визначається адміністратором.
• Алгоритм обчислення ймовірності відкидання пакетів, який визначає ймовірність (частоту) відкидання пакетів для заданого середнього розміру черги. Особливості роботи алгоритму RED зображені на рисунку 5.1.
Рисунок 5.1 – Залежність ймовірності відкидання пакетів від довжини черги в алгоритмі RED
При роботі з RED необхідно визначитися
зі значеннями чотирьох параметрів:
Мінімум (min), Максимум (max),
Перевищення (burst), Знаменник граничної
вірогідності (MPD).
Мінімум – це мінімальний розмір
черги в байтах, вище якого почнеться
вибіркове відкидання пакетів. Максимум
– це "м'який" максимум, алгоритм
буде намагатися утримати розмір черги
нижче цієї межі. Перевищення –
максимальне число пакетів, які можуть
бути прийняті в чергу понад встановлений
максимальної межі. Знаменник граничної
вірогідності (Mark
Probability Denominator)
визначає ймовірність відкидання пакетів
в точці Максимум за формулою:
.
Мінімальний розмір черги розраховується, виходячи з максимально допустимої затримки пакетів в черзі і пропускної здатності каналу. Наприклад, на з'єднанні 64кбіт/сек (8 Кбайт/сек) необхідно отримати максимальну затримку 200 мсек, тоді 8 * 0.2 = 1.6 Кбайт (тобто приблизно 1600 байт). Якщо встановити мінімальну межу занадто маленькою, це призведе до зниження пропускної здатності, занадто великим – до збільшення часу затримки.
Максимальний розмір черги необхідно задавати щонайменше в два рази більшим мінімального, щоб знизити ймовірність повторної синхронізації. На повільних з’єднаннях, з невеликою мінімальною межею розміру черги, максимальну межу слід задавати в чотири, а іноді і більше разів більше мінімальної.
Перевищення відповідає за поведінку RED на пікових навантаженнях. Розмір перевищення повинен встановлюватися більше, ніж min/avpkt. Експериментально встановлено, що розмір перевищення варто розраховувати з виразу:
Burst=(min+min+max)/(3*avpkt), де avpkt – середній розмір пакета.
WRED (Weighted Random Early Detection) – зважене випадкове раннє виявлення. Зважений алгоритм довільного раннього виявлення надає різні рівні обслуговування пакетів в залежності від імовірності їх відкидання і забезпечує вибіркову установку параметрів механізму RED на підставі значень заголовку IP-пакету (IP-пріоритету, коду DSCP).
Іншими словами, алгоритм WRED передбачає можливість більш інтенсивного відкидання пакетів, що належать певним типам трафіку, і менш інтенсивного відкидання всіх інших пакетів. Механізм WRED може бути налаштований для обслуговування різних класів трафіку за допомогою модульного інтерфейсу командного рядка (CL1) QoS, який дозволяє визначити параметри механізму RED окремо для кожного класу.
Таким чином, механізм WRED може забезпечити більш інтенсивне відкидання низькопріоритетних пакетів і менш інтенсивне відкидання високопріоритетних. Стандартне мінімальне порогове значення для трафіку пріоритету 0 становить половину максимального порогового значення. Особливості функціонування алгоритму WRED зображені на рисунку 5.2.
Коли алгоритм WRED виконується на центральному процесорі маршрутизатора, то він застосовується до вихідний черги інтерфейсу, а порогові значення визначаються таким чином:
• Мінімальне порогове значення для трафіка з пріоритетом і:
,
де
– розмір вихідної черги.
• Максимальне порогове значення (Max) дорівнює розміру вихідної черги.
Рисунок 5.2 – Особливості функціонування алгоритму управління чергами WRED