Что такое QoS?
Назад к блогу

Что такое QoS?

Почему одни Ethernet-кадры стоят в очереди, а другие проходят без очереди? Рассматриваем в сегодняшнем нашем посте как работает приоритезация трафика с использованием QoS.

Под качеством обслуживания (QoS) понимается способность сетевой инфраструктуры предоставлять улучшенное обслуживание определенному виду передаваемого трафика при помощи различных технологий.

Качество обслуживания на втором уровне модели OSI (канальном) в пределах одного сетевого элемента обеспечивается за счет использования модели дифференцированного обслуживания (Differentiated Service – DiffServ) и обеспечивается:

  1. Классификацией и разметкой трафика.
  2. Управлением перегрузками (механизмы очередей).

Следует отметить, что данная модель начинает работать лишь в случае появления очередей и перегрузок.

Согласно стандарту МЭК 61850 все коммуникационные процессы передачи данных осуществляются посредством технологии Ethernet. Данная технология определяет формат Ethernet кадров (фреймов), линии соединения (среду передачи), электрические и световые сигналы на физическом уровне, протоколы управления доступом к среде — на втором уровне модели OSI (канальном). Основные методы и технологии Ethernet описываются семейством протоколов IEEE 802.3.

Протокол Ethernet в чистом виде не поддерживает функцию приоритезации трафика, поэтому наряду со стандартным протоколом Ethernet IEEE 802.3, организация IEEE разработала стандарт создания виртуальных локальных сетей VLAN IEEE 802.1q. В стандарте IEEE 802.1q предусматривается вставка дополнительного четырехбайтового тега VLAN в заголовок Ethernet исходного фрейма, содержащий метку приоритета (Priority) класса обслуживания (Class of Service – CoS) IEEE 802.1p.

Рис. 1. Структура кадра Ethernet согласно стандарту IEEE 802.1q.

Классификация и разметка трафика

Коммутаторы 2–го уровня PULLNET семейства AGENT-2 позволяют различать кадры Ethernet (классифицировать трафик) по параметрам метки приоритета (Priority) IEEE 802.1p. Значения приоритета в зависимости от типа трафика приведены в таблице 1. Стандарт МЭК 61850 по умолчанию предусматривает для GOOSE сообщений и выборок мгновенных значений SV приоритет равный 4.

Таблица 1. Классы трафика согласно стандарту IEEE 802.1p.

Биты приоритета Обозначение Класс приоритета трафика
111 (7) NC (Network Controlled) Критически важный для сети. Трафик управления сетью
110 (6) VO (Voice) Интерактивный голосовой
101 (5) VI (Video) Интерактивный мультимедийный (видео)
100 (4) CL (Controlled Effort) Контролируемый. Потоковый мультимедийный
011 (3) EE (Excellent Effort) Приоритетный
010 (2) Стандартный (Экономный)
001 (1) BK (Background) Фоновый
000 (0) BE (Best Effort) Низший. Трафик передаваемый с максимальными усилиями («по возможности»). Вариант по умолчанию

Таким образом классификация и разметка трафика решает две задачи:

  1. Отнесение передаваемых данных к определенному классу трафика
  2. Назначение передаваемому фрейму соответствующего приоритета.
  3. Управление перегрузками (механизмы очередей)

Перегрузка возникает в случае переполнения выходных буферов передающего трафик оборудования. Основными механизмами возникновения перегрузок (или, что равнозначно, скоплений – congestions) является агрегация трафика (когда скорость входящего трафика превышает скорость исходящего) и несогласованность скоростей на интерфейсах. Управление пропускной способностью в случае перегрузок (узких мест) осуществляется с помощью механизма очередей. Кадры Ethernet помещаются в очереди, которые упорядоченно обрабатываются по определенному алгоритму. Фактически, управление перегрузками – это определение порядка, в котором фреймы выходят из интерфейса (очередей) на основе приоритетов. Если перегрузок нет – очереди не работают.

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

