Настройка QoS на коммутаторе для трафика управления

01.04.2022 16:25

Quality of service (QoS) – технология, позволяющая операторам приоритизировать трафик в сети с целью улучшения качества тех или иных услуг в условиях нагруженности сети. Как известно, в условиях высокой нагрузки часть пакетов может теряться из-за переполнения буфера сетевого оборудования. QoS позволяет пропускать в первую очередь приоритетные данные: трафик управления, VoIP или, например, IPTV.

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

Технологи QoS состоит из нескольких элементов:

маркировка и классификация входящего трафика;

приоритизация трафика, в зависимости от его класса;

планирование и механизм обработки очередей;

политика обработки трафика (Rate Limit, Traffic Shaping),

переназначение классов трафика.

Для ситуации, описанной выше, настройка QoS ограничивается классификацией трафика управления и настройкой планировщика очередей.

 

Класс или приоритет трафика определяется содержанием определенных полей пакета. Это может быть поле Class of Service (CoS – 3 бита со значением от 0 до 7) в Ethernet пакете или Differentiated Services Code Point  (DSCP – 6 бит со значением от 0 до 63) в IP пакете.

При  получении пакета, коммутатор может доверять меткам CoS или DSCP, установленным в пакете, или перемаркировывать эти поля. При использовании CoS на access портах коммутатор устанавливает метку CoS одновременно с добавлением VLAN.

При классификации пакета коммутатором, в зависимости от определяющего приоритет поля, значение CoS или DSCP преобразуется в локальный приоритет от 0 до 7, в соответствии с таблицей 1:

Таблица 1. Соответствие значений DSCP и CoS локальному приоритету по-умолчанию.

 

Локальный приоритет определяет, в какую очередь будет помещен пакет. Обычно коммутаторы поддерживают до 8 очередей. Соответствие по-умолчанию локального приоритета и очереди  представлено в таблице 2:

Таблица 2. Соответствие по-умолчанию локального приоритета и очереди .

 

Таким образом, пакет с параметром CoS равным 7 помещается в 8 очередь, пакет с CoS равным 0 – в 1 очередь.

Существуют различные механизмы обработки очередей:

Strict Priority (SP) – обрабатывает очереди строго с восьмой по первую целиком. Т.е. сначала передаются все пакеты, содержащиеся в буфере восьмой очереди. Если восьмая очередь пуста, то передаются пакеты из седьмой очереди и так далее. Алгоритм работы QoS представлен на рисунке 1.

Рисунок 1. Алгоритм работы QoS

Weighted Round Robin (WRR) – алгоритм для более гибкой обработки очередей, требующий тонкой настройки, может планировать порядок передачи в зависимости от веса очередей и их загруженности.

Deficit Round Robin (DRR) – также, как и WRR, является гибким алгоритмом обработки. Отличие его от WRR  в том, что WRR основывается на количестве пакетов в очереди, а DRR на размере пакетов.

Помимо этого, могут применяться гибридные режимы SP+WRR, SP+DRR.

В данной статье рассматривается механизм обработки очередей SP, в котором очереди Q8-Q1 обрабатываются планировщиком последовательно от 8 до 1.

В итоге, пакет с параметром CoS, равным 7, передается в выходной интерфейс первым, пакет с CoS, равным 0, – последним, когда отсутствуют пакеты в других очередях.

 

Перейдем к настройке оборудования.

Схема работы представлена на рисунке 2. Коммутаторы соединены через порты GE1/1/9, работающие в режиме trunk. Сеть поделена на клиентские VLAN100,200. Клиенты в этих сегментах подключаются к портам GE1/1/1-4, настроенным в режиме access. Также создана отдельная сеть управления VLAN20 (процесс ее создания отдельно рассматривается в видео). Для управления коммутаторам SW1 и SW2  в VLAN20 назначены адреса 10.0.10.1 и 10.0.10.2 соответственно. Администратор сети подключен к порту GE1/1/7, настроенному в режиме access, коммутатора SW1 и может управлять им, а также коммутатором SW2.

Рисунок 2. Схема подключения

Алгоритм настройки:

1)Создадим на коммутаторах SW1 и SW2 VLAN20,100 и 200.

SW1(config)#create vlan 10,20,100,200 active

 

2)Настроим режим работы клиентских портов и  портов trunk. Эти настройки аналогичны для SW1 и SW2.

SW1(config)#interface gigaethernet 1/1/1

SW1(config-gigaethernet1/1/1)#switchport mode access

SW1(config-gigaethernet1/1/1)#switchport access vlan 100

SW1(config-gigaethernet1/1/1)#interface gigaethernet 1/1/2

SW1(config-gigaethernet1/1/1)#switchport mode access

SW1(config-gigaethernet1/1/2)#switchport access vlan 100

SW1(config-gigaethernet1/1/2)#interface gigaethernet 1/1/3

SW1(config-gigaethernet1/1/3)#switchport mode access

SW1(config-gigaethernet1/1/3)#switchport access vlan 200

