6.89M
Категория: ИнтернетИнтернет

QoS: качество обслуживания. Вычислительные сети и коммуникации

1.

2.

QoS: Quality of Service
Метрики качества обслуживания
Полоса пропускания (bandwidth)
Уровень потерь пакетов (packet loss)
Задержка (delay)
Вариация задержки (jitter)
Изменение порядка следования пакетов (reordering)
Разные виды трафика имеют различные приоритеты метрик
Совокупность метрик для класса трафика – Class of Service(CoS)

3.

Задачи, которые QoS может решать
• Ограничение полосы, занимаемой отдельными типами трафика
• Гарантирование полосы для определенных типов трафика
• Обеспечение приоритетов одних типов трафика над другими
• Равномерное распределение имеющихся ресурсов в пределах одного типа трафика
• Сглаживание резких колебаний загрузки каналов
• Предотвращение глобальной синхронизации потоков TCP
• Оптимальное использование имеющейся полосы пропускания каналов
Задачи, которые QoS решать не может
• Обеспечение нормальной работы постоянно перегруженного канала связи
• Ограничение входящего трафика
• Защита от DDoS
• Сделать хорошо

4.

Три составные части и три источника QoS
В порядке их применения к входящему трафику:
• Классификация и маркировка трафика
• Управление очередями (queue management)
• Управление полосой пропускания
Особенности внедрения QoS в глобальном и локальном масштабе

5.

Базовые характеристики программного кода
• Локальность по коду
• Локальность по данным
• Обработка данных занимает время, сравнимое с их доставкой
Особенности потребления контента пользователем
• Быстрый процесс доставки данных
• Пользователь осмысляет увиденное/создает новые данные
• Быстрый процесс доставки результата

6.

Типичный паттерн трафика конечного пользователя
(А)типичный паттерн трафика провайдера

7.

Типичный паттерн трафика точки обмена (MSK-IX)

8.

Печальные эффекты COVID-19

9.

Сферическое ограничение трафика в вакууме при 0K после распада фотонов
Физическое ограничение скорости передачи, очередь типа FIFO
10GBASE-T
1000BASE-T
Входящий трафик
Очередь исходящего интерфейса
Исходящий трафик
Кажущиеся простыми очень непростые вопросы
• Какой размер очереди оптимален?
• Что делать, когда очередь переполнится?
• Какие последствия эти решения будут иметь?

10.

Сферическое ограничение трафика в вакууме при 0K
Алгоритм дырявого ведра (Leaky Bucket)
Скорость входящего трафика любая
Исходящая скорость ≤ заданной (CIR)
Избыточный трафик задерживается
После переполнения очереди
избыточный трафик отбрасывается
Нельзя превысить заданную скорость
Растет задержка
Актуальность трафика под вопросом
Просто реализовать и использовать
CIR – Committed Information Rate (bps)

11.

Сферическое ограничение трафика в вакууме
Алгоритм ведра с жетонами (Token Bucket)
Размер ведра:
Committed burst size (в байтах)
Жетоны со скоростью CIR bps
Жетоны в объеме пропущеного
трафика в битах
Входящий трафик
Исходящий трафик

12.

Сферическое ограничение трафика в вакууме
Алгоритм ведра с жетонами (Token Bucket)
• Гарантированная скорость равна CIR
• Допускается превышение гарантированной скорости, но не
более, чем для передачи CBS байт за раз
• При отсутствии жетонов в ведре пакет отбрасывается
• Отсутствует задержка пакетов
• Неправильный выбор величины CBS очень сильно влияет на
производительность
• Реализуется несколько сложнее, чем Leaky bucket

13.

Сферическое ограничение трафика при н.у.
Алгоритм ведра с жетонами (Token Bucket) в варианте srTCM
Лишние жетоны
Размер ведра:
Excessive Burst Size EBS
Жетоны со скоростью CIR bps
Жетоны в объеме пропущеного
трафика в битах
Входящий трафик
Исходящий трафик

14.

Сферическое ограничение трафика при н.у.
Алгоритм ведра с жетонами (Token Bucket) в варианте srTCM
• srTCM – Single rate Three Color Mode
• Гарантированная скорость равна CIR
• Допускается превышение гарантированной скорости, но не
более, чем для передачи CBS байт за раз
• Допускается превышение гарантированной скорости без
гарантии доставки не более, чем на EBS байт за раз
• Пакеты, размер которых не соответствует числу жетонов в одном
из ведер отбрасываются
• Жетоны из ведер не суммируются
• Большая гибкость при управлении в пиковых ситуациях

