Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Содержание

Введение

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

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

  • QoS (Quality of Service - качество обслуживания) - технология, позволяющая выполнить классификацию потока данных и выделить сетевые ресурсы для каждого из классов.
  • Политика QoS - документ, описывающий принципы классификации потоков трафика и требования к ресурсам для каждого из классов.
  • Поток трафика
  • Сервис
  • Зона ответственности - сегмент сети, за эффективное функционирование которого отвечает определённый субъект. В качестве субъекта может выступать как конкретный человек, так и организация.

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

В пакетных сетях передачи данных трафик распространяется от узла-отправителя к узлу-получателю через каналы связи и промежуточные устройства. В общем случае пакет данных обрабатывается каждым из промежуточных устройств независимо. Рассмотрим пример обработки пакета данных промежуточным сетевым устройством (рис. 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а). Схема распространения пакетов описывается следующими этапами:

  • Этап 1:
    • Узел-1 и Узел-2 формируют пакеты двух сервисов: телефонии и почты. Трафик телефонии, в отличии от данных почтового сервиса, чувствителен к задержка и джиттеру (см. Требования сервисов к метрикам качества), поэтому должен быть обработан промежуточными устройствами в первую очередь.
    • Сетевое устройство-1 принимает пакеты Узла-1 и Узла-2.
  • Этап 2:
    • На Сетевом устройстве-1 настроена приоритизация трафика, которая заключается в том, что устройство классифицирует входящий трафик и помещает пакеты данных в различные очереди сообщений. Весь трафик телефонии будет помещён в очередь 1,а трафик почтового сервиса - в очередь 17. Таким образом, приоритет очереди 1 выше, чем очереди 17.
    • Освобождение очередей сообщений и передача данных выходным интерфейсам осуществляются в соответствии с приоритетами очередей, т.е. сначала будет опустошена очередь 1, а затем - очередь 17.
  • Этап 3:
    • Сетевое устройство-1 отправляет данные в Среду-7, связанную с Сетевым устройством-2. Последовательность пакетов данных соответствует метрикам качества - в первую очередь в среду переданы данные телефонии, а затем - почтового сервиса.
    • Узел-3 подключен к Сетевому устройству-2 и формирует поток данных почтового сервиса.
  • Этап 4:
    • На Сетевом устройстве-2 отсутствуют настройки приоритизации, поэтому весь входящий трафик будет помещён в очередь сообщений 17. Отправка данных из очередей будет соответствовать последовательности их приёма, т.е. трафик телефонии будет обработан наравне в трафиком почтового сервиса, несмотря на требования к значениям метрик качества.
    • Сетевое устройство-2 вносит задержку во время распространения трафика телефонии.
  • Этап 5:
    • Данные отправляются конечным узлам. Время распространения пакетов телефонии было увеличено за счёт обработки трафика почтового сервиса Узла-3.

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

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

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

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

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

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

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

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

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

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

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






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









Тип трафика в соответствии с 802.1p

Тип трафика802.1pToSDSCPInfiLINK 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


План:

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

    Использование приоритета из заголовка Ethernet

    Использование приоритета из заголовка IP

    Приоритизация трафика в MINT

        Описание

        Автоматическое распознавание приоритета

        Назначение приоритета вручную

    Приоритизация трафика в XG

    Приоритизация трафика в V5

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

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

    Policing и Shaping

    Алгоритм Token Bucket

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

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

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




  • No labels