QoS

Quality of Service — что это такое?

Quality of Service (QoS) в переводе означает «качество сервиса», при этом под сервисом подразумевается передача данных по интернету, а под качеством — обслуживание в первую очередь высокоприоритетных программ и приложений для их стабильной работы.

Это означает, что в условиях лимитированной пропускной способности интернет-канала — как при низкоскоростном соединении — можно настроить передачу данных таким образом, что, к примеру, связь по IP-телефонии будет приоритетной по отношению к другим приложениям, потребляющим интернет-трафик, а, значит, качество звонков будет стабильно высоким, без помех и зависаний.

Расскажем, какие параметры определяют QoS, из чего складывается технология приоритизации трафика, как можно классифицировать данные и как обеспечивается QoS.

Что такое QoS — определение и основные параметры

QoS — технология приоритизации, или очерёдности, в обслуживании различных классов трафика. В более узком, техническом смысле, под QoS понимают набор методов для управления ограниченными ресурсами сетей.

В основе QoS лежит оценка качества интернет-соединения.

Чтобы оценить качество связи, ориентируются на следующие четыре параметра: Delay, Jitter, Packet Loss, Bandwidth.

  1. Delay — время задержки при пересылке данных. Совокупная задержка складывается из следующих компонентов:
    • Serialization Delay — задержка сериализации, или время, за которое все биты пакета данных переместятся от узла к узлу. Величина этой задержки зависит от типа соединения между узлами, например, USB, Infiniband или SAS.
    • Propagation Delay — задержка распространения, или время, за которое сигнал пройдет по кабелю от источника до узла назначения. В вакууме оптический сигнал бы распространялся со скоростью света, но среда стекловолоконного или медного кабеля замедляет его движение. Коэффициент замедления света в веществе называется показателем преломления. Так, показатель преломления стекловолокна равен примерно 1,5 — это означает, что скорость сигнала в оптическом кабеле тормозится почти на треть.
    • QoS Delay — задержки, вносимые приоритизацией. Сюда можно включить как задержку данных, которая зависит от механизма постановки в очередь, так и буферизационную задержку, возникающую во время всплесков трафика.
    • Processing Delay — задержка обработки, или время, за которое сетевое устройство возьмёт часть данных из входного интерфейса и поместит его в выходной интерфейса. Величина этого вида задержки зависит от скорости и загрузки процессора, архитектуры маршрутизатора, настроек интерфейсов.
  2. Jitter — колебания времени задержки при передаче пакетов одного потока данных. Этот показатель особенно важен для связи по протоколу VoIP, так как для восстановления сигнала, разделённого на пакеты, на принимающем устройстве требуется порция данных определенного размера. Если пакеты из одной порции поступают неравномерно, то восстановить сигнал не удастся и в результате — потеря соединения. На вариативность задержки влияют количество и размер пакетов, уже находящихся в очереди, скорость канала и механизма приоритизации трафика.
  3. Packet Loss — количество пакетов, не дошедших до адресата. Обычно потери данных возникают из-за перегрузки сети, либо фактической перегрузки может и не быть, но небольшие сегменты голосовых данные будут скапливаться за большими пачками видеоданных при скачивании фильма, если не настроена приоритизация трафика.
  4. Bandwidth — максимальный объём данных, который способен пропустить канал за определенное время. При этом расширение канала не всегда означает автоматическое решение проблем с трафиком, и не всегда его возможно расширить по экономическим или технологическим причинам. Важно оптимально распределить этот ограниченный ресурс, поскольку из-за его недостаточности возникают проблемы с качеством связи, связанные с задержкой, джиттером и потерей данных.

Сервисные модели QoS

Управление приоритетностью трафика может быть достигнуто в рамках трёх различных подходов к обеспечению QoS:

  1. Best Effort Service — сервис по принципу «лучшее из возможного». Самый первый по времени появления и самый простой подход, в котором не применяются средства управления трафиком как таковые. Все категории трафика равны, приоритетность не используется. Если требуется повышение качества связи, оно достигается путём расширения канала связи. Cервис Best Effort может быть уместен лишь в сетях без перегрузок и он не подходит для стандартных офисных решений с IP-телефонией и использованием видеоконференций.
  2. Integrated Service — интегрированный сервис. Этот вид сервиса появился вместе с возрастанием реал-тайм трафика — голосовых и видеокоммуникаций. В его основе лежит резервирование для каждого потока данных определенной части канала на каждом устройстве. При этом реал-тайм трафик — в приоритете, но сохраняется возможность использования выделенных под него полос для не-реал-тайм трафика. Проверка доступности полосы происходит с помощью обмена сигналами в рамках протокола RSVP. Такое решение существенно нагружает память и центральный процессор на каждом транзитном узле и замедляет быстродействие всей системы, поэтому оно также практически не используется в настоящее время.
  3. Differentiated Service — дифференцированный сервис. Отличается от интегрированного сервиса отсутствием сигнализации, предваряющей соединение, делением трафика на классы, а не на потоки, маркированием пакетов и применением целого набора инструментов формирования трафика. Еще одной особенностью, ключевой для дифференцированного сервиса, является пошаговое обслуживание — PHB, или Per-Hop Behavior — когда каждый узел самостоятельно принимает решение, как поступать с пакетом данных на основе его заголовков. На данный момент обеспечение QoS достигается в основном именно с помощью дифференцированного подхода.

Инструменты дифференцированной модели QoS

