Страницы подвисают, голос на видеозвонке рассыпается, игра начинает лагать - и всё это ровно в момент, когда в сети пошёл тяжёлый трафик. При этом тест скорости показывает отличные цифры. Если картина знакома, причиной может быть bufferbloat - буферное переполнение в роутере.
В отличие от просто медленного соединения, где всё работает с одинаково низкой скоростью, bufferbloat ведёт себя иначе: сеть работает нормально до тех пор, пока не начнётся интенсивная передача данных - и тогда всё остальное встаёт.
Что такое bufferbloat и почему из-за него интернет кажется медленным
Когда устройство отправляет или получает данные, пакеты движутся по цепочке: устройство - роутер - модем - провайдер. На самом медленном участке этой цепи - как правило, между роутером и провайдером - оборудование использует буферы памяти, чтобы удерживать пакеты, которые не успевают уйти немедленно.
Буферное переполнение возникает, когда эти буферы слишком велики. Вместо того чтобы отбрасывать пакеты, которые не успевает обработать, роутер продолжает принимать всё новые данные в растущую очередь. Каждый входящий пакет вынужден ждать за сотнями предыдущих - и это ожидание проявляется в виде резкого скачка задержки.
На практике, даже когда пропускной способности достаточно, браузер, видеозвонки и игры зависят не от скорости, а от низкой задержки. Когда очередь на отправку забита фоновой загрузкой фотографий в облако, пакеты аудиопотока Zoom выстраиваются за всеми этими данными и ждут своей очереди. Отсюда - прерывания голоса, подвисающий персонаж в игре и страницы, которые зависают без очевидной причины.
При этом максимальная скорость соединения почти не снижается. Страдает отзывчивость: пока идёт любая крупная передача данных, всё остальное работает с задержками. А резервное копирование в облако, обновления ОС и синхронизация файлов нередко идут в фоне - и большинство пользователей просто считают, что интернет медленный, не подозревая, что одно устройство перекрывает канал для всех остальных.
Как проверить, есть ли у вас буферное переполнение
Простейший способ - браузерный тест, например Waveform Bufferbloat Test. Инструмент измеряет базовую задержку при простаивающей линии, затем нагружает её загрузкой и выгрузкой, фиксируя прирост задержки. По результатам выдаётся буквенная оценка: A означает, что задержка остаётся низкой под нагрузкой, всё ниже C - признак серьёзной проблемы.
Для более детальной проверки можно запустить непрерывный пинг до стабильного хоста - например, шлюза провайдера или DNS Google (8.8.8.8) - и одновременно начать крупную загрузку или выгрузку файла. Несколько лишних миллисекунд - это норма, но если задержка вырастает на сотни миллисекунд и держится всё время передачи, это явный признак bufferbloat.
Для максимально точного результата тест лучше проводить по проводному соединению. Беспроводное соединение вносит собственные переменные задержки из-за помех и колебаний сигнала, что затрудняет разграничение буферного переполнения и других проблем.
Важная оговорка: разные инструменты используют разные методики и могут давать существенно расходящиеся оценки для одного и того же подключения. Оценка B или C не обязательно означает реальные проблемы - особенно если линия редко работает под полной нагрузкой. Достоверный признак именно bufferbloat: задержка в норме при простое, резко растёт под нагрузкой и немедленно возвращается в норму, как только тяжёлый трафик прекращается.
Как устранить буферное переполнение на роутере
Стандартное решение - включить Smart Queue Management (SQM). SQM использует алгоритмы fq_codel или CAKE, чтобы намеренно удерживать буферы короткими и управлять планированием пакетов. Вместо того чтобы позволять роутеру накапливать огромную очередь, SQM интеллектуально отбрасывает или переупорядочивает пакеты - и задержка остаётся низкой даже при полной загрузке линии.
При выборе алгоритма стоит учесть: CAKE предпочтительнее, но потребляет примерно на 15% больше ресурсов процессора, чем fq_codel. На гигабитных соединениях обычные потребительские роутеры нередко не справляются с нагрузкой SQM - в этом случае стоит рассматривать устройства с более мощным процессором.
При активации SQM нужно задать скорость WAN чуть ниже реальной скорости линии. Например, если при замере получается 100 Мбит/с входящих и 20 Мбит/с исходящих, в настройках SQM стоит указать около 95 и 18 Мбит/с. Этот небольшой запас позволяет роутеру самому управлять очередью, а не отдавать это оборудованию провайдера - именно там и живут раздутые буферы.
Если роутер не поддерживает SQM штатно, доступны альтернативы. Прошивка OpenWrt открывает доступ к SQM на совместимых устройствах. Другой вариант - базовый QoS: он менее точен, чем SQM, но всё равно помогает приоритизировать трафик, чувствительный к задержкам. Даже простое включение встроенного QoS с лимитом пропускной способности чуть ниже реальной скорости линии даёт заметный эффект.
Пользователи оптоволоконных подключений в целом находятся в лучшем положении - оптика обеспечивает более низкую базовую задержку и меньше буферного переполнения по сравнению с DSL или кабелем. Но полностью от проблемы это не защищает - особенно если прошивка роутера плохо управляет очередями.
Когда дело не в bufferbloat
Буферное переполнение проявляется только при интенсивной нагрузке на линию. Если задержка высокая даже без единой активной загрузки или выгрузки в сети - проблема в другом. Помехи Wi-Fi вызывают случайные скачки пинга, которые внешне неотличимы от bufferbloat, но к очередям буферов отношения не имеют. Перегруженный роутер с большим числом подключённых устройств, плохая маршрутизация на стороне провайдера или проблемы на серверах конкретного сервиса дают схожие симптомы.
Если задержка стабильно высокая вне зависимости от нагрузки - речь, скорее всего, о перегрузке на стороне провайдера, проблемах маршрутизации или помехах Wi-Fi. Никакая настройка буферов здесь не поможет.
Буферное переполнение стоит диагностировать и устранить
Bufferbloat затрагивает значительную часть домашних сетей, и включение SQM или QoS способно заметно улучшить комфорт работы в интернете. Если видеозвонки обрываются, когда в сети пошёл тяжёлый трафик, или игра лагает при каждой синхронизации смартфона с облаком - это повод проверить соединение.
При этом не стоит гнаться за идеальной оценкой теста в ущерб остальному. Грамотное управление очередями, стабильный Wi-Fi и разумно настроенный роутер в совокупности дают для комфорта работы в сети больше, чем оптимизация любой одной метрики.
Советы и рекомендации
• Буферное переполнение: почему тест скорости в норме, а интернет тормозит
• 6 настроек для продления срока службы телевизоров OLED
• UniGetUI: удобный способ пакетного обновления приложений в Windows
• Почему зарядка ноутбука до 100% снижает ресурс батареи и как включить лимит заряда на 80%
• Как использовать режим «Параллельный просмотр» в браузере Chrome
• Как включить режим «Раздельный вид» для вкладок в Firefox