SW1(config-gigaethernet1/1/3)#interface gigaethernet 1/1/4

SW1(config-gigaethernet1/1/4)#switchport mode access

SW1(config-gigaethernet1/1/4)#switchport access vlan 200

SW1(config-gigaethernet1/1/4)#interface gigaethernet 1/1/9

SW1(config-gigaethernet1/1/9)#switchport mode trunk

SW1(config-gigaethernet1/1/9)#switchport trunk allowed vlan 20,100,200 confirm

 

3)Назначим адреса для управления.

SW1(config)#interface vlan 20

SW1(config-vlan20)# ip address 10.0.10.1 255. 255. 255.0

 

SW2(config)#interface vlan 20

SW2(config-vlan20)# ip address 10.0.10.2 255. 255. 255.0

 

4)На коммутаторе SW1 настроим порт администратора.

SW1(config)#interface gigaethernet 1/1/7

SW1(config-gigaethernet1/1/7)#switchport mode access

SW1(config-gigaethernet1/1/7)#switchport access vlan 20

В такой конфигурации, при возникновении шторма в сети, например из-за петли на клиентском порту, трафик управления от администратора может не проходить до удаленного коммутатора:

 

5)Назначим приоритет трафику, поступающему в порт GE1/1/7, равным 7. Таким образом, трафик управления маркируется меткой CoS равной 7. При этом трафик от клиентов имеет приоритет по умолчанию 0 (CoS=0).

SW1(config-gigaethernet1/1/7)# mls qos priority 7

 

6)На стороне SW2 настроим приоритет трафика управления. На этом коммутаторе такой трафик не приходит с интерфейса доступа, а генерироваться самим коммутатором, т.е. исходящий от коммутатора трафик во VLAN20 будет маркироваться меткой CoS равной 7.

SW2(config)#interface vlan 20

SW2(config-vlan20)#ip management-traffic cos 7

 

7)В данном примере используем соотношение локального приоритета и CoS по-умолчанию.

Назначим механизм планирования очередей на trunk портах коммутаторов, на SW1 и SW2 настройки аналогичен. Используем распределение пакетов по очередям, представленным в таблице 2.

SW1(config)#interface gigaethernet 1/1/9

SW1(config-gigaethernet1/1/9)#mls qos queue scheduler sp

 

8)Trunk порты коммутаторов SW1 и SW2 настраиваем в режиме trust cos. На эти порты трафик приходит с меткой, установленной заранее, и она будет использоваться для классификации без перемаркировки.

SW1(config-gigaethernet1/1/9)#mls qos trust cos

 

9)Настройка завершена, проверим конфигурацию QoS.

SW1(config)#show mls qos interface

Interface                     TrustMode  Priority     Cos-PriProfile Dscp-PriProfile Dscp-Mutation Cos-Remark DEI-Status

----------------------------------------------------------------------------------------------------------------------

gigaethernet1/1/1             cos        untagged 0   0              0               0             0          --

gigaethernet1/1/2             cos        untagged 0   0              0               0             0          --

gigaethernet1/1/3             cos        untagged 0   0              0               0             0          --

gigaethernet1/1/4             cos        untagged 0   0              0               0             0          --

gigaethernet1/1/5             cos        untagged 0   0              0               0             0          --

gigaethernet1/1/6             cos        untagged 0   0              0               0             0          --

gigaethernet1/1/7             cos        untagged 7   0              0               0             0          --

gigaethernet1/1/8             cos        untagged 0   0              0               0             0          --

gigaethernet1/1/9             cos        untagged 0   0              0               0             0          --

gigaethernet1/1/10            cos        untagged 0   0              0               0             0          --

vlan1                         --         --           --             --              --            --         --

vlan20                        --         --           --             --              --            --         --

vlan100                       --         --           --             --              --            --         --

vlan200                       --         --           --             --              --            --         --

Из вывода видно, что нетегированный трафик, поступающий на  порт GE1/1/7, маркируется CoS=7.

 

SW1(config)#show mls qos queue statistics interface gigaethernet 1/1/9

Port :gigaethernet1/1/9

QueueId PassPkts(Pkts)        PassBytes(Bytes)        DropPkts(Pkts)        DropBytes(Bytes)

----------------------------------------------------------------------------------------------

1       9,965,347,860         3,313,862,814,982       156,845               46,845,123

2       0                     0                       --                    --

3       0                     0                       --                    --

4       0                     0                       --                    --

5       0                     0                       --                    --

6       0                     0                       --                    --

7       0                     0                       --                    --

8       226,647,877           86,310,702,085          --                    --

Мы видим, что трафик попадает в две очереди, согласно нашим настройкам.

После активации QoS трафик управления в сети успешно проходит до удаленного коммутатора даже в условиях шторма или высокой нагрузки на сети:

 

В статье показан только один пример использования QoS. Этот функционал предоставляет очень гибкий и незаменимый инструмент для управления трафиком и обеспечения стабильной работы сети и надежное удаленное управление сетевыми устройствами.