Skip to content

Настройка ограничений для исходящего графика (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)