Рисунок 3 – Графік імовірності відкидання пакета при використанні механізму WRED
Якщо ж потік трафіка не перевищує справедливої частки ресурсів з урахуванням коефіцієнта масштабування, то ненульова імовірність відкидання пакета розраховується за стандартним методом (2).
Коли середній розмір черги перевищує максимальне граничне значення
> , механізм WRED на основі потоку відкидає всі пакети, призначені для постановки в чергу.4. Механізм явного повідомлення про перевантаження ECN
Механізм явного повідомлення про перевантаження (Explicit Congestion Notification, ECN) замість відкидання пакета використовує відповідне маркування заголовка пакета. Для реалізації механізму явного повідомлення про перевантаження в заголовку IP-пакета виділяється спеціальне ECN-поле довжиною два біта (рис. 4).
Рисунок 4 – Заголовок IP-пакета (RFC 3168)
Установка джерелом ТСР-з'єднання біта ЕСТ (ECN-Capable Transport, транспортування даних з підтримкою поля ECN) вказує на здатність кінцевих пристроїв транспортного протоколу до інтерпретації поля ECN. Біт СЕ (Congestion Experienced – виявлена помилка) установлюється маршрутизатором з метою повідомлення кінцевих вузлів з'єднання про перевантаження мережі.
Приклад використання механізму ECN наведений на рис. 5. Для успішної роботи механізму ECN TCP-джерело і TCP-одержувач мають повідомити один одного про підтримку поля ECN. З цією метою TCP-джерело встановлює в заголовку пакета біти ECN у 01 (або 10) і передає пакет (крок 1 на рис. 5). Якщо TCP-джерело не підтримує механізм ECN, то відповідні біти будуть встановлені в нулі (ECN=00). Припустимо, на маршрутизаторі R1 з метою запобігання перевантажень використовується механізм WRED, і він випадково обрав саме цей переданий пакет для відкидання. Однак, знайшовши значення ECN=01, маршрутизатор не відкине пакет, а замінить значення поля ECN на 11 – сигнал про перевантаження – і передасть пакет далі (крок 2).
Пакет досягає TCP-одержувача (крок 3), де аналізується значення поля ECN. Значення ECN=11 сигналізує про наявність у мережі перевантаження в напрямку від TCP-джерела до TCP-одержувача, а значить про необхідність звуження TCP-джерелом розміру вікна перевантаження. TCP-одержувач повідомляє отриману інформацію про стан мережі шляхом установки в TCP-заголовку нового пакета спеціального прапорця явного виявлення перевантаження (Explicit Congestion Experienced, ECE) (крок 4). Відзначимо, що зміст бітів ECN на кроці 4 неважливий, тому що цей пакет використовується для повідомлення TCP-джерела про перевантаження і необхідність звуження розміру TCP-вікна. Даний пакет проходить через маршрутизатор (крок 5) і досягає TCP-джерела (крок 6), який у відповідь на прапорець ECE зменшує розмір вікна перевантаження (congestion window, CWND) у два рази. Для повідомлення TCP-одержувача про зміни розміру вікна в новому пакеті, що направляється до TCP-одержувача, встановлюється прапорець CWR (Congestion Window Reduced – розмір вікна зменшений) (крок 7).
Рисунок 5 – Приклад використання механізму ECN для зменшеннявікна перевантаження CWND
5. Механізм вибіркового відкидання пакетів SPD
трафік перевантаження синхронізація мережа
Механізм вибіркового відкидання пакетів (Selective Packet Discard, SPD) потрібний для відділення важливого управляючого трафіка мережі (наприклад, пакетів з відновленням інформації про маршрути) від іншого трафіка на рівні маршрутизатора. Механізм SPD допомагає маршрутизаторові підтримувати цілісність інформації про маршрути протоколів IGP і BGP під час перевантаження мережі шляхом пріоритетної обробки пакетів протоколів маршрутизації відносно пакетів іншого мережного трафіка.
Відповідно до механізму SPD до черги IP-процесу маршрутизатора застосовується вибіркова політика відкидання пакетів. Пакети трафіка, які потребують обробки у вхідній черзі IP-процесу, розділені на три групи:
• важливий управляючий трафік IP (пакети протоколу маршрутизації), який часто називається пріоритетним трафіком (priority traffic;
• звичайний IP-трафік (наприклад, пакети аплікацій telnet або ping), IP-пакети з альтернативами, а також будь-яке розширення або інкапсуляція IP, які не підтримуються механізмом прискореної комутації CEF;
• пакети, що необхідно відкинути.
До останньої групи належать IP-пакети, які за тих або інших обставин не пройшли тест на коректність, – пакети з невірною контрольною сумою, неправильною версією, з "часом життя" (Time-to-Live, TTL), що минув, невірним номером порту UDP/TCP, невірним значенням поля протоколу IP і т.д. При одержанні більшості з цих пакетів автоматично генерується ICMP-пакет (Internet Control Message Protocol – протокол управляючих повідомлень Internet) з метою повідомлення джерела про помилку. Невелика кількість ICMP-пакетів генерується деякими службовими програмами, такими, як traceroute. Слід зазначити, що великий обсяг ICMP-трафіку може бути частиною атаки зловмисників, що намагаються вивести з ладу маршрутизатор шляхом переповнення черги IP-процесу. Отже, стає очевидною необхідність вибіркового відкидання цих пакетів без утрати важливої управляючої інформації.
У рамках механізму SPD, аналогічно RED, уводяться параметри
і – мінімальне і максимальне граничні значення завантаження черг відповідно. Від співвідношення величини поточної довжини вхідної черги і введених граничних значень залежить режим функціонування механізму SPD. У цілому механізм SPD може функціонувати в таких режимах:• відключений (Disabled);
• нормальний режим функціонування (Normal):
< , в якому пакети не відкидаються;• режим випадкового відкидання пакетів (Random drop):
< < , відкидаються всі IP-пакети, що належать звичайним потокам трафіку. Імовірність відкидання пакетів розраховується за формулою . Випадкові відкидання пакетів одержали назву SPD-скидань (SPD flush). Слід зазначити, що важливий управляючий трафік мережі як і раніше ставиться в чергу для обробки;• режим тотального відкидання пакетів (Full drop):
> , в якому механізм SPD відкидає всі пакети, що належать звичайним потокам трафіка. Важливий управляючий трафік усе ще ставиться на обробку в спеціальну пріоритетну чергу (priority queue), що обробляється перед усіма звичайними чергами IP-процесу;• режим активного відкидання пакетів (Aggressive drop). Спеціальний режим, за якого відкидаються всі IP-пакети, що не пройшли перевірку на коректність. Відкидання некоректних пакетів відбувається, коли розмір вхідної черги перевищує мінімальне граничне значення (
> ).Усі режими функціонування механізму виборчого відкидання пакетів SPD схематично подані на рис. 6.
Рисунок 6 – Режими функціонування механізму SPD