QoS (англ. quality of service «качество обслуживания») — технология предоставления различным классам трафика различных приоритетов в обслуживании, также этим термином в области компьютерных сетей называют вероятность того, что сеть связи соответствует заданному соглашению о трафике, или же, в ряде случаев, неформальное обозначение вероятности прохождения пакета между двумя точками сети.
Что можно литературно перевести как: «QoS — способность сети обеспечить необходимый сервис заданному трафику в определенных технологических рамках».
В узком техническом значении, этот термин означает набор методов для управления ресурсами пакетных сетей.
Механизм работы
Для большинства случаев качество связи определяется четырьмя параметрами:
- Скорость передачи информации (Bitrate), описывает номинальную пропускную способность среды передачи информации. Зависит от ширины полосы пропускания канала связи (Гц) и отношения сигнал/шум. Измеряется в bit/s (bps), kbit/s (Kbps), Mbit/s (Mbps), Gbit/s (Gbps).
- Задержка при передаче пакета (Delay), измеряется в миллисекундах.
- Колебания (дрожание) задержки при передаче пакетов — джиттер.
- Потеря пакетов (Packet loss). Определяет количество пакетов, потерянных в сети во время передачи.
Для простоты понимания канал связи можно представить в виде условной трубы, а пропускную способность описать как функцию двух параметров: диаметра трубы и её длины.
Когда передача данных сталкивается с проблемой «бутылочного горлышка» для приёма и отправки пакетов на маршрутизаторах, то обычно используется метод FIFO: первый пришел — первый ушёл (First In — First Out). При интенсивном трафике это создаёт заторы, которые разрешаются крайне простым образом: все пакеты, не вошедшие в буфер очереди FIFO (на вход или на выход), игнорируются маршрутизатором и, соответственно, теряются безвозвратно. Более разумный метод — использовать «умную» очередь, в которой приоритет у пакетов зависит от типа сервиса — ToS. Необходимое условие: пакеты должны уже нести метку типа сервиса для создания «умной» очереди. Обычные пользователи чаще всего сталкиваются с термином QoS в домашних маршрутизаторах с поддержкой QoS. Например, весьма логично дать высокий приоритет пакетам VoIP и низкий — пакетам FTP, SMTP и клиентам файлообменной сети.
Модели 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 является наиболее подходящим примером «умного» управления приоритетом трафика.
Приложения, требующие QoS
Определённое качество обслуживания может потребоваться для ряда сетевых приложений, в частности:
- потоковые мультимедиа-приложения требуют гарантированную пропускную способность канала;
- VoIP и видеоконференция требуют небольших значений джиттера и задержки;
- ряд приложений, например, удалённая хирургия, требуют гарантированного уровня надёжности.
Таким образом процесс предоставления качества обслуживания можно поделить на 2 этапа:
Маркировка. Поближе к источникам.
Обработка пакетов. Помещение их в физическую очередь на интерфейсе, подразделение на логические очереди и предоставление этим логическим очередям различных ресурсов.
Технология QoS — достаточно ресурсоёмкая и весьма существенно грузит процессор. И тем сильнее грузит, чем глубже в заголовки приходится залезать для классификации пакетов. Для сравнения: маршрутизатору гораздо проще заглянуть в заголовок IP пакета и проанализировать там 3 бита IPP, нежели раскручивать поток практически до уровня приложения, определяя, что за протокол идёт внутри (технология NBAR)