Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Почему QoS в роутере может замедлять сеть и как это исправить

Почему QoS в роутере может замедлять сеть и как это исправить

В панели управления любого потребительского роутера найдется вкладка с настройками качества обслуживания (QoS). С первого взгляда кажется логичным активировать эту функцию, чтобы упорядочить сетевой трафик. Обычно интерфейс представляет собой сортируемый список категорий приложений, переключатель игрового режима и возможность принудительно задать приоритет для конкретного устройства. Я проделал это однажды, выставив видеоконференции в верхнюю часть списка, а загрузку файлов — в нижнюю, полагая, что вопрос решен. Однако именно специализированный тест Waveform на показатель bufferbloat помогает точно измерить эффективность таких настроек. Часто они работают во вред, увеличивая задержку вместо того, чтобы снижать ее. В моем случае после активации всех правил приоритезации задержка возрастала до 300 мс.

Разница между приоритизацией и управлением очередями

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

Сетевой коммутатор и роутер
Сетевое оборудование требует точной конфигурации для эффективной передачи данных.

Почему роутер плохо справляется с классификацией трафика

Раньше, когда приложения использовали предсказуемые порты, классифицировать трафик было просто. Сейчас ситуация изменилась, и производители оборудования начали полагаться на технологии глубокого анализа пакетов (DPI). Например, ASUS лицензирует движок Trend Micro для функции Adaptive QoS, поэтому при активации системы роутер запрашивает согласие с лицензией стороннего разработчика. Подобные базы данных используют и другие вендоры.

Тем не менее, с появлением протоколов TLS 1.3 и QUIC этот метод перестал быть надежным. Приложения, использующие SSL-шифрование, трудно идентифицировать, поэтому они помечаются как «общий трафик». Например, роутер видит видеозвонок в Teams и загрузку игры в Steam как одинаковый UDP-трафик на 443 порту. Не имея возможности различить их, система не знает, какой поток приоритетнее. Существует механизм маркировки DSCP (Differentiated Services Code Point), позволяющий приложениям самостоятельно помечать пакеты, но большинство роутеров попросту стирают эти метки в процессе обработки.

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

Проблема глубины очереди и роль шейпера

Причиной скачков задержки (bufferbloat) является избыточное накопление данных в буферах сетевого оборудования. Когда роутер не может передать пакеты через медленный канал достаточно быстро, они выстраиваются в очередь, из-за чего новые данные вынуждены ждать своей очереди. Именно поэтому при перегрузке исходящего канала пинг возрастает с 15 мс до нескольких сотен миллисекунд, при этом скорость передачи данных остается стабильной. Переупорядочивание пакетов внутри роутера почти не дает эффекта, если очередь уже сформировалась внутри модема провайдера.

Создание канала (pipe) для формирования трафика в OPNsense
Интерфейс настройки ограничения скорости в OPNsense.

Для решения проблемы необходим шейпер (формирователь трафика). На потребительском роутере это требует отключения всех правил приоритетов для устройств и приложений и поиска настройки под названием SQM (Smart Queues) или «адаптивный контроль пропускной способности». В этом меню необходимо вручную указать скорость канала. Документация OPNsense рекомендует начинать с 85% от заявленной провайдером скорости, постепенно повышая значение до тех пор, пока задержка в тестах bufferbloat не начнет расти. Цель — переместить «бутылочное горлышко» с модема провайдера внутрь вашего роутера, где он сможет управлять очередью.

OPnsense traffic shaping pipes added
Adding traffic shaping download queue in OPNsense
Adding traffic shaping upload queue in OPNsense
Traffic shaping queues added in OPNsense

Переход на профессиональные решения и переоценка QoS

Для полного контроля я перешел на систему OPNsense, которая предлагает гораздо больше настроек, чем административные панели обычных роутеров. Там я ограничил скорость передачи данных, создав «трубы» (pipes) для входящего и исходящего трафика, и выбрал планировщик FlowQueue-CoDel. Это автоматически распределяет нагрузку между устройствами, избавляя от необходимости вручную настраивать списки приоритетов.

Bufferbloat Rating with traffic shaping

При этом нельзя сказать, что QoS совсем бесполезен. В определенных сценариях, например при ограниченной полосе пропускания, он помогает, если один «прожорливый» процесс, такой как облачное резервное копирование, начинает замедлять работу сети для всех остальных. Фактически включение QoS просто перемещает узел задержки в роутер, где шейпер берет управление на себя. Однако сами приоритетные списки часто не играют никакой роли — если вы удалите их, оставив только ограничения по полосе пропускания, результаты тестов задержки останутся прежними.

Life360 Tile attached to clip
TI-84 Evo Graphing Calculator on backpack and near pens

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

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

Источник: xda-developers.com

Оставить комментарий

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

01.
На платформе MonsterInsights