Juniper ограничение скорости и рассчет burst-size-limit для policer-а

Juniper ограничение скорости и расчет burst-size-limit для policer-а

Разберем примеры настройки полисеров для ограничения скорости на коммутаторах и маршрутизаторах juniper, а также поговорим о том, как рассчитать значение burst-size-limit.

Рассчет burst-size-limit для juniper

Для настройки ограничения скорости первым делом надо вычислить значение burst-size. Существуют разные варианты расчета. Я предлагаю использовать самый простой способ расчета burst-size от скорости интерфейса с максимальным временем всплеска равным 5 мс. Собственно этот способ рекомендует juniper. (We recommend that you use a value of 5 ms (0.005 seconds) as the starting point for the allowable amount of time for a burst of traffic).

Формула для расчета burst size limit :

burst-size limit in bytes = interface media rate x allowable time for bursty traffic / 8 bits

Для удобства запишем формулу в сокращенном виде:

burst-size-limit = (INTERFACE_RATE * 0.005)/8

В зависимости от скорости интерфейса получаем следующие значения:

Fast Ethernet (100 Mbps); Allowed Burst Period = 5 ms

100,000,000 bps x 0.005 seconds x 1 byte / 8 bits = 62,500 bytes
Gigabit Ethernet (1000 Mbps); Allowed Burst Period = 5 ms

1,000,000,000 bps x 0.005 seconds x 1 byte / 8 bits = 625,000 bytes
10-Gigabit Ethernet (10,000 Mbps); Allowed Burst Period = 5 ms

10,000,000,000 bpsm x 0.005 seconds x 1 byte / 8 bits = 6,250,000 bytes

Т.о у нас получилось 3 варианта значения burst-size-limit в зависимости от скорости физического интерфейса

burst-size-limit 6250k - для Ten_Gigabit_Ethernet
burst-size-limit 625k - для Gigabit_Ethernet
burst-size-limit 62.5k - для Fast Ethernet

Ограничение скорости на маршрутизаторах juniper

1. Создаем полисеры для ограничение скорости. Для примера сделаем полисер 40 Мбит.

set firewall policer POLICER_40M if-exceeding bandwidth-limit 40m
set firewall policer POLICER_40M if-exceeding burst-size-limit 625k
set firewall policer POLICER_40M then discard

2. Применяем полисер к интерфейсу.

set interfaces ge-x/x/x unit YYYY family inet policer input POLICER_40M
set interfaces ge-x/x/x unit YYYY family inet policer output POLICER_40M

где:

ge-x/x/x — номер интерфайса

YYYY — номер юнита (саб.интерфейса) например 1100

Ограничение скорости на коммутаторах juniper

1. Создаем полисеры для ограничение скорости. Для примера сделаем полисер 40 Мбит.

set firewall policer POLICER_40M if-exceeding bandwidth-limit 40m
set firewall policer POLICER_40M if-exceeding burst-size-limit 625k
set firewall policer POLICER_40M then discard

2. Создаем фильтр.

set firewall family ethernet-switching filter FILTER_40M term access then accept
set firewall family ethernet-switching filter FILTER_40M term access then policer POLICER_40M

3. Применяем фильтр к интерфейсу.

set interfaces ge-x/x/x unit 0 family ethernet-switching filter input FILTER_40M
set interfaces ge-x/x/x unit 0 family ethernet-switching filter output FILTER_40M

4. Не на всех коммутаторах juniper имеется возможность применить фильтр на output интерфейс. Поэтому ограничить output трафик можно используя qos shaping-rate.

Shaping for output:

set class-of-service interfaces ge-x/x/x shaping-rate 40m