Ми хотіли б поговорити про Quality of Service (QoS) в VoIP мережах, розповісти що це таке, як це працює, навіщо це потрібно і як це налаштовувати. У цій статті ми розглянемо, які проблеми ми можемо мати в мережі, і як QoS може з ними допомогти.
Для успішного функціонування VoIP мереж голосовий трафік (voice traffic) повинен мати пріоритет над трафіком з даними (data traffic). Quality of Service можна визначити як здатність мережі надати кращий або особливий сервіс для групи користувачів і додатків за рахунок інших користувачів і додатків.
Звучить як то, що як раз необхідно для голосового трафіку - "кращий" сервіс необхідний для VoIP не через високі вимоги по пропускній здатності (VoIP трафік використовує маленьку смугу пропускання, в порівнянні з іншими додатками), а через вимоги по затримці . На відміну від трафіку з даними, час за яке пакет проходить з одного кінця мережі в інший має значення. Якщо пакет з даними при проходженні через мережу випробував затримку (delay), то файловий сервер отримає файл секундою пізніше або сторінка в браузері буде завантажуватися трохи довше, і з точки зору користувача не відбудеться нічого страшного. Однак якщо голосовий трафік проходить по мережі і відчуває затримку, то голоси починають перекриватися (наприклад, абонент починає говорити одночасно з іншим абонентом) і продовжувати розмову стає неможливо.
Щоб побороти ці проблеми потрібно переконатися, що для голосового трафіку підходить не тільки смуга пропускання, але і що голосовий трафік отримує першу доступну смугу. Це означає що якщо пляшкове горлечко (найвужче місце) знаходиться в мережі, де маршрутизатор ставить трафік в чергу, то перед тим як його вислати, маршрутизатор буде переміщати голосовий трафік перед трафіком даних, щоб відправити його в першому доступному інтервалі. І це як раз завдання Quality of Service. QoS, по суті, є не окремим інструментом, а класом інструментів, спрямованих на те щоб дати адміністраторам повний контроль над трафіком всередині мережі. Як і коли використовувати кожен інструмент QoS залежить від вимог до мережі від трафіку і її характеристик.
Розуміння основних проблем
Перед тим як застосовувати QoS, потрібно разораться з тим, які проблеми ми намагаємося вирішити. Розглянемо основні:
- Недолік пропускної здатності (Lack of bandwidth) - Множинні потоки голосового трафіку і трафіку з даними конкурують за обмежену смугу пропускання.
- Затримка (Delay) - Для того щоб пакет дійшов з пункту відправлення в пункт призначення потрібен якийсь час. Затримка має три форми:
- Фіксована затримка (Fixed delay) - Значення затримки, яке не можна змінити. Наприклад, потрібен певний час, щоб пакет дістався до певної географічної локації. Це значення вважається фіксованим і QoS не може вплинути на нього.
- Мінлива затримка (Variable delay) - Значення затримки, які можна змінити. Наприклад, затримка в черзі інтерфейсу маршрутизатора є змінною, тому що вона залежить від того, скільки пакетів знаходиться на даний момент в черзі. На цю затримку можна вплинути поставивши голосові пакети перед пакетами з даними.
- Джиттер (Jitter) - Різниця затримок між пакетами. Наприклад, першому пакету розмови потрібно 100 мс щоб дістатися до точки призначення, в той час як другого треба було 110 мс. У цій ситуації джиттер становить 10 мс.
- Втрата пакетів (Packet loss) - пакети губляться через переповненого або ненадійного мережевого підключення.
Дуже важливо розуміти ці проблеми, оскільки вони викликають накладення звуку, відлуння, потріскування і розірвані дзвінки.
Механізм QoS призначений для того, щоб забезпечити безперебійну передачу голосу протягом тимчасових перевантажень в мережі. Однак це не чарівна паличка, яка зможе вирішити всі проблеми в мережі. Наприклад, якщо в мережі є недолік пропускної здатності, то при додаванні голосових пакетів не варто очікувати що QoS зможе все вирішити - вийде що небудь додатку з даними будуть працювати так повільно, що перестануть бути функціональними, або голосовий трафік буде мати проблеми з якістю.
Мета QoS - забезпечити постійну пропускну здатність для голосового трафіку таким чином, щоб була низька постійна затримка з одного кінця мережі в інший. Щоб виконати цю вимогу необхідно мати налаштовані механізми QoS в кожній точці мережі, де існує перевантаження.
Вимоги до голосового і відео трафіку
Різний тип трафіку, який використовується в мережі, має різні вимоги QoS. На відміну від трафіку даних, голосовий трафік вважається передбачуваним. У той час як трафік даних може значно збільшуватися при скачуванні або передачі великого обсягу даних, голосовий трафік залишається постійним для кожного дзвінка надходить і покидає мережу. Фактичний обсяг смуги пропускання, необхідний для голосу сильно залежить від використовуваного кодека.
Крім вимог до пропускної здатності, голосовий трафік має наступні додаткові вимоги:
- Затримка (End-to-end delay): 150 мс або менше
- Джиттер: 30 мс або менше
- Втрата пакетів: 1% або менше
Відео трафік має такі ж вимоги по затримці, але споживає велику смугу пропускання. Крім того ширина смуги пропускання може змінюватися в залежності від того, скільки руху відбувається в відео (більша кількість рухів значно збільшують необхідну пропускну здатність).
Вимоги до трафіку даних
Неможливо підігнати весь трафік даних під одну вимогу, тому що кожне окреме додаток має свої QoS вимоги. Додатки даних можна розділити на кілька категорій:
- Критично важливі програми (Mission-critical applications) - ці програми критично важливі для організації і вимагають виділеної смуги пропускання.
- Транзакційні додатки (Transactional applications) - ці програми зазвичай взаємодіють з користувачами і вимагають швидкого часу відгуку. Наприклад, співробітник техпідтримки може використовувати додаток бази даних щоб отримувати інформацію про абонента на основі ID попередніх запитів.
- Фонові додатки (Best-effort applications) - ці програми некритичні або некатегорізіровани. Це може бути пошта, веб і FTP.
- "Сміттєві" додатка (Scavenger applications) - це непродуктивні додатки, в яких немає необхідності для роботи, але які поглинають значні обсяги смуги пропускання. Наприклад, це можуть бути p2p додатки типу BitTorrent
Кожній з цих категорій додатків можна призначити певний рівень QoS.