15.

Сферическое ограничение трафика у земли
Алгоритм ведра с жетонами (Token Bucket) в варианте trTCM
Жетоны @ PIR bps
Peak Information Rate
Жетоны @ CIR bps
Входящий трафик
Исходящий трафик

16.

Сферическое ограничение трафика у земли
Алгоритм ведра с жетонами (Token Bucket) в варианте trTCM
• trTCM – Two rate Three Color Mode
• Гарантированная скорость равна CIR
• Допускается превышение гарантированной скорости, но не
более, чем для передачи CBS байт за раз
• Допускается превышение гарантированной скорости без
гарантии доставки вплоть до скорости PIR (+EBS size)
• Пакеты, размер которых не соответствует числу жетонов в одном
из ведер отбрасываются
• Жетоны из ведер не суммируются
• Лучшая утилизация ресурсов сети при наличии гарантий полосы

17.

Сферическое ограничение трафика
Traffic Shaping vs Traffic Policing

18.

Сферическое ограничение трафика у земли в условиях самоизоляции
В реальных условиях потоков трафика больше одного
Требования разных потоков могут отличаться кардинально
В реальных условиях исходящей полосы может не хватать
Объем трафика и размер пакетов у разных потоков различны
Пакет нельзя передать частями (но если очень хочется, то можно)
Влияние алгоритмов управления полосой на TCP
Shaping vs Policing – выбор не всегда очевиден
Необходимо научиться скрещивать управление трафиком с
управлением потоками
• Управление очередями как решение

19.

Простое FIFO – First In First Out

20.

Простое FIFO – First In First Out
Большие пакеты получают необоснованные привилегии
Трафик задерживается в очереди на одинаковую величину
В случае нехватки ресурсов возникает риск синхронизации TCP
Tail Drop неоднозначное решение
Один подход для всех типов трафика
Прост в реализации и наиболее распространен
Считать FIFO механизмом QoS довольно наивно

21.

Шаг вперед – Priority Queuing (PQ)

22.

Шаг вперед – Priority Queuing (PQ)
Возможность монополизации канала приоритетным трафиком
Потоки мелких пакетов высокой интенсивности имеют приоритет
Большая вариация задержки у классов с меньшим приоритетом
Простота реализации сравнима с FIFO
Является полноценным механизмом управления потоками
Отсутствие гибкости

23.

Следующий шаг вперед – Fair Queuing (FQ)

24.

Следующий шаг вперед – Fair Queuing (FQ)
Так ли честен честный алгоритм?
Все потоки рассматриваются, как равноправные
Перерасход ресурсов на управление очередями
Для byte-fair варианта требуется система расчета времени
Сложность реализации, особенно в byte-fair сценарии
Самый простой из хорошо работающих алгоритмов
Монополизация канала практически невозможна
Синхронизация в TCP не возникает

25.

Weighted Fair Queuing (WFQ)

26.

Wighted Fair Queuing (FQ)
Вес очереди пропорционален приоритету и размеру
Мелкие пакеты имеют приоритет над большими
Перерасход ресурсов на управление очередями
Сложность реализации
Самый адаптивный из хорошо работающих алгоритмов
Монополизация канала практически невозможна
Синхронизация в TCP не возникает

27.

Class-Based Weighted Fair Queuing (CBWFQ) + Low Latency Queue

28.

Class-Based Weighted Fair Queuing (CBWFQ) + Low Latency Queue
Отдельная очередь для потоков, требовательных к задержке
Все достоинства WFQ
Количество очередей уменьшилось на два порядка
Простота реализации по сравнению с flow-based WFQ
Самый управляемый вариант из хорошо работающих

29.

Классификация и маркировка
IP Type of Service (Integrated Services, IntServ)

30.

Классификация и маркировка
IP DSCP (Differentiated Services, DiffServ)

31.

Классификация и маркировка
Механизмы классификации
• Назначение приоритетов вручную на основе правил
• Назначение приоритетов на основе Network-Based Application
Recognition
• Автоматический QoS (Auto QoS)

32.

Общая картина технологии
Входящий трафик
Классификация
Маркировка
Управление
очередями
Очередь
Очередь
Очередь
Управление
потоком
Управление
потоком
Управление
потоком
Исходящий трафик
English     Русский Правила