Как настроить приоритет трафика qos для беспроводных маршрутизаторов серии N?

Вступление

По мере увеличения скорости и развития технологий в сетях передачи данных, все больше и больше появлялось возможностей использовать эту скорость для передачи различных типов информации.

Выделенные каналы, которые были построены в США в начале и середине XX века для передачи голосовой информации, а также каналы для передачи телевизионного сигнала были дороги в обслуживании и аренде, находились в монополии нескольких компаний.

Дешевизна Ethernet привела к его массовому распространению по всему миру. Разрабатывался Ethernet с учетом того, что если США подвергнется ядерной атаке, то сеть все равно должна продолжать работать.

Появление Ethernet постепенно стало вытеснять старые линии передачи данных и активно внедряться в локальные сети офисов разных компаний. Золотое правило капитализма: где есть спрос — есть и предложение, а значит, если уже существует сеть внутри компании, построенная на Ethernet, то почему бы не использовать ее для передачи голосовой информации или видео вместо дорогих линий монополистов? Это привело к развитию других протоколов, например, VoIP.

В небольших сетях объемы передаваемой информации изначально были невелики, а скорости Ethernet хватало на всё, чтобы не волноваться насчет какой-то там приоритезации трафика. Однако, внутренние сети компаний росли, количество сотрудников увеличивалось, объемы информации неумолимо ширились. Это привело к потерям/задержкам/джиттеру информации внутри сети. Чтобы как-то управлять этими показателями появился QoS.

Quality of Service (QoS) технология приоритизации трафика. Разделение трафика на классы и предоставление классам различных приоритетов в обслуживании.

Более важный трафик будет обработан быстрее, и задержки при его прохождении по сети будут минимальны.

Качество обслуживания (QoS) относится к любой технологии, которая управляет трафиком данных для уменьшения потери пакетов, задержки и джиттера в сети.

  • Когда сетевые каналы становятся перегруженными, маршрутизаторы и коммутаторы начинают отбрасывать пакеты. Когда пакеты теряются во время связи в реальном времени, например, при голосовых или видеовызовах, в этих сеансах могут возникать дрожание и разрывы в речи. Пакеты могут быть отброшены, когда очередь или линия пакетов, ожидающих отправки, переполняется.
  • Разница в задержках между доставкой последовательных пакетов.

Слишком сильный джиттер может ухудшить качество голосовой и видеосвязи.

Это время, необходимое пакету для перемещения от источника к месту назначения. Задержка должна быть как можно ближе к нулю. Если голосовой вызов по IP имеет большую задержку, пользователи могут столкнуться  с эхом и перекрывающимся звуком.

Существуют три модели реализации QoS:

Best Effort — модель QoS, в которой все пакеты имеют одинаковый приоритет, а доставка пакетов не гарантируется. Best Effort применяется, когда в сетях не настроены политики QoS или когда инфраструктура не поддерживает QoS. Это поведение устройств по умолчанию, т.е. QoS не используется, трафик обслуживается и передается на основе обрабатывающего его устройства — как получится. Нет гарантий по потерям, джиттеру и задержкам.

Integrated Services(IntServ) — модель QoS, которая резервирует полосу пропускания по определенному пути в сети. Приложения запрашивают у сети резервирование ресурсов, а сетевые устройства контролируют поток пакетов, чтобы убедиться, что сетевые ресурсы могут принимать пакеты.

Для реализации IntServ требуются устройства с поддержкой IntServ и используется протокол резервирования ресурсов (RSVP) для резервирования сетевых ресурсов. IntServ имеет ограниченную масштабируемость и высокое потребление сетевых ресурсов. Из-за того, что у данной модели очень плохая масштабируемость, а также то, что требуется выделение мощностей устройств в сети для резервирования ресурсов — данная модель не сильно прижилась.

Читайте также:  Освоение DNS-запросов: раскрыты ключевые концепции

Differentiated Services (DiffServ) — модель QoS, в которой сетевые элементы, такие как маршрутизаторы и коммутаторы, настроены на обслуживание нескольких классов трафика с разными приоритетами. Сетевой трафик должен быть разделен на классы в зависимости от конфигурации.

При поступлении пакета на устройство он классифицируется и к нему применяется набор условий, на основе которых пакету будет оказан разный уровень сервиса.

Например, голосовому трафику можно назначить более высокий приоритет, чем другим типам трафика. Пакетам назначаются приоритеты с использованием Differentiated Services Code Point (DSCP) для классификации. DiffServ также использует per-hop behavior для применения к пакетам методов QoS, таких как создание очередей и приоритизация.

Per-Hop Behavior(PHB): каждое промежуточное устройство в сети самостоятельно принимает решение о том, как обработать поступивший пакет.

Каждый узел самостоятельно классифицирует поступающие пакеты, поэтому сначала нужно определить к какому классу относится пакет.

