Содержание

Введение

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

Терминология

Схема распространения пакетов

В пакетных сетях передачи данных трафик распространяется от узла-отправителя к узлу-получателю через каналы связи и промежуточные устройства. В общем случае пакет данных обрабатывается каждым из промежуточных устройств независимо. Рассмотрим пример обработки пакета данных промежуточным сетевым устройством (рис. 1):

  1. Узел 2 формирует пакет данных передаёт его в Среду-2. Пакет данных инкапсулируется в канальный протокол, используемый в Среде-2.
  2. Кадр данных распространяется в Среде-2. Для этого кадр данных преобразовывается в сигнал, соответствующий физическим свойствам среды. Сигналы, используемые в проводных и беспроводных средах будут отличаться, что повлияет на эффекты их распространения и сценарии использования.
  3. Сигнал поступает на входной интерфейс устройства, демоделируется и полученный кадр данных проверяется на целостность: если кадр повреждён, то он отбрасывается.
  4. Принятый кадр проверяется на необходимость перенаправления. Кадр может быть адресован сетевому устройству, в этом случае он передаётся на обработку внутренним процессам. Кадр может быть адресован другому узлу и, в этом случае, возможны два варианта развития событий: кадр должен быть передан далее через выходной интерфейс, либо отброшен (если Среда-2 является общей средой, то все передаваемые сигналу будут приняты всеми устройствами, подключенными к среде).
  5. Если кадр должен быть обработан и передан другому узлу, то кадр поступает в очередь сообщений. Очередь сообщений представляет собой набор буферов, в которые помещаются данные, принятые входящими интерфейсами. Число и объём буферов памяти, в которых хранится очередь сообщений, не стандартизованы и зависит от производителя оборудования. Например, в устройствах семейств InfiLink 2x2 выделено 32 очереди, 17 из которых доступны пользователю для настройки.
  6. Кадр данных проходит через очередь сообщений, в которую он был помещен, и поступает в выходной интерфейс.
  7. Поскольку очереди сообщений являются связующим звеном между наборами входящих и исходящих интерфейсов, то в устройстве должен быть выделен контроллер, который выполняет заполнение очередей входящими данными и выборку из очередей для передачи исходящим интерфейсам. Как правило, эти функции выполняет центральный процессор (ЦП). Как будет показано далее, заполнение и выборка очередей может выполняться неравномерно и зависеть от классификации потоков данных.
  8. Исходящий интерфейс формирует модулированный сигнал и передаёт его в Среду-5. К Среде-5 подключен Узел-5, являющийся получателем исходного пакета данных.
  9. Узел-5 принимает сигнал, демодулирует его и обрабатывает полученный кадр данных.

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

Рисунок 1 - Схема прохождения трафика через сетевое устройство

Сетевое устройство может быть промежуточным для нескольких пар узлов, каждая из которых может передавать данные нескольких сервисов (рис. 2а). Рассмотрим схему, в которой сетевое устройство является промежуточным для трафика пар узлов Узел-1 - Узел-4, Узел-2 - Узел-5 и Узел-3 - Узел-6, при этом первая пара передаёт данные трёх сервисов, вторая - двух, третья - одного. В общем случае, при отсутствии настроек QoS, данные всех сервисов попадают в общую очередь в порядке поступления их на сетевое устройство и в этом же порядке будут из очереди переданы на выходные интерфейсы.

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

Рисунок 2а - Формирование очереди для различных сервисов без QoS

Рисунок 2б - Формирование очередей различных сервисов с QoS

Рисунок 2в - Формирование очередей различных пользователей с QoS

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

Метрики качества

Основываясь на предыдущем разделе, можно сформулировать предпосылки для оценки эффективности передачи данных:

Выделяют три основные метрики качества:

Подробно рассмотрим метрики на примере: Узел-2 передаёт три пакета данных Узлу-5, источник и получателя данных соединяет промежуточное сетевое устройство, пакеты передаются в рамках одного сервиса, т.е. их ключевые служебные поля совпадают.

