Командная строка WANFleX

07

Приоритезация трафика

Зарегистрируйтесь
для учёта прогресса курса

Настройка приоритизации трафика на устройствах Инфинет должна соответствовать политике предприятия и быть единообразной с приоритизацией настроенной во всей остальной сети. Подробнее о принципах настройки приоритизации в сети можно прочитать в статье "Настройка политик QoS". Настройка приоритизации трафика на устройствах Инфинет с использованием командной строки осуществляется командой "qm".

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

Устройства семейств InfiLINK 2x2 / InfiMAN 2x2 и InfiLINK Evolution / InfiMAN Evolution поддерживают управление метками большинства стандартных протоколов приоритизации. Устройство при передаче трафика может использовать до 32х очередей передачи, 17 из которых доступны для настройки пользователю, остальные зарезервированы для нужд системы. Приоритеты стандартных протоколов распределяются устройством между очередями устройства в соответствии таблицей ниже:

Приоритет MINTТип трафика (802.1p)dot1pTOSDSCPЗначение поля DS
16 BACKGROUNDBackground1   
15 REGULAR Best EffortBest Effort00CS00
14 BUSINESS6  1CS1, AF11-138, 10
13 BUSINESS5    12, 14
12 BUSINESS4  2CS2, AF21-2316, 18
11 BUSINESS3    20, 22
10 BUSINESS2  3CS3, AF31-3324, 26
9 BUSINESS1Excellent Effort2  28, 30
8 QOS4  4CS4, AF41-4332
7 QOS3    34
6 QOS2    36
5 QOS1Critical Applications3  38
4 VIDEO2Video45CS5, EF40, 42
3 VIDEO    44, 46
2 VOICEVoice56CS648, 50
1 CONTROLInternetwork Control6  52, 54
0 NETCRITNetwork Control77CS756, 58, 60, 62
 

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

На устройстве применяется политика взвешенной приоритизации "Weighted Fair Queuing" (используются весовые коэффициенты для каждой очереди интерфейса, что позволяет последовательно обрабатывать пакеты из различных очередей в определенном соотношении, зависящем от весовых коэффициентов). Например, 4 пакета из очереди с приоритетом 1, затем 1 пакет из очереди с приоритетом 2 и т.д.

Для данного параметра применимы следующие опции:

  • "[no]auto" – включение/отключение всего автоматического назначения приоритетов на устройстве. По умолчанию активировано.
  • "[no]selfqos" – включение/отключение применения приоритетов к трафику предназначенному самому устройству, как правило речь идёт о служебном трафике.
  • "[no]ipfw" – включение/отключение обработки трафика IP Firewall и автоматического назначения приоритетов.
  • "[no]rtp" – включение/отключение автоматического назначения приоритетов пакетам протокола RTP, который используется для передачи трафика реального времени (голос, видео).
  • "[no]dot1p" – включение/отключение автоматического распознавания приоритетов пакетов с меткой приоритета стандарта IEEE 802.1p.
  • "[no]tos" – включение/отключение автоматического распознавания приоритетов пакетов с меткой TOS. 
  • "[no]dscp" – включение/отключение автоматического распознавания приоритетов пакетов с меткой DiffServ.
  • "[no]tcpack" – включение/отключение автоматического повышения приоритета пакетов TCP ACK. Данная функция обеспечивает ускоренное прохождение подтверждений протокола TCP через сеть, за счёт чего увеличивается размер скользящего окна. Необходимо учитывать возможности пропускной способности системы, чтобы излишне широкое окно не привело к переполнению очередей буфера.
  • "[no]icmp" – включение/отключение автоматического назначения приоритетов пакетам ICMP.
  • "[no]tunnel" – включение/отключение автоматической приоритизации для туннелированного трафика. Разрешает приоритизацию внутри туннелей.
  • "[no]pppoe" – включение/отключение автоматического назначения приоритетов пакетам внутри туннелей PPPoE.
  • "[no]mpls" – включение/отключение автоматического назначения приоритетов пакетам с меткой MPLS.

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

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

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

