Глава 1. QoS

Материал из Juniper Exam Wiki
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.


Основы QoS

QoS [quality of service] - обработка агрегированного трафика таким образом, чтобы поток передавался с требуемыми от генератора трафика правилами.

CoS [class of service] - конфигурация определенной обработки трафика на конкретном узле.

Каждый класс ассоциирован с трафиком, который требует одинаковой обработки, пока он идет по сети.

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

Как описать поведение (обработку) трафика?

QoS поведение описывает как должен обрабатываться определенный тип трфика, пока он проходит по сети. Обычно, поведение можно описать с помощью следующих важных параметров:

  • Loss: кол-во потерянных пакетов от source к dest. Некоторые виды трафика терпимы к потерям, некоторые запрашивают повторную отправку потерянных пакетов, некоторые устанавливают tcp-соединение, чтобы не терять пакеты.
  • Latency: задержка: время передачи пакета по сети от source к dest.
  • Jitter: разница между задержкой последовательно передаваемых пакетов.
  • Bandwidth: объем передаваемой информации.

IntServ vs DifServ

  • BE: Best effort: Негарантированная доставка. Обрабатывает трафик по принципу FIFO: first in - first out. По идее такая схема будет работать хорошо, только если на сети есть запасные емкости и не бывает полок. Это обработка трафика без настроенного QoS.
  • IntServ: Integrated Service: Модель обслуживания, которая гарантирует качество за счет резервирования необходимой полосы. Использует RSVP.
  • DifServ: Differentiated Service: Это модель привычная - разделяет классы трафика и в зависимости от этого каждый класс обрабатывает по своему. Разница с IntServ - нет сигналинга.

При использовании DiffServ узлы обрабатывают "аггрегированный трафик" - BA(behavior aggregate). Аггрегируется он по типу трафика.

DiffServ field (DS): IPv4 ToS field, передающий DSCP.

DSCP DiffServ Code point - определение BA разных типов трафика. Используется поле ToS => имеет 6 бит => 64 значения.

PHB Per-hop behavior - как маршрутизатор будет обрабатывать трафик в зависимости от DSCP. (AF1, AF2, AF3, AF4, ...). PHB использует DSCP.

Default PHB - Best Effort.

PHB group - набор PHB (AF: AF11, AF12...).

На edge node сваливается больше нагрузки: полисинг, классифицирование трафика, шейпинг, аккаунтинг.

На core node сваливается меньше нагрузки: BA-based classification и передача трафика в зависимости от PHB.

Основные типа DiffServ PHB:

  • BF (Best effort) - default for PHB.
  • EF (Expedited forwarding) - low loss, low delay, low jitter - voice.
  • AF (assured forwarding) - концентрация в основном на packet loss. Содержит 4 класса: AF1, AF2, AF3, AF4. Каждый из них имеет по 3 Drop probabilities: AF11 (low), AF12 (medium), AF13 (high) .
  • Class selectors Code Points: network control.

Для каждого типа PHB есть свой рекомендованный DSCP.

> show class-of-service code-point-aliases dscp

Где можно увидеть метку QoS

IPv4

ToS Был такой байт ToS, который состоял из 3 бита - IP precedence, остальные: D, T, R, ECN. Сейчас байт ToS состоит из: первые 6 бит - DSCP (3 - CS/AF, 3 - циферки, определяющие класс и приоритет)

CS: Class selector: это первые 3 бита DSCP. Используется для обратной совместимости.

IP precedence: приоритет: первые 3 бита в байте ToS. Использовался для того, чтобы минимизировать дропы control трафика.

IPv6

TC: traffic class: 1 байт.

Frame

PCP: priority code point: Используются 3 бита начала 802.1p заголовка (поле с vlan) - может использовать 8 значений приоритета.

MPLS

TC: traffic class: 3 бит - 8 значений приоритета трафика.

Процесс работы QoS

Code Point (BA) Classifier => Policing (rate limitimg) => Multifield Classifier => Forwarding Policy => Fabric => Policing => Multifeild Classifier => [RED | Shaper | Scheduler] => Rewriting QoS field

Classifiers на ingress роутере создает соответствие трафика и определенного forwarding class, основываясь на BA (если с пакетом уже передана QoS метка): IP precedence, DSCPs, MPLS EXP bits, or IEEE 802.1P priority values.

Policing ограничивает кол-во трафика: превышенный трафик может быть либо отброшен, либо промаркирован и далее обработан определенным образом.

Multifield classifier выделение определенного типа трафика с помощью firewall filters, назначение forwarding class и PLP.

CBF: CoS based forwarding - определенный трафик можно посылать к определенному next-hop.

Schedulers: обработка очереди, ассоциированной с forwarding class. Определяет transmission rate, queue priority, delay buffers, congection management and avoidance (RED/WRED algorithm).

RED алгоритм в случае затора отбрасывает пакеты. WRED алгоритм при принятии решения об отбросе пакет учитивает значения traffic type и loss priority.

Rewrite markers: можно перезаписать QoS поля в заголовке пакета, чтобы следующий роутер мог проводить классификацию не заново, а обрабатывал бы прилетевший пакет по значению в заголовке (BA classification). IP precedence, DSCP (IPv4, IPv6), MPLS EXP, IEEE 802.1p.

QoS является "однонаправленным". То есть для настройки QoS на каком-то линке - нужно настроить его как для вх так и для исх направления.

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