Глава 5. Hierarchical scheduling: различия между версиями

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


Оставшийся трафик включает в себя вланы, которым не были присвоены какие-то traffic-contro-profile и вланы, которые не были включены к какие-либо interface-sets.
Оставшийся трафик включает в себя units, которым не были присвоены какие-то traffic-contro-profile и набор из вланов, которые не были включены к какие-либо interface-sets.


Remaining scheduler: простой scheduler, который применяется к вланам, которым не назначили конкретных traffic-control-profiles. Короче это scheduler, который применяется к remaining traffic.
Remaining scheduler: простой scheduler, который применяется к вланам, которым не назначили конкретных traffic-control-profiles. Короче это scheduler, который применяется к remaining traffic.

Версия 13:28, 21 января 2017

Overview

С hierarchical sched устройство обеспечивает обработку нескольких абонентов, групп абонентов (units), разных классов у подписчика.

Выполняет те же функции, что и port-based scheduling: в каком порядке пакеты передать, сколько пакетов забуфферизировать, определить скорость, как обрабатывать разные пакеты в условиях запора.

Но есть особенности:

  1. H-CoS - предоставляет более тонкую обработку по нескольким уровням.
  2. H-CoS предоставляет возможность централизовать CoS для downstream устройств, которые не имеют функционала CoS (либо не сконфигурирован CoS на downstream device, которые CoS как таковой поддерживают).
  3. H-CoS поддерживают не все устройства. Поддерживают устр-ва, использующие ASICs.

C-VLAN: customer-vlan, inner tag. Scheduling и shaping обычно используются для C-VLAN для установления min и max пропускной способности для клиента.

S-VLAN: service-vlan, outer-tag. Scheduling и shaping обычно работают в S-vlan, для предоставления CoS нижележащим устр-вам с небольшим буффреризированием и простым scheduler.

Traffic control profile: конфигурационный компонент, состоящия из scheduling и queueing свойств. Применяется к физическому интерфейсу, логическому и набору интерфейсов.

Interface set: группа логических интерфейсов, определенных нами.

CIR: committed interface rate: гарантированная скорость, назначенная на interface set или логический интерфейс.

PIR: peak interface rate: макс скорость, сконфигурированная для порта, логического интерфейса или interface set.

4 уровня обработки:

1. Port (physical interface). Каждый порт может иметь несколько interface sets. Поддерживает shaping.

2. Interface set (VLAN or logical interface group). Каждый может иметь 1 или более логических интерфейсов. Поддерживает CIR, PIR.

3. Logical interface (VLAN). Может быть до 8 очередей. Поддерживает CIR, PIR.

4. Queue. Здесь обычная обработка трафика по заданным параметрам.

Может быть до 8 очередей для 1 VLAN. Каждая очередь имеет свои свойства.

Scheduler modes

1. Per-unit (Port based) scheduler (то, что мы изучали в предыдущей главе 5):

a) port-level shaping
b) VLAN scheduling and queueing
c) full queue scheduling
NO interface sets!

2. Hierarchical scheduler:

a) port-level shaping
b) interface-set scheduling and queueing
c) VLAN scheduling and queueing
d) full queue scheduling

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

set interfaces ge-0/0/0 per-unit-scheduler ...
or
set interfaces ge-0/0/0 hierarchical-scheduler ...

Hierarchical scheduling levels

Level 1 - Port

Shaping: PIR - max rate for port. Пакеты, превышающие PIR не дропаются, а хранятся в буффере.

Config: Для установления PIR нужно сконфигурировать traffic-control-profile, затем применить его на порт.

Пример:

set class-of-service traffic-control-profile profile shaping-rate 100m
set class-of-service interfaces ge-0/0/0 output-traffic-control-profile profile

Level 2 - Interface set

Создание Interfaces-sets: 2 варианта объединить интерфейсы в группу: собрать группу из разных вланов, определить группу двутеггированных вланов по S-vlan (outer).

