Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

1.1. Общие сведения о QoS

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

1.1.1. Термины QoS

QoS: Quality of Service, качество сервиса, обеспечивает гарантию предсказуемого сервиса передачи данных для выполнения требований программ.

Домен QoS: сетевая топология, сформированная устройствами, поддерживающими QoS для обеспечения качества сервиса.

CoS: Class of Service, информация о классификации, передаваемая на 2 уровне модели OSI в подзаголовке 802.1Q заголовка Ethernet-кадра. CoS занимает 3 бита,
поэтому может принимать значения от 0 до 7.

Рисунок 31.1 - поле CoS


ToS: Type of Service, однобайтовое поле в составе заголовка пакета IPv4, используется для обозначения типа сервиса IP-пакетов. Может содержать DSCP и IP-precedence.

Рисунок 31.2 - поле DSCP


IP presedence: информация о классификации, передаваемая в IPv4 заголовке 3 уровня (поле ToS). Занимает 3 бита, поэтому может принимать значения от 0 до 7.

DSCP: Differentiated Services Code Point, информация о классификации, передаваемая в IPv4 заголовке 3 уровня (поле ToS). Занимает 6 бит, поэтому может принимать значения от 0 до 63. Поле пересекается с IP Precedence, но совместимо с ним.

Internal Priority: внутренняя настройка приоритета в чипе коммутатора, сокращенно Int-P или IntP.

Classification (классификация): классификация отдельных пакетов в трафике в соответствии с информацией о классификации, передаваемой в заголовке пакета или на основании списков контроля доступа (ACL).

Policing (управление полосой пропускания): действие механизма QoS на входе, которое устанавливает политику для полосы трафика и управляет классифицированными пакетами.

Remark (перемаркировка): действие механизма QoS на входе, выполняющее перемаркировку пакета в соответствии с настроенной политикой.

Scheduling (управление очередями): действие механизма QoS на выходе, которое распределяет трафик по очередям в соответствии с Internal Priority и принимает решение о передаче или сбросе пакетов.

1.1.2. Реализация QoS

Спецификации передачи IP-пакетов охватывают адресацию и сервисы источника и получателя трафика, а также описывают механизм правильной передачи пакетов с использованием протоколов уровня 4 модели OSI (например TCP). В большинстве случаев IP использует максимально возможную пропускную способность вместо механизма защиты полосы пропускания. Это приемлемо для таких сервисов, как электронная почта или FTP, но для постоянно растущих объемов мультимедийных сервисов этот метод не может удовлетворить требования необходимой пропускной способности и низких задержек.
Используя различные методы, QoS определяет приоритет для каждого входящего пакета. Информация о классификации содержится в заголовке IP-пакета 3-го уровня или в заголовке кадра 802.1Q уровня 2. QoS обеспечивает одинаковый сервис для пакетов с одинаковым приоритетом, в то же время для пакетов с разным приоритетом сервис может обеспечиваться разный. Коммутатор или маршрутизатор с поддержкой QoS может обеспечивать различную пропускную способность в соответствии с информацией о классификации, помечать трафик в соответствии с настроенной политикой, а также сбрасывать некоторые пакеты с низким приоритетом в случае нехватки полосы пропускания. QoS может быть сконфигурирован гибко: степень сложности зависит от топологии сети и глубины анализа трафика.

1.1.3. Базовая модель QoS

Базовая модель QoS состоит из 4 частей: Classification (классификация), Policing (применение политик), Remark (перемаркировка) - действия на входе, Scheduling (планирование) - действие на выходе. На схеме ниже изображена базовая модель QoS.


Classification (классификация): классифицирует трафик в соответствии с классификационной информацией пакетов и генерирует Internal Priority и Приоритет сброса. В зависимости от типов пакетов и настроек коммутатора классификация обеспечивается различным образом. Схема ниже показывает процесс классификации.


Policing (управление полосой пропускания) и Remarking (перемаркировка)
Policing
может выполняться на потоке данных с целью выделения полосы классифицированному трафику в соответствии с настроенной политикой.
Remarking позволяет заменить оригинальное значение DSCP и CoS кадра.

