Глава 1. QoS: различия между версиями

Материал из Juniper Exam Wiki
Перейти к навигации Перейти к поиску
м
м
 
(не показано 12 промежуточных версий этого же участника)
Строка 1: Строка 1:
QoS - обработка агрегированного трафика таким образом, чтобы поток передавался с требуемыми от генератора трафика правилами.
{{#description2:Основы QoS. Различие IntServ и DifServ. Где можно увидеть метку QoS. Процесс работы QoS. Информация для подготовки к экзаменам Juniper.}}


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


Каждый класс ассоциирован с трафиком, который требует одинаковой обработки, пока он идет по сети.
Каждый класс ассоциирован с трафиком, который требует одинаковой обработки, пока он идет по сети.
Строка 15: Строка 18:
*'''Bandwidth''': объем передаваемой информации.
*'''Bandwidth''': объем передаваемой информации.


== IntServ vs DifServ ==
=IntServ vs DifServ=


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


При использовании DiffServ узлы обрабатывают "аггрегированный трафик" - '''BA(behavior aggregate)'''. Аггрегируется он по типу трафика.
При использовании DiffServ узлы обрабатывают "аггрегированный трафик" - '''BA(behavior aggregate)'''. Аггрегируется он по типу трафика.
Строка 33: Строка 34:
Default PHB - Best Effort.
Default PHB - Best Effort.


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


На '''edge node''' сваливается больше нагрузки: полисинг, классифицирование трафика, шейпинг, аккаунтинг.
На '''edge node''' сваливается больше нагрузки: полисинг, классифицирование трафика, шейпинг, аккаунтинг.
Строка 48: Строка 49:
  > show class-of-service code-point-aliases dscp
  > show class-of-service code-point-aliases dscp


== Где можно увидеть пометку QoS ==
=Где можно увидеть метку QoS=
 
==IPv4==
=== IPv4 ===
'''ToS'''
'''ToS'''
Был такой байт ToS, который состоял из 3 бита - IP precedence, остальные: D, T, R, ECN. Сейчас байт ToS состоит из: первые '''6 бит - DSCP''' (3 - CS/AF, 3 - циферки, определяющие класс и приоритет)
Был такой байт ToS, который состоял из 3 бита - IP precedence, остальные: D, T, R, ECN. Сейчас байт ToS состоит из: первые '''6 бит - DSCP''' (3 - CS/AF, 3 - циферки, определяющие класс и приоритет)
Строка 58: Строка 58:
'''IP precedence''': приоритет: первые 3 бита в байте ToS. Использовался для того, чтобы минимизировать дропы control трафика.
'''IP precedence''': приоритет: первые 3 бита в байте ToS. Использовался для того, чтобы минимизировать дропы control трафика.


=== IPv6 ===
==IPv6==


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


=== MPLS ===
==MPLS==


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


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


Code Point (BA) Classifier => Policing (rate limitimg) => Multifield Classifier => Forwarding Policy => Fabric => Policing => Multifeild Classifier => [RED  | Shaper | Scheduler] => Rewriting QoS field
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.
'''Classifiers''' на ingress роутере создает соответствие трафика и определенного forwarding class, основываясь на BA (если с пакетом уже передана QoS метка):  IP precedence, DSCPs, MPLS EXP bits, or IEEE 802.1P priority values.


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


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


'''Rewrite markers''': можно перезаписать QoS поля в заголовке пакета, чтобы следующий роутер мог проводить классификацию не заново, а обрабатывал бы прилетевший пакет по значению в заголовке (BA classification). IP precedence, DSCP (IPv4, IPv6), MPLS EXP, IEEE 802.1p.
'''Rewrite markers''': можно перезаписать QoS поля в заголовке пакета, чтобы следующий роутер мог проводить классификацию не заново, а обрабатывал бы прилетевший пакет по значению в заголовке (BA classification). IP precedence, DSCP (IPv4, IPv6), MPLS EXP, IEEE 802.1p.
 
{{note|text=''QoS является "однонаправленным".'' То есть для настройки QoS на каком-то линке - нужно настроить его как для вх так и для исх  направления.}}
''QoS является "однонаправленным".'' То есть для настройки QoS на каком-то линке - нужно настроить его как для вх так и для исх  направления.</note>
=Дополнительная информация=
*[[Глава 2. Packet classification]]
*[[Глава 7. CoS-based forwarding]]
*[[Глава 8. Packet flow]]

Текущая версия на 18:17, 15 июля 2021


Основы 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 на каком-то линке - нужно настроить его как для вх так и для исх направления.

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