Настройка ограничений для исходящего графика (shapping)
ЧЕРНОВИК ГОТОВНОСТЬ 95% (схема)
В данной статье описывается применение ограничения полосы пропускания исходящего трафика (шейпинга) для CoS-очереди 0 на портах коммутатора CIT L3200 Схема вклюения показана ниже. Данные передеются на Trunk портах
Необходимые условия и предварительные требования
Основные условия
Управление трафиком на порту производится на приоритетных очередях SP (Strict Priority) для всего трафика. Всего 8 очередей, где * очередь 7 - наиболее приоритетная * очередь 0 - наименее приоритетная
Это значит, что пока не будет передан трафик и более приоритетных очередей, менее приоритетные будут ждать. * Коммутатор в примере не маркирует трафик и не имеет других настроенных политик QoS * При обработке трафиком, коммутатор будет учитывать маркировку CoS (поле Priority IEEE 802.1p) в заголовке vlan 802.1Q * При отсутствии метки Vlan трафик будет перемещан в менее приоритетную очередь * При наличии метки Vlan, трафик будет обработан планировщиком очередей SP в соответвсие с полем Priority (Class of Service) 0-7
Не рекомендуется менять/ограничивать настройки для очередей 6-7 так как они используются для передачи служебного сетевого трафика
Другие условия
- На линках между коммутаторами должны быть разрешены необходимые VLAN (в рассматриваемом примере: VLAN 4001)
- Тестовые IP-адреса на интерфейсах SVI VLAN 4001 должны быть сконфигурированы на крайних устройствах (в примере: SW1 и SW3)
- Топология L2 должна быть стабильной: порты, участвующие в передаче VLAN 4001, находятся в состоянии forward для соответствующего MST instance (в примере: instance 40).
- Шейпер применяется на конкретных физических интерфейсах, через которые проходит исходящий трафик тестового VLAN.
Основная информация о применяемых технологиях
В модели SP очереди обслуживаются по приоритету; обслуживание очередей более высокого приоритета выполняется предпочтительно при наличии конкуренции за ресурс порта. В рамках очередей может применяться ограничение по полосе (min/max bandwidth) для конкретной очереди.
Назначение применяемой команды/конфигурации
Настройка ограничивает максимальную полосу пропускания для CoS queue 0 на выбранных интерфейсах коммутатора SW2 до 320 кбит/с, что позволяет:
- ограничить скорость исходящего трафика, обслуживаемого указанной очередью, на конкретных портах;
- наблюдать влияние ограничения на нагрузочные тесты (потери/дропы очереди, таймауты ICMP) при агрессивных параметрах генерации трафика.
- не ограничивает трафик управления на канальном и сетевом уровнях, которые имеет приоритетную маркировку CoS по умолчанию
Схема топологии
SW1 <--> SW2 <--> SW3
Пример конфигурирования
Предварительная проверка состояния конфиуграции
SW1 — вывод show port vlan
Выводы команд приведены в сокращенном варианте и отображают только важные для примера настройки Не используемы порты либо выключены, либо находятся в режиме блокировки протоколом STP.
SW1# show port vlan
Interface Link Type PVID VLAN List
...
10gigaethernet 1/0/1 trunk 1 1,4001
10gigaethernet 1/0/3 trunk 1 1,4001
SW2 — вывод show port vlan
SW2# show port vlan
Interface Link Type PVID VLAN List
...
10gigaethernet 1/0/1 trunk 1 1,4001
10gigaethernet 1/0/5 trunk 1 1,4001
..
SW3 — вывод show port vlan
SW3# show port vlan
Interface Link Type PVID VLAN List
...
10gigaethernet 1/0/3 trunk 1 1,4001
10gigaethernet 1/0/5 trunk 1 1,4001
...
Проверка STP (MST instance 40) на портах
В используемой топологии трафик передается в Vlan 4001, чей трафик обрабатывается MSTPI 40.
SW1 — show stp instance 40 interface
SW1# show stp instance 40 interface
MSTID Port Role STP State Protection
40 10ge1/0/1 root forward N/A <-- порт передает трафик в сторону SW2
40 10ge1/0/2 disable discarding N/A
40 10ge1/0/3 designated forward N/A
40 10ge1/0/4 disable discarding N/A
40 10ge1/0/5 designated forward N/A
40 10ge1/0/6 disable discarding N/A
SW2 — show stp instance 40 interface
SW2# show stp instance 40 interface
MSTID Port Role STP State Protection
40 10ge1/0/1 designated forward N/A <-- порт передает трафик в сторону SW1
40 10ge1/0/2 disable discarding N/A
40 10ge1/0/3 designated forward N/A <-- резервный линк SW1-SW3
40 10ge1/0/4 disable discarding N/A
40 10ge1/0/5 designated forward N/A <-- порт передает трафик в сторону SW3
SW3 — show stp instance 40 interface
SW3(config)#show stp instance 40 interface
MSTID Port Role STP State Protection
40 10ge1/0/1 designated forward N/A
40 10ge1/0/2 disable discarding N/A
40 10ge1/0/3 alternate discarding N/A <-- резервный линк SW1-SW3 (заблокирован STP)
40 10ge1/0/4 disable discarding N/A
40 10ge1/0/5 root forward N/A <-- порт передает трафик в сторону SW2
40 10ge1/0/6 disable discarding N/A
Проверка SVI VLAN 4001 на SW1 и SW3
SW1 — show int vlan config
SW1# show int vlan config
!
interface vlan 4001
alias CoS-shapping <-- описание интерфейса
ip address 10.40.0.1/24
mtu 9000 <-- увеличен ip mtu в целях тестирования
!
SW2 — show int vlan config
На транзитном коммутаторе SW2 интерфейсы SVI не настроены
SW2#show int vlan config
SW2#
SW3 — show int vlan config
SW3#show int vlan config
!
interface vlan 4001 <-- описание интерфейса
alias CoS-shapping
ip address 10.40.0.3/24
mtu 9000 <-- увеличен ip mtu в целях тестирования
SW3#
Настройка шейпера для CoS queue 0
Ограничение полосы пропускания должно быть настроено с шагом 160 бит/с В противном случае возможна неточная работа алгоритма шейпераы
Команды настройки
Настройку шейпере проведем в обоих направлениях. Настройка может быть выполнена для минимальной и максимальной полосы пропускания. В примере ограничение производится по максимальной полосе.
SW2(config-10ge1/0/5)# cos queue 0 ?
max-bandwidth Maximum bandwidth of COS queue
min-bandwidth Minimum bandwidth of COS queue
weight COS queue weight
Конфигурация в направлении SW2 <--> SW1
SW2(config)#interface 10gi 1/0/1
SW2(config-10ge1/0/1)#cos queue 0 max-bandwidth kbps 320
SW2(config-10ge1/0/1)#end
Конфигурация в направлении SW2 <--> SW3
SW2(config)# interface 10gi 1/0/5
SW2(config-10ge1/0/5)# cos queue 0 max-bandwidth kbps 320
SW2(config-10ge1/0/5)#exit
Полный вывод выполненных конфигураций
Настройка шейпера производится только на коммутаторе SW2
Настройка шейпера
В направлении SW2 <--> SW1
SW2# show int 10gi 1/0/1 config
!
interface 10gigaethernet 1/0/1
alias to_SW1
port link-type trunk
port trunk allow-pass vlan 4001
cos queue 0 max-bandwidth kbps 320
SW2#
В направлении SW2 <--> SW3
SW2#show int 10gi 1/0/5 config
!
interface 10gigaethernet 1/0/5
alias to_SW3
port link-type trunk
port trunk allow-pass vlan 4001
cos queue 0 max-bandwidth kbps 320
SW2#
Изучение состояния устройства
Изучение состояния рекомендуется выполнять в следующей последовательности: - проверка конфигурации - проверка параметров работы QoS/очередей - проверка статистики - контрольная проверка трафиком (ping).
Просмотр конфигурации
- Проверка VLAN на портах:
show port vlan(см. раздел выше). - Проверка SVI VLAN 4001:
show int vlan config(см. раздел выше). - Проверка STP роли/состояния портов в instance 40:
show stp instance 40 interface(см. раздел выше). - Проверка применения шейпера на интерфейсе:
show int <if> config(см. раздел выше).
Просмотр параметров работы
Состояние CoS-очередей на интерфейсах
SW2# show cos interface 10gi 1/0/1
scheduling algorithm is sp <--- используемый алгоритм приоритезации Strict Priority
'BW' means 'Bandwidth'
'bps' means 'bits per second'
Interface Queue Max-BW(bps) Min-BW(bps) Weight
10ge1/0/1 0 320K 0M N/A
10ge1/0/1 1 0M 0M N/A
10ge1/0/1 2 0M 0M N/A
10ge1/0/1 3 0M 0M N/A
10ge1/0/1 4 0M 0M N/A
10ge1/0/1 5 0M 0M N/A
10ge1/0/1 6 0M 0M N/A
10ge1/0/1 7 0M 0M N/A
SW2# show cos interface 10gi 1/0/5
scheduling algorithm is sp <--- используемый алгоритм приоритезации Strict Priority
'BW' means 'Bandwidth'
'bps' means 'bits per second'
Interface Queue Max-BW(bps) Min-BW(bps) Weight
10ge1/0/5 0 320K 0M N/A
10ge1/0/5 1 0M 0M N/A
10ge1/0/5 2 0M 0M N/A
10ge1/0/5 3 0M 0M N/A
10ge1/0/5 4 0M 0M N/A
10ge1/0/5 5 0M 0M N/A
10ge1/0/5 6 0M 0M N/A
10ge1/0/5 7 0M 0M N/A
SW2#
Просмотр статистики очередей (дропы/пропуск)
Статистика порта до нагрузочного теста
SW2(config)# show cos statistics interface 10gi 1/0/1
Interface Queue Passed-Packets(H/L) Passed-Bytes(H/L) Dropped-Packets(H/L) Dropped-Bytes(H/L)
-----------------------------------------------------------------------------------------------------------
10ge1/0/1 0 0/0 0/81767930 0/0 0/0
10ge1/0/1 1 0/0 0/0 0/0 0/0
10ge1/0/1 2 0/0 0/0 0/0 0/0
10ge1/0/1 3 0/0 0/0 0/0 0/0
10ge1/0/1 4 0/0 0/0 0/0 0/0
10ge1/0/1 5 0/0 0/0 0/0 0/0
10ge1/0/1 6 0/0 0/0 0/0 0/0
10ge1/0/1 7 0/17 0/1386 0/0 0/0
SW2(config)#
Нагрузочный тест (агрессивные параметры) с помощью ping CoS 0
Более подробна о параметрах команды эping приведена в соответвующем разделе документации.
-m- интервал отправки в ms-w- интервал ожидания ответа в ms-f- не фрагментировать (ip mtu установлен в 9000)-8021p- установка поля Priority (CoS)-n- количество отправляемых icmp echo запросов
SW3# ping 10.40.0.1 -8021p 0 -m 1 -l 8000 -w 20 -n 300 -f
PING 10.40.0.1: 8000 data bytes
Reply from 10.40.0.1: bytes=8000 time<1ms TTL=64 icmp_seq=1
Reply from 10.40.0.1: bytes=8000 time<1ms TTL=64 icmp_seq=2
Reply from 10.40.0.1: bytes=8000 time<1ms TTL=64 icmp_seq=3
Reply from 10.40.0.1: bytes=8000 time<1ms TTL=64 icmp_seq=4
...
Reply from 10.40.0.1: bytes=8000 time<1ms TTL=64 icmp_seq=228
Request timed out
Request timed out
...
Request timed out
PING Statistics for 10.40.0.1
300 packets transmitted, 228 packets received, 24% packet loss
round-trip (ms) min/avg/max = 0/0/0
SW2 — show cos statistics interface 10gi 1/0/1 (после нагрузочного теста)
SW2(config)#show cos statistics interface 10gi 1/0/1
Interface Queue Passed-Packets(H/L) Passed-Bytes(H/L) Dropped-Packets(H/L) Dropped-Bytes(H/L)
-----------------------------------------------------------------------------------------------------------
10ge1/0/1 0 0/255 0/83820680 0/45 0/362250
10ge1/0/1 1 0/0 0/0 0/0 0/0
10ge1/0/1 2 0/0 0/0 0/0 0/0
10ge1/0/1 3 0/0 0/0 0/0 0/0
10ge1/0/1 4 0/0 0/0 0/0 0/0
10ge1/0/1 5 0/0 0/0 0/0 0/0
10ge1/0/1 6 0/0 0/0 0/0 0/0
10ge1/0/1 7 0/17 0/1386 0/0 0/0
SW2(config)#
Полная настройка оборудования
Вывод применен в формате удобном для копирования и вставки в командную строку коммутаторов
Конфигурация коммутатора SW1
configure
!
hostname SW1
!
vlan 4001
alias CoS-shapping
!
stp
stp config-name CIT
stp instance 40 vlan 4000-4094
!
interface vlan 4001
alias CoS-shapping
mtu 9000
ip address 10.40.0.1/24
!
interface 10gigaethernet 1/0/1
alias to_SW2
port link-type trunk
port trunk allow-pass vlan 4001
!
interface 10gigaethernet 1/0/3
alias to_SW3
port link-type trunk
port trunk allow-pass vlan 4001
!
interface group 1/0/2, 1/0/4-1/0/24
shutdown
!
end
Конфигурация коммутатора SW2
configure
!
hostname SW2
!
vlan 4001
alias CoS-shapping
!
stp
stp config-name CIT
stp revision-level 3200
stp instance 40 vlan 4000-4094
!
interface 10gigaethernet 1/0/1
alias to_SW1
port link-type trunk
port trunk allow-pass vlan 4001
cos queue 0 max-bandwidth kbps 320
!
interface 10gigaethernet 1/0/5
alias to_SW3
port link-type trunk
port trunk allow-pass vlan 4001
cos queue 0 max-bandwidth kbps 320
!
interface group 1/0/2-1/0/4,1/0/6-1/0/24
shutdown
!
end
Конфигурация коммутатора SW3
configure
!
hostname SW3
!
vlan 4001
alias CoS-shapping
!
stp
stp config-name CIT
stp revision-level 3200
stp instance 40 vlan 4000-4094
!
interface vlan 4001
alias CoS-shapping
mtu 9000
ip address 10.40.0.3/24
!
interface 10gigaethernet 1/0/3
alias to_SW1
port link-type trunk
port trunk allow-pass vlan 4001
!
interface 10gigaethernet 1/0/5
alias to_SW2
port link-type trunk
port trunk allow-pass vlan 4001
!
interface group 1/0/1-1/0/2,1/0/4,1/0/6-1/0/24
shutdown
!
end
Рекомендации выполнения команд/настроек
- Правила ограничения трафика могут быть настроены для максимальных/минимальных значений пропускной способности для каждой очереди
- Не рекомендуется отраничивать полосу пропускания для системного трафика "сверху"
- Рекомендуется выделять минимальную полосу для трафика очереди 6-7 "снизу" не более 20%
- При наличии ограничений входящей полосы пропускания на вышестоящем оборудовании, рекомендуется ограничить общую полосу пропускания порта
- Очередь 0 для приритета CoS 0 ограничивается по остаточному принципу
- Ограничения применяются для трафика всех приложений, имеющих маркировку поля Priority (CoS) 802.1p на канальном уровне
История появления команд
Команды в данной главе применимы для аппаратных плаформ CIT серии L3200, с уставленной версией ПО v1.0.2. являются актуальными с версии ПО v.1.0.2
Ссылка на внешнюю документацию
- Информация о значениях поля Priority приведена в стандарте IEEE 802.1p
- Информация о значениях в заголовке vlan приведена в стандарте IEEE 802.1Q, в заголовказ QinQ - IEEE 802.1ad (Provider Bridges)