set interfaces ge-0/0/0 hierarchical-scheduling
set interfaces ge-0/0/0 flexible-vlan-tagging
set interfaces ge-0/0/0 unit 100 vlan-id 100
set interfaces ge-0/0/0 unit 200 vlan-id 200
set interfaces ge-0/0/0 unit 1000 vlan-tags outer 1234 inner 1000
set interfaces ge-0/0/0 unit 1100 vlan-tags outer 1234 inner 1100

Для таких интерфейсов можем задать группы:

set interfaces interface-set A interface ge-0/0/0 unit 100
set interfaces interface-set A interface ge-0/0/0 unit 200
set interfaces interface-set B interface ge-0/0/0 vlan-tags-outer 1234

Особенности:

1. Нельзя использовать interface-range

2. В interface-set нельзя использовать одновременно logical int и S-vlan.

3. Один физ интерфейс для одного interface-set.

4. Logical int или S-vlan может принадлежать только одному interface-set.

Shaping: используем CIP и PIR (гарантированная и максимальная скорости)

Scheduling: CIR и PIR также используются для обозначения относительного веса данного interface-set'а, учитывая другие interface-set для данного порта.

- CIR mode: If any interface sets within port has defined CIR, bandwidth sharing among the interface sets is based on the CIR of the interface sets.

- PIR mode: If no interface sets CIR defined, bandwidth sharing among interface sets base on the PIR of the interface sets.

Когда траффик превышает PIR, интерфейс прекращает передачу пакетов.

set class-of-service traffic-control-profile  profile  shaping-rate 75m guaranteed-rate 50m
set class-of-service interface-set A output-traffic-control-profile profile

Level 3 - logical interface (VLAN)

Shaping: CIR, PIR, Scheduler map - ассоциирует влан с его очередью.

Scheduling: CIR и PIR определяю относительный вес влана среди других вланов на том же порту.

- CIR mode: If any vlan within port has defined CIR, bandwidth is shared among vlans in proportion on their CIR.

- PIR mode: If noone vlan within port has defined CIR, bandwidth is shared among vlans in proportion on their PIR.

Когда траффик превышает PIR, во влане прекращается передача пакетов.

set class-of-service traffic-control-profile profile schedule-map sched-exmple shaping-rate 30m guaranteed-rate 20m
set interfaces ge-0/0/0 unit 100 output-traffic-control-profile profile

Level 4 - Queue

Scheduling: самый обычный scheduler для port-level с обычными параметрами: transm-rate, priority, delay buffer, RED drop profiles. + Можно задавать H-Cos scheduling, оно будет немногим отличаться от обычного.

Сам конфиг приводить не буду, но нужно:

  1. Сконфигурировать scheduler: transm-rate, priority, delay-buffer, drop-profile, drop-profile-map.
  2. Сконфигурировать scheduler-map.
  3. Применить scheduler-map к интерфейсу в рамках class-of-service конфигурации.

При этом, важный момент: для port-based scheduling, scheduler map применяется к интерфейсу.

А для H-COS scheduler map применяет на Level 3 к определенному unit.

Remaining traffic

Оставшийся трафик включает в себя units, которым не были присвоены какие-то traffic-contro-profile и набор из вланов, которые не были включены к какие-либо interface-sets.

Remaining scheduler: простой scheduler, который применяется к вланам, которым не назначили конкретных traffic-control-profiles. Короче это scheduler, который применяется к remaining traffic.

Цепочка: Port -> Interface set -> vlan -> queue.

Для тех вланов, которых входят в interface set, но которым не назначены определенные traffic-control-profile, будут использовать remaining scheduler, заданный для interface set.

Для тех вланов, которые не были включены в interface set, будут использоваться remaining scheduler, заданный для port.

Remaining vlans - Interface set

