Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 5 Следующий »

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

Базовый QoS

В базовом режиме на маршрутизаторах ESR классификация (направление трафика в очередь) и перемаркировка работает только на входе (на интерфейсе через который поступает трафик должен быть включен QoS).

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

Шаг

Описание

Команда

Ключи

1

Включить сервис QoS на интерфейсе/туннеле/сетевом мосту.

Если на интерфейсе не назначена политика QoS, то интерфейс работает в режиме BasicQoS.

esr(config-if-gi)# qos enable


2

Установить режим доверия к значениям кодов 802.1p и DSCP во входящих пакетах (не обязательно).

esr(config)# qos trust <MODE>

<MODE> – режим доверия к значениям кодов 802.1p и DSCP, принимает одно из следующих значений:

  • dscp – режим доверия значениям кодов DSCP в IP-заголовке. Не IP-пакеты будут направлены в очередь по умолчанию.
  • cos – режим доверия значениям кодов 802.1p в теге 802.1q. Нетегированные пакеты будут направлены в очередь по умолчанию.
  • cos - dscp – режим доверия значениям кодов DSCP для IP-пакетов и значениям кодов 802.1p для остальных пакетов.

3

Установить соответствие между значениями кодов DSCP входящих пакетов и исходящими очередями.

Данное соответствие работает на входящие пакеты интерфейса/туннеля/моста, на котором включен QOS (не обязательно).

esr(config)# qos map dscp-queue <DSCP> to <QUEUE>

<DSCP> – классификатор обслуживания в IP-заголовке пакета, принимает значения [0..63];

<QUEUE> – идентификатор очереди, принимает значения [1..8].

Значения по умолчанию:

  • DSCP: (0-7), очередь 1
  • DSCP: (8-15), очередь 2
  • DSCP: (16-23), очередь 3
  • DSCP: (24-31), очередь 4
  • DSCP: (32-39), очередь 5
  • DSCP: (40-47), очередь 6
  • DSCP: (48-55), очередь 7
  • DSCP: (56-63), очередь 8

4

Установить соответствие между значениями кодов 802.1p входящих пакетов и исходящими очередями.

Данное соответствие работает на входящие пакеты интерфейса/туннеля/моста, на котором включен QOS (не обязательно).

esr(config)# qos map cos-queue <COS> to <QUEUE>

<COS> – классификатор обслуживания в теге 802.1q пакета, принимает значения [0..7];

<QUEUE> – идентификатор очереди, принимает значения [1..8].

Значения по умолчанию:

  • CoS: (0), очередь 1
  • CoS: (1), очередь 2
  • CoS: (2), очередь 3
  • CoS: (3), очередь 4
  • CoS: (4), очередь 5
  • CoS: (5), очередь 6
  • CoS: (6), очередь 7
  • CoS: (7), очередь 8

5

Установить соответствие между значениями кодов DSCP входящих пакетов и кодов DSCP на выходе из устройства (в случае необходимости перемаркировки).

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

esr(config)# qos map dscp-queue <DSCP> to <DSCP>

<DSCP> – классификатор обслуживания в IP-заголовке пакета, принимает значения [0..63].

6

Включить изменения кодов DSCP в соответствии с таблицей DSCP-Mutation (в случае необходимости перемаркировки).

esr(config)# qos dscp mutation


7

Установить номер очереди по умолчанию, в которую попадает весь трафик кроме IP в режиме доверия DSCP-приоритетам.

esr(config)# qos queue default <QUEUE>

<QUEUE> – идентификатор очереди, принимает значения [1..8].

8

Задать количество приоритетных очередей. Оставшиеся очереди являются взвешенными (не обязательно).

esr(config)# priority-queue out num-of-queues <VALUE>

<VALUE> – количество очередей, принимает значение [0..8], где:

  • 0 – все очереди участвуют в WRR (WRR – механизм обработки очередей на основе веса);
  • 8 – все очереди обслуживаются как «strictpriority» (strictpriority – приоритетная очередь обслуживается сразу, как только появляются пакеты).