Потери

При передачи потока данных, часть из них могут быть не приняты, либо приняты с ошибками. В этом случае можно говорить о потери данных, которые измеряются как отношение принятых данных к переданным. В примере (рис. 3) Узел-2 передаёт пакеты с идентификаторами 1,2 и 3, однако Узел-5 принимает только пакеты 1 и 3, т.е. пакет с идентификатором 2 потерян. Существуют сетевые механизмы, позволяющие выполнить повторную передачу потерянных данных. Например, к таким механизмам можно отнести протоколы TCP и ARQ.

Причины потерь данных можно выделить в следующие группы:

Рисунок 3 - Пример потери пакета данных

Пропускная способность

Одной из основных метрик, используемых на практике, является пропускная способность, величина которой зависит от потерь. Пропускная способность определяется физическими возможностями канала связи и возможностью обработки потока данных промежуточными сетевыми устройствами. Пропускная способность канала связи определяется как максимальный объём данных, который может быть предан от источника к получателю в единицу времени.

Пакетная производительность

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

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

Задержка

Под задержкой понимается время распространения пакета данных от источника до получателя. Величина задержки складывается из следующих компонентов:

При измерениях задержки часто используется понятие круговой задержки (RTT), т.е. времени распространения пакета данных от источника к получателю и обратно. Такое значение, например, используется при выводе результатов команды ping. Состояние промежуточных сетевых устройств при обработке прямого и обратного пакета данных может отличаться, поэтому в общем случае круговая задержка не равна двум односторонним задержкам.

Рисунок 4 - Пример задержки при передачи данных

Джиттер

Загрузка ЦП и состояние очередей сообщений на промежуточных сетевых устройствах постоянно меняются, поэтому задержка при распространении пакетов данных может изменяться. В примере (рис. 5) время распространения пакетов с идентификаторами 1 и 2 отличаются. Разница между максимальным и средним значениями задержки называется джиттером.

Рисунок 5 - Пример плавающей задержки при передачи данных

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

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

Рисунок 6 - Пример неупорядоченной доставки данных

Требования сервисов к метрикам качества

Каждый из сервисов передачи данных имеет набор требований к показателям качества. Документ RFC 4594 предусматривает следующие виды сервисов:

Имя сервисаОписаниеВеличина
ПотериЗадержкаДжиттер
Нужно подумать над переводом, т.к. это не устойчивые выражения.надо ли?


Трафик служебных протоколов
низкиенизкаяда
Телефония
очень низкиеочень низкаяочень низкий
Сигнализация
низкиенизкаяда
Мультимедийные конференции
средниеочень низкаянизкий
Интерактивный трафик реального времени
низкиеочень низкаянизкий
Мультимедийные трансляции
средниесредняяда
Широковещательное видео
очень низкиесредняянизкий
Данные, требовательные к задержкам
низкиесредняяда
Управление
низкиесредняяда
Данные, требовательные к пропускной способности
низкиевысокаяда
Стандарт
не определено
Низкоприоритетные данные
высокиевысокаяда

Методы обеспечения QoS

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

Рассмотрим пример (рис. 7), в котором Узел-2 генерирует трафик нескольких сервисов с суммарной скоростью 1 Гбит/с, Среда-2 позволяет передать этот поток данных промежуточному сетевому устройству, однако максимальная пропускная способность канала связи сетевого устройства и Узла-5 равна 500 Мбит/с. Очевидно, что поток данных не может быть обработан полностью и часть этого потока должна быть отфильтрована. Задача QoS сделать эту фильтрацию управляемой, обеспечив конечным сервисам требуемые значения метрик. Разумеется, не получится обеспечить требуемые показатели для всех сервисов, т.к. пропускные способности каналов связи не совпадает, поэтому в рамках реализации политики QoS трафик критичных сервисов должен обрабатываться в первую очередь.

Рисунок 7 - Пример несогласованности объёма входящего трафика и пропускной способности каналов связи

