Часть 3: Приоритизация трафика Socket и QOS

Эта статья объясняет, как работает движок QoS от Cato и значительно помогает улучшить использование полосы пропускания сети и оптимизировать производительность сети.

Управление полосой пропускания с помощью QoS Cato

В приложении управления Cato, используйте профили управления полосой пропускания для настройки приоритетов QoS для различных типов трафика. Каждый профиль содержит как приоритеты QoS, так и ограничения по полосе пропускания трафика. Затем можно назначить профиль управления полосой пропускания сетевому правилу и приоритизировать определенный тип трафика.

Можно установить приоритетные значения от 2 до 255, где 0 и 1 зарезервированы для административного трафика Cato, а 255 зарезервировано как наивысший приоритет. Если вы настраиваете профиль полосы пропускания с приоритетом P10, соответствующий трафик будет имет более высокий приоритет чем трафик с приоритетом P20. Вы можете задать различный приоритет для различных приложений и достичь необходимой производительности для этого типа трафика. Мы рекомендуем присваивать более низкие значения приоритета более важным типам трафика. Например, если трафик VoIP более важен для вашей учетной записи, чем RDP, назначьте сетевым правилам VoIP более высокий приоритет, чем правилам RDP.

Примечание: Если вы настраиваете удаленный порт переадресации (RPF) для своей учетной записи, трафик RPF автоматически получает самый низкий приоритет 255. Для получения более подробной информации о RPF, см. Настройки удаленного перенаправления портов для учетной записи.

Как Cato отправляет трафик на основе политики управления полосой пропускания

Cato Networks использует стандартную технику формирования трафика, чтобы оптимизировать производительность сети, контролируя Скачивание и Загрузка среднюю скорость.

На следующей диаграмме показано, как движок QoS назначает приоритет разным типам трафика.

mceclip0.png

Реализация алгоритма управления пропускной способностью

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

Под капотом - как трафик отправляется в зависимости от приоритетов

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

  • Средняя скорость - фактическое ограничение полосы пропускания. Скорость убегания воды из ведра при каждом тике часов.

  • Ёмкость всплеска - размер ведра. Общее количество воды, которое ведро может нести перед тем, как начать отбрасывать пакеты.

  • Скорость всплеска – во время всплеска трафика, скорости воды, которая позволяет попасть в ведро. Скорость всплеска не ограничена, и любой всплеск может попасть в ведро.

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

Однако Cato реализует взвешенное рандомное раннее обнаружение (WRED), чтобы избежать отбрасывания огромного количества пакетов. Для TCP трафика, Cato отбрасывает данные пакетов, а не ACK пакеты, чтобы вызвать ответный алгоритм перегрузки отправителя. И в ответе отправитель снижает скорость отправки пакетов.

Как трафик отправляется из очередей приоритетов

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

  1. Итерация жестких лимитов – в этой итерации последовательность представляет собой оценку каждой очереди, начиная с более высокого приоритета до более низкого. Для каждой очереди приоритетов Socket отправляет пакеты в соответствии с их настроенными Ограничение пропускной способности QoS. Во время этой итерации, если превышен общий лимит Полоса пропускания связи, Socket прекращает отправку пакетов.

  2. Итерация Лучшего Усилия – если переданные пакеты в итерации Жесткие Лимиты не превышают общую Пропускная способность, то в этой итерации Socket оценивает каждую очередь снова. Начиная с высокого приоритета до низкого, он отправляет оставшиеся пакеты. Мотивация заключается в том, чтобы использовать всю Пропускная способность связи, не превышая общий лимит Полоса пропускания.

Пример Итераций Форма Трафика

Этот раздел показывает пример того, как движок Cato QoS приоритизирует пакеты в очередях трафика.

Пять Очередей Приоритетов с Пакетами

qos_queues.png

Диаграмма выше показывает пакеты в 5 очередях приоритетов до того, как Socket начнет итерации.

QoS – Итерация Жесткие Лимиты

QoS_hard_limits.png

Эта диаграмма показывает первую итерацию, которая является Итерация Жесткие Лимиты. Начиная с P10, P20, P30, P40 и, наконец, P255. Доступная Пропускная способность для каждой очереди: два пакета из очереди P10, один пакет из P20, один пакет из P30, два пакета из P40 и один пакет из очереди P255.

QoS – Итерация Лучшего Усилия

qos_best_effort.png

Эта диаграмма показывает вторую итерацию, которая является Итерация Лучшего Усилия. В этой итерации было отправлено три пакета из P10, и по одному из каждого из P20, P30, P40 и, наконец, P255. В этом случае вся доступная Пропускная способность используется, и один пакет в очереди P255 остается для следующего такта. Затем новые пакеты поступают в очереди, и алгоритм запускает две итерации снова и отправляет оставшийся пакет.

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 8 из 9

0 комментариев