Глава 3. Policing

Материал из Juniper Exam Wiki
Перейти к навигации Перейти к поиску

Основы policing

  • Первая ступень управления трафиком при заторах. Использует bandwidth threshold and max burst size. Может управлять трафиком (назначать PLP, forw-class), который превысил оба порога (не только шейпить).
  • Применяются ограничения bandwidth для вх и исх трафика.
  • Обеспечивает соблюдение SLA.
  • Определяет трафик как: in-profile (трафик не превысивший threshold) и out-profile (трафик, превысивший threshold).

Особенности

- Для создания policer:

-bandwidth threshold + max burst size
-действие: reject, discard, ...

- Применяется:

- на интерфейс.
- в качестве действия внутри firewall filter, firewall filter вешается на интерфейс.

- Использует token-bucket алгоритм: есть некий burst, до того, как начать влиять на трафик.

Hard/Soft

Hard: Все что выходит за рамки ограничения - дропается.

Soft: Трафик который превышает лимит:

  1. не дропается, но направляется в определенный forwarding class.
  2. не дропается, но ему присваивается определенное значение PLP, по которому в случае заторов он будет отброшен шедулерами.

Параметры

CIR, CBS: commited information rate (бит/с) / burst size (байт): зеленый - кол-во трафика < CBS - точняк пройдет (in-profile).

PIR, PBS/EBS: peak information rate (бит/с), peak/exceed burst size (байт): то, что < PBS - пройдет, но в случае заторов пакеты могут быть дропнуты. То что больше - будет дропаться (out-of-profile).

Single-rate two-color policer

  • Один threshold по скорости (CIR)
  • Один burst threshold, с помощью которого создается 2 цвета, в которые может быть "окрашен" трафик. (CBS)
  • Трафик, превышающий CIR + CBS => discard / set forwarding class / set PLP / out-of-profile

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

set firewall policer 100m if-exceeding bandwidth-limit 100m      = CIR
set firewall policer 100m if-exceeding burst-size-limit 2.5m     = CBS
set firewall policer 100m if-exceeding then discard

Tricolor marking policers

Также не только дропает трафик, а можно задавать PLP в зависимости от значений CIR, PIR, CBS, EBS.

Зеленые пакеты могут стать желтыми.

Single-rate tricolor marking policy

Полисинг основан на двух burst thresholds.

  • Один threshold по скорости (CIR)
  • Два burst size threshold (CBS, EBS). Что дает создать 3 цвета для "окраски" трафика.
  • Назначение цветов:
  • < CBS - зеленый = low PLP
  • CBS < x < EBS - желтый = medium-high PLP
  • > EBS - красный - high PLP

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

set firewall three-color-policer 100m logical-interface-policer
set firewall three-color-policer 100m action loss-priority high then discard
set firewall three-color-policer 100m single-rate committed-information-rate 90m = CIR
set firewall three-color-policer 100m single-rate committed-burst-size 10m       = CBS
set firewall three-color-policer 100m single-rate excess-burst-size 100m         = EBS

set firewall family inet filter 100m term 1 then three-color-policer single-rate 100m
set interfaces xe-0/0/0 unit 100 family inet filter input 100m

Two-rate tricolor marking policy

Полисинг основан на 2х bandwidth thresholds.

  • Два thresholds по скорости (CIR, PIR). Это уже создает 3 цвета для "окраски" трафика.
  • Два burst size threshold (CBS, PBS).
  • Markings:
  • < CIR+CBS - зеленый = low PLP
  • CIR+CBS < x < PIR+PBS - желтый = medium-low PLP
  • > PIR+PBS - красный = high PLP

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

set firewall three-color-policer 50-60m two-rate committed-information-rate 50m
set firewall three-color-policer 50-60m two-rate committed-burst-size 1m
set firewall three-color-policer 50-60m two-rate peak-information-rate 60m
set firewall three-color-policer 50-60m two-rate peak-burst-size 1m
set firewall three-color-policer 50-60m logical-interface-policer
set firewall three-color-policer 50-60m action loss-priority high then discard
set firewall family inet filter 50-60m term 1 then three-color-policer two-rate 50-60m
set interfaces xe-0/0/0 unit 100 family inet filter input 50-60m

Color-blind mode

Policer не рассматривает предыдущее окрашивание пакета. Любые прежние настройки - игнорируются. PLP назначайся в соответствии с настройками policer.

Color-aware mode

Policer учитывает предыдущую окраску пакета.

При обработке single-rate tricolor и two-rate tricolor на выходе получается пакет с результирующей меткой PLP + учитывается текущее прохождение пакета.

PLP может увеличиваться, оставаться прежним, но не уменьшаться.

Применение:

set firewall three-color-policer 100m single-rate (color-aware|color-blind)
или
set firewall three-color-policer 50-60m two-rate (color-aware|color-blind)

По умолчанию tricolor mode включён только на М120 и МХ серии.

