Кафедра інфокомунікаційної інженерії імені В.В. Поповського Технології управління трафіком в ІК Лекція №6 Механізми DWFQ, CBQ, CBWFQ, LLQ Навчальні питання: 1. Розподілений WFQ (DWFQ). 2. Черги, засновані на класах (CBQ). 3. WFQ, засновані на класах (CBWFQ) 4. Черги з малою затримкою (LLQ) Рекомендована література: 1. 2. 3. 4. 5. 6. 7. 8. Вегешна Ш. Качество обслуживания в сетях IP: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 386 с. A Framework for Differentiated Services | Bernet Y. et al., Internet Draft. RFC 1349: Type of Service in the Internet Protocol Suite | Almquist P. RFC 791: Internet Protocol Specification/Postel J., 1981. RFC-2474: Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", K. Nichols, December 1998. Дансмор Б., Скандьер Т. Справочник по телекоммуникационным технологиям: Пер. с англ. М.: Издательский дом «Вильямс», 2004. 640 с. Лемешко О.В., Євсєєва О.Ю. Конспект лекцій з дисципліни «Алгоритми управління та адаптації в ТКС» для студентів денної форми навчання спеціальності 7.092401 – Телекомунікаційні системи та мережі. – Харків: ХНУРЕ, 2008. – 164 с. ЛемешкоО.В., Горяєва С.М. Методичні вказівки до лабораторних занять з дисципліни «Алгоритми управління та адаптації в ТКС» для студентів денної форми навчання спеціальності 7.092401 – Телекомунікаційні системи та мережі. – Харків: ХНУРЕ, 2009. – 56 с. Вступ: загальна структура обробки пакетів на мережних вузлах Приграничный маршрутизатор Спецификация потока Транзитный маршрутизатор Фильтр/формирователь Измеритель Поток пакетов Пакет Классификатор пакетов Функции управления интенсивностью трафика Поток пропущенных пакетов в сеть выравнивания (traffіc shapіng) Пакет Маркировщик пакетов ограничения (traffіc polіcіng) Поток отброшенных пакетов Пакет Функции управления очередями Функции ограничения длины очереди Пакет Поток пропущенных пакетов в тракт передачи Пакет Поток отброшенных пакетов 1. Розподілений WFQ (DWFQ) Розподілений зважений алгоритм справедливого обслуговування черг (DWFQ) на основі потоку (Flow-Based Distributed WFQ) виконується в розподіленому режимі на маршрутизаторах Cisco серії 7500, побудованих на базі інтерфейсних плат VIР (Versatile Interface Processor - універсальний інтерфейсний процесор), оснащених вбудованими процесорами. Конфігурований на інтерфейсі маршрутизатора механізм DWFQ на основі потоку виконується процесором лінійної плати VIP даного інтерфейсу, а не центральним процесором маршрутизатора (як механізм WFQ). Підтримка розподіленого зваженого алгоритму рівномірного обслуговування черг (DWFQ) на основі потоку вимагає від маршрутизатора підтримки розподіленого механізму швидкісний комутації пакетів Cisco (Distributed Cisco Express Forwarding - DCEF). Кількість підчерг DWFQ на основі потоку обмежена і дорівнює 512. Якщо на інтерфейсі одночасно обробляються більш ніж 512 потоків трафіку, то деякі з них поділяють одну підчергу. 1. Для вибору черги використовуються два молодші біта IP-пріоритета. Тому кількість доступних черг дорівнює 4 (0-3). 2. weight – процент виділяємої пропускної здатності (ПЗ) інтерфейса. 3. «За замовчуванням» для класів 1, 2 та 3 виділяється 20, 30 та 40% ПЗ. Для ToS 0 – решта. 2. Черги, засновані на класах (CBQ) При використанні цього механізму трафіку певних класів гарантується необхідна швидкість передачі, а ресурс, що залишився розподіляється між іншими класами. Обробка черг за механізмом Class-Based Queuing (CBQ) передбачає, що трафік ділиться на класи. Визначення класу трафіку в значній мірі довільно. Клас може представляти весь трафік, що проходить через даний інтерфейс, трафік певних додатків, трафік, спрямований до заданої множини одержувачів, трафік з якістю послуг, гарантованих протоколом RSVR. Кожен клас має власну чергу, і йому гарантується деяка частка пропускної здатності каналу. Планувальник інтерфейсу обходить всі черги по колу і передає деяку кількість пакетів з кожної черги. Якщо який-небудь клас не вичерпує наданий йому ліміт пропускної здатності, то частка пропускної здатності, що виділяється кожному з решти класів, пропорційно збільшується. На відміну від пріоритетного обслуговування, CBQ не допускає блокування черги і дає можливість враховувати використання мережі різними класами потоків. Приклади розподілу ресурсів з використанням різних критеріїв класифікації трафіку Канал Канал Аудио Видео telnet ftp mail user A user B user C 20% 50% 10% 20% 0% 50% 40% 10% Приклад ієрархічного розподілу ресурсів Канал user A 30% realtime 10% telnet поток 1 поток n 1% 1% 50% user B 10% ftp realtime 15% 40% 20% IP user C 10% 20% DEC-net telnet ftp 5% 0% realtime 3% telnet ftp 5% 2% 3. WFQ, засновані на класах (CBWFQ) Подальшим розвитком моделі WFQ є формування класів потоків, що задаються користувачем. Механізм побудови черг, що базуються на класах, називається CBWFQ (Class-Based Weighted Fair Queuing), який може виконуватися як в нерозподіленому, так і в розподіленому режимі роботи. Відповідно до механізму CBWFQ підчерги виділяються для обробки класу трафіку, а не його окремого потоку, як передбачається механізмом WFQ на основі потоку. Реалізація механізму CBWFQ, що виконується на центральному процесорі маршрутизатора, заснована на обчисленні порядкових номерів пакетів, а реалізація механізму CBWFQ, що виконується на процесорі інтерфейсної плати VIP, - на календарних чергах. На відміну від WFQ в CBWFQ можна в широких межах перерозподіляти пропускну здатність між класами трафіку одного потоку. Для виділення класу можуть залучатися ACL (Access Control List) або навіть номер вхідного інтерфейсу. WFQ, засновані на класах (CBWFQ) Весь трафік розбивається на 64 класи на підставі наступних параметрів: IPадреси джерела-одержувача пакетів, списки доступу (access list), протокол, значення DSCP, мітка MPLS QoS. Загальна пропускна здатність вихідного інтерфейсу розподіляється за класами. Виділена кожному класу пропускна здатність можна визначатись як в абсолютному значенні (bandwidth в kbit / s) або у відсотках (bandwidth percent) щодо встановленого значення на інтерфейсі. Пакети, які не потрапляють в сконфігуровані класи, потрапляють чергу за замовчуванням, яку можна додатково налаштувати і яка отримує вільну пропускну здатність каналу. При переповненні черги будь-якого класу пакети даного класу ігноруються. Алгоритм відкидання пакетів всередині кожного класу можна обирати: включене за замовчуванням звичайне відкидання (tail-drop, параметр queue-limit) або WRED (параметр random-detect). Тільки для класу за замовчуванням можна включити справедливе (чесне) розподілення ПЗ (параметр fair-queue). CBWFQ підтримує взаємодію з RSVP. На відміну від RSVP даний механізм гарантує ПЗ лише в умовах перевантаження. Нерозподілена ПЗ може використовуватися потоками згідно до їх пріоритетів (класів). Якщо використовується резервування CBWFQ і RSVP можливі конфлікти, так як маршрутизатор не перевіряє баланс зарезервованої ПЗ різними протоколами. Приклад налаштування Порівняльна характеристика механізмів обслуговування черг WFQ на основі потоку і CBWFQ WFQ на основі потоку CBWFQ Класифікація Класифікація не підлягає конфігуруванню. Критеріями класифікації є IP-адреси/порти джерела/одержувача, тип протоколу (TCP/UDP) і поле ToS. Для класифікації може бути використаний будьякий інструмент, у т.ч. CB marking. Критеріями класифікації є розширені списки доступу, NBAR, вхідний інтерфейс, CoS, пріоритет, DSCP, MAC-адреси джерела/одержувача, поле MPLS Experimental, QoS-група, номер RTPпорту. Політика відкидання пакетів Модифікований алгоритм «відкидання хвоста» (tail drop) Алгоритм «відкидання хвоста» (tail drop) або WRED; конфігурується для кожної черги окремо Кількість черг 256 за замовчуванням 64 Максимальна довжина черг , у пакетах Граничне значення для відкидання пакетів для окремої черги – 4096, сумарний поріг (при захопленні всіх черг однією) – 4096. Залежить від конкретної моделі маршрутизатора й обсягу пам'яті Порядок обслуговування в межах окремих черг FIFO FIFO у 63-х чергах, у черзі class-default FIFO або WFQ. У маршрутизаторах Cisco серії 7500 у кожній з черг можна використовувати FIFO або WFQ. Алгоритм вибору черги, з якої буде передаватися пакет На підставі найменшого порядкового номера (SN). Порядковий номер обчислюється в момент постановки в чергу і є функцією довжини і пріоритету. Алгоритм не опублікований. Результатом є гарантована частка сумарної пропускної здатності кожної черги. 4. Черги з малою затримкою (LLQ) У деяких випадках, наприклад в разі передачі пакетів VoIP, більш важливо забезпечити малу затримку, а не пропускну здатність. Для таких завдань розроблено механізм LLQ (Low Latancy Queuing), який є модифікацією CBWFQ. LLQ можна розглядати як механізм CBWFQ з пріоритетною чергою PQ (LLQ = PQ + CBWFQ). PQ в LLQ дозволяє забезпечити обслуговування чутливого до затримки трафіку. В алгоритмі LLQ пакети всіх пріоритетів крім найвищого змушені чекати, поки черга вищого пріоритету буде спустошена. Розкид затримки в високопріоритетних потоці може бути пов'язаний тільки з очікуванням завершення передачі пакету низького пріоритету, що почалася до приходу пріоритетного пакету. Такий розкид визначається діапазоном довжин пакетів (MTU). Черги з малою затримкою (LLQ) Підтримка RSVP в LLQ Порядок налаштування Приклад налаштування Висновки Параметри /метод Weighted Fair Queuing (WFQ) Priority Queuing (PQ) Custom Queuing (CQ) База черги до 256 черг 4 черги 16 черг Метод обслуговування Пріоритезація невеликого за об’ємом трафіка На основі пріоритета черги Цикличний перебор (Round robin) Де використовується WAN інтерфейси WAN або LAN зі швидкістю до інтерфейси 2 Мбіт/с WAN або LAN інтерфейси Як налаштовується Автоматично (за замовчуванням) Вручну Вручну