set class-of-service traffic-control-profiles profile-remaining scheduler-map sched-example shaping-rate 50m guaranteed-rate 10m
set class-of-service interface-set A output-traffic-control-profile profile
set class-of-service interface-set A output-traffic-control-profile-remaining profile-remaining

Remaining vlans - Port

set class-of-service traffic-control-profiles profile-remaining scheduler-map sched-example shaping-rate 50m guaranteed-rate 10m
set class-of-service interface ge-0/0/0 output-traffic-control-profile profile
set class-of-service interface ge-0/0/0 output-traffic-control-profile-remaining profile-remaining

Queue properties in Hierarchical Scheduling

Priority

В port-level queueing очереди "соревнуются" за пропускную способность порта => приоритет определяется утилизацией пропускной способности очереди.

В hierarchical queueing вланы "соревнуются" за проп способность порта. => приоритет очереди определяется утилизацией проп способности влана, которому сопоставленая данная очередь. Вланы, которые используют проп способность меньше заданной гарантированной - имеют более высокий приоритет. Если используют больше гарантированной - -имею меньший приоритет очереди.

CIR < VLAN - приоритеты очереди работают нормально.

CIR > VLAN > PIR - все приоритеты (за исключением strict-high) становятся excess.

Работа Queueing priority:

Алгоритм планировщика, использующего HCoS включает в себя PQ-DWRR (выбор очереди и передача пакета) и Intelligent Prioritization.

Для port-level queueing: если очередь с меньшим приоритетом уже передает пакет, то очередь с большим приоритетом должна подождать пока та очередь закончит передачу пакета до того как она распределить снова (scheduled again).

Для HCOS: приоритет отправки пакета определен для очередей с разными приоритетами. Сначала идет передача из очередей с strict-high и high приоритетами. Затем передача пакетов из medium-high и medium-low, затем low, затем excess.

Transmission rate

Полоса, которая не используется вланами называет избыточной (excess). Эта полоса может быть распределена между вланами пропорционально CIR (если не определен CIR, то смотрят по PIR) (дефолтное поведение), либо может быть разделена равными частями.

mode per port: применяется ко всем interface sets.

mode per interface-set: применяется ко всем вланам. Перебивает per port settings.

Чтобы маршрутизатор более точно распределил избыточную полосу между вланами, в качестве excess-bandw нужно задать max queue bandtwidth = max effeective guaranteed rate.

set class-of-service interfaces interface-set A excess-bandwidth-share equal

set class-of-service interfaces ge-0/0/0 exceed-bandwidth-share proportional 14000000

Buffer size

В отличие от port-level не определяется с помощью traffic control profile, и должен быть задан явно в конфигурации.

- vlan bandwidth is not implicitly known: must be configured in traffic-control-profile. - delay buffer rate - configurable parameter, provides reference for buffer size calculation. - buffer size is calculated implicitly using CIR (if no deay buffer rate) or PIR (if no CIR).

В HCOS delay buffers не эластичны.

На практике получается так, что delay buffer вланов становится ориентиром для scheduler.

Level 1-3 поддерживают delay buffer.

Каждый уровень использует уровень ниже как ориентир для полосы пропускания.

Сумма буфферов на каждом уровне не должна превышать значения нижнего уровня.

RED drop profiles

Используется только сегментная.

Задаются 2 точки:

minimum queue depth: below it drop probability = 0

maximum queue depth: above it drop probability = 100

график линейный! между min и max queue depth.

Configuration steps

1. Configure physical interface for HCOS: add hierarchical-scheduler statement.

2. Configure interface sets.

3. Configure schedulers, including drop profile.

4. Configure scheduler-maps: associate schedulers and forwarding classes. schedulers do nothing until they are referenced in a scheduler-map.

5. Configure traffic-control profiles: associate scheduler-maps and vlans.

6. Apply traffic-control-profile to ports, interface-sets and vlans.

В принцепе все примеры конфигов можно посмотреть в соотв-их главах.