Приоритетные очереди выделяются, начиная с 8, в сторону уменьшения номера очереди.

Значение по умолчанию: 8.

9

Определить вес для соответствующих взвешенных очередей.

esr(config)# qos wrr-queue <QUEUE> bandwidth <WEIGHT>

<QUEUE> – идентификатор очереди, принимает значение [1..8];

<WEIGHT> – значение веса, принимает значение [1..255].

Значение по умолчанию: вес 1 для всех очередей.

10

Установить ограничение скорости исходящего трафика для определенной очереди или интерфейса в целом.

Команда актуальна только для BasicQoS-режима интерфейса.

Ели трафик на входе был классифицирован при помощи расширенного QoS, ограничение не сработает (в случае необходимости ограничения скорости входящего потока).

esr(config-if-gi)# traffic-shape { <BANDWIDTH> [BURST] |
queue <QUEUE><BANDWIDTH> [BURST] }

<QUEUE> – идентификатор очереди, принимает значение [1..8];

<BANDWIDTH> – средняя скорость трафика в Кбит/с, принимает значение [3000..10000000] для TengigabitEthernet интерфейсов и [64..1000000] для прочих интерфейсов и туннелей;

<BURST> – размер сдерживающего порога в Кбайт, принимает значение [4..16000]. По умолчанию 128 Кбайт.

Значение по умолчанию: Отключено.

11

Установить ограничение скорости входящего трафика (в случае необходимости ограничения скорости исходящего потока).

esr(config-if-gi)# rate-limit <BANDWIDTH> [BURST]

<BANDWIDTH> – средняя скорость трафика в Кбит/с, принимает значение [3000..10000000] для TengigabitEthernet интерфейсов и [64..1000000] для прочих интерфейсов и туннелей;

<BURST> – размер сдерживающего порога в Кбайт, принимает значение [4..16000]. По умолчанию 128 Кбайт.

Значение по умолчанию: Отключено.

Пример настройки

Задача:

Настроить следующие ограничения на интерфейсе gigabitethernet 1/0/8: передавать трафик с DSCP 22 в восьмую приоритетную очередь, трафик с DSCP 14 в седьмую взвешенную очередь, установить ограничение по скорости в 60 Мбит/с для седьмой очереди.

Решение:

Для того чтобы восьмая очередь осталась приоритетной, а очереди с первой по седьмую стали взвешенными, ограничим количество приоритетных очередей до 1:

esr(config)# priority-queue out num-of-queues 1

Перенаправим трафик с DSCP 22 в первую приоритетную очередь:

esr(config)# qos map dscp-queue 22 to 8

Перенаправим трафик с DSCP 14 в седьмую взвешенную очередь:

esr(config)# qos map dscp-queue 14 to 7

Включим QoS на входящем интерфейсе для корректной классификации трафика и направления в соответствующую очередь со стороны LAN:

esr(config)# interface gigabitethernet 1/0/5
esr(config-if-gi)# qos enable
esr(config-if-gi)# exit

Включим QoS на интерфейсе со стороны WAN для правильной обработки очередей и ограничения полосы пропускания:

esr(config)# interface gigabitethernet 1/0/8
esr(config-if-gi)# qos enable

Установим ограничение по скорости в 60 Мбит/с для седьмой очереди:

esr(config-if)# traffic-shape queue 7 60000
esr(config-if)# exit

Просмотреть статистику по QoS можно командой:

esr# show qos statistics gigabitethernet 1/0/8

Пример расчета пропускной способности для взвешенных очередей

В рамках данного примера произведем расчет пропускной способности взвешенных очередей.  Результаты являются примерными и могут отличаются от практических значений т.к не учитывают влияние влспесков.

Приведем пример конфигурации: 

Конфигурация ESR
hostname ESR