На устройстве создан Класс 1, пропускная способность которого ограничена 100 Мбит/с. В рамках данного класса создано 3 канала, гарантированная пропускная способность в сумме составляет 100 Мбит/с, при полной нагрузке, каждый из каналов получит полосу пропускания не менее гарантированной. При отсутствии трафика в одном из каналов или при его неполной загрузке, его пропускная способность может быть распределена между двумя оставшимися, однако доступная пропускная способность не превысит разрешённую для данного канала, а суммарная пропускная способность не превысит ограничения для класса. Так при отсутствии трафика в Каналах 1 и 3, Канал 2 может использовать всю пропускную способность класса - 100 Мбит/с, однако при появлении трафика в Канале 3, ему будет выделена полоса до 30 Мбит/с, а скорость Канала 2  будет снижена на соответствующее значение. Доступная пропускная способность распределяется между каналами в рамках одного класса равномерно.

Настройки класса

Для создания класса обслуживания предназначен параметр "classN" команды "qm", где N - номер класса. Максимальное значение пропускной способности устанавливается аргументом "max=N", где N - значение в Кбит/с. Удалить класс позволяет опция "clear".

Настройки канала

Для создания канала обслуживания предназначен параметр "chN" команды "qm", где N - номер канала от 1 до 200. Каналы подразумевают сквозную приоритизацию в сети MINT, т.е. номера каналов должны совпадать на всех устройствах. Для каждого канала могут быть определены следующие параметры:

  • "max=N[%]|0" – максимальная (гарантированная при наличии класса) пропускная способность для данного канала. Устанавливается абсолютным значением в Кбит/с (от 10 до 100000) или в процентах от полосы пропускания класса, к которому привязан данный канал. Значение 0 (ноль) отменяет ограничение по скорости.
  • "classN" – номер класса обслуживания. Можно указать этот аргумент, привязав данный канал к классу обслуживания "N".
  • "ceil=N[%]|0" – максимальная доступная скорость канала, привязанного к классу. Значение данного параметра указывается в Кбит/с или в процентах от полосы пропускания класса. Для отключения параметра нужно установить значение 0. По умолчанию равен 100% от полосы пропускания класса.
  • "ceilprio=N|0" – устанавливает приоритет перераспределения неиспользованной пропускной способности между каналами. Диапазон значений приоритета 1..10. Значение 0 (ноль) - отключает данный параметр.
  • "latency=N|0" – максимальное время нахождения пакета в канале. Если время ожидания пакета в очереди канала превысит данное время, то пакет будет отброшен. Измеряется в миллисекундах. Для отключения параметра нужно поставить значение 0.
  • Управление приоритетами пакетов:
    • "[add]pri=[N]" – повышение приоритета пакета до указанного значения только в том случае, если новый приоритет выше, чем был установлен ранее.
    • "setpri=[N]" – явно устанавливает новый приоритет независимо от того, какой приоритет он имел до этого.
  • "[no]strict" – включение/выключение политики строгой приоритизации трафика "Strict Priority" (пакеты из очереди с более низким приоритетом не обрабатываются до тех пор, пока не будут обработаны все пакеты из очереди с более высоким приоритетом). В противном случае (по умолчанию) применяется политика взвешенной приоритизации "Weighted Fair Queuing".
  • "pps=N|0" – максимальное количество пакетов в секунду для данного потока. Для отключения нужно установить значение 0.
  • "info="STRING" – краткое описание созданного канала.

Удалить канал позволяет опция "clear".

Распределение трафика

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

Добавить правило каналу позволяет параметр "add[out] [NUM] [IFNAME] chN rules":

  • "add" - обработка входящих на устройство пакетов.
  • "addout" –  обработка исходящих с устройства пакетов.

Правилу может быть назначен порядковый номер в списке параметром "NUM", по умолчанию правило добавляется в конец списка. Изменить номер правила в списке позволяет опция "mov RULE_A RULE_B", опция "rearrange [STEP]" позволяет перенумеровать все правила с шагом "[STEP]" (по умолчанию 5).