Работа с очередями и планирование.
Существует значение внутреннего приоритета и приоритета сброса для пакетов исходящего трафика. Коммутатор назначает пакеты различным очередям в соответствии с внутренними приоритетом, а операция планирования выполняет передачу пакетов в соответствии с весом очереди и приоритетом сброса.

Следующая схема описывает процесс работы с очередями:


1.2. Порядок конфигурации QoS

Настройка карты классов (class map)
Позволяет создать правило на основе ACL, CoS, VLAN ID, IPv4 Precedence, DSCP, IPv6 FL для классификации потока данных. Разные классы потоков данных могут быть применены в разных политиках.

Настройка карты политик (policy map)
Карта политик позволяет связать политики, такие как ограничение полосы, изменение значения DSCP, с картами классов, тем самым применив их к различным потокам данных. Также в карте политик можно применить набор политик для нескольких классов одновременно.

Применение QoS к портам или VLAN
Конфигурирование доверительного режима (trust mode) на порту или привязка политик к порту. Политики будут задействованы на порту только если они привязаны к нему. Политики могут быть привязаны к VLAN. Не рекомендуется одновременно использовать карту политик на VLAN и на её портах, но если это все-таки будет сделано, приоритет карты политик на порту будет выше.

Конфигурирование алгоритма управления очередями
Настройте алгоритм управления очередью такие как Strict Priority (SP), Weighted round robin (WRR), SP + WRR.


  1. Настройка карты классов (class map):

Команда

Описание

policy burst <burst_group> <normal_burst_kbytes>




!  В режиме глобальной конфигурации

Настройка разрешенного размера всплесков трафика (burst).

Данной моделью коммутатора поддерживается 2 размера burst (<burst_group>) Значение по умолчанию <normal_burst_kbytes> - 1024 Kбайта.

Для возврата к конфигурации по-умолчанию необходимо задать значение <normal_burst_kbytes> в 1024 Kбайта.

class-map <class-map-name>

no class-map <class-map-name>

!  В режиме глобальной конфигурации

Создание карты классов с именем <class-map-name> и вход в режим конфигурирования этой карты классов.

Удаление карты классов с именем <class-map-name>

match {access-group <acl-index-or-name> | ip dscp <dscp-list>| ip precedence <ip-precedence-list> | ipv6 access-group <acl-index-or-name> | ipv6 dscp <dscp-list> | ipv6 flowlabel <flowlabel-list>| vlan <vlan-list>| cos <cos-list> }

no match {access-group | ip dscp | ip precedence | ipv6 access-group | ipv6 dscp | ipv6 flowlabel | vlan |cos }

!  В режиме конфигурирования карты классов

Настройка критерия соответствия данных карте классов.



Удаление критерия соответствия.


2. Настройка карты политик:

Команда

Описание

policy-map <policy-map-name>

no policy-map <policy-map-name>

!  В режиме глобальной конфигурации

Создание карты политик с именем и вход в режим её конфигурирования <policy-map-name>

Удаление карты политик с именем <policy-map-name>

class <class-map-name> [insert-before <class-map-name>]


no class <class-map-name>

!  В режиме глобальной конфигурации

Задать для текущей карты политик ассоциацию с картой классов с именем <class-map-name>.

insert-before <class-map-name> - позволяет добавить карту классов для ассоциации раньше, чем с именем <class-map-name>.

Отменить ассоциацию.

set {ip dscp <new-dscp> | ip precedence <new-precedence> | internal priority <new-inp> | drop precedence <new-dp> | cos <new-cos> | s-vid <new-vid>}

no set {ip dscp | ip precedence | internal priority | drop precedence | cos | s-vid }

!  В режиме конфигурирования карты классов в карте политик

Присвоить классифицированному трафику новое значение dscp (ip dscp <new-dscp>), значение ip presedence (ip precedence <new-precedence>), значение приоритета сброса (drop precedence <new-dp>), значение поля cos (cos <new-cos>), внешний тег vlan ( s-vid <new-vid>)

Отменить присвоение.

policy <bits_per_second> burst-group <burst-group-id>