qos wrr-queue 1 bandwidth 1
qos wrr-queue 2 bandwidth 1
qos wrr-queue 3 bandwidth 1
qos wrr-queue 4 bandwidth 1
qos wrr-queue 5 bandwidth 1
qos wrr-queue 6 bandwidth 4
qos wrr-queue 7 bandwidth 5
qos wrr-queue 8 bandwidth 6

interface gigabitethernet 1/0/1
  ip firewall disable
  ip address 10.100.0.1/30
  qos enable
exit

interface gigabitethernet 1/0/2
  ip firewall disable
  ip address 10.101.0.1/30
  traffic-shape 100000 512
  qos enable
exit

В нашем примере настроены взвешенные очереди с соответствующими весами. 

В команде qos wrr-queue 7 bandwidth 5:

  • 7 - значение очереди
  • 5 - значение веса очереди

На входящий  интерфейс  GigabitEthernet 1/0/1 "приходят"  8 потоков трафика с различными значениями DSCP со скорость 100 Mbps каждый.  По умолчанию маршрутизатор доверяет кодам DSCP, и распределение по очередням происходит в соответствии следующей карты:

Map DSCP to queue
ESR# show qos map dscp-queue 
d1 : d2   0  1  2  3  4  5  6  7  8  9      
-------   -------------------------------   
0         01 01 01 01 01 01 01 01 02 02     
1         02 02 02 02 02 02 03 03 03 03     
2         03 03 03 03 04 04 04 04 04 04     
3         04 04 05 05 05 05 05 05 05 05     
4         06 06 06 06 06 06 06 06 07 07     
5         07 07 07 07 07 07 08 08 08 08     
6         08 08 08 08  

В соответствии с этими значениями, для нашего примера, распределение будет следующим: трафик с значением DSCP 0 попадет в очередь 1, DSCP 8 → очередь 2, DSCP 16 → очередь 3, DSCP 24 → очередь 4, DSCP 32 → очередь 5, DSCP 40 → очередь 6, DSCP 48 → очередь 7  и DSCP 56 → очередь 8 соответственно. 
На выходном интерфейсе (GigabitEthernet 1/0/2) настроен шейпер с полосой пропускания 100 Mbps.  Для расчета полосы пропускания каждой очереди на выходном интерфейсе необходимо выполнить следующие вычисления:

1)  Находим суммарный вес всех очередей: 1+1+1+1+1+4+5+6 = 20. ( Складываем все значения bandwidth из нашей конфигурации)

2) С учетом значения шейпера ( 100 Mbps) находим пропускную способность очереди  на  единицу веса:  100/20 = 5 Mbps;

3)  Вычисляем пропускную способность  каждой очереди с учетом их весов:

Очередь 1:   1 * 5  =  5 Mbps;
Очередь 2:   1 * 5  =  5 Mbps;
Очередь 3:   1 * 5  =  5 Mbps;
Очередь 4:   1 * 5  =  5 Mbps;
Очередь 5:   1 * 5  =  5 Mbps;
Очередь 6:   4 * 5  =  20 Mbps;
Очередь 7:   5 * 5  =  25 Mbps;
Очередь 8:   6 * 5  =  30 Mbps;

Расширенный QoS

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

В расширенном режиме на маршрутизаторах ESR классификация поступающего трафика возможна как на входящем, так и на исходящем интерфейсах.

ШагОписаниеКомандаКлючи
1Создать списки доступа для определения трафика, к которому должен быть применен расширенный QoS.
См. раздел Настройка списков доступа (ACL).
2Создать класс QoS и перейти в режим настройки параметров класса.

esr(config)# class-map <NAME>

<NAME> – имя создаваемого класса, задается строкой до 31 символа.
3Задать описание класса QoS (не обязательно).

esr(config-class-map)# description <description>

<description> – до 255 символов.
4Определить трафик, относящийся к конфигурируемому классу по списку контроля доступа (ACL).

esr(config-class-map)# match access-group <NAME>

<NAME> – имя списка контроля доступа, задаётся строкой до 31 символа.
5