Для остальных включается руками:

[edit class-of-service]
   tri-color;

Применение полисеров

Interface policers

  • Не часть firewall filter.
  • Можно применить к: protocol family, logical int, physical int.
  • Можно применить на input и output.

Конфигурация Для protocol family:

set interfaces ge-0/0/0 unit 500 family inet policer input 100m
set interfaces ge-0/0/0 unit 500 family inet policer output 100m
set firewall policer 100m if-exceeding bandwidth-limit 100m
set firewall policer 100m if-exceeding burst-size-limit 250k
set firewall policer 100m then loss-priority low

В таком случае threshold по трафику на каждую family будет 100 Мбит.

Для Logical interface policers: полисер применяется к family на интерфейсе, но threshold теперь применяется ко всем family в unit сразу. То есть в нашем случае в общем на ge-0/0/0.110 будет ограничение 100m.

[edit firewall policer 100m]
+   logical-interface-policer;

Policing с использованием firewall filter

  • Можно применять полисеры внутри ff: тогда в then нужно указать не терминирующее действие, а назначение policer.
  • Могут применяться только к family
  • Могут применяться на in/out

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

hard:

set firewall family inet filter hard term 1 from source-address 10.200.86.3/32 except
set firewall family inet filter hard term 1 then policer hard-100m
set firewall family inet filter hard term 1 then accept
set firewall family inet filter hard term all-accept then accept
set firewall policer hard-100m if-exceeding bandwidth-limit 100m
set firewall policer hard-100m if-exceeding burst-size-limit 250k
set firewall policer hard-100m then discard

soft:

set firewall family inet filter soft term 1 from source-address 10.200.86.3/32 except
set firewall family inet filter soft term 1 then policer soft-100m
set firewall family inet filter soft term 1 then forwarding-class expedited-forwarding
set firewall family inet filter soft term 1 then accept
set firewall family inet filter soft term all-accept then accept
set firewall policer soft-100m if-exceeding bandwidth-limit 100m
set firewall policer soft-100m if-exceeding burst-size-limit 250k
set firewall policer soft-100m then forwarding-class best-effort

В этом случае трафику, in-profile будет назначен fw-class expedited-forwarding, а трафику попадающему в out-of-profile - best-effort (default).

Filter-specific policer: применяется к term, на все термы суммарно будет одно общее ограничение. Применяется для выделения разных типов трафика, но policing над ними будет делаться как над одним потоком.

set firewall policer hard filter-specific
set firewall policer hard if-exceeding bandwidth-limit 100m
set firewall policer hard if-exceeding burst-size-limit 250k
set firewall policer hard then discard
set firewall family inet filter hard-f term A from source-address 10.200.86.5/32
set firewall family inet filter hard-f term A then policer hard
set firewall family inet filter hard-f term A then accept
set firewall family inet filter hard-f term B from source-address 10.200.86.3/32
set firewall family inet filter hard-f term B then policer hard
set firewall family inet filter hard-f term B then accept
set firewall family inet filter hard-f term all-other then accept

Physical interface policer

Дает возможность создать аггрегированный полисер для одного физического интерфейса. Может быть полезным, если хочется создать общий полисер для разных family и разных unit на одном физическом интерфейсе.

set firewall policer int-poli physical-interface-policer
set firewall policer int-poli if-exceeding bandwidth-limit 100m
set firewall policer int-poli if-exceeding burst-size-limit 200k
set firewall policer int-poli then forwarding-class best-effort
set firewall family inet filter phys-int physical-interface-filter
set firewall family inet filter phys-int term A then policer int-poli
set firewall family inet filter phys-int term A then accept
set interfaces ge-1/0/5 unit 0 family inet filter input phys-int
set interfaces ge-1/0/5 unit 0 family inet6 filter input phys-int
set interfaces ge-1/0/5 unit 2 family inet filter input phys-int
set interfaces ge-1/0/5 unit 2 family inet6 filter input phys-int

В этом случае полисер 100 Мбит будет общим для всего физического интерфейса.

Policiers + Firewalls

Можно одновременно повесить на интерфейс и policer и filter.

Вх. трафик будет обрабатываться: 1.policer => 2.filter

Исх. трафик будет обрабатываться: 1.filter => 1.policer

Shaping

Помимо policing, можно лишний трафик обрезать шейпером. В Основном shaping делается на выходе (к исх трафику).

Разница:

  • policing на вх и вых | shaping на вых
  • policing - hard: дропает лишний трафик, soft: меняет forwarding class, который в последующем скорей всего дропнется.
  • shaping - лишний трафик кладет в буфер и чуть позже его передаст. Не хорошо для сервисов, чувствительных к задержке.
  • policing может влиять ну судьбу трафика за пределами роутера, назначая forw class
  • shaping не влияет на судьбу трафика за пределами роутера, т.к. кроме буферизации ничего не делает.

Дополнительная информация