no policy

!  В режиме конфигурирования карты классов в карте политик

Настроить политику ограничения скорости.

Удалить политику ограничения скорости

accounting

no accounting

!  В режиме конфигурирования карты классов в карте политик

Установка функции статистики для трафика, попавшего в class-map.

Отключение функции статистики для трафика, попавшего в class-map.

drop

no drop

transmit

no transmit

! В режиме конфигурирования карты классов в карте политик

Выбрать действие сброса, либо передачи для трафика текущего класса.

Команда no отменяет выбранное действие.


3. Применение QoS к портам или VLAN

Команда

Описание

mls qos trust { cos | dscp}


no mls qos trust { cos | dscp}

!  В режиме конфигурирования интерфейса

Доверять меткам CoS и DSCP на порту.

По-умолчанию установлено доверие меткам только CoS.

Не доверять меткам CoS и DSCP на порту.

mls qos cos {<default-cos>}

no mls qos cos

!  В режиме конфигурирования интерфейса

Установить значение <default-cos> в качестве CoS для входящего трафика без 802.1q-тэга.

Удалить значение CoS для входящего трафика без 802.1q-тэга.


service-policy input <policy-map-name>

no service-policy input {<policy-map-name>}

!  В режиме конфигурирования интерфейса

Применить карту политик с именем <policy-map-name> для входящего трафика на порту

Удалить карту политик с именем <policy-map-name> с порта.

service-policy input <policy-map-name> vlan <vlan-list>

no service-policy input {<policy-map-name>} vlan <vlan-list>

! В режиме глобальной конфигурации

Применить карту политик с именем <policy-map-name> для входящего трафика в VLAN <vlan-list>

Удалить карту политик с именем <policy-map-name> с VLAN <vlan-list>.


4. Настройка алгоритмов управления очередями и веса очередей

Команда

Описание

mls qos queue algorithm {sp | wrr | wdrr }

no mls qos queue algorithm

!  В режиме глобальной конфигурации

Устанавливает алгоритм управления очередями.

По умолчанию используется алгоритм WRR.


mls qos queue weight <weight0..weight7>

no mls qos queue weight

!  В режиме глобальной конфигурации

Устанавливает вес очередей на порту.

По умолчанию вес очередей 1 2 3 4 5 6 7 8.

mls qos queue wdrr weight <weight0..weight7>

no mls qos queue wdrr weight

!  В режиме глобальной конфигурации

Устанавливает вес очередей на порту для алгоритма WDRR.

По-умолчанию вес очередей 10 20 40 80 160 320 640 1280


5. Настройка карты преобразования QoS

Команда

Описание

mls qos map {cos-intp <intp1…intp8> | cos-dp<dp1…dp8> | dscp-intp <in-dscp list> to <intp> | dscp-dp <in-dscp list> to <dp> | dscp-dscp <in-dscp list> to <out-dscp>}

no mls qos map {cos-intp | cos-dp | dscp-intp | dscp-dp | dscp-dscp}

!  В режиме глобальной конфигурации

Задать преобразование приоритетов QoS из COS в INTP (cos-) или из DSCP в INTP (dscp-intp)



6. Очистка счетчиков данных в карте политик на определенном порту или VLAN

Команда

Описание

clear mls qos statistics [interface <interface-name> | vlan <vlan-id>]



!  В привилегированном режиме

Очистка счетчиков данных в карте политик.

<interface-name> - имя порта;

<vlan-id> - имя vlan


7. Просмотр конфигурации QoS

Команда

Описание

show mls qos maps [cos-intp | dscp-intp | dscp-dp | dscp-dsc]

!  В привилегированном режиме

Отображение конфигурации карты преобразований.


show class-map [<class-map-name>]

!  В привилегированном режиме

Отображение информации о конфигурации карты классов

show policy-map [<policy-map-name>]

!  В привилегированном режиме

Отображение информации о карте политик

show mls qos {interface [<interface-id>] [policy | queuing] | vlan <vlan-id>}

!  В привилегированном режиме

отображение информации о конфигурации QoS на порту

1.3. Пример конфигурации QoS