Задать значение кода DSCP, которое будет установлено в IP-пакетах, соответствующих конфигурируемому классу

(невозможно назначать одновременно с полями IP Precedence и CoS) (при необходимости перемаркировки).

esr(config-class-map)# match dscp <DSCP>

<DSCP> – значение кода DSCP, принимает значения [0..63].

6

Задать значение кода IP Precedence, которое будет установлено в IP-пакетах, соответствующих конфигурируемому классу (невозможно назначать одновременно с полями DSCP и CoS) (при необходимости перемаркировки).

esr(config-class-map)# set ip-precedence <IPP>

<IPP> – значение кода IP Precedence, принимает значения [0..7].

7

Задать значение 802.1p приоритета, которое будет установлено в пакетах, соответствующих конфигурируемому классу (невозможно назначать одновременно с полями DSCP и IP Precedence) (при необходимости перемаркировки).

esr(config-class-map)# set сos <COS>

<COS> – значение 802.1p приоритета, принимает значения [0..7].

8

Создать политику QoS и осуществить переход в режим настройки параметров политики.

esr(config)# policy-map <NAME>

esr(config-policy-map)#

<NAME> – имя создаваемой политики, задается строкой до 31 символа.

9

Задать описание политики QoS (не обязательно).

esr(config-policy-map)# description <description>

<description> – до 255 символов.

10

Установить гарантированную полосу пропускания исходящего трафика для политики в целом.

esr(config-policy-map)# shape average { <BANDWIDTH> | percent <BANDWIDTH_PERCENT> } [BURST]

<BANDWIDTH> – гарантированная полоса трафика в Кбит/с, принимает значение [64..10000000];

<BANDWIDTH_PERCENT> – гарантированная полоса трафика в %, рассчитывается от (в порядке от более приоритетного к менее приоритетному значению):

  • значения shape average корневой политики;
  • значения traffic-shape на сетевом интерфейсе, bridge, туннеле;
  • значения speed сетевого интерфейса.

Принимает значение [1..100].

<BURST> – размер сдерживающего порога в Кбайт, принимает значение [128..16000]. По умолчанию 128 Кбайт.

11Включить работу полисера (при необходимости)esr(config-policy-map)# police <RATE> [burst-conforming <BURST-CONFORM>] [conform-action <CONFORM-ACTION>] [exceed-action <EXCEED-ACTION>] [burst-excess <BURST-EXCEED> [violate-action <VIOLATE-ACTION>]]

<RATE> – скорость пополнения токенами conform корзины Кбит/с;

<BURST-CONFORM> - размер conform корзины Байт;

<BURST-EXCEED> - размер excess корзины Байт;

<VIOLATE-ACTION> - действие, которое необходимо выполнить с пакетом, для которого имеются токены conform корзины, принимает значения { permit | deny | set-cos <COS> | set-dscp <DSCP> };

<CONFORM-ACTION> - действие, которое необходимо выполнить с пакетом, при исчерпании токенов conform корзины, но имеются токены excess корзины, принимает значения { permit | deny | set-cos <COS> | set-dscp <DSCP>};

<EXCEED-ACTION> - действие, которое необходимо выполнить с пакетом, для которого исчерпаны токены excess корзины, принимает значения { permit | deny | set-cos <COS> | set-dscp <DSCP> };

<COS> – классификатор обслуживания в теге 802.1q пакета, принимает значения [0..7];

<DSCP> – значение кода DSCP, принимает значения [0..63].

12

Включить автоматическое распределение полосы пропускания между классами, в которых нет настройки полосы пропускания, включая класс по умолчанию (в случае необходимости).

esr(config-policy-map)# shape auto-distribution


13

Включить указанный QoS-класс в политику и осуществить переход в режим настройки параметров класса в рамках политики.

esr(config-policy-map)# class <NAME>

esr(config-class-policy-map)#

<NAME> – имя привязываемого класса, задается строкой до 31 символа. При указании значения «class-default» в данный класс попадает трафик, не классифицированный на входе.

