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

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


'''BE''': Best effort: Негарантированная доставка. Обрабатывает трафик по принципу FIFO: first in - first out. По идее такая схема будет работать хорошо, только если на сети есть запасные емкости и не бывает полок.
=Основы QoS=
QoS [quality of service] - обработка агрегированного трафика таким образом, чтобы поток передавался с требуемыми от генератора трафика правилами.


'''IntServ:''' Integrated Service: Модель обслуживания, которая гарантирует качество за счет резервирования необходимой полосы. Использует RSVP.
CoS [class of service] - конфигурация определенной обработки трафика на конкретном узле.


'''DifServ:''' Differentiated Service: Это модель привычная - разделяет классы трафика и в зависимости от этого каждый класс обрабатывает по своему.
Каждый класс ассоциирован с трафиком, который требует одинаковой обработки, пока он идет по сети.


При использовании DiffServ узлы обрабатывают "аггрегированный трафик" (BA(behavior aggregate)). Аггрегируется он по типу трафика.
Важно понимать, что неправильно заданное привило обработки трафика на одном из хопов может убить всю концепцию 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 значения.
'''DSCP''' DiffServ Code point - определение BA разных типов трафика. Используется поле ToS => имеет 6 бит => 64 значения.


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


'''PHB group''' пока не очень ясно.
'''PHB group''' - набор PHB (AF: AF11, AF12...).


На '''edge node''' сваливается больше нагрузки: полисинг, классифицирование трафика, шейпинг, аккаунтинг.
На '''edge node''' сваливается больше нагрузки: полисинг, классифицирование трафика, шейпинг, аккаунтинг.
Строка 19: Строка 40:
На '''core node''' сваливается меньше нагрузки: BA-based classification и передача трафика в зависимости от PHB.
На '''core node''' сваливается меньше нагрузки: BA-based classification и передача трафика в зависимости от PHB.


== Где можно увидеть пометку QoS ==
Основные типа 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.


=== IPv4 ===
Для каждого типа PHB есть свой рекомендованный DSCP.
> show class-of-service code-point-aliases dscp


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


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


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


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


'''TC''': traffic class: 1 байт.
'''TC''': traffic class: 1 байт.
Строка 37: Строка 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 => [Scheduler | Shaper | RED] => 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 метка) или Multified classifier (порт, протокол, и т.п...)
'''Policing''' ограничивает кол-во трафика: превышенный трафик может быть либо отброшен, либо промаркирован и далее обработан определенным образом.


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


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


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


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


'''Rewrite markers''': for outbound traffic, in edge device to make easier use BA classification on core devices.
'''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 на каком-то линке - нужно настроить его как для вх так и для исх направления.

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