Глава 6. Rewrite rules: различия между версиями

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


Rewrite-rule работает до egress filter. Поэтому в egress filter нужно делать политики, полагаясь на новый code-point пакета.
Rewrite-rule работает до egress filter. Поэтому в egress filter нужно делать политики, полагаясь на новый code-point пакета.
=Rewrite rules and tables=
Rewrite rule это сопоставление, которое связывает forw class и PLP с QoS битам (code-point) для определенного протокола (ip, mpls, ...).
Набор rewrite rules образует rewrite table.  Каждое правило смотрит какие forw class и PLP присвоены пакету, смотрят в таблице какому значению CoS соответствуют и записывают CoS в заголовок пакета.
Для протокола можно создать несколько rewrite rules, используя разные forw class и PLP для разных значений CoS.


=Default rewrite tables=  
=Default rewrite tables=  

Версия 11:56, 16 февраля 2020

Overview

Процесс происходит в конце всего цикла QoS. Когда понятно куда и как отправится пакет, маршрутизатор может записать в заголовок пакета - code point bits.

Способствует целостности и непрерывности QoS на всей сети.

Набор rewrite rules образует rewrite table.

Процесс rewrite:

  1. Считывается исходный Forw class и PLP.
  2. Исходя из этого находит в table соответствующий code-point.
  3. Записывает в заголовок пакета новый code-point.

Поддерживается для: DSCP (IPv4, IPv6), IP precedence bit, MPLS EXP bits, 802.1p CoS bits, 802.1ad DEI bits.

Rewrite rule применяется на интерфейс внутри class-of-service настроек.

  • На физический интерфейс можно применить только DSCP IPv4 ИЛИ DCSP IPv6.
  • На логический интерфейс можно применять и DSCP IPv4 и DSCP IPv6.

Rewrite-rule работает до egress filter. Поэтому в egress filter нужно делать политики, полагаясь на новый code-point пакета.

Default rewrite tables

Несколько таблиц существует, но большинство не используется по умолчанию, т.к. должны быть явно заданы на unit'e. НО! на интерфейсах, где включен MPLS, используется дефолтное MPLS exp rewrite rule.

Есть табличка со стандартными значениями (в книге).

Configuring

set class-of-service interfaces ge-0/0/0 unit 200 rewrite-rules dscp default
set class-of-service interfaces ge-0/0/0 unit 200 rewrite-rules exp default
set class-of-service interfaces ge-0/0/0 unit 200 rewrite-rules ieee 802.1 default

Когда пакет придет на интерфейс для дальнейшей передачи, система применит rewrite rule исходя из нужного протокола.

Custom rewrite tables

Если не подходят дефолтные правила, создаем свое!! Нужно задать forw class, PLP и CoS.

Configuration

set class-of-service rewrite-rules dscp custom-ipv4-rule forwarding-class BestEffort loss-priority high code-points 000000
set class-of-service rewrite-rules dscp custom-ipv4-rule forwarding-class BestEffort loss-priority low code-points 000001
set class-of-service rewrite-rules dscp custom-ipv4-rule forwarding-class Priority-data loss-priority high code-points 000010
set class-of-service rewrite-rules dscp custom-ipv4-rule forwarding-class Priority-data loss-priority high code-points 000011
set class-of-service interfaces ge-0/0/0 unit 200 rewrite-rules dscp custom-ipv4-rule

Также для упрощения можно использовать import default: изменяем несколько параметров в уже имеющихся дефолтных или наших rewrite rules.

set class-of-service rewrite-rules exp custom-ipv4-rule import default forwarding-class BestEffort loss-priority high code-points 000 (001->000)

Where

Лучше всего использовать rewrite rules внутри сети, на интерфейсах, которые входят в QoS домен. Такая позиция сделает более эффективной и менее трудозатратной работу CoS, засчет четкой обработки BA classification на ingress для других устройств в сети.

Rewrite combinations

Присвоенная метка в заголовке пакета выбирается на основании протокола. Бывают такие случаи, когда пакет может иметь несколько протоколов, например:

IPv4 packet over Ethernet, using vlan. DSCP + ieee 802.1p IPv4 packet over MPLS: DSCP + EXP.

JunOS может записывать 1 или 2 значения CoS.

Такие правила вроде уж созданы как дефолтные, например: mpls-inet-both, outer-and-inner..

Опасно: кол-во правил, присвоенных для одного логического интерфейса - зависит от платформы.