14

Включить политику QoS в класс QoS для создания иерархического QoS.

esr(config-class-policy-map)# service-policy <NAME>

<NAME> – имя политики, задается строкой до 31 символа. Вкладываемая политика должна быть уже создана.

15

Установить гарантированную полосу пропускания исходящего трафика для класса в рамках политики (при необходимости).

esr(config-class-policy-map)# shape average { <BANDWIDTH> | percent <BANDWIDTH_PERCENT> } [BURST]

<BANDWIDTH> – гарантированная полоса трафика в Кбит/с, принимает значение [64..10000000];

<BANDWIDTH_PERCENT> – гарантированная полоса трафика в %, рассчитывается от (в порядке от более приоритетного к менее приоритетному значению):

  • значения shape average корневой политики;
  • значения traffic-shape на сетевом интерфейсе, bridge, туннеле;
  • значения speed сетевого интерфейса.

Принимает значение [1..100].

<BURST> – размер сдерживающего порога в Кбайт, принимает значение [4..16000]. По умолчанию 128 Кбайт.

16

Установить разделяемую полосу пропускания исходящего трафика для определенного класса. Данную полосу класс может занять, если менее приоритетный класс не занял свою гарантированную полосу (при необходимости).

esr(config-class-policy-map)# shape peak { <BANDWIDTH> | percent <BANDWIDTH_PERCENT> }  [BURST]

<BANDWIDTH> – общая для priority class полоса трафика в Кбит/с, конкуренция происходит на основании приоритета класса, принимает значение [64..10000000];

<BANDWIDTH_PERCENT> – общая для priority class полоса трафика в %, конкуренция происходит на основании приоритета класса, рассчитывается от (в порядке от более приоритетного к менее приоритетному значению):

  • значения shape average корневой политики;
  • значения traffic-shape на сетевом интерфейсе, bridge, туннеле;
  • значения speed сетевого интерфейса.

Принимает значение [1..100].

<BURST> – размер сдерживающего порога в Кбайт, принимает значение [4..16000]. По умолчанию 128 Кбайт.

17

Определить режим работы класса (не обязательно).

esr(config-class-policy-map)# mode <MODE>

<MODE> – режим класса:

  • fifo – режим FIFO (First In, First Out);
  • gred – режим GRED (Generalized RED);
  • red – режим RED (Random Early Detection);
  • sfq – режим SFQ (очередь SFQ распределяет передачу пакетов на базе потоков).

Значение по умолчанию: FIFO.

18

Задать приоритет класса в WRR-процессе (при необходимости).

esr(config-class-policy-map)# priority class <PRIORITY>

<PRIORITY> – приоритет класса в WRR-процессе, принимает значения [1..8].

Классы с наибольшим приоритетом обрабатываются в первую очередь.

19

Перевести класс в режим StrictPriority и задать приоритет класса (при необходимости).

esr(config-class-policy-map)# priority level <PRIORITY>

<PRIORITY> – уровень приоритета в StrictPriority-процессе, принимает значения [1..8].

Классы с наибольшим приоритетом обрабатываются в первую очередь. Значение по умолчанию: класс работает в режиме WRR, приоритет не задан.

20

Задать значение кода DSCP, которое будет установлено в IP-пакетах, соответствующих конфигурируемому классу

(невозможно назначать одновременно с полями IP Precedence и CoS) (при необходимости перемаркировки параметрами класса в рамках политики).

esr(config-class-map)# match dscp <DSCP>

<DSCP> – значение кода DSCP, принимает значения [0..63].

21

Задать значение кода IP Precedence, которое будет установлено в IP-пакетах, соответствующих конфигурируемому классу (невозможно назначать одновременно с полями DSCP и CoS) (при необходимости перемаркировки параметрами класса в рамках политики).

esr(config-class-map)# set ip-precedence <IPP>

<IPP> – значение кода IP Precedence, принимает значения [0..7].

22