Итак, как мы выяснили ранее, в основе модели Differentiated Service лежит разделение трафика на классы. Набор инструментов для всех классов един, но для каждого класса — свой сервис, какой именно — решается на уровне каждого узла сети в соответствии с маркировкой данных (Per-Hop Behavior).

Действия узла определены следующей последовательностью применения инструментов: Classification — определение, к какому классу сервиса относится трафик. Metering — измерение количества байтов в пакете, пришедшем на узел. Coloring — присвоение цвета в зависимости от вхождения в лимит на пропуск данных.

Зеленый — в рамках лимита, желтый — сверх лимита, красный — скорее всего, эта часть данных будет отброшена. Policing — ограничение скорости входящего трафика.

На основе маркировки цветом данные пропускаются, понижаются в приоритетности или отбрасываются. Dropper — отбрасывание пакета до его попадания в очередь.

Вероятность отбрасывания зависит от цвета и наполненности очереди, куда он собирается попасть. Queuing — постановка в одну из очередей в зависимости от класса. Shaping — выравнивание скорости трафика путем буферизации, работает на выходе из очереди.

Всплески трафика помещаются в буфер и отправляются по мере освобождения полосы. Шейпер можно настраивать для каждой полосы в отдельности. Scheduling — диспетчирование, или регулирование, полос.

Диспетчер работает в связке с шейпером. Он вынимает пакеты из очередей с заданной цикличностью для отправки в интерфейс. После всех этих операций на выходе на интерфейс данные проходят сериализацию, то есть преобразование в поток битов, который в свою очередь декодируется принимающим устройством как видеосигнал или телефонный звонок.

Классификация и маркировка трафика

В модели Differentiated Service каждый маршрутизатор обрабатывает данные самостоятельно, поэтому очень важно задать единые для всех узлов правила классификации и модели поведения — например, чтобы для всей внутренней сети организации нужды IP-телефонии были в приоритете.

Для каждого класса — свой уровень приоритетности, и чтобы было понятно, какой приоритет у каждого пакета, вместо коммутирующего заголовка, указывающего адрес назначения в сети интернет, навешивается внутренний заголовок, то есть производится маркировка.

Первое, что делает каждая сеть при получении данных, — классифицирует их в соответствии с правилами, заданными администратором сети.

Существует три способа задать правила классификации:

  1. Behavior Aggregate — агрегация разных типов трафика в одном классе. Отнесение к определенному классу производится на основе коммутирующего заголовка. Так как в этой пометке содержится совсем немного информации, количество классов ограничено. Из этого следует, что в одном классе оказываются разные типы трафика.
  2. Interface-Based — присвоение классов отдельным портам, которым адресован трафик. Так как любое устройство, подключенное к порту, — например, ПК отдельно взятого сотрудника — может использовать трафик для приложений с разной приоритетностью. Этот способ чаще всего не применяется в чистом виде.
  3. Multi-Field — присвоение класса на основе произвольных характеристик пакета. Так, можно присваивать класс обслуживания согласно IP-адресу, MAC-адресу или другим данным. Этот способ распределения самый гибкий.

На входе во внутреннюю сеть предприятия применяется один из трёх способов классификации, пакету присваивается внутренний класс сервиса и соответствующее цифровое значение. Коммутирующий заголовок при этом снимается и дальше внутри сети данные перемещаются только согласно первой модели — Behavior Aggregate. На выходном интерфейсе внутренний класс преобразуется обратно в коммутирующий заголовок.

Как работает QoS?

Есть три основных механизма обеспечения QoS:

  1. Congestion Avoidance — предотвращение перегрузок. Перегрузка может быть предотвращена с помощью отбрасывания последних пакетов, которые не помещаются в буфер (Tail Drop), первых пакетов, которые стоят в очереди слишком долго (Head Drop) или двух более сложных схем — произвольное раннее обнаружение (Random Early Detection) и взвешенное произвольное раннее обнаружение (Weighted Random Early Detection).
  2. Congestion Management — управление перегрузками. Если же всё-таки перегрузка произошла, на помощь приходят диспетчеры (Scheduling), которые регулируют трафик по полосам. Они могут работать в следующих режимах: кто первый встал в одну общую очередь, то первый вышел (First In First Out — FIFO); приоритетная очередь (Priority Queueing) — сначала пропускаются высокоприоритетные данные, потом — остальные; режим честных очередей (Fair Queueing) — передача одинакового числа битов из каждой очереди попеременно; режим циклического перебора (Round-Robin) — перебор очередей с извлечением равного количества пакетов. Для максимально корректной обработки трафика обычно применяется комбинация диспетчеров.
  3. Rate Limiting — ограничение скорости. Для ограничения скорости трафика настраивают полисинг (Policing), который отбрасывает данные или понижает их в приоритетности на основе максимально допустимой скорости, и шейпинг (Shaping), который откладывает трафик в буфер, если скорость слишком высокая.

Заключение

QoS (Quality of Service) — технология приоритизации в обслуживании различных классов интернет-трафика.

  • QoS применяют, чтобы правильно использовать лимитированной пропускной способности интернет-канала, что позволяет улучшить качество связи.
  • Приоритизация трафика в QoS осуществляется путем присвоения класса и маркировки.
  • Cамая популярная сервисная модель QoS Differentiated Service характеризуется пошаговым обслуживание и применением целого ряда инструментов управления трафиком — например, диспетчеризация и ограничение скорости

Корпоративный блог MCN Telecom