Керування трафіком на мережевому рівні.
У процесі передачі даних у мережі виникають ситуації, при яких зовнішнє навантаження є більшим від навантаження, що може бути обслуговане навіть за оптимальної маршрутизації. Без прийняття певних заходів для обмеження вхідного трафіка розміри черг на найбільш навантажених лініях необмежено зростатимуть і, зрештою, перевищать розміри буферів у відповідних вузлах. У такому разі пакети, що надходять у вузли і для яких немає вільного місця у буфері, будуть втрачені і пізніше передані повторно, що призведе до марного навантаження ліній зв’язку. Внаслідок цього зі збільшенням навантаження дійсна пропускна здатність мережі зменшується, а затримка пакету стає неприйнятно великою. Отже, для уникнення перевантаження потрібно не допускати у мережу якусь частину трафіка. Це є функцією алгоритмів керування потоками.
Найчастіше питання керування потоком виникає, коли через обмежену пропускну здатність лінії зв’язку або самого вузла існує обмеження на швидкість передачі між двома вузлами. Задача керування потоком у більшості випадків вирішується на мережевому (між двома вузлами мережі) і транспортному (між двома споживачами мережевих послуг) рівнях.
Основними цілями керування потоком є такі:
· досягнення компромісу між утриманням середньої затримки повідомлення у визначених межах і обмеженням прав користувачів;
· дотримання справедливості стосовно всіх користувачів у разі обмеження трафіка, що надходить до мережі.
Тут важливо відзначити, що зменшення затримки передачі пакетів на мережевому рівні може спричинити збільшення загальної затримки передачі. Обмеження вхідного трафіка призводить до того, що під час перевантаження мережі пакети накопичуються не у чергах усередині мережі, а поза нею. Тим самим затримка передачі пакетів зміщується з мережевого на більш високі рівні. Задача керування потоком насамперед полягає у тому, щоб запобігти виникненню критичних перевантажень у мережі, здатних знизити продуктивність. Єдиний спосіб зменшити затримку передачі для кінцевого споживача — гарантувати, що потреба в обмеженні трафіка, що надходить, і, отже, у зниженні загальної швидкості передачі пакетів не буде виникати занадто часто. За обмеження вхідного трафіка відбуваються втрати пакетів, унаслідок чого виникає необхідність повторної їх передачі. Зі збільшенням навантаження у мережі зростають і затримки підтвердження одержання пакетів, що також може призвести до повторної передачі пакетів. При великій кількості повторно переданих пакетів мережеві ресурси витрачаються непродуктивно, що веде до істотного зменшення реальної пропускної здатності мережі і її перевантаження.
З іншого боку, у разі обмеження вхідного трафіка мережі важливо забезпечити дотримання справедливості стосовно всіх користувачів, але з урахуванням класів пріоритетів користувачів. При цьому виникає питання досягнення компромісу між справедливістю та обмеженням прав користувачів, трафік яких найбільше позначається на сумарному потоці. Багато схем керування трафіком, що прагнуть максимізувати використання сумарної пропускної здатності мережі, найчастіше дискримінують окремі категорії користувачів, тим самим створюючи вразливі місця для потенційних порушників.
Найширшого застосування при регулюванні навантаження у мережі набуває механізм віконного керування потоком. Під час передачі між передавачем T і приймачем R визначається максимальна кількість одиниць даних, що можуть бути передані передавачем T без підтвердження про одержання з боку приймача R. Це значення називається розміром вікна або просто вікном (рис. 9.6).
Рис. 9.6. Керування потоком за допомогою механізму вікна змінного розміру
Приймач R повідомляє передавач T про одержання одиниці даних, відправивши спеціальне повідомлення, яке називається підтвердженням (часто також вживаються терміни дозвіл, квитанція). Після одержання підтвердження передавач T може відіслати ще одну одиницю даних приймачу R. Кількість підтверджень, що використовуються, не повинна перевищувати розміру вікна.
Підтвердження можуть подаватися спеціальними керуючими пакетами або поєднуватися зі звичайними інформаційними пакетами. Керування потоком здійснюється відносно одного віртуального каналу, групи віртуальних каналів (наприклад, по всіх віртуальних каналах, що використовують той самий шлях) або всього потоку пакетів, що проходять через один вузол і адресовані іншому вузлу. Передавачем і приймачем можуть бути, наприклад, два вузли мережі зв’язку або термінал користувача і вхідний вузол мережі зв’язку. Нарешті, одиницями даних у вікні можуть бути повідомлення, пакети або байти.
Основна ідея цього способу керування потоком — зменшення інтенсивності вхідного трафіка у передавача за уповільнення повернення підтверджень. Отже, якщо на маршруті передачі виникають перевантаження, то супутнє збільшення затримки підтверджень призводить до природного зменшення інтенсивності передачі даних. Проте віконна стратегія допускає ще одну можливість: приймач може навмисне затримати відправлення підтвердження для того, щоб обмежити інтенсивність передачі для даного потоку. Це може використовуватися для запобігання переповненню буферного простору мережевих комунікаційних вузлів.
Даний метод має два різновиди — наскрізне віконне керування, при якому керування потоком здійснюється між вхідним і вихідним вузлами мережі для деякого потоку даних, і повузлове віконне керування — між кожною парою вузлів у деякому віртуальному каналі (рис. 9.7).
Для встановлення відповідності між отриманими підтвердженнями і раніше переданими блоками даних зазвичай використовується деяка схема нумерації пакетів і підтверджень. У цьому разі кожен блок даних (пакет) має містити порядковий номер і наступний очікуваний номер. Наприклад, припустимо, що вузол-відправник T отримав від вузла-одержувача R пакет з наступним очікуваним номером k.
Рис. 9.7. Наскрізне та повузлове керування
Це вказує, що одержувач R прийняв усі пакети, надіслані відправником T з номерами, меншими від номера k, і тому вузлу T надається можливість надіслати ті пакети, номери яких не перевищують k + W – 1, де W — розмір вікна. У такій схемі обидва числа — порядковий номер і наступний очікуваний номер — подані за модулем m, де т ≥ W + 1.
Вважатимемо, що всі пакети мають однаковий час передачі й однакову затримку підтвердження. Тоді передача даних у межах вікна буде здійснена за час W*X, де Х — час передачі одного пакета. Якщо затримка підтвердження d не перевищує цього значення, тобто d £ W*X, то відправник має можливість передавати пакети з повною швидкістю, що дорівнює 1/Х пакетів/с, і керування потоком у даному разі не здійснюється.
Якщо затримка підтвердження d виявляється настільки великою, що всі W пакетів будуть передані до моменту повернення першого підтвердження, то передача припиняється. За умови, що у черзі відправника завжди перебуває пакет, який очікує, швидкість передачі можна вважати такою, що дорівнює W/d пакетів/с. Отже, швидкість передачі відправника зменшується у відповідь на перевантаження і властиві їм великі затримки.
При наскрізному керуванні потоком розмір вікна у загальному випадку можна визначити як W*A, де W і A — деякі додатні числа. Щораз, коли блок з A одиниць даних доходить до вузла-одержувача, відправникові відсилається підтвердження, яке є дозволом на передачу нового блоку з A одиниць даних. У деяких варіантах цієї схеми приймач відсилає підтвердження відразу після одержання першої одиниці з блоку (як визначено, наприклад, в архітектурі SNA). Значення A може вибиратися у межах від одиниці до N, отже, підтвердження може формуватися або на кожну одиницю даних, або одночасно на кілька (групове або вибіркове підтвердження). Це дає змогу зменшити кількість підтверджень, що циркулюють у мережі, зберігши якість механізму керування потоком. Підтвердження може відправлятися після отримання останнього блоку або відразу після отримання першого. У другому випадку пропускна здатність мережі за умови безпомилкової передачі використовується ефективніше, адже розмір вікна фактично подвоюється. Але разом з тим такому підходу властивий істотний недолік, а саме ускладнення процедури повторної передачі пакетів у разі їх пошкодження або втрати під час передачі.
Для досягнення прийнятного співвідношення між затримкою передачі та інтенсивністю потоків потрібно забезпечити динамічну зміну розміру вікон. В умовах малого навантаження розмір вікна може бути великим, що дасть змогу безперешкодно здійснити передачу, а в умовах великого навантаження розмір вікна має бути трохи зменшений (вікно «прикрите»), для того щоб затримка не зростала до неприйнятних значень.
Наскрізне керування за допомогою механізму вікна також може негативно позначатися на справедливості стосовно всіх користувачів у разі обмеження трафіка, що надходить у мережу. Потоки відрізняються відстанню, на яку ведеться передача, розмірами вікна, інтенсивністю надходження пакетів. Отже, вони різною мірою впливають на перевантаження, що виникає у мережі. За обмеження вхідного трафіка ці аспекти мають враховуватися алгоритмами планування і керування чергами пакетів у буферах комунікаційних пристроїв. Для підвищення ефективності механізму вікна можуть вводитися пріоритетні дисципліни обслуговування черг пакетів. При цьому виникає потреба ідентифікації пакета і віднесення його до певного класу обслуговування, що найчастіше пов’язано з необхідністю передачі і збереження відповідної інформації для пакетів кожного з потоків даних та призводить до виникнення додаткових накладних витрат і збільшення складності механізму керування.
При повузловому віконному керуванні для кожного віртуального каналу і кожної пари суміжних вузлів визначається окреме вікно. Багато з того, що було сказано стосовно наскрізного керування, можна застосувати і до цієї стратегії. Основна ідея повузлової схеми полягає у тому, що приймач R може уникнути перевантаження і нагромадження великої кількості пакетів у буфері завдяки зменшенню швидкості, з якою повертаються підтвердження передавачу T. Вважатимемо, що приймач має буфер, в який можна записати W пакетів для кожного віртуального каналу. Приймач повертає підтвердження передавачу тільки тоді, коли у буфері достатньо вільного місця для збереження наступного пакета.
Суміжні вузли впливають один на одного, що особливо проявляється під час перевантажень. Розглянемо взаємодію трьох суміжних вузлів (i – 1, i та i + 1) у віртуальному каналі. Якщо буфер вузла i заповнений, то підтвердження вузлу (i – 1) буде відправлено тільки після відправлення чергового пакета вузлу(i + 1), а це у свою чергу відбудеться тільки після одержання підтвердження вузлом i від вузла (i + 1).Отже, відбувається послідовне зчеплення вікон у віртуальному каналі. І у разі виникнення перевантаження буфер вузла, від якого йде потік по перевантаженій лінії, заповниться для кожного віртуального каналу, що проходить цією лінією (вікно «закриється»). Як наслідок, буфери всіх вузлів, що знаходяться вище за напрямком потоку від перевантаженої лінії, поступово заповнюватимуться. Це явище називається зворотним тиском.
Перевагою повузлового віконного керування є те, що у разі виникнення перевантаження пакети рівномірно розподіляються вздовж віртуального каналу, тоді як за наскрізного керування вони зосереджуються біля перевантаженої ділянки. Внаслідок цього об’єм пам’яті, необхідний кожному вузлу для запобігання переповненню буфера, може істотно зменшитись.
Дата добавления: 2015-08-11; просмотров: 1386;