Именно данная модель QoS(DiffServ) получила наибольшее распространение, т. к. является масштабируемой.

Классификация и маркировка трафика согласно DiffServ

В зависимости от оборудования и его возможностей, мы определяем набор классов, которые сможем предоставить для трафика.

Для классификации трафика существует несколько вариантов:

  • Доверие существующей метки. Behavior Aggregate (BA). При поступлении на порт пакета, оборудование проверяет заголовок и, на основании поля заголовка, понимает к какому какому классу относится пакет и обрабатывает его соответствующе.
  • Классификация на основе интерфейса. Interface-based — все, что приходит на порт помещать в один какой-то определенный класс. То есть, мы классифицируем все, что поступает на порт каким-то определенным классом.
  • Присвоение класса на основе заголовков пакета. Multi-Field — при поступлении пакета мы не доверяем имеющейся маркировки и производим перемаркировку пакета.

Когда оборудование получает пакет, то, в большинстве случаев, оно опирается на тот заголовок, который будет использован для коммутации пакета. Например, если это ethernet-коммутатор, то будет использован 802.1p. Если это маршрутизатор, то IP DSCP.

Таким образом, администратор сети может определить набор классов для предоставления сервисов и назначить им некоторое цифровое значение.

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

  • 3-битный(802.1p) Class of Service (CoS) в Ethernet;
  • 6-битный Differentiated Services Code Point (DSCP) в IP.

Для маркировки пакетов на L2-уровне используется специальное поле в соответствии со стандартом 802.1p.

Данное поле имеет величину 3 бита и расположено в в 4-x байтовом заголовке 802.1Q.

Тег определяет следующие восемь уровней приоритета, которые подают сигналы сетевым устройствам относительно класса обслуживания, который должен получить кадр:

  • Priority 7 — (самый высокий приоритет) — Трафик управления сетью.
  • Priority 6 — Межсетевой контроль (маршрутизация).
  • Priority 5 — Голос.
  • Priority 4 — Видео.
  • Priority 3 — Важные приложения (Call Signaling).
  • Priority 2 — Данные с высоким приоритетом (Critical data).
  • Priority 1 — Best Effort.
  • Priority 0 — (самый низкий приоритет) — Некритичный трафик, такой как: резервные копии, некоторая электронная почта и т. д.

Для маркировки пакетов на L3-уровне используется специальное поле DSCP.

Архитектура дифференцированного обслуживания (DiffServ) предоставляет сетевым устройствам средства для классификации трафика на основе кода DiffServ (DSCP) и сопоставления трафика с определенной обработкой пересылки QoS.

Читайте также:  Grafana dashboards — best practices and dashboards-as-code

Классификация трафика сначала поддерживалась 8-битным полем ToS (Type of Service) в заголовке IPv4. Поле было разделено на два подполя: три старших бита присваивали пакету один из восьми классов приоритета, пять младших битов определяли характеристики трафика.

Позже, поле ToS было переназначено для переноса DSCP в старших 6 битах и поля Explicit Congestion Notification (ECN) в младших 2 битах.

DSCP — это механизм, используемый для классификации сетевого трафика в IP-сетях. Он использует 6-битное (значения 0-63) поле дифференцированных услуг (поле DS или DSCP) в заголовке IP для целей классификации пакетов.

DSCP позволяет разделять потоки на 64 класса.

CU — Currently Unused.

Так как изначально устройства опирались на первоначальную классификацию поля ToS, то учитывали они только IP-приоритет (Precedence). После появления дифференцированных услуг(DSCP) встал вопрос совместимости этих устройств в сети. Устройства должны были понимать какой приоритет передается между ними.

Текущие определения значений DSCP включают четыре PHB:

Class selector PHB

Когда младшие 3 бита DSCP установлены на 000, селектор класса PHB обеспечивает обратную совместимость с IP-приоритетом на основе ToS.

В данном случае используются только три первых бита аналогично полю IP Precendece.3 бита Class Selector позволяют определить 8 классов.Кодовые точки выбора класса:

Assured forwarding (AF) PHB

Предоставляет четыре очереди для четырех классов трафика (AFxy): AF1y, AF2y, AF3y и AF4y. Для каждой очереди резервируется заданная полоса пропускания. Если объем трафика в определенной очереди превышает зарезервированную полосу пропускания для этой очереди, очередь заполняется и, в конечном итоге, приводит к отбрасыванию пакетов.

В каждом классе AFxy, y определяет предпочтение (или вероятность) отбрасывания пакета (Drop Probability). Некоторые пакеты отмечены минимальной вероятностью/предпочтительностью отбрасывания, некоторые – средней, а остальные – максимальной вероятностью/предпочтительностью отбрасывания. Всего есть 3 уровня для приоритета отбрасывания.

