Кафедра інфокомунікаційної інженерії імені В.В. Поповського Технології управління трафіком в ІК Лекція №8 Механізми активного управління чергами ECN и SPD. RED в ATM-мережах Навчальні питання: 1. Механізм явного повідомлення про перевантаження (ECN). 2. Механізм вибіркового відкидання пакетів (SPD). 3. Класифікація засобів боротьби з перевантаженням 4. Різновиди механізму RED 5. RED в ATM-мережах Рекомендована література: 1. 2. 3. 4. Вегешна Ш. Качество обслуживания в сетях IP: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 386 с. Дансмор Б., Скандьер Т. Справочник по телекоммуникационным технологиям: Пер. с англ. – М.: Издательский дом «Вильямс», 2004. – 640 с. Кульгин М.В.Компьютерные сети. Практика построения. Для профессионалов. 2-е изд. – СПб.: Питер, 2003. – 462 с. Лемешко О.В., Євсєєва О.Ю. Конспект лекцій з дисципліни «Алгоритми управління та адаптації в ТКС» для студентів денної форми навчання спеціальності 7.092401 – Телекомунікаційні системи та мережі. – Харків: ХНУРЕ, 2008. – 164 с. Вступ: функції QoS Класифікація пакетів Маркування пакетів Формування трафіку (Shaping) Обмеження швидкості (Policing) Визначення черговості передачі пакетів (Queuing) Активне управління чергами, превентивне обмеження черг шляхом відкидання пакетів (RED, WRED) Вступ: загальна структура обробки пакетів на мережних вузлах Приграничный маршрутизатор Спецификация потока Транзитный маршрутизатор Фильтр/формирователь Измеритель Поток пакетов Пакет Классификатор пакетов Функции управления интенсивностью трафика Поток пропущенных пакетов в сеть выравнивания (traffіc shapіng) Пакет Маркировщик пакетов ограничения (traffіc polіcіng) Поток отброшенных пакетов Пакет Функции управления очередями Функции ограничения длины очереди Пакет Поток пропущенных пакетов в тракт передачи Пакет Поток отброшенных пакетов 1. Механізм явного повідомлення про перевантаження (ECN) При активному управлінні чергою з використанням механізму WRED пакети відкидалися з метою повідомлення джерел TCPз'єднання про перевантаження мережі. Замість відкидання пакету механізм явного повідомлення про перевантаження (Explicit Congestion Notification - ECN) використовує відповідне маркування заголовка пакета (встановлює в IP заголовку ECN біти). І якщо раніше для того щоб повідомити про перевантаження мережі, WRED-маршрутизатора доводилося відкидати пакет, викликаючи тим самим затримку в доставці даних внаслідок повторної передачі, то тепер маршрутизаторe потрібно всього лише встановити спеціальний ECN-біт в заголовку пакета. DS Field 0-5 DSCP 6 7 ECT CE ECN Маркування пакетыв в ECN Реалізація механізму ECN вимагає підтримки CE-біта (Congestion Experienced - "виявлено перевантаження") в заголовку IP-пакета і наявність транспортного протоколу, який належним чином інтерпретує CE-біт. З цією метою в заголовку IP-пакета виділяється спеціальне ECN-поле довжиною 2 біта. Установка джерелом ТСР- з'єднання біта ЕСТ (ECN-Capable Transport - транспортування даних з підтримкою поля ECN) вказує на здатність кінцевих точок транспортного протоколу до інтерпретації поля ECN. Біт СЕ встановлюється маршрутизатором з метою повідомлення кінцевих вузлів з'єднання про перевантаження мережі. Шостий і сьомий біти байта типу обслуговування (Type of Service - ToS) заголовка IPv4 формують поле ECN і є бітами ЕСТ і СЕ, відповідно. Слід зазначити, що в аспекті архітектури диференційованих послуг біти 6 і 7 байта ToS не використовуються. 2 TCP-відправник WRED випадково обрав цей пакет для відкидання; після знаходження встановленої позначки в полі ECN змінює її на ECN = 11 та передає пакет далі TCP-одержувач ` ` Клієнт Сервер IP-заголовок 1 TCPзаголовок Дані ECN = 01 IP-заголовок 3 TCPзаголовок ECN = ?? ECE = 1 6 5 New_CWND =½Оld_CWND 7 IP-заголовок TCPзаголовок ECN = 01 CWR=1 Дані TCPзаголовок ECN = ?? ECE = 1 Дані Дані ECN = 11 IP-заголовок IP-заголовок TCPзаголовок Дані 4 2. Механізм вибіркового відкидання пакетів (SPD) Механізм виборчого відкидання пакетів (Selective Packet Discard- SPD) служить для відділення важливого керуючого трафіку мережі (наприклад, пакетів з оновленням інформації про маршрути) від решти трафіку на рівні маршрутизатора. Механізм SPD допомагає маршрутизатору підтримувати цілісність інформації про маршрути протоколу IGP (Interior Gateway Protocol- протокол внутрішнього шлюзу) і протоколу BGP (Border Gateway Protocol- протокол прикордонного шлюзу) під час перевантаження мережі шляхом пріоритетної обробки пакетів протоколів маршрутизації по відношенню до решти пакетів мережного трафіку. Механізм вибіркового відкидання пакетів (SPD) Пакети трафіку, які повинні стати предметом обробки у вхідній черзі IP-процесу, розділені на три групи: • Важливий керуючий трафік IP (пакети протоколу маршрутизації), який часто називають пріоритетним трафіком (priority traffic). • Звичайний IP-трафік (наприклад, пакети програм telnet або ping), IP-пакети з альтернативами, а також будь-яке розширення або інкапсуляція IP, що не підтримувана механізмом CEF (механізм швидкісний комутації пакетів Cisco Express Forwarding (CEF)). • Пакети, які повинні бути відкинуті. Сюди відносяться IP-пакети, які з тих чи інших причин не пройшли тест на коректність, - пакети з невірною контрольною сумою, неправильної версією, вичерпаним "часом життя" (Time-to-Live TTL), невірним номером порту UDP / TCP, невірним значенням поля протоколу IP тощо. Механізм вибіркового відкидання пакетів (SPD) • Нормальний режим функціонування (Normal). Розмір вхідної черги IPпроцесу знаходиться нижче мінімального порогового значення. Пакети не відкидаються. • Режим випадкового відкидання пакетів (Random drop). Розмір вхідної черги IP-процесу знаходиться в межах між мінімальним і максимальним граничними значеннями. В даному режимі відкидаються всі IP-пакети, які належать звичайним потокам трафіку. Імовірність відкидання пакетів розраховується за наведеною нижче формулою. Імовірність відкидання пакету = (довжина черги - мінімальне порогове значення) ÷ (максимальне граничне значення - мінімальне порогове значення). Випадкові відкидання пакетів отримали назву SPD-скидів (SPD flush). Слід зазначити, що важливий керуючий трафік мережі як і раніше ставиться в чергу для обробки. • Режим тотального відкидання пакетів (Full drop). Розмір вхідної черги IPпроцесу перевищив максимальне граничне значення. Механізм SPD відкидає всі пакети, які належать звичайним потокам трафіку. Важливий керуючий трафік все ще ставиться на обробку в спеціальну пріоритетну чергу (priority queue), яка обробляється перед усіма звичайними чергами IP-процесу. • Режим активного відкидання пакетів (Aggressive drop). Спеціальний режим, при якому відкидаються всі IP-пакети, які не пройшли перевірку на коректність. Відкидання некоректних пакетів проводиться, коли розмір вхідної черги перевищує мінімальне порогове значення. Режим активного відкидання пакетів механізму SPD активізується за допомогою команди ip spd mode aggressive. Режими функціонування механізму SPD Ймовірність відкидання пакетів Знаменник граничної ймовірності відкидання пакетів = 1 Активне Тотальне Відкидання відкидання відкидання «хвоста» пакетів пакетів 1 Випадкове відкидання пакетів Звичане відкиданння пакетів Мінімальне Максимальне порогове порогове значення значення Вхідна черга IP-процесу Середня довжина черги Пріоритетна черга Висновки за RED/WRED, ECN та SPD 1. 2. 3. 4. RED являє собою механізм активного управління чергою, дозволяє маршрутизатору виявити перевантаження мережі еше до фактичного переповнення черги. Метою алгоритму RED є зменшення середнього розміру черги і, як наслідок цього, скорочення затримки передачі пакетів і запобігання ефекту глобальної синхронізації. Робота механізму RED заснована на застосуванні ймовірнісної стратегії відкидання пакетів в разі знаходження середнього розміру черги в діапазоні між заданими граничними значеннями. Зважений механізм RED (WRED) дозволяє налаштовувати різні параметри RED в залежності від пріоритету трафіку. Механізм WRED на основі потоку являє собою розширення алгоритму WRED, покликане забезпечити рівномірне застосування політики відкидання по відношенню до пакетів, що належить одному і тому ж потоку трафіку. Метою механізм ECN є повідомлення джерел трафіку про зародження перевантаження мережі шляхом маркування пакетів (а не їх відкидання). Алгоритм виборчого відкидання пакетів (Selective Packet Discard - SPD), використовується для управління вхідною чергою IP-процесу маршрутизатора Cisco. Алгоритм SPD застосовується для забезпечення диференційованого обслуговування пакетів керуючого трафіку, обробляються за допомогою механізму комутації процесів маршрутизатора Cisco. 3. Класифікація засобів боротьби з перевантаженням На даний момент існує множина засобів контролю (congestion control) і запобігання (congestion avoidance) перевантажень. Їх можна розділити на групи за такими критеріями: за часом реакції на перевантаження; за місцем реакції на перевантаження. Причому в залежності від моменту виявлення втрати даних засоби першої групи класифікуються на: реактивні підходи, які спрямовані на запобігання перевантажень після того, як виникла втрата даних (протокол ТСР); проактивні підходи, призначені для превентивного запобігання перевантажень за рахунок відкидання пакетів до фактичного переповнення буфера маршрутизатора. До таких засобів запобігання перевантажень відносяться механізми RED (Random Early Detection), ARED (Adaptive-RED), BLUE, SRED (Stabilized RED) тощо. Класифікація засобів боротьби з перевантаженням У свою чергу в другу групу засобів контролю і запобігання перевантаження входять: механізми управління перевантаженням, реалізовані на кінцевих пристроях мережі (Primal); механізми управління перевантаженням, реалізовані на проміжних вузлах мережі маршрутизаторах (Dual). Засоби контролю та запобігання перевантаження За часом реакції на перевантаження Реактивні Проактивні TCP Tahoe RED TCP Reno ARED TCP Vegas BLUE TCP Westwood SRED TCP SACK FRED RIO CBT За місцем реакції на перевантаження На Кінцевих пристроях мережі (Primal, sourcebased) Windowbased Ratebased На проміжних Пристроях мережі (Dual, AQM, routerbased) Без використання інформації зворотного зв'язку (openloop control) З використанням інформації зворотного зв'язку (closedloop control) RAP RED XCP ARED BLUE 4. Різновиди механізму RED Евристичні На основі потоку На основі внутрішніх властивостей TCP На основі швидкості передачі 1993 1997 1999 2001 2002 Різновиди механізму RED • RED з агрегованим контролем: Алгоритм RED зі стабілізацією (Stabilized RED, SRED); Випадкове експоненціальне маркування (Random Exponential Marking, REM); Алгоритм RED з двійковою лінійною функцією відкидання пакетів з різними нахилами (Double Slope RED, DSRED); • RED з урахуванням різних типів трафіку: Справедливий алгоритм RED (Fair RED, FRED); Алгоритм RED зі справедливою буферизацією (Fair Buffering RED, FBRED). • RED з порогом на основі класів трафіку: Алгоритм RED з порогами на основі класу (Class based threshold RED, CBT-RED); Алгоритм RED з балансуванням (Balanced RED, BRED); Алгоритм BLUE зі стохастичною справедливістю (Stochastic Fair BLUE, SFBLUE). 5. RED в ATM-мережах Середній розмір черги обчислюється за формулою: середній_розмір_очереді = (попередній_средній_розмір х (1 - 1/2n) + + (поточний_розмір_черги х 1/2n), де n - це експоненціальний ваговий коефіцієнт, який визначається адміністратором. n qav qold (1 2 ) qcur 2 n RED в ATM-мережах Якщо середня довжина черги QueueLength менше або дорівнює мінімально допустимому значенню порога спрацювання MinThreshold алгоритму RED (QueueLength<MinThreshold), то чарунка будет обслужена ATM-комутатором. Якщо середня довжина черги QueueLength знаходиться всередині деякого визначеного діапазону (MinThreshold < QueueLength < MaxThreshold), то RED почне відкидати деякі чарунки випадковим чином. RED в ATM-мережах Імовірність відкидання пакетів : Pa=Pb/(1-Count • Pb), (1) при Pb=Pmax•(QueueLength-MinThreshold)/(MaxThresholdMinThreshold)•PacketSize/MaxPacketSize, (2) де Pmax - максимальна ймовірність відкидання комірок; Count - кількість чарунок, поміщених в чергу з моменту останнього відкидання; PacketSize - довжина пакету протоколу, інкапсульованого в ATM; MaxPacketSize - максимальна довжина пакету, інкапсульованого в ATM. RED в ATM-сетях Если средняя длина очереди QueueLength больше или равна максимально допустимому значению MaxThreshold (QueueLength > MaxThreshold), то поступившая на вход коммутатора ячейка обязательно будет отброшена. Как видно из формул (1) и (2), вероятность отбрасывания ячеек Pa зависит от размеров инкапсулированных пакетов. Следовательно, большие пакеты (например, при перекачке файлов по протоколу FTP) будут уничтожатся чаще, чем маленькие (например, передаваемые по telnet). В сетях ATM используются две модификации алгоритма RED: C-RED (Cell-RED) работает с каждой ячейкой, P-RED (Packet-RED) – с группой ячеек, образующих AAL5 PDU*. * Протокольным блоком данных уровня (protocol data unit - PDU) называются фрагменты информации, пересылаемые между одноранговыми объектами уровня двух систем. С-RED и Р-RED в ATM-сетях Алгоритм C-RED учитывает каждую отдельную ячейку и, таким образом, имеет полную картину состояния сети в каждый момент. Недостаток данного алгоритма – сложность его реализации при работе на больших скоростях. В высокоскоростных сетях ATM процедура пересчета средней длины очереди QueueLength при появлении каждой новой ячейки может оказаться достаточно сложной и дорогостоящей, поэтому в них обычно используется P-RED. Алгоритм P-RED работает с группой ячеек, которые образуют один пакет, инкапсулированный в ATM (например, IP-пакет). Пересчет средней длины очереди осуществляется для всех ячеек пакета только один раз – в момент поступления первой ячейки. P-RED не является таким гибким, как C-RED, но зато вполне может быть реализован на самых высокоскоростных каналах. Недостатки RED в ATM-сетях Среди недостатков алгоритма RED при работе в сети ATM нужно отметить следующий. RED сбрасывает только одну или несколько ячеек из тех, которые образуют исходный пакет. Передача по сети остальных ячеек (неполного пакета) продолжается, они будут уничтожены только в приемнике на уровне адаптации AAL5. Эту проблему позволяет решить алгоритм Partial Packet Discard - PPD, который обеспечивает удаление неполных пакетов. В алгоритме RED вероятность уничтожения пакета является функцией от его размера – см. формулы (1) и (2). Размеры передаваемых пакетов определяются динамически в процессе передачи через ATM-коммутатор. В AAL5 границы пакета определяются значением поля PTI в заголовке ячейки, помечающего последнюю ячейку пакета. Поскольку определить размер еще не принятого пакета нельзя, его считают равным размеру последнего пакета, принятого по данному виртуальному каналу. Таким образом, удается использовать зависимость вероятности уничтожения ячейки от количества ячеек, образующих исходный пакет AAL5 PDU, т. е. от размера пакета (что не имеет места в алгоритме EPD). В случае широкого диапазона колебаний нагрузки алгоритм RED может не отреагировать на переполнение буферов, поэтому он обычно применяется совместно с алгоритмом EPD. Последний осуществляет не выборочное уничтожение одной ячейки, а сброс целого пакета, что позволяет резко снизить нагрузку на ATM-коммутатор. Структурная схема работы совместно реализованных алгоритмов P-RED и EPD Схема работы совместно реализованных алгоритмов P-RED и EPD 1. При появлении ячейки ATM-коммутатор анализирует (используя поле PTI заголовка), является ли она первой ячейкой пакета AAL5 PDU. Если ячейка является началом пакета, ATM-коммутатор пересчитывает среднюю длину очереди QueueLength (как уже было отмечено, в алгоритме P-RED пересчет длины очереди осуществляется только для первой ячейки пакета). 2. Если длина очереди меньше либо равна минимальному порогу срабатывания алгоритма RED (QueueLength<MinThreshold), то данная и все последующие ячейки, принадлежащие данному пакету, будут по мере поступления обслужены ATM-коммутатором. Если средняя длина очереди QueueLength находится в пределах MinThreshold<QueueLength<MaxThreshold, то подсчитывается вероятность отбрасывания ячеек Pa, система переходит в состояние отброса ячеек и осуществляет сброс поступающих ячеек с частотой, определяемой вероятностью Pa. Основным достоинством алгоритма RED является возможность подсчета для каждого виртуального соединения вероятности потерь ячеек в зависимости от размера пакетов (AAL5 PDU), передаваемых по данному виртуальному соединению. Чем больше пакеты, тем выше вероятность их уничтожения. Это позволяет справедливо распределять полосу пропускания между потоками данных различных пользователей, чего нельзя достичь, используя алгоритмы EPD/PPD самостоятельно, а не совместно с RED. 3. Наконец, если длина очереди превосходит предельно допустимое значение MaxThreshold (QueueLength>MaxThreshold), то сразу же включается алгоритм EPD, способный достаточно быстро и эффективно снять перегрузку путем одновременного удаления большого числа ячеек.