Лекція 19. Якість обслуговування QoS
QoS (Quality of service, укр. Якість обслуговування), у широкому значенні — якість послуг, які надає комунікаційна мережа.
У вузькому технічному значенні в IT, цей термін означає - набір методів для управління ресурсами пакетних мереж.
QoS є необхідним для пакетних мереж, які використовуються для сервісів працюючих у режимі реального часу, насамперед VoIP. Мережеві протоколи, які обслуговують сервіси реального часу є чутливими до якості обслуговування, а саме до втрати пакетів даних, затримок у передачі пакетів та нерівномірності цих затримок.
Найпростішим, але найдорожчим методом гарантування необхідної якості обслуговування є використовування каналів зв'язку з високою пропускною смугою. Суть інших методів полягає у пріоритетному наданні ресурсів мережі трафіку чутливих протоколів за рахунок протоколів, яким не потрібна висока якість обслуговування, наприклад: FTP, HTTP.
19.1. Механізм роботи
Для більшості випадків якість зв'язку визначається чотирма параметрами:
- Пропускна смуга (Bandwidth) — описує доступну пропускну здатність каналу зв'язку. Виміряється у бітовій швидкості — bit/s (bps), kbit/s (kbps), Mbit/s (Mbps).
- Затримка при передачі пакета (Delay), виміряється в мілісекундах.
- Джітер (Jitter) — нерівномірність затримок (Delay variation) при передачі пакетів.
- Втрата пакетів (Packet loss) — визначає кількість пакетів, загублених у мережі під час передачі.
Для простоти розуміння канал зв'язку можна представити у вигляді умовної труби, а пропускну здатність описати як функцію двох параметрів: ширини труби і її довжин.
Коли передача даних зіштовхується із проблемою «вузького місця» для прийому й відправлення пакетів на роутерах звичайно використається метод FIFO: перший прийшов — перший пішов (First In — First Out). При інтенсивному трафіку це створює затори, які вирішуються вкрай простим чином: всі пакети що не ввійшли до черги FIFO (на вхід або на вихід) ігноруються роутером, і відповідно губляться безповоротно. Розумніший метод — використати «розумну» чергу, у якій пріоритет у пакетів залежить від типу сервісу — ToS (Type of Service). Необхідна умова: пакети повинні вже нести мітку типу сервісу для створення «розумної» черги. Звичайні користувачі найчастіше зіштовхуються з терміном QoS у домашніх роутерах з підтримкою QoS. Наприклад досить логічно дати високий пріоритет VoIP пріоритет і низький — пакетам FTP, SMTP і клієнта файлообмінної мережі.
19.2. Моделі QoS
Негарантована доставка — Best Effort Service
Наявність марки ToS Best Effort Service не є механізмом тонкого регулювання, і є ознакою простого збільшення пропускної здатності без якого-небудь виділення окремих класів трафіка й регулювання.
Інтегрований Сервіс — Integrated Service (IntServ)
Згідно з RFC 1633, модель інтегрованого обслуговування забезпечує наскрізну (англ. End-to-End) якість обслуговування, гарантуючи необхідну пропускну здатність. IntServ використовує для своїх цілей протокол сигналізації RSVP, що забезпечує виконання вимог до всіх проміжних вузлів. У відношенні IntServ часто використається термін — резервування ресурсів (англ. Resource reservation).
Диференційоване обслуговування — Differentiated Service (DiffServ)
Описана в RFC 2474 і RFC 2475. Забезпечує QoS на основі розподілу ресурсів у ядрі мережі й певних класифікаторів й обмежень на границі мережі, комбінуючих з метою надання необхідних послуг. У цій моделі вводиться поділ трафіка по класах, для кожного з яких визначається свій рівень QoS. DiffServ складається з керування формуванням трафіка (класифікація пакетів, маркування, керування інтенсивністю) і керування політикою (розподіл ресурсів, політика відкидання пакетів). DiffServ є найбільш підходящим прикладом «розумної» пріоритезації трафика.
19.3. Застосування, що вимагають QoS
Певна якість обслуговування може знадобитися для низки мережних застосунків, зокрема:
- потокові мультимедіа-застосування вимагають гарантованої пропускної здатності каналу
- VoIP і відеоконференеції вимагають невеликих значень джіттера і затримки
- низка застосувань, наприклад як віддалена хірургія, вимагають гарантованого рівня надійності
VoIP (voice over IP — голос через IP) — технологія передачі медіа-даних у реальному часі за допомогою сімейства протоколів TCP/IP. IP-телефонія — система зв'язку, в якій аналоговий звуковий сигнал абонента дискретизується (кодується в цифрову форму), компресується й пересилається цифровими каналами зв'язку до іншого абонента, де проводиться зворотна операція — декомпресія, декодування й відтворення аналогового сигналу.
Частина протоколів із сімейства VoIP затверджується Інтернет-співтовариством як RFC (request for comments), частина — міжнародними організаціями (IETF тощо).
Основу технології VoIP складає протокол RTP (англ. real time protocol — протокол реального часу) RFC 1889 чи RFC 3550, надбудований над протоколами UDP/IP, а також протоколи (методи) кодування медіа-даних (для кодування голосу — це протоколи G.711, G.723, G.729, GSM, Speex та інші, для кодування відео — протоколи RFC).
Існують розширення (профілі) протоколу RTP, наприклад, SRTP (secure RTP), (RFC 1890, RFC 2198, RFC 3711 тощо).
Протоколи забезпечують реєстрацію IP-пристрою (шлюз, термінал або IP-телефон) на сервері або гейткіпері провайдера, виклик і/або переадресацію виклику, встановлення голосового з'єднання, передачу імені і/або номера абонента. Зараз широкого поширення набули такі протоколи VoIP:
- SIP — забезпечує передачу голосу, для сигналізації зазвичай використовує порт 5060 UDP;
- H.323 — протокол, більш прив'язаний до систем традиційної телефонії, ніж SIP, сигналізація — через порт 1720 TCP;
- IAX2 — через 4569 UDP-порт передаються і сигналізація, і медіа;
- MGCP;
- SIGTRAN;
- SCTP;
- SGCP;
- Skinny/SCCP;
- Unistim — закритий протокол передачі сигнального трафіку в продуктах компанії Nortel.
Джерело інформаційних даних — мовний сигнал, можливою моделлю якого є нестаціонарний випадковий процес. У першому наближенні можна виділити такі типи сигнальних фрагментів: вокалізування, невокалізування, перехідні і паузи. При передачі мови в цифровій формі кожен тип сигналу при одній і тій же тривалості й однаковій якості вимагає різного числа біт для кодування q передачі. Отже, швидкість передачі різних типів сигналу також може бути різною, що обумовлює застосування кодеків зі змінною швидкістю. В результаті передача мовних даних у кожному напрямі дуплексного каналу розглядається як передача асинхронних логічно самостійних фрагментів цифрових послідовностей (транзакцій) з датаграмною синхронізацією усередині транзакції, наповненої блоками різної довжини.
У основі кодека мови зі змінною швидкістю лежить класифікатор вхідного сигналу, що визначає ступінь його інформативності і, таким чином, задає метод кодування і швидкість передачі мовних даних. Найпростішим класифікатором мовного сигналу є VAD (англ. Voice Activity Detector, детектор мовної активності), який виділяє у вхідному мовному сигналі активну мову і паузи. Фрагменти сигналу, що класифікуються як активна мова, кодуються якимось із відомих алгоритмів (як правило, на базі методу Code Excited Linear Prediction — CELP) із базовою швидкістю 4 — 8 кбіт/с. Фрагменти, класифіковані як паузи, кодуються й передаються з низькою швидкістю (порядку 0.1 — 0.2 Кбіт/с) або не передаються взагалі. Коли спрацьовує VAD, на приймальній стороні може автоматично генеруватися так званий «комфортний шум», щоб у співбесідника не виникало відчуття пропажі зв'язку. При цьому надається перевага передачі мінімальної інформації про фрагменти пауз. Ця стратегія дозволяє оптимізувати швидкість кодування до 2 — 4 кбіт/с при достатній якості мови, що синтезується. При цьому для особливо критичних фрагментів мовного сигналу виділяється велика швидкість передачі, для менш відповідальних — менша.
Вокодер вносить додаткову затримку порядку 15 — 45 мс, що виникає з таких причин:
- використання буфера для накопичення сигналу й обліку статистики подальших відліків (алгоритмічна затримка);
- математичні перетворення, що виконуються над мовним сигналом, вимагають процесорного часу (обчислювальна затримка).
Цю затримку необхідно враховувати при розрахунках повних затримок. Проведений у різних дослідницьких групах аналіз якості передачі мовних даних через мережу Інтернет показує, що основним джерелом виникнення спотворень, зниження якості й розбірливості синтезованої мови є переривання потоку мовних даних, викликане:
- втратами пакетів при передачі через мережу зв'язку;
- перевищенням допустимого часу доставки пакету з мовними даними.
Це вимагає вирішення задачі оптимізації затримок у мережі й створення алгоритмів компресії мови, стійких до втрат пакетів (із відновленнями втрачених пакетів).
19.4. Альтернативне визначення й суб'єктивна оцінка QoS
Іншим методом оцінки якості, особливо в IP-телефонії і IPTV є метричний метод, що відбиває або пророкує суб'єктивно досвідчену якість. Використаються суб'єктивні оцінки й показники типу — «користувач відчував роботу», «ступінь задоволення користувача», «число щасливих клієнтів». Метод зветься Mean Opinion Score (MOS), або Якість виходячи з Досвіду (QoE — quality of experience) — абсолютно суб'єктивне поняття, або Метод Експертних Оцінок. У цьому контексті, QoS — сукупний ефект від задоволення замовника сервісів, що зачіпають всі види обслуговування. Це визначення оцінює відповідний застосунок у вигляді суб'єктивної оцінки й коректується відповідними коефіцієнтами про: час відповіді, наявності й величини провалів, шумів, сторонніх розмов, рівня гучності, частотної характеристики, помітної луни тощо, і також включає суб'єктивну оцінку обслуговування (служба підтримки).