По умолчанию правило канала распространяется на все интерфейсы устройства, указать конкретный интерфейс позволяет опция "IFNAME".

Синтаксис правил (rules) полностью соответствует синтаксису команды "ipfw" (см. раздел "Команда ipfw (IP Firewall)" технической документации), указывается в кавычках после параметра "-f".

Рассмотрим пример, беспроводной канал связывает удалённый объект с дата-центром провайдера, к удалённому устройству подключено два клиента и оборудование провайдера. Трафик интернет провайдера передаётся в VLAN 10, для него выделена полоса пропускания 70 Мбит/с. Договор с клиентами заключен следующим образом: ПК1 гарантирована пропускная способность 30 Мбит/с, которая может быть увеличена до 50 Мбит/с при отсутствии загрузки сети. ПК2 гарантирована пропускная способность 20 Мбит/с, которая может быть увеличена до 40 Мбит/с при отсутствии загрузки сети. 

Выполним настройку контроля трафика на устройстве БС:

R5000-Omx#2> qm ch1 max=70000 - создадим канал для трафика провайдера
R5000-Omx#2> qm addout 1 rf5.0 ch1 -f "vlan 10" - установим фильтр на выходе из радио интерфейса для трафика провайдера
R5000-Omx#2> qm class1 max=50000
R5000-Omx#2> qm ch2 max=30000 class1 ceil=100% - создадим канал для трафика ПК1
R5000-Omx#2> qm ch3 max=20000 class1 ceil=40000 - создадим канал для трафика ПК2
R5000-Omx#2> qm addout 2 rf5.0 ch2 -f "host 192.168.10.1" - установим фильтр на выходе из радио интерфейса для трафика провайдера
R5000-Omx#2> qm addout 3 rf5.0 ch3 -f "host 192.168.10.2" - установим фильтр на выходе из радио интерфейса для трафика провайдера
R5000-Omx#2> co sh qm - убедимся в правильности конфигурации
#QoS manager
qm option dot1p rtp nodscp icmp
qm class1 max=50000
qm ch1 max=70000
qm ch2 max=30000 class1 ceil=100%
qm ch3 max=20000 class1 ceil=40000
qm addout 1 rf5.0 ch1 -f "vlan 10"
qm addout 2 rf5.0 ch2 -f "host 192.168.10.1" 
qm addout 3 rf5.0 ch3 -f "host 192.168.10.2"

Выполним настройку контроля трафика на устройстве АС:

R5000-Smn#2> qm ch1 max=70000 - создадим канал для трафика провайдера
R5000-Smn#2> qm add 1 eth0 ch1 -f "vlan 10" - установим фильтр на входе на интерфейс Ethernet для трафика провайдера
R5000-Smn#2> qm class1 max=50000
R5000-Smn#2> qm ch2 max=30000 class1 ceil=100% - создадим канал для трафика ПК1
R5000-Smn#2> qm ch3 max=20000 class1 ceil=40000 - создадим канал для трафика ПК2
R5000-Smn#2> qm add 2 eth0 ch2 -f "host 192.168.10.1" - установим фильтр на входе на интерфейс Ethernet для трафика ПК1
R5000-Smn#2> qm add 3 eth0 ch3 -f "host 192.168.10.2" - установим фильтр на входе на интерфейс Ethernet для трафика ПК2
R5000-Smn#2> co sh qm - убедимся в правильности конфигурации
#QoS manager
qm option dot1p rtp nodscp icmp
qm class1 max=50000
qm ch1 max=70000
qm ch2 max=30000 class1 ceil=100%
qm ch3 max=20000 class1 ceil=40000
qm add 1 eth0 ch1 -f "vlan 10"
qm add 2 eth0 ch2 -f "host 192.168.10.1" 
qm add 3 eth0 ch3 -f "host 192.168.10.2"

Обратите внимания, что настройки QoS должны быть выполнены в согласовании с настройками коммутации устройства. Процесс настройки коммутации описан в уроке "3. Настройка коммутации и управления".

Назад Далее