Міф про службу QoS

Немає жодної людини, яка б хоч раз не прочитав який-небудь FAQ по Windows XP. А раз так, то кожен знає, що є така шкідлива служба Quality of Service – скорочено QoS. При налаштуванні системи її настійно рекомендується відключати, тому що вона за замовчуванням обмежує мережеву пропускну спроможність на 20%, і начебто б ця проблема існує і в Windows 2000.


Ось ці рядки:



Q: Як повністю відключити службу QoS (Quality of Service)? Як її налаштувати? Чи правда, що вона обмежує швидкість мережі?
A: Дійсно, за замовчуванням Quality of Service резервує для своїх потреб 20% від пропускної здатності каналу (будь-якого – хоч модем на 14400, хоч гігабітний Ethernet). Причому навіть якщо видалити службу QoS Packet Scheduler з Properties-з'єднання, цей канал не звільняється. Звільнити канал або просто налаштувати QoS можна тут. Запускаємо аплет Group Policy (gpedit.msc). У Group Policy знаходимо Local computer policy і натискаємо на Administrative templates. Вибираємо пункт Network – QoS Packet Sheduler. Включаємо Limit reservable bandwidth. Тепер знижуємо Bandwidth limit 20% до 0% або просто відключаємо його. При бажанні тут же можна набудувати і інші параметри QoS. Для активації зроблених змін залишається тільки перезавантажитися.


20% – це, звичайно, дуже багато. Воістину Microsoft – "Мастдай". Твердження подібного роду кочують з FAQ в FAQ, з форуму на форум, із ЗМІ в ЗМІ, використовуються у всілякого роду "твікалках" – програмах по "налаштування" Windows XP (до речі кажучи, відкрийте "Групові політики" і "Локальні політики безпеки", і ні одна "твікалка" не зрівняється з ними за багатством варіантів налаштування).


Що таке мережа з якісним сервісом?


Давайте приймемо таке спрощене визначення мережевої системи. Додатки запускаються і працюють на хостах і обмінюються даними між собою. Програми відправляють дані операційної системи для передачі по мережі. Як тільки дані передані операційній системі, вони стають мережевим трафіком.


Мережева служба QoS спирається на здатність мережі обробити цей трафік так, щоб гарантовано виконати запити деяких додатків. Це вимагає наявності фундаментального механізму з обробки мережного трафіку, здатного ідентифікувати трафік, що має право на особливу обробку і право управляти цими механізмами.


Функціональні можливості QoS покликані задовольнити двох суб'єктів мережі: мережні програми та мережевих адміністраторів. Вони часто мають розбіжності. Адміністратор мережі обмежує ресурси, використовувані специфічним додатком, в той же час програма намагається захопити якомога більше мережних ресурсів. Їхні інтереси можуть бути узгоджені, беручи до уваги той факт, що мережний адміністратор грає чільну роль по відношенню до всіх програм і користувачам.


Основні параметри QoS


Різні програми мають різні вимоги з обробки їх мережевого трафіку. Додатки в більшій чи меншій мірі терпимі до затримок і втрат трафіку. Ці вимоги знайшли застосування в наступних параметрах, пов'язаних з QoS:



Якщо б були доступні нескінченні мережеві ресурси, то весь трафік програми можна було б передати з необхідною швидкістю, з нульовим часом затримки, нульовим зміною часу затримки і нульовими втратами. Проте мережеві ресурси не безмежні.


Механізм QoS контролює розподіл мережевих ресурсів для трафіку додатки, щоб виконати вимоги по його передачі.


Фундаментальні ресурси QoS і механізми обробки трафіку


Мережі, які пов'язують хости, використовують різноманітні мережеві пристрої включаючи мережеві адаптери хостів, маршрутизатори, свічі та хаби. Кожен з них має мережеві інтерфейси. Кожен мережевий інтерфейс може прийняти і передати трафік з кінцевою швидкістю. Якщо швидкість, з якою трафік спрямований на інтерфейс, вище, ніж швидкість, з якою інтерфейс передає трафік далі, то виникає перевантаження.


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


Здатність мережевих інтерфейсів до пересилання трафіку та наявність пам'яті для збереження трафіку в мережевих пристроях (до тих пір, поки трафік не може бути посланий далі) становлять фундаментальні ресурси, вимагаються для забезпечення QoS для потоків трафіку додатків.


