
4. Дослідження алгоритму обслуговування черг cbwfq
4.1 Мета роботи:
1. Практична реалізація телекомунікаційної системи, що використовує алгоритм управління чергами CBWFQ.
2. Дослідження принципів роботи алгоритму CBWFQ.
3. Оцінка якості обслуговування потоків трафіку за показниками середньої затримки та кількості відкинутих пакетів при реалізації механізму управління чергами CBWFQ.
4.2 Зважене справедливе обслуговування черг на основі класів (CBWFQ)
Class-based weighted fair queuing (CBWFQ) є розширенням стандартного механізму справедливого обслуговування WFQ і забезпечує підтримку створених користувачем класів трафіка. В CBWFQ можливо визначити класи трафіка на основі відповідності встановленим критеріями, в тому числі і за протоколом передачі, за допомогою списків контролю доступу (ACLs), а також на основі вхідних інтерфейсів. Пакетам, які задовольняють критерію відбору присвоюється значення заданого класу трафіка. Черга в маршрутизаторі резервується під кожен клас, і трафік, що належить певному класу направляється в чергу для цього класу. Особливості функціонування механізму CBWFQ зображені на рисунку 4.1.
Коли клас заданий виходячи з критеріїв відбору в нього трафіка, можливо змінити його характеристики (можна призначити класу певну пропускну здатність, вагу, максимальну кількість пакетів у черзі). Пропускна здатність, призначена класу, гарантує доставку пакетів заданого класу в разі виникнення перевантаження каналу.
Передача пакетів, що належать певному класу, залежить від виділеної для класу пропускної здатності і максимального розміру черги. Після досягнення чергою максимального розміру, нові пакети призводять до відкидання пакетів в черзі в залежності від обраної політики відкидання. Якщо клас за замовчуванням заданий за допомогою команди управління політикою обслуговування bandwidth, то весь некласифікований трафік потрапляє в одну чергу і обробляється відповідно до виділеної пропускної здатності. Якщо клас за замовчуванням заданий за допомогою команди fair-queue, то весь некласифікований трафік обслуговується за механізмом WFQ.
Рисунок 4.1 – Особливості функціонування
механізму обслуговування черг CBWFQ
4.2 Лабораторний макет
Досліджувана телекомунікаційна мережа складається з маршрутизатора, до якого підключені робочі станції1 в мережі 192.168.1.0 /24, робоча станція 2 в мережі 10.0.0.0/8. Схема лабораторного макету приведена на рисунку 4.2.
Рисунок 4.2 – Схема лабораторного експерименту
Таблиця 4.1 – Настройки кінцевих станцій
Настройка кінцевої станції HOST1: |
Настройка кінцевої станції HOST2: |
IP-адреса: 192.168.1.10 |
IP-адреса: 10.0.0.10 |
Маска мережі: 255.255.255.0 |
Маска мережі: 255.0.0.0 |
ifconfig eth0 192.168.1.10 netmask 255.255.255.0 route add default gateway 192.168.1.1 |
ifconfig eth0 10.0.0.10 netmask 255.255.255.0 route add default gateway 10.0.0.1 |
Настройка маршрутизатора Router:
Рисунок 4.3 – Приклад настройки адресації на інтерфейсах маршрутизатора
Створення політик управління чергами, класів трафіка, призначення пропускних здатностей для кожного класу, застосування політики управління чергами на інтерфейсі
Приклад створення класів трафіка class1 та class2 зображений на рисунку 4.4. Критерієм відбору трафіка виступає в даному випадку значення поля DSCP в заголовку IP-пакета. Всім пакетам, що мають значення поля DSCP AF11 назначається клас трафіка class1; всім пакетам, що мають значення поля DSCP EF назначається клас трафіка class2.
Рисунок 4.4 – Приклад створення класів трафіка
Приклад створення політики управління чергами з урахуванням раніше створених класів трафіку та приклад виділення пропускної здатності (в Кбіт/с) кожному класу, зображено на рисунку 4.5. В даному прикладі була створена політика управління чергами dscp-based. В рамках політики dscp-based для двох класів трафіка class1 та class2 була визначена пропускна здатність в 4000 Кбіт/с та 3500 Кбіт/с відповідно.
Рисунок 4.5 – Приклад створення політики управління чергами
Щоб призначити політику управління чергами dscp-based для вихідного трафіку на інтерфейсі необхідно ввести:
Рисунок 4.6 – Приклад призначення політики управління чергами на інтерфейсі
Команди для перевірки конфігурації маршрутизатора:
Командою show policy-map (рисунок 4.7) можливо вивести всі настроєні на маршрутизаторі політики управління чергами.
Рисунок 4.7 – Перевірка створених політик управління чергами на маршрутизаторі
Команда show interface (рис. 4.8) дозволяє отримати інформацію про механізм управління чергами, підключений на інтерфейсі, про поточну кількість пакетів у чергах, про максимальну загальну кількість пакетів у чергах, максимальну кількість пакетів в одній черзі, а також статистику про кількість відкинутих пакетів на час виконання команди.
< Нижню частину виводу команди видалено >
Рисунок 4.8 – Перевірка налаштувань інтерфейсу за допомогою команди show interface