...
Блок кода |
---|
esr# show qos statistics gigabitethernet 1/0/8 |
Пример расчета пропускной способности для взвешенных очередей
В рамках данного примера произведем расчет пропускной способности взвешенных очередей. Результаты являются примерными и могут отличаются от практических значений, т. к. не учитывают влияние всплесков.
Scroll Pagebreak |
---|
Пример конфигурации:
Блок кода | ||
---|---|---|
| ||
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 Мбит/с каждый. По умолчанию маршрутизатор доверяет кодам DSCP, и распределение по очередям происходит в соответствии со следующей картой:
Блок кода | ||
---|---|---|
| ||
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 Мбит/с. Для расчета полосы пропускания каждой очереди на выходном интерфейсе необходимо выполнить следующие вычисления:
- Найти суммарный вес всех очередей: 1+1+1+1+1+4+5+6 = 20 (сложить все значения bandwidth из конфигурации);
- С учетом значения шейпера (100 Мбит/с) найти пропускную способность очереди на единицу веса: 100/20 = 5 Мбит/с;
Вычислить пропускную способность каждой очереди с учетом их весов:
Блок кода Очередь 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# do show qos policy statistics gigabitethernet 1/0/20 |
Scroll Pagebreak |
---|
Механизм работы полисера
Механизм полисера реализован по алгоритму односкоростного трехцветного полисера (Single Rate Three Color Marker/Policers).
У такого механизма есть две корзины токенов (conform и exceed), каждая из которых имеет свой размер. Conform-корзина наполняется токенами до определенного размера с течением времени. Корзина exceed наполняется излишками токенов корзины conform.
Обрабатываемый ESR трафик забирает из корзин токены размером, соответствующим размеру пакета. Если размер пришедшего пакета покрывает токены корзины conform, то пакет окрасится в «зелёный», и для него применится действие, соответствующее настройке conform-action. Если токенов в conform-корзине не хватило, но есть достаточно токенов в корзине exceed, то пакет окрасится в «жёлтый», и применится действие exceed-action. Если токенов недостаточно в обеих корзинах, то пакет будет окрашен в «красный», и применится действие violate-action.
Действия conform-action, exceed-action, violate-action определяются одним из следующих вариантов:
- пропустить (permit);
- отбросить (deny);
- пропустить и изменить cos/dscp (set cos, set dscp).