Выяснить, действительно ли очередь переполнена и нет ли в ней места для фреймов с высоким приоритетом. Сформировать политики, по которым в первую очередь будут отбрасываться фреймы с более низким приоритетом, и только потом – с более высоким. Приоритезация используется для классификации фреймов путем их привязки к одной из очередей выхода. Метка приоритета IEEE 802.1p для назначений очереди определяется пользователем. Коммутаторы 2–го уровня PULLNET семейства AGENT-2 поддерживают 4 очереди приоритетов. В таблице 2 представлена подробная информация по меткам приоритета для параметров очереди, установленных на коммутаторе PULLNET по умолчанию.

Таблица 2. Привязка CoS (Class of Service) к очереди пересылки данных по умолчанию.

Значение приоритета CoS IEEE 802.1p Номер очереди по рекомендациям IEEE 802.1p Номер очереди по умолчанию в PULLNET AGENT-2
0 q1 q0
1 q0 (низший приоритет) q0
2 q0 q1
3 q1 q1
4 q2 q2
5 q2 q2
6 q3 (максимальный приоритет) q3
7 q3 q3

После процесса классификации фреймы можно привязать к определенной очереди (очередям) в зависимости от метки приоритета CoS.

Настройка очередей выхода осуществляется с помощью схемы планирования одного из следующих способов:

  • Строгий приоритет (Strict Priority – SP).
  • Взвешенный циклический алгоритм (Weighted Round Robin –WRR).

Строгий приоритет (Strict Priority) – гарантирует, что чувствительные ко времени приложения передаются всегда. Строгий приоритет (Strict Priority) позволяет присвоить трафику, зависящему от целевого назначения и чувствительности ко времени, наивысший приоритет перед менее чувствительными ко времени данными. Т.е. фреймы, находящиеся в очереди с высоким приоритетом, обрабатываются первыми. Кадры Ethernet из следующей по приоритету обслуживания очереди начнут передаваться только после того, как опустеет высокоприоритетная очередь. Например, передача голоса по IP осуществляется до пересылки трафика FTP или электронной почты (SMTP). Недостатком данного метода является то, что данные с низким приоритетом могут длительное время не обрабатываться.

Рис. 2. Механизм обработки очередей «Строгий приоритет» (Strict Priority) при постановке фреймов в очередь в соответствии с настройками по умолчанию в коммутаторах PULLNET.

Взвешенный циклический алгоритм (WRR) − гарантирует, что отдельное приложение не будет использовать все ресурсы по пересылке, доступные посредством модуля коммутатора Ethernet. С помощью WRR осуществляется пересылка всех очередей в цикле.

При наличие нескольких очередей фреймы могут быть помещены в разные очереди и обслуживаться по взвешенному циклическому алгоритму (Weighted Round Robin – WRR). Внутри очереди устанавливаются весовые коэффициенты (Weight Value) – в коммутаторах AGENT-2 это значения от 1 до 20. Они играют роль исходных точек, по которым определяется, с какой вероятностью может быть отброшен пакет. Процесс обработки очередей осуществляется по круговому принципу, начиная с самой приоритетной очереди. Из каждой непустой очереди передается некоторый объем трафика, пропорциональный назначенному ей весовому коэффициенту, после чего выполняется переход к следующей по убыванию приоритета очереди и так далее по кругу.

Рис. 3. Механизм обработки очередей «Взвешенный циклический алгоритм» (Weighted Round Robin) при постановке фреймов в очередь в соответствии с настройками по умолчанию в коммутаторах PULLNET.

Все очереди, за исключением очередей SP, могут работать по схеме WRR. Очереди SP обслуживаются непосредственно перед очередями WRR. Если поток трафика минимален и очереди SP не занимают всю полосу пропускания, назначенную для порта, то очереди WRR используют полосу пропускания совместно с очередями SP. При этом оставшаяся часть полосы пропускания распределяется в соответствии с весовыми коэффициентами. Данный комбинированный механизм «SP+WRR» доступен в коммутаторах PULLNET AGENT-2.

Рис. 4. Ввод/вывод из работы QoS.

Рис. 5. Выбор очереди в соответствии с приоритетом.