Пример 1:

Включить функцию QoS, изменить вес исходящих очередей на порту на 1:1:2:2:4:4:8:8, включить доверие к меткам CoS и установить значение СoS 5 по-умолчанию для входящего трафика без метки 802.1q.
Конфигурация коммутатора будет выглядеть следующим образом:

Code Block
languagecoldfusion
Switch#config
Switch(config-If-Ethernet1/0/1)#mls qos queue wrr weight 1 1 2 2 4 4 8 8
Switch(Config-If-Ethernet1/0/1)#mls qos cos 5

Результат настройки:

Когда кадр с меткой 802.1q и значением CoS пройдет через порт, знначения CoS от 0 до 7 распределятся следующим образом в исходящие очереди 1,2,3,4,5,6,7,8 по порядку соответственно. Если на порт придет кадр без метки 802.1q, он будет определен по-умолчанию в очередь 6, соответствующую CoS 5.

Пример 2:

Установить на порту ethernet1/0/2 для пакетов из сегмента 192.168.1.0/24 полосу в 10 Мбит/с с величиной всплеска 4Мбайта.
Конфигурация будет выглядеть следующим образом:

Code Block
languagecoldfusion
Switch#config
Switch(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Switch (config)#policy burst 1 4000
Switch(config)#class-map c1
Switch(Config-ClassMap-c1)#match access-group 1
Switch(Config-ClassMap-c1)#exit
Switch(config)#policy-map p1
Switch(Config-PolicyMap-p1)#class c1
Switch(Config-PolicyMap-p1-Class-c1)#policy 10000 burst-group 1
Switch(Config-PolicyMap-p1-Class-c1)#exit
Switch(Config-PolicyMap-p1)#exit
Switch(config)#interface ethernet 1/0/2
Switch(Config-If-Ethernet1/0/2)#service-policy input p1


Пример 3:

Как показано на рисунке 8.1, внутри блока QoS-домен, Switch 1 классифицирует различный трафик, задавая ему различные значения IP precedence. Например, установка значения CoS 5 для пакетов из сегмента 192.168.1.0/24 на порту ethernet 1/0/1. Порт Switch1 в сторону Switch 2 настроен как trunk. Порт ethernet1/0/1 коммутатора Switch2 настроен для доверия меткам CoS. Таким образом, внутри домена QoS пакеты разных приоритетов будут поступать в разные очереди и получать разную пропускную способность.

Конфигурация будет выглядеть следующим образом:

Code Block
languagecoldfusion
QoS configuration in Switch1:
Switch#config
Switch(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Switch(config)#class-map c1
Switch(Config-ClassMap-c1)#match access-group 1
Switch(Config-ClassMap-c1)#exit
Switch(config)#policy-map p1
Switch(Config-PolicyMap-p1)#class c1
Switch(Config-PolicyMap-p1-Class-c1)#set ip precedence 5
Switch(Config-PolicyMap-p1-Class-c1)#exit
Switch(Config-PolicyMap-p1)#exit
Switch(config)#interface ethernet 1/0/1
Switch(Config-If-Ethernet1/0/1)#service-policy input p1
QoS configuration in Switch2:
Switch#config
Switch(config)#interface ethernet 1/0/1
Switch(Config-If-Ethernet1/0/1)#mls qos trust cos

1.4. Решение проблем при настройке QoS

  • Доверие меткам CoS или DSCP может использоваться одновременно с доверием другим меткам или картами политик как для IPv4, так и для IPv6 трафика;

  • При одновременном доверии меткам CoS и DSCP, приоритет DSCP выше;

  • Если сконфигурирован динамический VLAN (mac vlan/голосовой vlan/vlan подсети IP/vlan протокола), тогда значение CoS для пакета равно значению CoS для динамического VLAN;

  • Карта политик (policy-map) может быть применена только на входящее направление трафика;

  • Не рекомендуется применять карту политик (policy-map) к VLAN и к порту, который относится к этой же VLAN одновременно;

  • Действия карты политик “set cos”, “set dscp” и “set ip-presedence” являются взаимоисключающими и не могут использоваться в одно и то же время.