Обратите внимание, что большие числа здесь не лучше, чем меньшие, потому что они подразумевают более высокий приоритет отбрасывания.

Например, AF21 = класс трафика 2, приоритет отбрасывания 1. Значения класса трафика (1–4) имеют возрастающие значения приоритета, при этом трафик, помеченный как AF11, имеет более низкий приоритет, чем AF41.

Старшие 3 бита поля DSCP установлены на 001, 010, 011 или 100 (они также называются AF1, AF2, AF3 и AF4), AF PHB используется для обслуживания гарантированной полосы пропускания.

Expedited forwarding (EF) PHB

EF PHB обеспечивает сервис с низкой задержкой и должен свести к минимуму джиттер и потери. Полоса пропускания, выделенная для EF, должна быть ограничена, чтобы другие классы трафика также могли быть обработаны, иначе всю полосу займет EF. Очередь, выделенная для EF, должна иметь наивысший приоритет, чтобы назначенный ей трафик проходил быстро и не вызывал значительных задержек и потерь.

Expedited forwarding (EF) PHB —  старшие 3 бита поля DSCP установлены на 101 (все поле DSCP установлено на 101110, десятичное значение 46), EF PHB обеспечивает обслуживание с малой задержкой.

3 старших бита поля DiffServ/DSCP установлены на 000, Default PHB используется для best effort (BE). Если значение DSCP-пакета не сопоставлено с PHB, оно, следовательно, назначается Default PHB.

Результирующее изображение, которое отражает все 4 PHB, которые соотносятся с полем DSCP:

Читайте также:  25.3.1 Trigger Syntax and Examples

Использование специальных полей в L2 и L3-заголовке предоставляет возможность промаркировать пакеты. Обработать их и поместить в определенную очередь в зависимости от их класса.

После того, как мы произвели классификацию пакетов они попадают в определенную очередь соответствующую их классу. В очередях пакеты будут обрабатываться по разному в зависимости от метода, который был выбран администратором. Например, более требовательный к задержкам голосовой или видеотрафик должен быть классифицирован приоритетной очередью. Объем очередей ограничен.

Различные методы обработки очередей:

Итак, трафик у нас распределился по очередям в соответствии со своим классом, чтобы покинуть устройство. Все пакеты будут отправлены в один интерфейс.

Если отдавать приоритет только определенному типу трафика, например, видео или VoIP, то остальной трафик так и не будет обработан. Поэтому необходимо по-разному извлекать пакеты из очередей, чтобы достичь определенного уровня сервисов.

Метод сразу не сильно прижился, т.к. он является нечестным по отношению к различным потокам, например, потоки с пакетами большего размера могли утилизировать полосу больше. Плюсы: очень простой. Минусы: никакой справедливости распределения полосы.

Если рассмотреть пример, представленный выше, то для очереди 2 вес выставлен в 2, а 1 и 0 очереди вес имеет 1. Поэтому, в данному случае, т.к. у второй очереди вес больше по отношению к остальным очередям, то будет передано 2 пакета. Тогда как у 1 и 0 очереди будет передано по 1 пакету в первый цикл работы диспетчера.

Так работает DRR. DWRR использует такой же принцип, однако, квант для каждой очереди выбирается свой, что позволяет более гибко настраивать обслуживание каждой конкретной очереди.

Таким образом, все очереди получают гарантированную полосу, независимо от размера пакетов в ней.

Предположим, мы заключили договор с клиентом на предоставление услуг связи и подключили его в гигабитный порт на нашем оборудовании. Однако, по договору с клиентом мы предоставляем ему 300 Мбит/с.

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

Заключается в выполнении действия (обычно передача/прохождение) для пакетов, которые соответствуют указанной скорости, и выполнении другого действия (обычно отбрасывания) для пакетов, которые нарушают эту скорость.

Однако, полисер может допускать всплески трафика. Поэтому все, что выходит за рамки полисера не обязательно будет отброшено. Допускаются всплески трафика или небольшое превышение заданной полосы — достигается это методом Token Bucket.

Полисер работает совместно с измерителем трафика (внутренняя логика работы коммутатора). Происходит покраска пакетов в зеленый, желтый или красный цвет. На основе цвета будут производиться действия над пакетами, например, пропустить пакет, перемаркировать пакет или отбросить пакет.

Ограничение скорости с помощью шейпинга происходит за счет буферизации трафика. Трафик буферизируется и изымается из буфера с постоянной заданной скоростью. Если пакеты поступают со скоростью, которая ниже выходной скорости, то пакеты не скапливаются в буфере и пропускаются.

Если  скорость поступления пакетов выше, чем скорость шейпера, то пакеты начинают накапливаться в буфере и отдаваться с постоянной скоростью. Поэтому в случае, если будет всплеск трафика, то он будет буферизирован и растянут по времени.

Оцените статью
Хостинги