Рассмотренный пример позволяет сформулировать два основных метода, используемых при реализации политики QoS:

Рассмотрим пример, представленный выше, добавив в схему распространения данных второе промежуточное сетевое устройство (рис. 8а). Схема распространения пакетов описывается следующими этапами:

Каждое из промежуточных сетевых устройств, на котором отсутствуют настройки приоритизации трафика, будет задерживать распространение данных, при этом величина вносимой задержки будет случайной и неконтролируемой. Таким образом, большое число промежуточных устройств сделает невозможным работу сервисов реального времени из-за недостижимости качественных метрик, т.е. настройка приоритизации трафика должна быть выполнена на всём пути распространения трафика в сети (рис. 8б).

Рисунок 8а - Пример распространения данных с частично внедрённой политикой QoS

Рисунок 8б - Пример распространения данных с внедрённой политикой QoS

Механизмы приоритизации трафика

С точки зрения возможности управления путь распространения трафика в сети может быть описан двумя концепциями (рис. 9а,б):

Рисунок 9а - Пример структуры "белого ящика"

Рисунок 9б - Пример структуры "черного ящика"

Одним из решений описанной проблемы для сетевой структуры "черный ящик" является маркировка заголовков пакетов: приоритет, требуемый для обработки пакета, устанавливается в одном из полей заголовка и сохраняется на протяжении всего пути. В этом случае все промежуточные устройства могут помещать входные данные в очередь сообщений в соответствии со значениями полей, где указан приоритет. Это потребует разработки стандартных протоколов и их реализации производителями оборудования.

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

Для установки приоритета обслуживания пакета могут использоваться служебные поля различных сетевых протоколов. В рамках данной статьи подробно рассмотрим использование заголовков протоколов Ethernet и IPv4.

Приоритизация в Ethernet (802.1p)

Заголовок кадров Ethernet включает в себя служебное поле "User Priority", которое предназначено для приоритизации кадров данных. Поле имеет размер 3 бита, что позволяет выделить 8 классов трафика: 0 класс - наименьший приоритет, 7 класс - наибольший приоритет. Следует иметь в виду, что поле "User Priority" присутствует только в кадрах 802.1q, т.е. тэгированных одной из меток VLAN.

Рисунок 10 - Служебное поле в заголовке Ethernet для приоритизации кадров

Приоритизация в IP

Протокол IP включает в себя три стадии развития служебного поля, отвечающего за приоритизацию пакетов:

  1. В заголовке IP-пакета, при утверждении протокола, присутствовало поле ToS (Type of Service - тип сервиса) размером 8 бит (см. RFC 791). ToS включал в себя следующие поля (рис. 11а):
    1. Precedence: значение приоритета.
    2. Delay: бит минимизации задержки.
    3. Thorughput: бит максимизации пропускной способности.
    4. Reliability: бит максимизации надёжности.
    5. 2 бита, значение которых равны 0.
  2. Для приоритизации пакетов по-прежнему использовались 8 битов, однако ToS теперь включал в себя следующие поля (см. RFC 1349):
    1. Delay.
    2. Throughput.
    3. Reliability.
    4. Cost: бит минимизации метрики стоимости (используется 1 бит, значение которого ранее было нулевым).
  3. Структура заголовка IP была изменена (см. RFC 2474). 8 бит, используемые ранее для приоритизации, были распределены следующим образом (рис. 11б):
    1. DSCP (Differentiated Services Code Point - код дифференцированной услуги): приоритет  пакета.
    2. 2 бита зарезервировано.

Таким образом, ToS позволяет выделить 8 классов трафика: 0 - наименьший приоритет, 7 - наивысший приоритет, а DSCP - 64 класса: 0 - наименьший приоритет, 63 - наивысший приоритет.

Рисунок 11а - Служебное поле ToS в заголовке IP для приоритизации пакетов

Рисунок 11б - Служебное поле DSCP в заголовке IP для приоритизации пакетов