Задать значение 802.1p приоритета, которое будет установлено в пакетах, соответствующих конфигурируемому классу (невозможно назначать одновременно с полями DSCP и IP Precedence) (при необходимости перемаркировки параметрами класса в рамках политики).

esr(config-class-map)# set сos <COS>

<COS> – значение 802.1p приоритета, принимает значения [0..7].

23

Определить предельное количество виртуальных очередей (не обязательно).

esr(config-class-policy-map)# fair-queue <QUEUE-LIMIT>

<QUEUE-LIMIT> – предельное количество виртуальных очередей, принимает значения в диапазоне [16..4096].

Значение по умолчанию: 16.

24

Определить предельное количество пакетов для виртуальной очереди (не обязательно).

esr(config-class-policy-map)# queue-limit <QUEUE-LIMIT>

<QUEUE-LIMIT> – предельное количество пакетов в виртуальной очереди, принимает значения в диапазоне [2..4096].

Значение по умолчанию: 127.

25

Определить параметры RED (Random Early Detection) (при необходимости).

esr(config-class-policy-map)# random-detect <LIMIT> <MIN> <MAX> <APS> <APS-NUM> <PROBABILITY>

<LIMIT> – предельный размер очереди в байтах, принимает значения в диапазоне [1..1000000];
<MIN> – минимальный размер очереди в байтах, принимает значения в диапазоне [1..1000000];
<MAX> – максимальный размер очереди в байтах, принимает значения в диапазоне [1..1000000];
<APS> – средний размер пакета в байтах, принимает значение в диапазоне [1..10000000];
<APS-NUM> – количество пакетов среднего размера разрешенных для кратковременного пропускания,
принимает значение в диапазоне [0..10000000];
<PROBABILITY> – вероятность отбрасывания пакетов, принимает значения [0..100].

При указании значений должны выполняться следующие правила:

<MAX>> 2 * <MIN>
<LIMIT>> 3 * <MAX>

26

Определить параметры GRED (Generalized Random Early Detection) (при необходимости).

esr(config-class-policy-map)# random-detect queue <QUEUE-NUM>
[ dscp <DSCP> | precedence <IPP> ] <LIMIT> <MIN> <MAX> <APS> <APS-NUM> <PROBABILITY>

<QUEUE-NUM> – номер очереди [1..16];
<DSCP> – классификатор обслуживания в IP-заголовке пакета, принимает значения [0..63];
<IPP> – значение кода IP Precedence, принимает значения [0..7];
<PRECEDENCE> – значение IP Precendence [0..7];
<LIMIT> – предельный размер очереди в байтах, принимает значения в диапазоне [1..1000000];
<MIN> – минимальный размер очереди в байтах, принимает значения в диапазоне [1..1000000];
<MAX> – максимальный размер очереди в байтах, принимает значения в диапазоне [1..1000000];
<APS> – средний размер пакета в байтах, принимает значение в диапазоне [1..10000000];
<APS-NUM> – количество пакетов среднего размера разрешенных для кратковременного пропускания,
принимает значение в диапазоне [0..10000000];
<PROBABILITY> – вероятность отбрасывания пакетов, принимает значения [0..100]

При указании значений должны выполняться следующие правила:

<MAX>> 2 * <MIN>
<LIMIT>> 3 * <MAX>

27

Включить протокол компрессии tcp-заголовков для трафика отдельного класса (при необходимости).

esr(config-class-policy-map)# compression header ip tcp


28

Включить сервис QoS на интерфейсе/туннеле/сетевом мосту.

esr(config-if-gi)# qos enable


29

Назначить политику QoS на сконфигурируемом интерфейсе/туннеле/сетевом мосту для классификации входящего (input) или приоритизации исходящего (output) трафика.

esr(config-if-gi)# service-policy { input | output } <NAME>

<NAME> – имя QoS-политики, задаётся строкой до 31 символа.

Пример настройки

Задача:

Классифицировать приходящий трафик по подсетям (10.0.11.0/24, 10.0.12.0/24), произвести маркировку по DSCP (38 и 42) и произвести разграничение по подсетям (40 Мбит/с и 60 Мбит/с), ограничить общую полосу до 250 Мбит/с, остальной трафик обрабатывать через механизм SFQ.

Решение:

Настроим списки доступа для фильтрации по подсетям, выходим в глобальный режим конфигурации:

esr(config)# ip access-list extended fl1
esr(config-acl)# rule 1
esr(config-acl-rule)# action permit 
esr(config-acl-rule)# match protocol any
esr(config-acl-rule)# match source-address 10.0.11.0 255.255.255.0
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# enable 
esr(config-acl-rule)# exit
esr(config-acl)# exit
esr(config)# ip access-list extended fl2
esr(config-acl)# rule 1
esr(config-acl-rule)# action permit 
esr(config-acl-rule)# match protocol any
esr(config-acl-rule)# match source-address 10.0.12.0 255.255.255.0
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# enable 
esr(config-acl-rule)# exit
esr(config-acl)# exit

Создаем классы fl1 и fl2, указываем соответствующие списки доступа, настраиваем маркировку:

esr(config)# class-map fl1
esr(config-class-map)# set dscp 38
esr(config-class-map)# match access-group fl1
esr(config-class-map)# exit
esr(config)# class-map fl2
esr(config-class-map)# set dscp 42
esr(config-class-map)# match access-group fl2
esr(config-class-map)# exit

Создаём политику и определяем ограничение общей полосы пропускания:

esr(config)# policy-map fl
esr(config-policy-map)# shape average 250000

Осуществляем привязку класса к политике, настраиваем ограничение полосы пропускания и выходим:

esr(config-policy-map)# class fl1
esr(config-class-policy-map)# shape average 40000
esr(config-class-policy-map)# exit
esr(config-policy-map)# class fl2
esr(config-class-policy-map)# shape average 60000
esr(config-class-policy-map)# exit

Для настройки ограничения полосы пропускания в процентах необходимо использовать команду shape average percent.

Для другого трафика настраиваем класс с режимом SFQ:

esr(config-policy-map)# class class-default 
esr(config-class-policy-map)# mode sfq 
esr(config-class-policy-map)# fair-queue 800
esr(config-class-policy-map)# exit
esr(config-policy-map)# exit

Включаем QoS на интерфейсах, политику на входе интерфейса gi 1/0/19 для классификации и на выходе gi1/0/20 для применения ограничений и режима SFQ для класса по умолчанию:

esr(config)# interface gigabitethernet 1/0/19
esr(config-if-gi)# qos enable 
esr(config-if-gi)# service-policy input fl
esr(config-if-gi)# exit
esr(config)# interface gigabitethernet 1/0/20
esr(config-if-gi)# qos enable 
esr(config-if-gi)# service-policy output fl
esr(config-if-gi)# exit

Для просмотра статистики используется команда:

esr# do show qos policy statistics gigabitethernet 1/0/20

Механизм работы полисера

Механизм полисера реализован в виде Single Rate Three Color Marker.

У такого механизма есть два ведра токенов (первое conform, второе exceed), каждое из которых имеет свой размер. Conform ведро наполняется токенами определенным размером с течением времени. Ведро exceed наполняется излишками токенов ведра conform.

Обрабатываемый ЕСР трафик забирает из корзин токены размером соотвестующим размеру пакета. Если размер пришедшего пакета покрывает токены ведра conform, то пакет окрасится в “зелёный” и для пакета применится действие соответствующие настройке conform-action. Если токенов в первом ведре не хватило, но есть достаточно токенов в ведре exceed, то пакет окрасится в “жёлтый” и применится действие exceed-action. Если токенов недостаточно в обоих корзинах, то пакет будет окрашен в “красный” и применится действие violate-action. Действия  exceed-action, violate-action определяются одним из следющих вариантов : пропустить (permit), отбросить (deny) или пометить (set cos, set dscp). 



  • Нет меток