QoS в ProCurve
Материал из Xgu.ru
- Автор: Наташа Самойленко
[править] Основные понятия
- Quality of Service (QoS)
- Class of Service (CoS)
- Type of Service (ToS)
- Differentiated Services Code Point (DSCP) — RFC 2474
- Differentiated Services (DiffServ) — RFC 2475 (An Architecture for Differentiated Services)
[править] Терминология
Политика DSCP
[править] Принципы работы на оборудовании ProCurve
|
В коммутаторах 3500, 5400 и 8200, начиная с версии K.14.01, появилась новая возможность по классификации трафика с помощью специальной политики (classifier-based policy). |
Политика QoS на коммутаторах может быть задана двумя способами:
- настроена глобально с помощью глобальных критериев классификации,
- настроена с помощью политики на основе классификатора (classifier-based. Не на всех моделях коммутаторов)
Очередь, которая соответствует пакетам, определяется на основании приоритета 802.1p. Если пакет маркирован на 3 уровне согласно стандарту DiffServ, то, для того чтобы поставить ему в соответствие очередь, используется политика DSCP. В ней должны быть назначены соответствия между значением поля DSCP и 802.1p. А значение 802.1p, в свою очередь, будет определять то, в какую очередь попадет пакет. На моделях 3500, 5400 и 8200 некоторые соответствия созданы по умолчанию. Эти соответствия называются DSCP map. Поэтому во всех настройках, которые описываются далее, предполагается, что до использовании конкретного значения маркировки DSCP, создается соответствие для этого значения в DSCP map (если его нет по умолчанию). |
Коммутаторы выделяют пропускную способность на соответствующие очереди на основании количества пакетов, а не на основании количества байтов.
[править] Глобальные критерии классификации
Глобальные настройки применяются ко всему трафику.
В качестве глобальных критериев классификации могут использоваться:
- IP-адрес отправителя и получателя,
- Маркировка на канальном уровне 802.1p,
- Протокол 3го уровня,
- Номера TCP/UDP портов,
- Номер VLAN,
- Входящий порт коммутатора,
- Layer 3 IPv6 Traffic Class
|
Рекомендуется использовать минимальное количество глобальных правил QoS. Увеличение количества правил повышает сложность возможных результатов и расходует ресурсы коммутатора. |
Если настроено несколько глобальных критериев классификации, то они просматриваются в следующем порядке:
- Номера TCP/UDP портов
- IP-адрес отправителя и получателя
- Значение IP precedence
- Значение DSCP
- Протокол 3го уровня
- Номер VLAN
- Входящий порт коммутатора
- Маркировка на канальном уровне 802.1p
Когда пакет совпадает по нескольким критериям, то применяется маркировка только для самого приоритетного критерия, из всех совпавших.
Политика на основе классификатора, после применения на интерфейсе или VLAN имеет больший приоритет, чем глобальные настройки. Поэтому, если настроена политика на основе классификатора, то она перебивает:
|
Типы маркировок, которые поддерживаются при использовании глобальных критериев классификации:
Глобальный критерий классификации | Только приоритет 802.1p | DSCP policy: DSCP и 802.1p |
---|---|---|
Номера TCP/UDP портов | Поддерживается | Поддерживается |
IP-адрес отправителя и получателя | Поддерживается | Поддерживается |
Значение IP precedence | Поддерживается* | Не поддерживается |
Значение DSCP | Поддерживается | Поддерживается |
Протокол 3го уровня | Поддерживается | Не поддерживается |
Номер VLAN | Поддерживается | Поддерживается |
Входящий порт коммутатора | Поддерживается | Поддерживается |
[править] Классификация по номерам TCP/UDP портов
Можно создать 50 правил (в новых версиях больше, проверить можно командой sh qos resources) классификации по TCP/UDP портам.
Указанному TCP/UDP порту можно поставить в соответствие:
- 802.1p
- Политику DSCP (присвоить новое значение DSCP и соответствующий приоритет 802.1p)
Для конкретного TCP/UDP порта можно указать только один из параметров (802.1p или политику DSCP). Но разным портам могут быть присвоены разные параметры.
Правило с указанием TCP/UDP порта будет касаться как трафика отправленного с указанного порта или диапазона, так и трафику отправленного на указанный порт или диапазон.
[править] Настройка приоритета 802.1p
Синтаксис команды для задания приоритета 802.1p:
sw(config)# qos <udp-port|tcp-port> [ipv4|ipv6|ip-all] <port-number|range start end> priority <0-7>
При указании диапазонов портов существуют дополнительные ограничения:
- может использоваться только 6 политик с диапазонами портов (реально получилось создать 7 диапазонов). Если в ACL используются диапазоны портов, то это значение ещё меньше.
- Фактически одно созданное правило с диапазоном портов забирает два правила из ресурсов коммутатора.
- Если количество правил превысило допустимое, будет отображена ошибка: Unable to add this QoS rule. Maximum number of range resources reached.
[править] Настройка политики DSCP
Когда коммутатор присваивает политику DSCP, он выполняет такие действия:
- Выбирает входящие IP-пакеты на основании TCP/UDP портов и правил, которые им соответствуют.
- Переписывает входящее значение поля DSCP соответствующим настроенным значением.
- Присваивает приоритет 802.1p, который соответствует новому значению DSCP.
- Передает пакет через очередь, которая соответствует присвоенному значению 802.1p.
Синтаксис команды для задания приоритета DSCP:
sw(config)# qos <udp-port | tcp-port> <port-number | range start end> dscp <codepoint>
[править] Просмотр правил
Просмотреть правила классификации, которые используют в качестве критерия TCP/UDP порты:
sw(config)# sh qos tcp-udp-port-priority TCP/UDP port based priorities | IP Packet Application | Protocol | Type Port Apply rule | DSCP Priority -------- + --------- ----------- ---------- + ------ ----------- UDP | IPV4 23 Priority | 4 UDP | IPV4 1024-2000 Priority | 1 TCP | IPV4 22 Priority | 7 UDP | IPV4 2024-3000 Priority | 1 UDP | IPV4 3024-4000 Priority | 1 UDP | IPV4 4024-5000 Priority | 1 UDP | IPV4 5024-6000 Priority | 1 UDP | IPV4 7024-8000 Priority | 1 UDP | IPV4 8024-9000 Priority | 1 TCP | IPV4 23 DSCP | 001010 1 TCP | IPV4 80 DSCP | 101110 7
[править] Классификация по IP-адресу отправителя или получателя
Можно создать 300 правил классификации по IP-адресам. Поддерживаются IPv4 и IPv6 адреса.
Указанному IP-адресу можно поставить в соответствие:
- 802.1p
- Политику DSCP (присвоить новое значение DSCP и соответствующий приоритет 802.1p)
Для конкретного IP-адреса можно указать только один из параметров (802.1p или политику DSCP). Но разным IP-адресам могут быть присвоены разные параметры.
Правило с указанием IP-адреса будет касаться как трафика отправленного с указанного адреса, так и трафику отправленного на указанный адрес.
[править] Настройка приоритета 802.1p
Синтаксис команды для задания приоритета 802.1p:
sw(config)# qos device-priority <address/mask> priority <0-7>
[править] Настройка политики DSCP
Когда коммутатор присваивает политику DSCP, он выполняет такие действия:
- Выбирает входящие IP-пакеты на основании IP-адресов и правил, которые им соответствуют.
- Переписывает входящее значение поля DSCP соответствующим настроенным значением.
- Присваивает приоритет 802.1p, который соответствует новому значению DSCP.
- Передает пакет через очередь, которая соответствует присвоенному значению 802.1p.
Синтаксис команды для задания приоритета DSCP:
sw(config)# qos device-priority <address/mask> dscp <codepoint>
[править] Просмотр правил
Просмотреть правила классификации, которые используют в качестве критерия IP-адреса устройств:
sw(config)# sh qos device-priority Device priorities Device Address Apply rule | DSCP Priority -------------------------------------------- ---------- + ------ ----------- 10.0.1.1 Priority | 2 10.0.1.2 DSCP | 101000 5 10.0.1.5 Priority | 7 10.0.1.10 DSCP | 101110 7
[править] Классификация по значению IP precedence
Классификация по IP precedence не требует дополнительных настроек политики DSCP, так как каждому значению IP precedence поставлено в соответствие значение 802.1p и очередь.
Таблица соответствий значений IP precedence и 802.1p:
Значение IP precedence | Соответствующий приоритет 802.1p |
---|---|
000 | 1 |
001 | 2 |
010 | 0 |
011 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
[править] Значение DSCP
[править] Протокол 3го уровня
[править] Классификация по номерам VLAN
Указанному VLAN'у можно поставить в соответствие:
- 802.1p
- Политику DSCP (присвоить новое значение DSCP и соответствующий приоритет 802.1p)
|
Глобальные критерии классификации проставляют приоритет только пакетам, которые получены в статических VLAN. Пакеты, которые были получены в динамических VLAN, созданных GVRP, не маркируются глобальными критериями классификации. |
[править] Входящий порт коммутатора
[править] Политика на основе классификатора (Classifier-based policy)
Политика на основе классификатора позволяет применять дополнительные действия и применять их для входящего трафика к интерфейсу или VLAN. Кроме того, политика позволяет более гибко использовать различные критерии классификации, в том числе, несколько критериев одновременно.
В качестве критериев в политике на основе классификатора могут использоваться (начиная с версии K.14.01):
- IP-адрес отправителя (IPv4 и IPv6),
- IP-адрес получателя (IPv4 и IPv6),
- IP-протокол (например, ICMP или SNMP),
- Значение IP precedence,
- Значение DSCP,
- Номера TCP/UDP портов,
- Номер VLAN.
Возможные действия:
- установить значение 802.1p,
- установить значение IP precedence,
- установить значение DSCP,
- установить ограничение rate-limit для входящего трафика на интерфейсе и VLAN.
Политика на основе классификатора, после применения на интерфейсе или VLAN имеет больший приоритет, чем глобальные настройки. Поэтому, если настроена политика на основе классификатора, то она перебивает:
|
[править] Настройка общих параметров
[править] Политика DSCP (DSCP map)
По умолчанию на коммутаторах 5400, 3500, 8212 настроены такие соответствия между классами DSCP и 802.1p:
PHB | Class | Drop Precedence | Дес. значение | Traffic class | Соотв. очередь |
---|---|---|---|---|---|
AF Class 1 | 001 | 010 | 10 | 1 | 1 |
001 | 100 | 12 | 1 | 1 | |
001 | 110 | 14 | 2 | 2 | |
AF Class 2 | 010 | 010 | 18 | 0 | 3 |
010 | 100 | 20 | 0 | 3 | |
010 | 110 | 22 | 3 | 4 | |
AF Class 3 | 011 | 010 | 26 | 4 | 5 |
011 | 100 | 28 | 4 | 5 | |
011 | 110 | 30 | 5 | 6 | |
AF Class 4 | 100 | 010 | 34 | 6 | 7 |
100 | 100 | 36 | 6 | 7 | |
100 | 110 | 38 | 7 | 8 | |
EF | 101 | 110 | 46 | 7 | 8 |
[править] Изменение количества очередей
Изменение количества очередей (возможно только на моделях 3500, 5400, 8200):
sw1(config)# qos queue-config < 2-queues | 4-queues | 8-queues >
Просмотр информации (по умолчанию используется 8 очередей):
sw(config)# show qos queue-config Outbound Port Queue Configuration 802.1p Queue Priority Memory % ----- -------- -------- 1 1 10 2 2 10 3 0 30 4 3 10 5 4 10 6 5 10 7 6 10 8 7 10
Команда применяется после сохранения конфигурации и перезагрузки. После введения команды коммутатор предлагает сохранить конфигурацию и произвести перезагрузку.
Пример выполнения команды:
sw(config)# qos queue-config 4-queues CAUTION: This command will execute a 'write memory', followed by an immediate reboot, replacing the Startup configuration with the content of the current Running configuration. The new configuration will: 1. Remove any previously configured 'bandwidth-min output' settings 2. Set the new number of outbound port queues Do you want to save current configuration [y/n/^C]? y Device will be rebooted, do you want to continue [y/n]? y
После изменения количества очередей на 4:
sw# show qos queue-config Outbound Port Queue Configuration 802.1p Queue Priority Memory % ----- -------- -------- 1 1-2 10 2 0,3 70 3 4-5 10 4 6-7 10
[править] Выбор режима работы с полем ToS (маркировка 3го уровня)
Включить режим diff-services. Поле ToS (Type of Service) в IP-пакетах классифицируется как DSCP (анализируются 6 бит поля):
sw1(config)# qos type-of-service diff-services
Включить режим ip-precedence. Поле ToS (Type of Service) в IP-пакетах классифицируется как IP Precedence (анализируются 3 бита поля):
sw1(config)# qos type-of-service ip-precedence
[править] Дополнительная информация
ProCurve | ||
---|---|---|
Основы | ProCurve Adaptive Edge | ProCurve ProActive Defense | ProCurve Network Access Control | ProCurve Wireless | |
Программы | ProCurve Manager | ProCurve Identity Driven Manager | ProCurve Network Immunity Manager | ProCurve Mobility Manager | |
Устройства | ProCurve Switch | ProCurve Router | ProCurve ONE Module | ProCurve TMS Module | ProCurve NAC 800 | ProCurve Access Point | ProCurve WESM | |
Настройка | ||
Безопасность | ProCurve Security | Доступ к коммутатору ProCurve | DHCP snooping | Dynamic ARP Protection | IP Source Guard | Port security | Аутентификация при доступе к сети | 802.1X в ProCurve | Web-аутентификация в ProCurve | MAC-аутентификация в ProCurve | |
Канальный уровень | CDP | LLDP | VLAN в ProCurve | GVRP | STP в ProCurve | ProCurve Mesh | Агрегирование каналов | Зеркалирование трафика | QinQ | |
Сетевой уровень | RIP в ProCurve | OSPF в ProCurve | VRRP в ProCurve | XRRP в ProCurve | QoS в ProCurve | Multicast в ProCurve | PIM в ProCurve | |
Разное | Опция 82 DHCP | SNMP в ProCurve |