Розподіл ресурсів QoS з мережних пристроїв


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


Для виконання цього завдання мережний пристрій має ідентифікувати трафік шляхом класифікації пакетів, а також мати черги і механізми їх обслуговування.


Механізм обробки трафіку


Механізм обробки трафіку включає в себе:



Більшість локальних мереж базується на технології IEEE 802 включаючи Ethernet, token-ring і ін 802.1p – це механізм обробки трафіку для підтримки QoS у таких мережах.


802.1p визначає поле (рівень 2 у мережевій моделі OSI) у заголовку пакета 802, яке може нести одне з восьми значень пріоритету. Як правило, хости або маршрутизатори, посилаючи трафік в локальну мережа, маркують кожен посланий пакет, привласнюючи йому певне значення пріоритету. Передбачається, що мережеві пристрої, такі, як свічі, мости та хаби, опрацюють пакети відповідним чином, використовуючи механізми організації черг. Область застосування 802.1p обмежена локальною мережею (LAN). Як тільки пакет перетинає локальну мережу (через рівень 3 OSI), пріоритет 802.1p видаляється.


Diffserv – це механізм рівня 3. Він визначає поле в рівні 3 заголовка пакетів IP, названих diffserv codepoint (DSCP).


Intserv – це цілий комплекс послуг, що визначає гарантований сервіс та сервіс, керуючий завантаженням. Гарантований сервіс обіцяє нести певний обсяг трафіку з вимірної і обмеженої затримкою. Сервіс, керуючий завантаженням, погоджується нести певний обсяг трафіку з "появою легкої завантаженості мережі". Це – вимірні послуги в тому сенсі, що вони визначені, щоб забезпечити вимірний QoS до певної кількості трафіку.


Оскільки технологія ATM фрагментірует пакети у відносно маленькі осередки, то вона може запропонувати дуже низький час затримки. Якщо необхідно передати пакет терміново, інтерфейс ATM може завжди звільнятися для передачі на час, що потрібно, щоб передати одну клітинку.


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


Для наочності розглянемо рис. 1.




Програми знаходяться вгорі стека. Вони можуть знати або не знати про QoS. Щоб використовувати всю міць QoS, Microsoft рекомендує використовувати в додатках виклики Generic QoS API. Це особливо важливо для додатків, вимагають високоякісних гарантій обслуговування. Деякі утиліти можуть використовуватися для виклику QoS від імені програм, які не знають про QoS. Вони працюють через API управління трафіком. Наприклад, NetMeeting використовує GQoS API. Але для таких додатків якість не гарантується.


Останній цвях


Вищевикладені теоретичні моменти не дають однозначної відповіді на питання, куди діваються горезвісні 20% (які, зауважу, ніхто ще точно не вимірював). Виходячи з вищесказаного, такого бути не повинно. Але опоненти висувають новий аргумент: система QoS хороша, та реалізація крива. Стало бути, 20% все-таки "віджираються". Мабуть, проблема допекла і софтверного гіганта, оскільки він вже досить давно окремо спростував подібні вигадки.


Втім, дамо слово розробникам і викладемо вибрані моменти з статті "316666 – Windows XP Quality of Service (QoS) Enhancements and Behavior" літературною російською мовою:


"Сто відсотків мережевий смуги пропускання доступні для розподілу між усіма програмами, якщо яка-небудь програма явно не запитує пріоритетну смугу пропускання. Ця" зарезервована "смуга пропускання доступна іншим програмам, якщо програма, яка її зажадала, не відправляє дані.


За замовчуванням програми можуть резервувати до 20% основної швидкості з'єднання на кожному інтерфейсі комп'ютера. Якщо програма, яка резервувала смугу пропускання, не посилає досить багато даних, щоб використати її повністю, невикористана частина зарезервованої смуги пропускання доступна для інших потоків даних.


Були заяви в різних технічних статтях і телеконференціях, що Windows XP завжди резервує 20% доступної смуги пропускання для QoS. Ці заяви невірні ".


Якщо тепер у кого-то все ще "віджираються" 20% смуги пропускання, що ж, я можу порадити і далі використовувати побільше всіляких "твікалок" і кривих мережевих драйверів. Ще й не стільки буде "віджиратись".


Все, міф про QoS, помри!


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*