REFERATUA.ORG.UA — База українських рефератів



Головна Інформатика, комп'ютери, програмування → Технологія ATM та алгоритм RED

потребує спеціальної обробки як в FDDI.

Алгоритм RED: червоне світло для зайвих пакетів

Якщо вже було згадано про біт CLP (Cell Loss Priority), який визначає можливість відкидання даної чарунки у випадку напруженого трафіку, то доречною буде і розповідь про так званий алгоритм RED або Random Early Detection (Своєчасне знаходження перевантаження).

Дуже широко застосовується для передачі трафіка локальних мереж і Internet зазначений вище тип сервісу UBR (клас D), що зумовлено його простою реалізацією. До трафіка не пред'являються які-небудь жорсткі вимоги і мережа просто передає стільки даних користувача, скільки може. Відповідно "поведінка" трафіка в мережі ATM стає неконтрольованою, що призводить до небажаних наслідків, таких як перевантаження і втрата даних.

Для поліпшення функціональних можливостей UBR в нього було введено ряд механізмів керування трафіком, в тому числі EPD (раннє відкидання пакетів) та PPD(відкидання залишків пакетів). Даний тип сервісу отримав назву UBR+. Крім того існує ще так званий алгоритм RED. Спочатку він був запропонований для пакетних мереж: він добре себе зарекомендував при роботі с протоколом TCP.

RED в мережахTCP/IP

TCP – протокол, що орієнтований на з'єднання, в зв'язку з чим він має ряд особливостей. TCP починає свою роботу з процедури встановлення з'єднання і узгодження (синхронізації) основних параметрів, таких як розмір вікна підтвердження та максимальний розмір пакету. Після синхронізації TCP відразу посилає стільки пакетів, скільки допускає розмір вікна підтвердження.

Подібний вибух навантаження не є небезпечним для швидкісних мереж. Проте в комплексних мережах, де можуть існувати низькошвидкісні ділянки і перевантажені комутатори, непередбачена поява великої кількості пакетів може призвести до істотного зниження пропускної здатності (що зумовлено втратами трафіка і наступною його ретрансляцією). В сучасних реалізаціях протоколу TCP уникнути цих неприємностей дозволяє механізм SlowStart.

У випадку використання Slow Start протокол TCP, після синхронізації пакетів, спочатку відсилає один пакет, потім (коли отримано підтвердження на його доставку) – два, чотири, і так до тих пір, поки кількість пакетів, що передаються одночасно, не буде відповідати розмірам вікна підтвердження. При втраті хоча б одного з пакетів джерело починає процедуру Slow Start знову. В різних реалізаціях TCP (TCP Tahoe, TCP Reno) кількість пакетів, з якої починається передача, і коефіцієнт збільшення кількості пакетів можуть динамічно залежати від часу поширення пакетів (Round-trip time – RTT). Це дає можливість адекватно реагувати на стан мережі.

Алгоритм RED дозволяє контролювати навантаження мережі за допомогою вибіркового випадкового знищення деяких пакетів, що спонукає протоколи, схожі на TCP, зменшувати швидкість передачі. При втраті хоча б одного пакету протокол TCP починає процедуру Slow Start спочатку: це знижує об'єм трафіку, що надходить в мережу. Найдоцільніше не чекати повного перевантаження мережі (тоді буде видалений весь трафік), а вже на підступах до небезпечної ділянки вибірково знищувати окремі пакети, інформуючи тим самим джерела навантаження про поточну пропускну здатність мережі.

Крім того, алгоритм RED в мережах TCP/IP допомагає позбавитись від проблеми, відомої під назвою "тотальна синхронізація". Вона виникає, коли декілька джерел, що працюють через один і той же перевантажений сегмент мережі, дізнаються про втрати пакетів. Як наслідок, ці джерела одночасно зменшують швидкість, а потім одночасно її нарощують, що призводить до нового перевантаження і втрачання пакетів. Таким чином, стан мережі періодично змінюється від простою до перевантаження.

RED дозволяє запобігти тотальній синхронізації, вибірково знищуючи пакети певних джерел. А оскільки за чисто ймовірнисних причин великі пакети знищуються частіше ніж малі, то можна сподіватися на справедливий розподіл смуги пропуску. Звичайно, селективне знищення пакетів приводить до подібного результату, тільки коли джерело має який-небудь інтелектуальний механізм контролю за швидкістю передачі.

RED в мережах ATM.

Все вищезазначене відноситься і к роботі протоколу TCP через ATM. Тому алгоритм RED можна ефективно використовувати для керування передачею трафіка TCP/IP в мережах ATM. Крім того, в мережах ATM він використовується в якості механізму керування трафіком, що доповнює вже існуючі методи.

Керування трафіком є ключовим компонентом стабільної роботи ATM-мереж. В загальному випадку є два типи керування: превентивний та адаптивний.

Превентивний контроль базується на дотриманні трафік-контракту. Джерело трафіка повинно відповідати заздалегідь визначеним рамкам якості обслуговування за допомогою, наприклад, широковідомих механізмів контролю Leaky Bucket та Virtual Scheduling. Превентивний контроль застосовується в основному для CBRервіс класу A) та VBR (сервіс класу B), в яких характеристики трафіку відомі або піддаються прогнозуванню.

Адаптивний контроль заснований на використанні вільної смуги пропуску. Звичайно він реалізується для ABR (сервіс класу C) та UBR (сервіс класу D), які не мають жорстких вимог до якості обслуговування. Адаптивний контроль здійснюється за допомогою зворотнього зв'язку між джерелом та комутатором ATM, який може бути явним (для передачі інформації про перевантаження використовуються спеціальні чарунки, як в ABR) або прихованим (поведінка джерела трафіка змінюється у відповідності до змін поведінки мережі).

Алгоритм RED в мережах ATM використовує прихований зворотній зв'язок для повідомлення про перевантаження шляхом вибіркового знищення чарунок користувача. Замість того, щоб чекати перевантаження і переповнення буферу, наслідком чого стане знищення всіх даних, що надходять, RED знищує частину чарунок. Їх кількість і частота знищення визначаються параметром, що має назву ймовірність знищення. Цей параметр розраховується кожен раз у відповідності до поточного стану ресурсів ATM-комутатора, тобто фактично визначається довжиною черги на обслуговування трафіка в ATM-мережі.

Середня довжина черги (QueueLength) визначається так:

QueueLength=(1-1/2n)*PreviousQueueLength+CurrentQueueLength*1/2n.

Тут PreviousQueueLength – довжина черги на попередньому підрахунку; CurrentQueueLength – поточна довжина черги; n – ваговий коефіцієнт (n>=1), який визначає адміністратор мережі з наступних міркувань.

Якщо n має мале значення, середня довжина черги QueueLength фактично визначається поточною довжиною черги CurrentQueueLength. Тоді алгоритм RED чітко і швидко реагує на будь-які зміни поточної довжини черги, що дозволяє ATM-комутатору практично миттєво позбавитись від зайвих чарунок при найменшій загрозі перевантаження. Проте при дуже малих значеннях n RED почне необгрунтовано скидувати чарунки навіть при невеликих часових збільшеннях черг, які


 
Загрузка...