Установка приоритета данных

Множество конечных узлов в сети не поддерживают операции по установке и удалению приоритетов в служебных заголовках, поэтому эта функциональность должна быть реализована в промежуточных сетевых устройствах

Рассмотрим пример распространения данных от Узла-1 к Узлу-2 через DS-домен и стороннюю сеть оператора связи (рис. 12а-в). DS-домен включает в себя три устройства, два из которых являются для домена пограничным, а одно - промежуточным. Рассмотрим этапы обработки данных в сети на примере передачи Ethernet-кадра (основные принципы, рассмотренные в примере, применимы для IP-пакета или другого протокола, поддерживающего приоритизацию данных):

Рисунок 12а - Пример изменения приоритета кадра Ethernet при распространении через два сегмента сети (приоритет сегментов согласован)

Рисунок 12б - Пример изменения приоритета кадра Ethernet при распространении через два сегмента сети (приоритет сегментов согласован, но должен быть изменён)

Рисунок 12в - Пример изменения приоритета кадра Ethernet при распространении через два сегмента сети (приоритет сегментов не согласован)

Реализация очередей в устройствах Инфинет

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

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

Таблица внутренней организации очередей сообщений
ПараметрОписаниеInfiLink 2x2 / InfiMAN 2x2InfiLink XG / InfiLINK XG 1000Vector 5 / Vector 70
Критерий маркировкиНабор критериев, которые могут использоваться при классификации входящего трафика.

поддержка PCAP-выражений

(PCAP выражения позволяют выполнить гибкую фильтрацию на основе любых полей служебных заголовков, см. PCAP-фильтры)

vlan-idvlan-id
АвтораспознаваниеДля указанных протоколов семейство устройств позволяет выполнить автоматическое распознавание приоритета, установленного в заголовке и помещение данных в соответствующую очередь.

RTP

802.1p

IPIP/GRE-туннели

MPLS

DSCP

ToS

ICMP

TCP Ack

PPPoE

802.1p802.1p
Число очередейКоличество очередей сообщений, используемое в устройстве.1748
Настройка приоритизации в WebСсылки на документацию по настройке приоритизации трафика через Web-интерфейс.

Параметры QoS

Контроль трафика

Настройка QoS

Раздел Коммутатор

Коммутация на основе VLAN

Настройка коммутации⁣
Настройка приоритизации в CLIСсылки на документацию по настройке приоритизации трафика через интерфейс командной строки.Команда qmКоманды настройки коммутатора-
Таблица соответствия протокольных и внутренних приоритетов
Класс трафика (в соответствии с 802.1p)802.1pToS (Precedence)DSCPInfiLINK 2x2, InfiMAN 2x2InfiLINK XG, InfiLINK XG 1000Vector 5, Vector 70
Background (наименьший приоритет)0000001610
Best Effort010108-1
Excellent Effort020216-22
Critical Applications03032493
Video040432734
Voice05054035
Internetwork Control060648146
Network Control (наивысший приоритет)07075607

Рекомендации по приоритизации трафика

Можно сформулировать набор универсальных рекомендаций по конфигурации механизмов приоритизации трафика:


+в рекомендации добавить про классификацию разных типов трафика: что важнее, что нет

+добавить описание взвешенных и строгих очередей


Механизмы ограничения пропускной способности









Дополнительные материалы

Онлайн-курсы


White papers


Вебинары


Скринкасты


Прочее

  1. RFC 4594
  2. RFC 791
  3. RFC 1349
  4. RFC 2474


План:

4. Механизмы ограничения пропускной способности

    Предотвращение и управление перегразками

    Policing и Shaping

    Алгоритм Token Bucket

    Ограничение пропускной способности в R5000

    Ограничение пропускной способности в XG

    Ограничение пропускной способности в V5




+Tail Drop

+Есть классы и каналы, нет подканалов

+Используется общая память на все очереди

+добавить про задержку/джиттер в Polling и TDMA