Глава 2. Packet classification

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

About

Цель классификации пакетов: исследовать трафик, разделить трафик по разным классам и разместить его в разные очереди. Далее назначить forwardin class и packet loss priority.

Т.е.: определение и назначение forwarding class = помещение пакта в нужную очередь.

4 дефолтных класса:

  • BF (Best effort) = 0 queue - default for PHB.
  • EF (Expedited forwarding) = 1 - low loss, low delay, low jitter - voice.
  • AF (assured forwarding) = 2 - концентрация в основном на packet loss.
  • NC (network control) = 3

Можно создавать свои:

blair> show class-of-service forwarding-class   
Forwarding class	ID	Queue	Policing priority
 be			0	0	normal   
 ef			1	1	normal  
 voice			2	2	normal 
 tv-data		3	3	normal

config

blair# show class-of-service forwarding-classes 
class be queue-num 0;
class ef queue-num 1;
class voice queue-num 2;
class tv-data queue-num 3;

MX, T, M7i/M10i с CFEB-E: до 16 классов, до 8 очередей.

Packet loss priority (PLP)

Определяет вероятность отбрасывания при заторах. Пакет с наибольшим PLP будет отброшен первым.

PLP назначается на ingress, когда используем классификаторы. Однако, PLP также можно назначить и позднее с помощью policer.

PLP может принимать 4 значения: low, medium-low, medium-high, high. По умолчанию JunoOS использует 2: low, high.

Если смотреть на default classifier, можно менять их в конфигурации:

000 - best-effor (low)

001 - best effort (high)

010 - exp-forwarding (low)

011 - exp-forwarding (high)

...

110 - network-control (low)

111 - network-control (high)

lower-priority = high drop eligibility

Виды классификаций

Fixed classification (Interface based)

Один forwarding class назначается на unit (vlan) и применяется ко всем входящим пакетам.

Классификация очень грубая.

Такую схему хорошо использовать, если нужно особым способом обработать весь трафик клиента на одном интерфейсе.

Или если upstream узел ненадежный и нужно перекрасить весь трафик, приходящий на этот порт (обычно BE в подобных ситуациях).

Config

blair# show class-of-service interfaces 
ge-0/0/0 {
    unit 60 {
        forwarding-class voice;}}

MF (multifield) classification

Классификация основана на 1 или более полей в заголовке пакета: port, IP, prefix, mac.

Для выделения нужного трафика по определенным полям используется обычный firewall-filter.

MF лучше применять на ingress (в самом начале попадания пакета в сеть).

Config (можно писать несколько term, определяя по разным параметрам трафик и запихивая его в разные очереди)

[edit interfaces ge-0/0/0 unit 80 family inet]
      filter {
          input qos-tv-data;}
[edit]
  firewall {
      family inet {
          filter qos-tv-data {
             term 1 {
                  from {
                      source-address {
                         239.30.30.0/24;}}
                 then {
                     forwarding-class tv-data;
                     accept;}}
             term all-accept {
                 then accept; }}}}

BA classification

BA классификация основана на уже заданного у пакета значении QoS, т.е. пакет уже был ранее классифицирован другим устройством и присвоил конкретную QoS метку.

Здесь напрямую приводится соответствие: CoS <> Forwarding class + PLP => более эффективный способ по сравнению с MF (не нужно тратить ресурсы на классификацию).

Применяется к unit (vlan).

Обрабатывает все пакеты с одинаковой CoS меткой - одинаково.

Обеспечивает одинаковый приоритет трафика на всей сети.

Хорош для core device.

Может работать на основании: IPv4 DSCP, IPv6 DSCP, IP precedence bits, MPLS EXP bits, IEEE 802.1p CoS bits, IEEE 802.1ad drop eligible indicator (DEI).

Все логические интерфейсы по умолчанию используют ipprec-compatibility => если включить MPLS на интерфейсе - он будет использовать exp-default классификатор.

Если хотите использовать другой (или несколько других), то в class-of-service interfaces нужно их применить к интерфейсу.

При создании собственных классификаторов, для простоты можно использовать дефолтные классификаторы как шаблон и заменить некоторые правила на свои. (в режиме конфигурации классификатора: import <default classifier>)

BA классификатор лучше применять внутри сети (не на входе в сеть).

На интерфейс можно повесть как MF, так и BA классификатор.

-Сначала производится классификация по BA, потом по MF.
-При этом если трафик подойдет под оба классификатора, то так как последним будет MF, то и трафик классифицируется по его правилам.